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

    GROOVE BASE THEME

    Created by Groove Commerce

    This is a boilerplate theme used as a starting point when building
    BigCommerce themes using Stencil. This theme is based on the Cornerstone
    theme, but stripped down for only our customers specific needs.

    This file is used to load globally used elements and basic styling. It is 
    loaded in the base.html for site wide use.

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

    BASE FILES

    These files establish the base of the theme, they include variables, 
    mixins, resets, functions, and fonts.

    Variables, Functions, and Mixins should be loaded with every stylesheet.
    Fonts and resets should only be loaded in the global-elements.scss file to
    reduce the overall file size.

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

    FONTS

\*  --------------------------------------------------------------------------  */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap");
@font-face {
  font-family: "ico";
  src: url("../fonts/ico.eot?1c1ee7960fba577b4ef416ea0df4d4f2");
  src: url("../fonts/ico.eot?1c1ee7960fba577b4ef416ea0df4d4f2#iefix") format("embedded-opentype"), url("../fonts/ico.woff?1c1ee7960fba577b4ef416ea0df4d4f2") format("woff"), url("../fonts/ico.ttf?1c1ee7960fba577b4ef416ea0df4d4f2") 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-twitter:before {
  content: "\f109"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*  --------------------------------------------------------------------------  *\

    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.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    GUTTER

    This is probably the most used set of variables found throuhgout the base 
    styling of the component library.

    Utilizing a standard set of gutters for spacing will help maintain 
    consistency throughout the website. Most of our designers use at least 3
    common sizes for gutters in their designs.

    We utilize the Normal, Small and Large gutters to create the spacing for
    all of our components that have sm and lg variations.  The core styling
    utilizes the $gutter variable, while the sm and lg utilize $gutterSm
    and $gutterLg respectively.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FEED SPACING FOR CARDS

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    INTERNAL CARD SPACING FOR PRODUCT, BLOG, AND PROMO CARDS

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    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 CSS COLUMNS MIXIN

    This is used to set a parent element to X number of columns. This is not to 
    be confused with our grid columns, or grid-template-columns mixins.

    The multicolumn mixin breaks the content contained within a parent element
    into multiple columns.  This is helpful for breaking lists or paragraphs
    into multiple columns.

    The first variable defines how many columns are desired.

    The second variable defines the space between each column.

    The third variable defines the rule styling (same definition as a border)
    applied between each column.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    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; }

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

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

/*  --------------------------------------------------------------------------  *\

    REMOVES OUTLINE ON FOCUS

\*  --------------------------------------------------------------------------  */
:focus {
  outline: none; }

/*  --------------------------------------------------------------------------  *\

    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%);
    padding: 0.75rem;
    background: #fff;
    color: #383838;
    transition: transform 0.25s, background 0.25s, color 0.25s; }
    a.skip-content:focus {
      background: #383838;
      color: #fff;
      -webkit-transform: translate(-50%, 1.875rem);
      -ms-transform: translate(-50%, 1.875rem);
      transform: translate(-50%, 1.875rem); }
    @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: "IBM Plex Sans", sans-serif;
  color: #383838;
  cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    RESETS STYLES ON INPUT ELEMENTS FOR FORMS

\*  --------------------------------------------------------------------------  */
input, select, textarea {
  border-radius: 0px;
  font-family: "IBM Plex Sans", 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; }

/*  --------------------------------------------------------------------------  *\

    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,
select:focus-visible,
textarea:focus-visible {
  outline: 1px solid #787878 !important;
  outline-offset: 1px !important;
  outline: none; }

input:focus-visible + label {
  outline: none;
  outline: 1px solid #787878 !important;
  outline-offset: 1px !important; }

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

    GLOBAL ELEMENTS

    These files establish global elements that appear throughout the website.
    They include the header, footer, grid, section, base copy styling and 
    modals.

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

    ACCORDION STYLING

    This establishes global styles used for all Accordions 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, for documentation please see:
    https://www.w3.org/TR/wai-aria-practices-1.1/examples/accordion/accordion.html

\*  --------------------------------------------------------------------------  */
.accordion dt button {
  position: relative;
  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: 1rem 0;
  color: #383838;
  font-weight: 500;
  border-bottom: 1px solid #D4D4D4; }
  .accordion dt button span {
    display: block;
    transition: all .25s linear; }
  .accordion dt button .icon-arrow-down {
    color: #BE1E2D;
    font-size: 0.75rem; }
  .accordion dt button[aria-expanded="true"] {
    border-bottom: none; }
    .accordion dt button[aria-expanded="true"] .icon-arrow-down {
      transform: rotate(90deg) rotate(90deg);
      color: #BE1E2D; }
    .accordion dt button[aria-expanded="true"] .icon-chevron-down {
      transform: rotate(90deg) rotate(90deg); }

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

.accordion dd {
  color: #787878;
  border-bottom: 1px solid #D4D4D4;
  padding: 0 0 1.5rem 0; }
  .accordion dd [hidden] {
    display: none !important; }

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

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

    GLOBAL ELEMENTS - ALERTS

\*  --------------------------------------------------------------------------  */
.alertBox {
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 0.5rem;
  margin: 0 0 1.5rem;
  column-gap: 0.5rem; }
  @media (min-width: 768px) {
    .alertBox {
      align-items: center; } }
  .alertBox .fas {
    margin: 0 0.75rem 0 0; }
  .alertBox p {
    margin: 0;
    font-size: 0.9375rem; }
  .alertBox--info svg path {
    fill: #BE1E2D; }
  .alertBox [class*='icon-'] {
    color: #BE1E2D; }
  .alertBox .alertBox-icon, .alertBox svg {
    width: 1.25rem;
    height: 1.25rem; }

/*  --------------------------------------------------------------------------  *\

    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: 0.875rem 1.875rem;
  margin: 0;
  border: 0 solid currentColor;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  width: auto;
  font-family: "IBM Plex Sans", sans-serif;
  line-height: inherit;
  text-transform: capitalize;
  /*  ----------------------------------------------------------------------  *\

        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; }
  [class*="btn-"] [class*="icon-"], .button [class*="icon-"] {
    margin: 0 0.5rem 0 0; }
  [class*="btn-"].sm, .button.sm {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem; }
  [class*="btn-"]:hover, [class*="btn-"]:focus, .button:hover, .button:focus {
    cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    Button Color Options

    @import 'buttons/colors/primary';
    @import 'buttons/colors/secondary';
    @import 'buttons/colors/tertiary';
    @import 'buttons/colors/text';
    @import 'buttons/dropdown';
    @import 'buttons/colors/tag';
    @import 'buttons/colors/success';
    @import 'buttons/colors/danger';
    @import 'buttons/colors/warning';

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    Button - Primary

--------------------------------*/
.btn-primary, .button--primary, .btn-slide, .button--primary2, .button--tertiary, .button--action, .swal2-confirm {
  z-index: 1;
  color: #fff !important;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  background-position: 5rem;
  background-color: #BE1E2D !important;
  border: 0;
  font-size: 0.9375rem;
  border: 0; }
  .btn-primary::before, .button--primary::before, .btn-slide::before, .button--primary2::before, .button--tertiary::before, .button--action::before, .swal2-confirm::before {
    content: "";
    top: -50px;
    left: -500px;
    z-index: -1;
    width: 500px;
    height: 500px;
    color: #fff;
    position: absolute;
    transition: width .3s;
    background-color: #DF3041;
    transform: rotate(-20deg); }
  .btn-primary:hover::before, .button--primary:hover::before, .btn-slide:hover::before, .button--primary2:hover::before, .button--tertiary:hover::before, .button--action:hover::before, .swal2-confirm:hover::before {
    width: 1200px;
    transition: width 1.5s; }
  .btn-primary:hover, .button--primary:hover, .btn-slide:hover, .button--primary2:hover, .button--tertiary:hover, .button--action:hover, .swal2-confirm:hover {
    color: #fff !important;
    transition: border .4s;
    text-decoration: none !important; }
  .btn-primary:focus, .button--primary:focus, .btn-slide:focus, .button--primary2:focus, .button--tertiary:focus, .button--action:focus, .swal2-confirm:focus {
    color: #fff;
    background-color: #DF3041;
    transition: border .4s; }
  .btn-primary:active, .button--primary:active, .btn-slide:active, .button--primary2:active, .button--tertiary:active, .button--action:active, .swal2-confirm:active {
    color: #fff;
    background-color: #BE1E2D;
    transition: border .4s; }
  .btn-primary:active::before, .button--primary:active::before, .btn-slide:active::before, .button--primary2:active::before, .button--tertiary:active::before, .button--action:active::before, .swal2-confirm:active::before {
    background-color: #BE1E2D; }

#form-action-addToCart .text:before {
  font-size: 0.9375rem;
  content: "\f10c";
  font-family: "ico";
  padding-right: 1rem; }

/*  --------------------------------------------------------------------------  *\

    Button - Secondary

\*  --------------------------------------------------------------------------  */
.btn-secondary, .button--secondary, .dropdown-menu-button {
  z-index: 1;
  color: #BE1E2D;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  background-position: 5rem;
  background-color: none;
  font-size: 0.9375rem;
  transition: color .5s ease-in, border 1.5s;
  border: 1px solid #BE1E2D !important; }
  .btn-secondary::before, .button--secondary::before, .dropdown-menu-button::before {
    content: "";
    top: -50px;
    left: -500px;
    z-index: -1;
    width: 500px;
    height: 500px;
    position: absolute;
    transition: width .4s;
    background-color: #BE1E2D;
    transform: rotate(-20deg); }
  .btn-secondary:hover::before, .button--secondary:hover::before, .dropdown-menu-button:hover::before {
    width: 1200px;
    transition: width 1.5s; }
  .btn-secondary:hover, .button--secondary:hover, .dropdown-menu-button:hover {
    color: #fff;
    border: 1px solid #DF3041 !important;
    transition: color .4s ease-in, border .4s;
    text-decoration: none !important; }
  .btn-secondary:focus, .button--secondary:focus, .dropdown-menu-button:focus {
    color: #fff;
    background-color: #DF3041;
    border: 1px solid #DF3041 !important; }
  .btn-secondary:active::before, .button--secondary:active::before, .dropdown-menu-button:active::before {
    background-color: #DF3041; }

/*  --------------------------------------------------------------------------  *\

    Button - Tertiary

\*  --------------------------------------------------------------------------  */
.btn-tertiary, .button--tertiary {
  background: #787878;
  border-color: #787878;
  color: #383838; }
  .btn-tertiary:hover, .btn-tertiary:focus, .button--tertiary:hover, .button--tertiary:focus {
    background: #fff;
    color: #787878; }
  .btn-tertiary:active, .button--tertiary:active {
    background: #fff;
    color: #787878; }

/*  --------------------------------------------------------------------------  *\

    Button - Text

\*  --------------------------------------------------------------------------  */
.btn-txt {
  background: none;
  border: none;
  padding: 0;
  color: #383838;
  border-radius: 0;
  padding-bottom: 0.375rem;
  transition: .25s all ease-in-out; }
  .btn-txt svg {
    margin: 0 0.5rem 0 0; }
  .btn-txt.alt {
    color: #383838; }
    .btn-txt.alt svg {
      fill: currentColor; }
    .btn-txt.alt:hover, .btn-txt.alt:focus {
      color: #383838; }
  .btn-txt:hover, .btn-txt:focus {
    color: #BE1E2D;
    background: none; }
    .btn-txt:hover.ico-chevron-right:after, .btn-txt:focus.ico-chevron-right:after {
      border-right-color: #383838;
      border-bottom-color: #383838; }
  .btn-txt:active, .btn-txt:focus {
    color: #DF3041; }
  .btn-txt.ico-chevron-right:after {
    content: "";
    display: inline-block;
    width: 0.3125rem;
    height: 0.3125rem;
    border: 0.125rem solid transparent;
    border-right-color: #fff;
    border-bottom-color: #fff;
    transform: rotate(-45deg);
    margin: 0 0 0 0.5rem;
    transition: all .25s; }

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

:root {
  --left: 15px; }

.brackets {
  position: relative;
  display: inline;
  color: #383838;
  font-size: 0.9375rem;
  padding-right: 3px; }
  .brackets > * {
    margin-top: 0.1875rem; }
  @media (max-width: 767.9px) {
    .brackets {
      width: auto !important; } }
  .brackets.image:before, .brackets.image:after {
    margin-top: -5px;
    height: calc(100% + 10px); }
    @media (min-width: 768px) {
      .brackets.image:before, .brackets.image:after {
        margin-top: -8px;
        height: calc(100% + 18px); } }
  .brackets:before, .brackets:after {
    content: "" !important;
    position: absolute;
    box-sizing: border-box;
    display: inline-block;
    opacity: 0;
    transition: transform 0.3s, opacity 0.2s;
    top: 0;
    z-index: 1;
    width: 0.75rem;
    margin-top: -4px;
    height: calc(100% + 6px);
    border: 2px solid #BE1E2D;
    padding-right: 0; }
    @media (min-width: 768px) {
      .brackets:before, .brackets:after {
        margin-top: -3px;
        height: calc(100% + 6px); } }
    @media (max-width: 767.9px) {
      .brackets:before, .brackets:after {
        content: none !important; } }
  .brackets:before {
    left: -0.9375rem;
    transform: translateX(1.25rem);
    border-right: none; }
  .brackets:after {
    left: var(--left);
    transform: translateX(-1.25rem);
    border-left: none; }
  .brackets:hover, .brackets:focus {
    font-weight: 500;
    color: #383838 !important; }
    .brackets:hover:not(.image), .brackets:focus:not(.image) {
      padding-right: 0px; }
    .brackets:hover:before, .brackets:hover:after, .brackets:focus:before, .brackets:focus:after {
      opacity: 1;
      transform: translateX(0px); }

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

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

.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 {
  float: left;
  height: 100%;
  min-height: 1px;
  padding: 0;
  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

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

    CAROUSEL > ARROWS

\*  --------------------------------------------------------------------------  */
.slick-arrow {
  height: 2.125rem;
  width: 2.125rem;
  font-size: 1rem;
  background-color: #BE1E2D;
  transition: .25s all ease-in-out;
  color: #fff;
  z-index: 1;
  position: relative;
  right: auto;
  left: auto;
  flex-shrink: 1;
  order: 4; }
  .slick-arrow:hover {
    background-color: #DF3041; }
  .slick-arrow:active {
    background-color: #BE1E2D; }
  .slick-arrow.slick-hidden {
    display: none; }

.slick-disabled {
  opacity: 0.3; }
  .slick-disabled .carousel-tooltip {
    display: none; }
  .slick-disabled:hover {
    cursor: not-allowed;
    color: #787878;
    background: #F7F8FB; }

.arrows-pos-side .slick-arrow {
  position: absolute;
  top: 45%; }
  .arrows-pos-side .slick-arrow.slick-prev {
    left: 1rem; }
    @media (min-width: 768px) {
      .arrows-pos-side .slick-arrow.slick-prev {
        left: 1.5rem; } }
  .arrows-pos-side .slick-arrow.slick-next {
    right: 1rem; }
    @media (min-width: 768px) {
      .arrows-pos-side .slick-arrow.slick-next {
        right: 1.5rem; } }

.arrows-pos-side .line {
  display: none !important; }

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

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

    CAROUSEL > DOTS

\*  --------------------------------------------------------------------------  */
.slick-dots {
  background: #D4D4D4;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: row nowrap; }
  .slick-dots button {
    font-size: 0; }
  .slick-dots li {
    margin: 0;
    padding: 0;
    width: 100%;
    transition: .25s all ease-in-out; }
    .slick-dots li button {
      display: block;
      width: auto;
      height: 0.0625rem; }
      @media (min-width: 768px) {
        .slick-dots li button {
          height: 0.0625rem; } }
      .slick-dots li button:hover {
        background: #383838; }
    .slick-dots li:before {
      display: none; }
    .slick-dots li.slick-active {
      background: #BE1E2D; }

.carousel-tooltip {
  display: block;
  position: relative;
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }
  .carousel-tooltip:before {
    content: " ";
    position: absolute;
    right: 0;
    top: 50%;
    border-width: 0.625rem;
    border-style: solid;
    border-color: transparent transparent #BE1E2D transparent; }
  .carousel-tooltip:after {
    content: attr(aria-label);
    padding: 0.25rem 0.375rem;
    background-color: #BE1E2D;
    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: 3.75rem 0;
  background-color: #000;
  text-align: center;
  z-index: 1000000;
  opacity: 0;
  transition: background-color 1s ease;
  background-color: #383838;
  pointer-events: none; }
  .compare-container.show {
    opacity: 1;
    background-color: rgba(56, 56, 56, 0.9);
    pointer-events: inherit;
    color: white; }

.countPill {
  border-radius: 50%;
  color: #fff;
  display: none;
  height: 20px;
  line-height: 20px;
  text-align: center;
  width: 20px; }

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

.compare-grid > div > div > div {
  border: 2px solid fuchsia;
  display: flex;
  flex-direction: column; }

.heading {
  font-size: 1.5rem; }
  @media (min-width: 992px) {
    .heading {
      font-size: 2.25rem; } }

@media (max-width: 767.9px) {
  .page-content {
    overflow: scroll; } }

.compareTable {
  table-layout: fixed;
  width: 100%;
  margin-top: 2rem;
  border-spacing: 0;
  border-bottom: 1px solid #D4D4D4;
  padding-bottom: 2.5rem; }

.compareTable-row {
  vertical-align: top; }
  .compareTable-row:nth-child(even) {
    background: #F7F8FB; }
  .compareTable-row:nth-child(2) {
    background: white; }
  .compareTable-row + .compareTable-row .compareTable-heading {
    padding-left: 0.5rem; }
    @media (min-width: 992px) {
      .compareTable-row + .compareTable-row .compareTable-heading {
        padding-left: 1rem; } }
  .compareTable-row + .compareTable-row .compareTable-heading:empty {
    border-top: 0; }

.compareTable-heading {
  padding: 1rem 0;
  position: relative;
  text-align: left;
  width: 0; }
  @media (min-width: 992px) {
    .compareTable-heading {
      width: 15%; } }

.compareTable-headingText {
  position: absolute;
  white-space: nowrap; }
  @media (min-width: 992px) {
    .compareTable-headingText {
      position: inherit;
      top: inherit; } }

.compareTable-item {
  padding: 3rem 0.5rem 1rem;
  font-size: 0.9375rem; }
  @media (min-width: 992px) {
    .compareTable-item {
      padding: 1rem 1rem 1rem 0; } }
  .compareTable-item li {
    padding: 0;
    line-height: 1.5rem; }

.compareTable-removeProduct {
  position: absolute;
  right: 0;
  top: 0;
  transition: .25s all ease-in-out; }
  .compareTable-removeProduct:hover {
    transform: scale(0.9); }
  .compareTable-removeProduct [class*='icon-'] {
    font-size: 0.9375rem;
    color: #383838;
    background-color: #F7F8FB;
    padding: 0.375rem 0.625rem;
    border-radius: 3.125rem; }
    @media (min-width: 992px) {
      .compareTable-removeProduct [class*='icon-'] {
        font-size: 1.125rem; } }

.compareTable-product {
  padding: 0 1rem 0 0; }
  @media (max-width: 767.9px) {
    .compareTable-product {
      width: 12.5rem; } }
  .compareTable-product .card {
    position: relative;
    margin-bottom: 0; }
    .compareTable-product .card img {
      width: 100%;
      max-width: 16.125rem; }
    .compareTable-product .card-title {
      margin-bottom: 0.5rem; }
  .compareTable-product .card-body {
    min-height: 6.25rem;
    text-align: left;
    font-size: 0.9375rem;
    text-transform: capitalize; }
    .compareTable-product .card-body .card-brand {
      margin-bottom: 0.5rem; }
    .compareTable-product .card-body .accent {
      color: #787878; }
    .compareTable-product .card-body a {
      color: #383838;
      font-weight: 600; }
      .compareTable-product .card-body a:hover {
        color: #BE1E2D; }
      .compareTable-product .card-body a:active {
        color: #DF3041; }

.compareTable-action [class*='btn'] {
  width: 99%;
  font-size: 0.9375rem;
  height: 3.125rem; }
  @media (max-width: 991.9px) {
    .compareTable-action [class*='btn'] {
      padding: 0.5rem; } }
  @media (max-width: 991.9px) {
    .compareTable-action [class*='btn'] [class*='icon-'] {
      display: none; } }

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

    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: #383838;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.3125rem;
  background: #fff;
  font-weight: 400; }

strong, b {
  font-weight: 600; }

.invert {
  color: #fff; }

/*  --------------------------------------------------------------------------  *\

    COPY - BASIC LINK STYLES

    BUTTONS are located in the Components > Basic > Button file.

\*  --------------------------------------------------------------------------  */
a {
  color: #BE1E2D;
  text-decoration: none;
  transition: .25s all ease-in-out; }
  a .text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    column-gap: 1rem; }
  a:hover, a:focus {
    color: #DF3041;
    text-decoration: none; }
  a:active {
    color: #BE1E2D; }
  address a, a[href*="tel:"] {
    text-decoration: none; }
  .invert a {
    color: #fff; }

.link-dark {
  color: #383838;
  transition: .25s all ease-in-out; }
  .link-dark:hover {
    color: #BE1E2D !important; }
  .link-dark:active {
    color: #DF3041 !important; }

/*  --------------------------------------------------------------------------  *\

    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 0.5rem; }
  @media (min-width: 768px) {
    p {
      margin: 0 0 1rem; } }
  p:last-of-type {
    margin: 0 0 1.5rem; }
    @media (min-width: 768px) {
      p:last-of-type {
        margin: 0 0 1.5rem; } }
    @media (min-width: 992px) {
      p:last-of-type {
        margin: 0 0 1.5rem; } }

hr {
  margin: auto;
  height: 0.0625rem;
  max-width: 1400px;
  background: #D4D4D4;
  border: none; }

/*  --------------------------------------------------------------------------  *\

    COPY - BODY STYLES

\*  --------------------------------------------------------------------------  */
h1, .h1, h2, .h2 {
  color: #383838;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 600;
  margin-bottom: 0.5rem; }
  @media (min-width: 576px) {
    h1, .h1, h2, .h2 {
      margin-bottom: 1rem; } }
  .invert h1, .invert .h1, .invert h2, .invert .h2 {
    color: #fff; }
  h1.pad-extra, .h1.pad-extra, h2.pad-extra, .h2.pad-extra {
    padding: 2rem 0; }

h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: #383838;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 500;
  margin-bottom: 0.5rem; }
  @media (min-width: 576px) {
    h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
      margin-bottom: 1rem; } }
  .invert h3, .invert .h3, .invert h4, .invert .h4, .invert h5, .invert .h5, .invert h6, .invert .h6 {
    color: #fff; }
  h3.pad-extra, .h3.pad-extra, h4.pad-extra, .h4.pad-extra, h5.pad-extra, .h5.pad-extra, h6.pad-extra, .h6.pad-extra {
    padding: 2rem 0; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.8125rem; }
  @media (min-width: 992px) {
    h1, .h1 {
      font-size: 2rem;
      line-height: 2.5rem; } }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  margin-bottom: 1rem; }
  @media (min-width: 768px) {
    h2, .h2 {
      margin-bottom: 1.25rem; } }
  @media (min-width: 992px) {
    h2, .h2 {
      font-size: 1.375rem;
      line-height: 2rem; } }

h3, .h3 {
  font-size: 1.125rem;
  line-height: 1.5rem; }
  @media (min-width: 992px) {
    h3, .h3 {
      font-size: 1.25rem;
      line-height: 2rem; } }

h4, .h4 {
  font-size: 1rem;
  line-height: 1.125rem; }
  @media (min-width: 992px) {
    h4, .h4 {
      font-size: 1rem;
      line-height: 1.125rem; } }

h5, .h5 {
  font-size: 0.9375rem;
  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;
    padding: 0 0 0 1.25rem; }
    ul li:before, ol li:before {
      position: absolute;
      z-index: 0;
      left: 0;
      top: 10.5em;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
    ul li + li, ol li + li {
      margin: 0.5rem 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;
  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; }

.cnt ul li {
  list-style: initial;
  padding: 0;
  margin-left: 1.5rem; }

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

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

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

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

    FOOTER

\*  --------------------------------------------------------------------------  */
body > footer {
  color: #787878;
  font-size: 0.9375rem;
  /*  ----------------------------------------------------------------------  *\
        FOOTER LAYOUTS
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LAYOUT - TOP

    DEFINES THE TOP PORTION OF THE FOOTER, MOST COMMONLY INCLUDING ONLY TWO 
    ELEMENTS.

    The Logo which will provide a link back to the home page, and either a
    social navigation providing links to the clients social network, or a
    newsletter subscription form.

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

    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 NAVIGATIONS
        Choose from the following files, which best fits your needs
        @import 'footer/navs/social'; // SOCIAL NAVIGATION
        @import 'footer/navs/legal'; // LEGAL NAVIGATION
        @import 'footer/navs/footer'; // FOOTER NAVIGATION
        @import 'footer/navs/category'; // CATEGORY NAVIGATION
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - NAV - SOCIAL

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

    FOOTER - NAV - LEGAL

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

    FOOTER - NAVS - HOT LINKS

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

    FOOTER - NAVS - CATEGORY

\*  --------------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\
        FOOTER COMPONENTS
        Choose from the following files, which best fits your needs
        @import 'footer/copyright'; // STYLES FOR THE COPYRIGHT
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LOGO

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

    FOOTER - COPYRIGHT

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

    FOOTER - LOCATION

\*  --------------------------------------------------------------------------  */ }
  @media (min-width: 768px) {
    body > footer {
      display: grid;
      grid-template-columns: 4fr 1fr;
      grid-template-areas: 'logo logo' 'nav badge' 'copyright copyright'; } }
  @media (min-width: 992px) {
    body > footer {
      grid-template-columns: 4fr 5fr 2.5fr;
      grid-template-areas: 'logo nav badge' 'copyright copyright copyright';
      padding: 0 1.5rem;
      max-width: 87.5rem;
      margin-left: auto;
      margin-right: auto; } }
  body > footer > div .container {
    padding-top: 1rem;
    padding-bottom: 1rem; }
  body > footer a {
    color: #D4D4D4; }
    body > footer a:hover, body > footer a:focus {
      color: #383838; }
  body > footer .footer-top {
    grid-area: logo; }
    body > footer .footer-top .container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-flow: column nowrap;
      padding: 2rem 0 0 1rem; }
      @media (min-width: 992px) {
        body > footer .footer-top .container {
          padding-top: 2.5rem;
          padding-left: 0; } }
  body > footer .footer-middle {
    grid-area: nav; }
    body > footer .footer-middle .container {
      padding-top: 2rem;
      padding-bottom: 0.5rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: start;
      flex-flow: column;
      row-gap: 0.875rem; }
      @media (min-width: 768px) {
        body > footer .footer-middle .container {
          flex-direction: row;
          grid-gap: 3.75rem; } }
      @media (min-width: 992px) {
        body > footer .footer-middle .container {
          column-gap: 5rem;
          padding-top: 2.5rem;
          padding-bottom: 2.75rem; } }
  body > footer .footer-bottom {
    font-size: 0.9375rem;
    text-align: center; }
    @media (min-width: 768px) {
      body > footer .footer-bottom .container {
        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 {
    margin: 0; }
    @media (min-width: 992px) {
      body > footer .social {
        margin: 0 !important; } }
    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: flex-start;
      flex-flow: column nowrap;
      row-gap: 1rem; }
      @media (max-width: 767.9px) {
        body > footer .social ul {
          display: grid;
          grid-template-columns: 1fr 1fr;
          column-gap: 2rem; }
          body > footer .social ul li {
            width: 10rem !important; } }
    body > footer .social li {
      width: 5rem;
      margin: 0; }
    body > footer .social a {
      color: #383838; }
      body > footer .social a:hover {
        color: #BE1E2D; }
    body > footer .social svg {
      display: block;
      fill: #fff;
      height: 1.25rem;
      width: 1.25rem; }
  body > footer .legal ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap; }
  body > footer .legal li {
    margin: 0 0.5rem 0 0;
    padding: 0 0.5rem 0 0;
    border-right: 0.0625rem solid #787878; }
    body > footer .legal li:nth-last-child(1) {
      border: 0; }
  body > footer .hot-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
    row-gap: 0.875rem; }
    @media (min-width: 768px) {
      body > footer .hot-links {
        column-gap: 3.75rem; } }
    @media (min-width: 992px) {
      body > footer .hot-links {
        column-gap: 5rem; } }
    body > footer .hot-links li {
      width: 160px;
      padding: 0; }
      @media (min-width: 992px) {
        body > footer .hot-links li {
          white-space: nowrap; } }
      body > footer .hot-links li a {
        color: #383838;
        font-size: 0.9375rem;
        line-height: 18px;
        transition: .25s all ease-in-out; }
        body > footer .hot-links li a:hover {
          color: #BE1E2D; }
        body > footer .hot-links li a:active, body > footer .hot-links li a:focus {
          color: #DF3041; }
      body > footer .hot-links li + li {
        margin: 0; }
  body > footer nav.category li + li {
    margin: 0.875rem 0 0; }
  body > footer .logo {
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    display: block;
    width: 8.5rem;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    /*  ----------------------------------------------------------------------  *\
        INCLUDE A TAGLINE
        @include flex(flex-start, center, null, row nowrap);
        color: $primary;
        text-decoration: none;
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        IMAGE BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        SVG BASED LOGO
        svg {
            display: block;
            width: 100%;
            height: auto;
            fill: $white;
        }
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    @media (min-width: 992px) {
      body > footer .logo {
        width: 12.5rem; } }
    body > footer .logo img {
      display: block;
      width: auto;
      height: 2.625rem; }
      @media (min-width: 992px) {
        body > footer .logo img {
          height: 3.875rem; } }
    body > footer .logo:hover, body > footer .logo:focus {
      color: #BE1E2D; }
  body > footer .copyright {
    margin: 0; }
    @media (min-width: 768px) {
      body > footer .copyright {
        padding: 1.5rem 0 0;
        border-top: 1px solid #D4D4D4;
        margin: 0; } }
    @media (min-width: 992px) {
      body > footer .copyright {
        border-top: none; } }
  body > footer .footer-copyright {
    grid-area: copyright; }
    @media (min-width: 992px) {
      body > footer .footer-copyright .container {
        padding-left: 0;
        padding: 0;
        padding-bottom: 2.75rem; } }
    @media (min-width: 992px) {
      body > footer .footer-copyright {
        position: absolute;
        bottom: 0; } }
  body > footer .location address {
    margin: 0 0 1em; }
  body > footer .location address, body > footer .location p {
    position: relative;
    padding: 0 0 0 1.5rem; }
    body > footer .location address span, body > footer .location p span {
      position: absolute;
      left: 0;
      top: 0.75em;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  @media print {
    body > footer {
      display: none; } }
  @media (min-width: 992px) {
    body > footer {
      position: relative; } }
  body > footer .footer-badges {
    grid-area: badge; }
  body > footer .footer-badges .container {
    padding-bottom: 0.5rem; }
    @media (min-width: 992px) {
      body > footer .footer-badges .container {
        padding-right: 0;
        padding-top: 2.5rem; } }
  body > footer .footer-badge-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;
    grid-gap: 1rem;
    border-top: 1px solid #D4D4D4;
    padding-top: 2.25rem; }
    @media (min-width: 768px) {
      body > footer .footer-badge-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: start;
        align-items: center;
        flex-flow: column;
        padding-top: 0;
        border-top: none; } }
    @media (min-width: 992px) {
      body > footer .footer-badge-container {
        grid-gap: 1.5rem;
        border-left: 1px solid #D4D4D4;
        min-height: 6.25rem; } }
    body > footer .footer-badge-container div {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      column-gap: 1rem; }
      @media (min-width: 992px) {
        body > footer .footer-badge-container div {
          align-items: center;
          border-top: none;
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          width: 100%;
          padding-top: 0;
          padding-left: 2rem;
          row-gap: 1.25rem; } }
      @media (min-width: 1200px) {
        body > footer .footer-badge-container div {
          padding-left: 2.5rem; } }
      body > footer .footer-badge-container div img {
        aspect-ratio: auto 57 / 42;
        min-width: 2rem;
        min-height: 2.25rem; }

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

    FOOTER - NEWSLETTER

\*  --------------------------------------------------------------------------  */
.newsletter {
  display: flex;
  text-align: center;
  background: black;
  aspect-ratio: 320 / 168;
  position: relative;
  max-height: 10.5rem;
  width: 100%; }
  @media (min-width: 768px) {
    .newsletter {
      height: 7.5rem; } }
  @media (min-width: 992px) {
    .newsletter {
      height: 10.5rem; } }
  .newsletter .hbspt-form {
    width: 100%; }
    @media (min-width: 768px) {
      .newsletter .hbspt-form {
        width: 23rem; } }
  .newsletter .hs-input {
    width: 100%;
    height: 3.5rem;
    padding: 0.625rem 1.5rem; }
    @media (min-width: 992px) {
      .newsletter .hs-input {
        height: 3rem; } }
  .newsletter .hs-button {
    position: absolute;
    background: transparent;
    height: 3.5rem;
    width: 3.5rem;
    font-size: 0;
    right: 0;
    top: 0;
    border: none; }
    @media (min-width: 992px) {
      .newsletter .hs-button {
        height: 3rem;
        font-size: 0.9375rem;
        color: #BE1E2D;
        font-weight: 500;
        line-height: 18px;
        width: 10rem; } }
  .newsletter .actions {
    position: relative;
    height: 3.5rem;
    z-index: 10; }
    @media (min-width: 992px) {
      .newsletter .actions {
        height: 3rem; } }
    .newsletter .actions:hover, .newsletter .actions:focus {
      cursor: pointer; }
      .newsletter .actions:hover .hs-button, .newsletter .actions:focus .hs-button {
        color: #DF3041; }
      .newsletter .actions:hover:after, .newsletter .actions:focus:after {
        content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.2 0V1.6H13.272L0 14.872L1.128 16L14.4 2.728V12.8H16V0H3.2Z' fill='%2382020e'/%3E%3C/svg%3E%0A"); }
    .newsletter .actions:active .hs-button {
      color: #BE1E2D; }
    .newsletter .actions:active:after {
      content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.2 0V1.6H13.272L0 14.872L1.128 16L14.4 2.728V12.8H16V0H3.2Z' fill='%233D0006'/%3E%3C/svg%3E%0A"); }
    .newsletter .actions:after {
      content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.2 0V1.6H13.272L0 14.872L1.128 16L14.4 2.728V12.8H16V0H3.2Z' fill='%23BE1E2D'/%3E%3C/svg%3E%0A");
      width: 56px;
      height: 56px;
      position: absolute;
      right: 0.375rem;
      top: 50%;
      transform: translateY(-50%);
      z-index: -3;
      display: flex;
      align-items: center;
      justify-content: center; }
  .newsletter video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0; }
  .newsletter .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    background: linear-gradient(180deg, rgba(56, 56, 56, 0.79) 2.78%, rgba(56, 56, 56, 0.38) 50.38%, rgba(56, 56, 56, 0.61) 100%); }
  .newsletter p {
    color: white;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    z-index: 2; }
    @media (min-width: 768px) {
      .newsletter p {
        margin-bottom: 0; } }
  @media (min-width: 768px) {
    .newsletter {
      aspect-ratio: 768 / 120; } }
  @media (min-width: 992px) {
    .newsletter {
      text-align: left;
      grid-column: 1 / span 3;
      max-height: 145px; }
      .newsletter p:nth-child(3) {
        margin-bottom: 0; } }
  .newsletter .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-flow: column; }
    @media (min-width: 768px) {
      .newsletter .container {
        align-items: center;
        justify-content: space-between;
        flex-direction: row; } }
    @media (min-width: 992px) {
      .newsletter .container {
        height: 100%;
        padding: 0 4.375rem; } }
  .newsletter label {
    color: #fff !important; }
  .newsletter h3, .newsletter .h3 {
    color: #fff;
    margin-bottom: 0; }
  .newsletter .submitted-message {
    color: White;
    position: absolute;
    z-index: 8;
    right: 1.5rem; }
  .newsletter form {
    margin: 0 auto;
    position: relative;
    z-index: 4; }
    .newsletter form .hs_submit {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2; }
    .newsletter form .hs_email label {
      position: absolute;
      width: 1px !important;
      height: 1px;
      padding: 0;
      margin: -1px;
      border: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0); }
    .newsletter form .hs_error_rollup {
      margin-top: 0.375rem; }
      .newsletter form .hs_error_rollup .hs-error-msgs li {
        padding: 0; }
    @media (min-width: 768px) {
      .newsletter form {
        flex-direction: row;
        max-width: 28.125rem; }
        .newsletter form .form-el {
          margin: 0; }
          .newsletter form .form-el input {
            width: 100%; }
          .newsletter form .form-el:last-of-type {
            width: auto; } }
    @media (min-width: 992px) {
      .newsletter form {
        margin: 0 0 0 auto; } }
  .newsletter .newsletter-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column nowrap; }
    @media (min-width: 992px) {
      .newsletter .newsletter-form {
        flex-direction: row; } }
    .newsletter .newsletter-form > div {
      width: 100%; }
      @media (min-width: 992px) {
        .newsletter .newsletter-form > div {
          width: 50%; } }
    .newsletter .newsletter-form .btn {
      height: 2.375rem;
      padding: 0 0.375rem 0 1rem;
      border-radius: 0.25rem;
      color: #fff; }
      .newsletter .newsletter-form .btn:hover {
        background: #BE1E2D; }
      @media (min-width: 768px) {
        .newsletter .newsletter-form .btn {
          position: relative;
          left: -0.0625rem;
          border-radius: 0 0.25rem 0.25rem 0;
          border: 1px solid #383838;
          border-left: 0; } }
  .newsletter .form-input {
    font-style: italic;
    text-align: center;
    border-radius: 0.25rem; }
    @media (min-width: 768px) {
      .newsletter .form-input {
        text-align: left;
        border-radius: 0.25rem 0 0 0.25rem; } }

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

    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 - SELECTS

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

    FORM - INPUTS

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

    FORM - TEXTAREAS

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

    FORM - CHECKBOXES AND RADIOS

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

    FORM - FORM ACTIONS

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

    FORM - RECAPTCHA

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

    FORM - ERRORS

\*  --------------------------------------------------------------------------  */ }
  @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 hr {
    width: 100%; }
  form fieldset {
    border: none;
    padding: 1rem 0 0; }
  form legend {
    font-size: 1.25rem; }
  form label, form .label {
    margin: 0 0 0.5rem; }
    form label small, form .label small {
      font-size: .75em;
      color: #DF3041;
      font-style: italic;
      margin: 0 0 0 0.25rem; }
      form label small:before, form .label small:before {
        content: "-";
        margin: 0 0.25rem 0 0; }
  form select {
    padding: 0.625rem 0.75rem;
    transition: .25s all ease-in-out;
    width: 100%;
    -webkit-appearance: none;
    border: 0.0625rem solid #D4D4D4;
    background-color: #fff;
    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%22%333333B2%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");
    background-repeat: no-repeat;
    /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
    background-position: right .7em top 50%;
    /* icon size, then gradient */
    background-size: .65em auto;
    color: #383838; }
    form select:disabled, form 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; }
    form select:hover, form select:focus {
      border-color: #D4D4D4;
      background: #F7F8FB;
      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%22%333333B2%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");
      background-repeat: no-repeat;
      /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
      background-position: right .7em top 50%;
      /* icon size, then gradient */
      background-size: .65em auto; }
    form select:active, form select:focus {
      border-color: #383838;
      background: #fff;
      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%22%333333B2%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");
      background-repeat: no-repeat;
      /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
      background-position: right .7em top 50%;
      /* icon size, then gradient */
      background-size: .65em auto; }
  form input, form .form-input {
    padding: 0.625rem 0.75rem;
    border: 0.0625rem solid #D4D4D4;
    width: 100%;
    transition: .25s all ease-in-out; }
    form input:hover, form input:focus, form .form-input:hover, form .form-input:focus {
      border-color: #D4D4D4;
      background: #F7F8FB; }
    form input:active, form input:focus, form .form-input:active, form .form-input:focus {
      border-color: #383838;
      background: #fff; }
    form input:-webkit-autofill, form input:-webkit-autofill:hover, form input:-webkit-autofill:focus, form input:-webkit-autofill:active, form .form-input:-webkit-autofill, form .form-input:-webkit-autofill:hover, form .form-input:-webkit-autofill:focus, form .form-input:-webkit-autofill:active {
      transition: background-color 5000s ease-in-out 0s; }
  form textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 0.0625rem solid #D4D4D4;
    height: calc(7.5em + 1rem); }
  form .form-cr input[type="checkbox"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #787878; }
  form .form-cr 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-cr input[type="checkbox"]:checked + label:after {
    border-left-color: #787878;
    border-bottom-color: #787878; }
  form .form-cr input[type="radio"] + label:last-child {
    display: block; }
  form .form-cr input[type="radio"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #787878;
    border-radius: 100%; }
  form .form-cr input[type="radio"]:checked + label:before {
    background: #787878;
    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: #DF3041;
    display: block;
    font-size: 0.875rem;
    font-style: italic;
    margin: 0.5rem 0 0; }

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

    CATALOG - DETAIL - HEADER - 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 nowrap;
  margin: 0 0 1.5rem; }
  .form-increment label {
    margin: 0 0.75rem 0 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;
    border: 0.0625rem solid #D4D4D4; }
  .form-increment button {
    width: 2.25rem;
    height: 3.3125rem;
    background: #fff;
    color: #383838;
    font-size: 0.9375rem;
    transition: .25s all ease-in-out; }
    .form-increment button:hover {
      background: #F7F8FB; }
    .form-increment button:active {
      background: #D4D4D4; }
    .form-increment button .icon-minus {
      font-size: 2px;
      line-height: 16px; }
  .form-increment input {
    padding: 0.25rem;
    background: #fff;
    border: none;
    text-align: center;
    width: 3rem;
    font-size: 0.9375rem;
    z-index: 1; }
    .form-increment input:hover {
      background: #fff; }

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

    FORM - INPUTS

\*  --------------------------------------------------------------------------  */
input, .form-input {
  padding: 0.625rem 0.75rem;
  border: 0.0625rem solid #D4D4D4;
  width: 100%;
  transition: .25s all ease-in-out; }
  input:hover, input:focus, .form-input:hover, .form-input:focus {
    border-color: #D4D4D4;
    background: #F7F8FB; }
  input:active, input:focus, .form-input:active, .form-input:focus {
    border-color: #383838;
    background: #fff; }
  input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active, .form-input:-webkit-autofill, .form-input:-webkit-autofill:hover, .form-input:-webkit-autofill:focus, .form-input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s; }

.hubspot-form label, .hbspt-form label {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 0.75rem; }

.hubspot-form .hs-form-field, .hbspt-form .hs-form-field {
  margin-bottom: 1rem !important; }
  @media (min-width: 992px) {
    .hubspot-form .hs-form-field, .hbspt-form .hs-form-field {
      margin-bottom: 1.5rem !important; } }
  .hubspot-form .hs-form-field .input select, .hbspt-form .hs-form-field .input select {
    width: 100% !important; }
  @media (max-width: 767.9px) {
    .hubspot-form .hs-form-field .input, .hbspt-form .hs-form-field .input {
      margin-right: 0; } }
  .hubspot-form .hs-form-field input, .hbspt-form .hs-form-field input {
    margin-top: 0.25rem;
    width: 100% !important; }

.hubspot-form .hs-error-msgs li, .hbspt-form .hs-error-msgs li {
  color: #BE1E2D;
  padding: 0; }

.hubspot-form .hs_submit .hs-button, .hbspt-form .hs_submit .hs-button {
  min-height: 3.0625rem;
  font-size: 0.9375rem;
  padding: 0.875rem 1.875rem;
  background: #BE1E2D;
  border: none;
  font-weight: 500;
  color: white;
  -webkit-appearance: none;
  border-radius: 0; }
  .hubspot-form .hs_submit .hs-button:hover, .hbspt-form .hs_submit .hs-button:hover {
    background: #DF3041;
    cursor: pointer; }
  .hubspot-form .hs_submit .hs-button:active, .hbspt-form .hs_submit .hs-button:active {
    background: #BE1E2D; }
  @media (min-width: 992px) {
    .hubspot-form .hs_submit .hs-button, .hbspt-form .hs_submit .hs-button {
      width: auto; } }

.hubspot-form .hs_error_rollup li, .hbspt-form .hs_error_rollup li {
  color: #BE1E2D;
  padding: 0;
  margin-bottom: 0.5rem; }

.hubspot-form textarea, .hbspt-form textarea {
  width: 100% !important; }

/*  --------------------------------------------------------------------------  *\

    GRID

    This sets up a 12 column grid that can be used for basic layout.

    Use this a fallback for areas of the website where the client absolutely 
    needs to control the layout of the content.  But due to the excessive 
    amounts of classes and extra html elements necessary to make this work.    

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CONTAINER

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

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

    GRID 12 COLUMNS WRAPPER

\*  --------------------------------------------------------------------------  */
.wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 0.5rem;
  max-width: 1400px;
  width: 100%; }
  @media (min-width: 992px) {
    .wrapper {
      width: 100%; } }
  @media (min-width: 1425px) {
    .wrapper {
      width: 100%; } }
  @media (min-width: 768px) {
    .wrapper {
      grid-template-columns: repeat(8, 1fr);
      grid-gap: 1rem; } }
  @media (min-width: 992px) {
    .wrapper {
      grid-template-columns: repeat(12, 1fr);
      grid-gap: 1.5rem; } }

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

    HEADER

\*  --------------------------------------------------------------------------  */
body {
  overflow-x: hidden; }
  @media (min-width: 992px) {
    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: #383838;
  padding: 0.5rem 0.75rem; }
  a.skip:focus {
    transform: translate(-50%, 0);
    background: #383838;
    color: #fff; }
  @media print {
    a.skip {
      display: none; } }

body > header {
  overflow: visible;
  /*  ----------------------------------------------------------------------  *\
        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;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04);
  /*  --------------------------------------------------------------------------  *\

    HEADER - POTIION

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

    HEADER - LAYOUT

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

    HEADER - LOGO

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

    HEADER - SEARCH

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

    HEADER - SEARCH > TOGGLE

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

    HEADER - NAVIGATIONS

\*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - TOGGLE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - CART

\*  --------------------------------------------------------------------------  */ }
  body > header a, body > header label, body > header button {
    display: block;
    font-size: 0.9375rem;
    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: #BE1E2D; }
  body > header a, body > header li {
    color: #383838; }
  @media (min-width: 992px) {
    body > header {
      background: linear-gradient(to bottom, white 75px, #F7F8FB 0px); }
      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   
    \*  ----------------------------------------------------------------------  */ }
    @media (max-width: 991.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: 992px) {
      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: 991.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 .logo {
          text-align: center; }
          body > header .container .logo svg {
            width: 5.375rem;
            margin: 0 auto; }
        body > header .container .search-bar, body > header .container .mob-only {
          display: block;
          width: 100%; }
        body > header .container .toggle-search {
          text-align: right; }
        body > header .container .button-wrapper {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: start;
          align-items: center;
          flex-flow: row; }
        body > header .container nav {
          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: 3;
            display: none; }
          body > header .container nav .utility {
            order: 2; }
          body > header .container nav .search-bar {
            display: none; } }
    @media (min-width: 768px) and (max-width: 991.9px) {
      body > header .container {
        flex-wrap: nowrap;
        column-gap: 1.5rem; }
        body > header .container .toggle-trigger {
          order: 1; }
        body > header .container .logo {
          order: 2; }
        body > header .container .mob-only {
          order: 3; }
          body > header .container .mob-only .search-bar {
            padding-top: 0.5rem; }
        body > header .container .button-wrapper {
          order: 4; } }
    @media (min-width: 992px) {
      body > header .container .mob-only {
        display: none; }
      body > header .container nav {
        display: grid;
        grid-template-columns: 150px 1fr;
        grid-template-rows: auto;
        align-items: center;
        column-gap: 2.8125rem;
        row-gap: 1rem;
        padding: 1rem 0 0;
        position: relative;
        grid-template-areas: "logo search user" "main main main"; }
        body > header .container nav .logo {
          grid-area: logo; }
        body > header .container nav .user {
          grid-area: user; }
        body > header .container nav .main {
          grid-area: main;
          background: #F7F8FB; }
        body > header .container nav .utility {
          grid-area: util;
          display: none; }
        body > header .container nav .search-bar {
          grid-area: search;
          width: 100%; } }
  body > header .logo {
    display: block;
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    width: 8.625rem;
    /*  ----------------------------------------------------------------------  *\
        INCLUDE A TAGLINE
        @include flex(flex-start, center, null, row nowrap);
        color: $primary;
        text-decoration: none;
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        IMAGE BASED LOGO
        \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    @media (max-width: 991.9px) {
      body > header .logo {
        width: 6.25rem; } }
    body > header .logo img {
      display: block;
      width: 5.4375rem;
      height: 1.6875rem;
      object-fit: contain;
      margin: 0 auto; }
      @media (min-width: 992px) {
        body > header .logo img {
          height: 2.8125rem;
          width: 8.75rem; } }
    body > header .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #000; }
    body > header .logo:hover, body > header .logo:focus {
      color: #BE1E2D; }
  body > header .toggle-search {
    display: block;
    padding: 0.4375rem; }
    body > header .toggle-search i {
      font-size: 1.25rem;
      color: #383838; }
    @media (min-width: 992px) {
      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; }
    @media (max-width: 991.9px) {
      body > header .search-bar {
        width: 100%;
        padding: 1rem 0 0.5rem;
        transition: all 0.25s linear; }
        #headerToggleSearch:checked ~ body > header .search-bar {
          top: 100%;
          transform: translate(-100%, 0); } }
    @media (min-width: 992px) {
      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%;
        height: 2.5rem;
        font-size: 0.9375rem;
        padding: 0 1rem; }
        body > header .search-bar .form input:focus {
          border-color: #383838; }
        body > header .search-bar .form input::placeholder {
          color: #787878;
          font-weight: 400; }
      body > header .search-bar .form button {
        height: 2.5rem;
        max-width: 2.5rem;
        padding: 0 0.875rem 0 1rem;
        border: 1px solid #BE1E2D;
        border-left: 0; }
        body > header .search-bar .form button.btn-slide::after {
          font-size: 1.125rem;
          content: "\f122";
          font-family: "ico";
          font-weight: normal;
          font-style: normal; }
        body > header .search-bar .form button:active.btn-slide, body > header .search-bar .form button:focus.btn-slide {
          background: #BE1E2D; }
          body > header .search-bar .form button:active.btn-slide::after, body > header .search-bar .form button:focus.btn-slide::after {
            color: white; }
    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: 992px) {
        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 #447489; } }
    body > header .search-bar #quickSearch {
      position: absolute;
      background-color: #fff;
      box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
      width: 100%;
      z-index: 500;
      max-width: 50%; }
      body > header .search-bar #quickSearch.is-open {
        display: initial; }
      @media (max-width: 991.9px) {
        body > header .search-bar #quickSearch {
          top: 3.75rem !important; } }
      body > header .search-bar #quickSearch .quickSearchResults {
        position: relative; }
        body > header .search-bar #quickSearch .quickSearchResults > div {
          padding: 1.25rem 1.25rem 1.25rem 1.25rem;
          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: #F7F8FB; }
          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: 0.5rem;
            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:not(:last-child) {
              border-bottom: 1px solid #D4D4D4; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .actions {
              display: none; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .img, body > header .search-bar #quickSearch .quickSearchResults > div .card img {
              width: 6.25rem; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .img a, body > header .search-bar #quickSearch .quickSearchResults > div .card img a {
                padding: 15px; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt {
              width: 75%;
              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 {
                font-size: 0.9375rem;
                margin: 0; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt div.cta * {
                color: #383838 !important; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt div span {
                color: #787878; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card a {
              transition: .25s all ease-in-out;
              display: flex;
              column-gap: 1rem; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a * {
                font-weight: 500;
                color: #383838;
                line-height: 1.375rem; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a .h3 {
                transition: .25s all ease-in-out; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a:hover div, body > header .search-bar #quickSearch .quickSearchResults > div .card a:hover small {
                color: #383838; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a:hover .h3 {
                color: #BE1E2D; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a:active div, body > header .search-bar #quickSearch .quickSearchResults > div .card a:active small, body > header .search-bar #quickSearch .quickSearchResults > div .card a:focus div, body > header .search-bar #quickSearch .quickSearchResults > div .card a:focus small {
                color: #383838; }
              body > header .search-bar #quickSearch .quickSearchResults > div .card a:active .h3, body > header .search-bar #quickSearch .quickSearchResults > div .card a:focus .h3 {
                color: #DF3041; }
          body > header .search-bar #quickSearch .quickSearchResults > div .view-all {
            padding: 5px; }
            body > header .search-bar #quickSearch .quickSearchResults > div .view-all .all-btn a {
              width: auto; }
        body > header .search-bar #quickSearch .quickSearchResults .modal-close {
          position: absolute;
          top: 20px;
          right: 20px;
          line-height: 0;
          font-size: 1rem;
          color: #383838;
          z-index: 1; }
  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: #383838;
      transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
      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: 992px) {
      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: 992px) {
      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 {
    /*  ----------------------------------------------------------------------  *\
        MAIN NAVIGATION OPTIONS
        Choose from the following files, which best fits your needs
        @import 'navs/mega-menu'; // dropdown includes children and ads
        @import 'navs/mega-menu'; // dropdown includes children
        @import 'navs/root-only-menu'; // does not have a dropdown
    \*  ----------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU

\*  --------------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        ADDITIONAL MENU
        Include based on the design
        @import 'navs/accounts'; // account navigation
        @import 'navs/utility'; // utility navigation
    \*  ----------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - HORIZONTAL - ACCOUNT NAV

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

    HEADER - NAVIGATION - HORIZONTAL - UTILITY NAV

\*  --------------------------------------------------------------------------  */ }
    body > header nav ul {
      margin: 0; }
    body > header nav {
      /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - DROPDOWN STYLING

\*  --------------------------------------------------------------------------  */ }
      @media (max-width: 991.9px) {
        body > header nav {
          position: fixed;
          left: 0;
          top: 6.875rem;
          -webkit-transform: translate(-100%, 0);
          -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
          background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #F7F8FBba), url("https://cdn11.bigcommerce.com/s-q58f4k8zxg/images/stencil/original/image-manager/background.png");
          background-size: cover;
          background-repeat: no-repeat;
          background-position: bottom right;
          width: 100%;
          height: calc(100vh);
          padding-bottom: 12.5rem;
          overflow-x: hidden;
          overflow-y: scroll;
          transition: all 0.4s ease-out;
          opacity: 0;
          pointer-events: none;
          /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - TOGGLE HEADER

\*  --------------------------------------------------------------------------  */ }
          body > header nav .logo {
            display: none; }
          body > header nav .main {
            margin: 0;
            background: #fff;
            padding: 0 1rem;
            position: relative; }
            body > header nav .main li.title {
              display: none; }
            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 li:not(:last-child) {
                border-bottom: 0.0625rem solid #D4D4D4; }
            body > header nav .main a {
              display: none;
              width: 100%;
              padding: 1rem 0;
              -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 label {
              display: flex;
              justify-content: space-between;
              width: 100%;
              padding: 1rem 0;
              height: auto;
              position: relative;
              cursor: pointer; }
              body > header nav .main label span {
                display: none; }
              body > header nav .main label .icon-chevron-left, body > header nav .main label .icon-chevron-right {
                display: inline-block !important;
                padding: 0 0.5rem;
                font-size: 0.625rem; }
              body > header nav .main label:only-child {
                font-weight: 600;
                justify-content: start;
                padding: 1rem 0; }
                body > header nav .main label:only-child:after {
                  left: 0.5rem;
                  transform: translate(0, -50%) rotate(45deg) rotate(180deg); }
            body > header nav .main div {
              position: absolute;
              z-index: 1000;
              left: 100%;
              top: 0;
              transition: transform .25s ease-out;
              width: 100%;
              height: 100vh;
              background: #fff;
              overflow-y: scroll;
              padding-bottom: 6.25rem; }
              body > header nav .main div ul {
                background: white;
                height: 100vh;
                width: 100vw;
                padding: 0 1rem;
                overflow-x: hidden;
                overflow-y: scroll; }
            body > header nav .main .card {
              display: none; }
            body > header nav .main input[type="checkbox"]:checked ~ div {
              transform: translate(-100%, 0); }
            nav body > header nav .main input[type="checkbox"]:checked {
              opacity: 0; } }
      @media (min-width: 768px) and (max-width: 991.9px) {
        body > header nav {
          top: 6.25rem; } }
      @media (min-width: 992px) {
        body > header nav .main {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: start;
          align-items: start;
          flex-flow: row wrap;
          column-gap: 3.0625rem;
          height: auto;
          width: 100%;
          overflow: hidden; }
          body > header nav .main a {
            font-size: 0.9375rem;
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-flow: row nowrap;
            column-gap: 0.75rem; }
            body > header nav .main a[aria-label="Products"], body > header nav .main a[aria-label="Company"] {
              pointer-events: none; }
            body > header nav .main a .top-category-name {
              white-space: normal;
              max-width: 200px; }
            body > header nav .main a span[class^="icon-"] {
              font-size: 0.5rem;
              color: #000;
              display: inline-block;
              transition: transform .25s linear;
              transform-origin: 50% 50%; }
          body > header nav .main label {
            display: none; }
          body > header nav .main .btn-hidden {
            position: relative;
            bottom: 0;
            opacity: 0; }
            body > header nav .main .btn-hidden:focus {
              opacity: 1; }
          body > header nav .main a[aria-expanded="true"] span {
            transform: rotate(180deg); }
          body > header nav .main > li {
            position: static;
            margin: 0;
            padding: 0.75rem 0.1875rem; }
            body > header nav .main > li > a:hover {
              text-shadow: 0px 0px 0.5px #BE1E2D; }
            body > header nav .main > li:first-child > div {
              padding-top: 1.5rem;
              padding-bottom: 1.5rem;
              left: 0;
              /* Track */
              /* Handle */ }
              body > header nav .main > li:first-child > div > ul {
                padding-top: 3px;
                height: 552px; }
              body > header nav .main > li:first-child > div ::-webkit-scrollbar {
                width: 2px; }
              body > header nav .main > li:first-child > div ::-webkit-scrollbar-track {
                background: #D4D4D4;
                height: 20px; }
              body > header nav .main > li:first-child > div ::-webkit-scrollbar-thumb {
                background: #BE1E2D;
                height: 20% !important; }
            body > header nav .main > li.menu-webpage > div {
              padding-right: 0; }
              body > header nav .main > li.menu-webpage > div > ul {
                overflow: auto;
                padding: 1.5rem 2.375rem; }
                body > header nav .main > li.menu-webpage > div > ul .brackets {
                  width: fit-content; }
            body > header nav .main > li > div {
              position: absolute;
              min-width: 200px;
              top: 100%;
              max-width: 21.375rem;
              cursor: pointer;
              width: auto;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              justify-content: flex-start;
              align-items: flex-start;
              flex-flow: row nowrap;
              visibility: hidden;
              opacity: 0;
              padding-right: 2.625rem;
              background: none;
              transition: .4s 0s ease-in-out;
              background: white; }
              body > header nav .main > li > div a {
                transition-duration: 0s; }
                body > header nav .main > li > div a:hover {
                  color: #383838 !important; }
                body > header nav .main > li > div a:after {
                  content: none; }
              body > header nav .main > li > div > ul {
                width: 100%;
                display: -webkit-box;
                display: -ms-flexbox;
                display: -webkit-flex;
                display: flex;
                justify-content: start;
                align-items: start;
                flex-flow: column;
                row-gap: 1rem;
                width: 100%;
                height: 100%;
                padding: 1.5rem 2.625rem;
                overflow: scroll;
                overflow-x: visible; } }
        @media (min-width: 992px) and (min-width: 992px) {
          body > header nav .main > li > div > ul {
            width: 100%; } }
        @media (min-width: 992px) and (min-width: 1425px) {
          body > header nav .main > li > div > ul {
            width: 100%; } }
      @media (min-width: 992px) {
                body > header nav .main > li > div > ul ul {
                  display: none; }
                body > header nav .main > li > div > ul li {
                  width: auto;
                  margin-bottom: 0;
                  display: -webkit-box;
                  display: -ms-flexbox;
                  display: -webkit-flex;
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  flex-flow: row; }
                  body > header nav .main > li > div > ul li:nth-child(1), body > header nav .main > li > div > ul li:nth-child(2) {
                    display: none !important; }
                  body > header nav .main > li > div > ul li span[class^="icon-"] {
                    font-size: 10px;
                    transform: rotate(180deg); }
            body > header nav .main > li:hover > div {
              transition: opacity .2s ease;
              visibility: visible;
              opacity: 1;
              box-sizing: content-box; }
              body > header nav .main > li:hover > div > ul {
                background: white;
                max-width: 300px; }
            body > header nav .main > li:hover span[class^="icon-"] {
              transform: rotate(180deg); }
          body > header nav .main input[type="checkbox"] {
            display: none; }
            body > header nav .main input[type="checkbox"]:focus ~ label {
              display: block;
              background: #383838;
              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 .main li > div > ul > li {
            position: static;
            width: 100%;
            display: block; }
            body > header nav .main li > div > ul > li.showChildren > div > span {
              height: 24px;
              bottom: 0px;
              left: 100%;
              background: white;
              position: absolute;
              z-index: 2; }
            body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer {
              height: 600px;
              overflow-y: scroll;
              position: absolute;
              top: 0px;
              left: 100%;
              overflow-y: scroll;
              background: white;
              padding-left: 57px;
              padding-top: 4.0625rem;
              padding-right: 24px;
              max-width: 63.125rem; }
              body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer > ul {
                display: block;
                column-gap: 3.4375rem;
                columns: 2 auto;
                column-width: 30%;
                margin-right: 20%;
                padding-bottom: 1.5rem; }
                body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer > ul li {
                  padding: 0.5rem 0;
                  justify-content: start;
                  justify-self: start;
                  display: block;
                  width: auto; }
                  body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer > ul li.title {
                    top: 1.5rem;
                    position: absolute;
                    font-weight: 600; }
                  body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer > ul li a {
                    display: inline !important;
                    max-width: 16.875rem;
                    white-space: normal; }
                    body > header nav .main li > div > ul > li.showChildren > div > aside.second-layer > ul li a:hover > span {
                      color: #383838 !important; } }
      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 {
      padding: 0 1rem;
      position: relative;
      z-index: 100; }
      body > header nav .user li {
        padding: 0;
        margin: 0; }
        body > header nav .user li * {
          text-transform: capitalize; }
      body > header nav .user ul {
        display: none;
        position: absolute;
        padding: 1rem;
        min-width: 8.75rem; }
        body > header nav .user ul.is-open {
          display: block; }
        body > header nav .user ul li {
          margin-bottom: 0.5rem; }
          body > header nav .user ul li:last-child {
            margin: 0; }
      @media (max-width: 991.9px) {
        body > header nav .user {
          display: none; }
          body > header nav .user a {
            padding: 1rem 0;
            border-bottom: 0.0625rem solid #fff; }
            body > header nav .user a i {
              font-size: 1.25rem;
              color: #383838; }
            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: 992px) {
        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;
          height: 1.875rem; }
          body > header nav .user li:hover > ul {
            display: block; }
          body > header nav .user li a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: start;
            align-items: center;
            flex-flow: row;
            column-gap: 0.5rem;
            width: fit-content; }
            body > header nav .user li a .icon-chevron-down {
              font-size: 0.5rem; }
          body > header nav .user li:last-child a {
            margin-right: 0; }
          body > header nav .user ul {
            background: white;
            border: 0.0625rem solid #D4D4D4;
            padding: 1rem 1.5rem; }
            body > header nav .user ul a {
              padding: 0; }
          body > header nav .user > li > a {
            margin: 0 0.75rem; }
            body > header nav .user > li > a i {
              font-size: 1.25rem;
              color: #383838;
              transition: .25s all ease-in-out; }
            body > header nav .user > li > a:hover, body > header nav .user > li > a:focus {
              text-shadow: 0 0 0.5px #BE1E2D;
              text-decoration: none;
              color: #BE1E2D; }
              body > header nav .user > li > a:hover i, body > header nav .user > li > a:focus i {
                color: #BE1E2D; }
            body > header nav .user > li > a:active {
              text-decoration: none;
              color: #DF3041; }
              body > header nav .user > li > a:active i {
                color: #DF3041; } }
    body > header nav .utility {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: bottom right;
      padding: 0 1rem 2rem; }
      body > header nav .utility li {
        padding: 0;
        margin: 0; }
      @media (max-width: 991.9px) {
        body > header nav .utility i {
          font-size: 1.25rem;
          color: #383838; }
        body > header nav .utility a {
          color: #BE1E2D;
          font-weight: 600;
          padding: 0.75rem 0; }
        body > header nav .utility li:first-child a {
          padding-top: 1.5rem; }
        body > header nav .utility span {
          display: inline-block;
          margin-left: 0.75rem; } }
      @media (min-width: 992px) {
        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: #383838; }
            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: #BE1E2D; }
          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: #383838;
            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: #383838; }
            body > header nav .utility ul li {
              margin: 0; }
              body > header nav .utility ul li:last-child {
                margin: 0; } }
  @media (max-width: 991.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-account {
    margin-left: 0.5rem; }
    body > header .mobile-account .icon-user {
      font-size: 1.125rem; }
    @media (min-width: 992px) {
      body > header .mobile-account {
        display: none; } }
  body > header .mobile-cart {
    display: flex;
    margin-left: 1rem; }
    body > header .mobile-cart i {
      font-size: 1.25rem; }
    @media (min-width: 992px) {
      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: 991.9px) {
    body > header .desktop-cart {
      display: none; } }
  body > header [data-cart-preview] {
    position: relative;
    display: flex; }
    @media (max-width: 991.9px) {
      body > header [data-cart-preview] {
        display: none; } }
  body > header .cart-quantity {
    display: none;
    background: #BE1E2D;
    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; }
    @media (min-width: 992px) {
      body > header .cart-quantity {
        position: absolute;
        top: -0.8125rem; } }
    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: 25rem; }
    body > header .cart-dropdown.is-loading {
      min-width: 25rem; }
    body > header .cart-dropdown.is-visible {
      width: 25rem;
      transform: translate(0, 0); }
    body > header .cart-dropdown h2 {
      margin-bottom: 0.5rem;
      padding: 1rem;
      font-size: 0.9375rem;
      font-weight: bold;
      background-color: #F7F8FB; }
    body > header .cart-dropdown .content {
      padding: 1rem; }
    body > header .cart-dropdown dl {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      column-gap: 0.625rem;
      row-gap: 0.25rem;
      padding: 0;
      margin: 0;
      border-top: 1px solid #F7F8FB;
      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: .8em; }
    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 p > a {
        font-size: 0.75rem;
        font-weight: 600;
        margin: 0 0 0.25rem;
        display: block;
        line-height: 1; }
      body > header .cart-dropdown .products li {
        display: grid;
        grid-template-columns: 1fr 4fr;
        grid-template-rows: auto;
        column-gap: 1rem;
        padding: 0.75rem 0;
        font-size: 0.9375rem;
        border: 1px solid #D4D4D4;
        padding: 1rem 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;
        font-size: 0.9375rem; }
      body > header .cart-dropdown .products img {
        width: 100%;
        height: auto;
        transition: .25s all ease-in-out; }
        body > header .cart-dropdown .products img:hover {
          transform: scale(1.1); }
    body > header .cart-dropdown .subtotal {
      font-size: 0.9375rem;
      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 .buttons {
      margin-bottom: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap; }
      body > header .cart-dropdown .buttons li {
        padding: 0;
        margin: 0; }
      body > header .cart-dropdown .buttons a {
        padding: 0.875rem 1.875rem; }
      body > header .cart-dropdown .buttons [class*="btn-"] {
        margin: 0 0 0 0; }
    body > header .cart-dropdown .previewCart-additionalCheckoutButtons .RemoteCheckout {
      width: 100%;
      padding-top: 0.5rem; }
      body > header .cart-dropdown .previewCart-additionalCheckoutButtons .RemoteCheckout.PaypalCommerceCheckout .paypal-buttons {
        background: #FFC439; }
      body > header .cart-dropdown .previewCart-additionalCheckoutButtons .RemoteCheckout.PaypalCommerceCheckout .PaypalCommerceContainer, body > header .cart-dropdown .previewCart-additionalCheckoutButtons .RemoteCheckout.PaypalCommerceCheckout .PaypalCommerceInnerContainer {
        width: 100%;
        max-width: 100%; }
      body > header .cart-dropdown .previewCart-additionalCheckoutButtons .RemoteCheckout.PaypalCommerceCheckout p.or-use-label {
        display: none; }

@media (max-width: 991.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;
  width: 90%;
  max-width: 75rem;
  min-width: 20rem;
  min-height: remCal(240);
  max-height: 90vh;
  display: none;
  visibility: hidden;
  opacity: 0; }
  .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: 20px;
    top: 20px;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    display: block;
    border-radius: 100%;
    width: 2rem;
    height: 2rem;
    text-align: center;
    font-size: 0.9375rem;
    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 #BE1E2D transparent; }
    .modal .modal-close:after {
      content: attr(title);
      padding: 0.25rem 0.375rem;
      background-color: #BE1E2D;
      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--small {
    max-width: 50rem; }
    .modal--small .modal-body {
      padding: 1.5rem; }
    .modal--small .modal-window {
      overflow-y: hidden; }
  .modal--alert {
    border: 1px solid #F7F8FB;
    padding: 40px 20px 20px 20px;
    text-align: center;
    width: auto; }
    .modal--alert .modal-content {
      padding-bottom: 1.25rem; }

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

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

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

.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 - SWAL

    This is used to control the styling for Sweet Alert modals.

\*  --------------------------------------------------------------------------  */
.swal2-popup.swal2-toast {
  flex-direction: row;
  align-items: center;
  width: auto;
  padding: 0.625em;
  overflow-y: hidden;
  background: #fff;
  box-shadow: 0 0 0.625em #d9d9d9; }
  .swal2-popup.swal2-toast .swal2-header {
    flex-direction: row;
    padding: 0; }
  .swal2-popup.swal2-toast .swal2-title {
    flex-grow: 1;
    justify-content: flex-start;
    margin: 0 0.6em;
    font-size: 1em; }
  .swal2-popup.swal2-toast .swal2-footer {
    margin: 0.5em 0 0;
    padding: 0.5em 0 0;
    font-size: 0.8em; }
  .swal2-popup.swal2-toast .swal2-close {
    position: static;
    width: 0.8em;
    height: 0.8em;
    line-height: 0.8; }
  .swal2-popup.swal2-toast .swal2-content {
    justify-content: flex-start;
    padding: 0;
    font-size: 1em; }
  .swal2-popup.swal2-toast .swal2-icon {
    width: 2em;
    min-width: 2em;
    height: 2em;
    margin: 0; }
    .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
      display: flex;
      align-items: center;
      font-size: 1.8em;
      font-weight: bold; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
          font-size: .25em; } }
    .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
      width: 2em;
      height: 2em; }
    .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
      top: .875em;
      width: 1.375em; }
      .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {
        left: .3125em; }
      .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {
        right: .3125em; }
  .swal2-popup.swal2-toast .swal2-actions {
    flex-basis: auto !important;
    width: auto;
    height: auto;
    margin: 0 .3125em; }
  .swal2-popup.swal2-toast .swal2-styled {
    margin: 0 .3125em;
    padding: .3125em .625em;
    font-size: 1em; }
    .swal2-popup.swal2-toast .swal2-styled:focus {
      box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }
  .swal2-popup.swal2-toast .swal2-success {
    border-color: #a5dc86; }
    .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {
      position: absolute;
      width: 1.6em;
      height: 3em;
      transform: rotate(45deg);
      border-radius: 50%; }
      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {
        top: -.8em;
        left: -.5em;
        transform: rotate(-45deg);
        transform-origin: 2em 2em;
        border-radius: 4em 0 0 4em; }
      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {
        top: -.25em;
        left: .9375em;
        transform-origin: 0 1.5em;
        border-radius: 0 4em 4em 0; }
    .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {
      width: 2em;
      height: 2em; }
    .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {
      top: 0;
      left: .4375em;
      width: .4375em;
      height: 2.6875em; }
    .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {
      height: .3125em; }
      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {
        top: 1.125em;
        left: .1875em;
        width: .75em; }
      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {
        top: .9375em;
        right: .1875em;
        width: 1.375em; }
    .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {
      animation: swal2-toast-animate-success-line-tip .75s; }
    .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {
      animation: swal2-toast-animate-success-line-long .75s; }
  .swal2-popup.swal2-toast.swal2-show {
    animation: swal2-toast-show 0.5s; }
  .swal2-popup.swal2-toast.swal2-hide {
    animation: swal2-toast-hide 0.1s forwards; }

.swal2-container {
  display: flex;
  position: fixed;
  z-index: 1060;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 0.625em;
  overflow-x: hidden;
  transition: background-color 0.1s;
  -webkit-overflow-scrolling: touch; }
  .swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation {
    background: rgba(0, 0, 0, 0.4); }
  .swal2-container.swal2-backdrop-hide {
    background: transparent !important; }
  .swal2-container.swal2-top {
    align-items: flex-start; }
  .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {
    align-items: flex-start;
    justify-content: flex-start; }
  .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {
    align-items: flex-start;
    justify-content: flex-end; }
  .swal2-container.swal2-center {
    align-items: center; }
  .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {
    align-items: center;
    justify-content: flex-start; }
  .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {
    align-items: center;
    justify-content: flex-end; }
  .swal2-container.swal2-bottom {
    align-items: flex-end; }
  .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {
    align-items: flex-end;
    justify-content: flex-start; }
  .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {
    align-items: flex-end;
    justify-content: flex-end; }
  .swal2-container.swal2-bottom > :first-child,
  .swal2-container.swal2-bottom-start > :first-child,
  .swal2-container.swal2-bottom-left > :first-child,
  .swal2-container.swal2-bottom-end > :first-child,
  .swal2-container.swal2-bottom-right > :first-child {
    margin-top: auto; }
  .swal2-container.swal2-grow-fullscreen > .swal2-modal {
    display: flex !important;
    flex: 1;
    align-self: stretch;
    justify-content: center; }
  .swal2-container.swal2-grow-row > .swal2-modal {
    display: flex !important;
    flex: 1;
    align-content: center;
    justify-content: center; }
  .swal2-container.swal2-grow-column {
    flex: 1;
    flex-direction: column; }
    .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {
      align-items: center; }
    .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {
      align-items: flex-start; }
    .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {
      align-items: flex-end; }
    .swal2-container.swal2-grow-column > .swal2-modal {
      display: flex !important;
      flex: 1;
      align-content: center;
      justify-content: center; }
  .swal2-container.swal2-no-transition {
    transition: none !important; }
  .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {
    margin: auto; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .swal2-container .swal2-modal {
      margin: 0 !important; } }

.swal2-popup {
  display: none;
  position: relative;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  width: 32em;
  max-width: 100%;
  padding: 1.25em;
  border: none;
  border-radius: 0.3125em;
  background: #fff;
  font-family: inherit;
  font-size: 1rem; }
  .swal2-popup:focus {
    outline: none; }
  .swal2-popup.swal2-loading {
    overflow-y: hidden; }

.swal2-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 1.8em; }

.swal2-title {
  position: relative;
  max-width: 100%;
  margin: 0 0 0.4em;
  padding: 0;
  color: #595959;
  font-size: 1.875em;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  word-wrap: break-word; }

.swal2-actions {
  display: flex;
  z-index: 1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 1.25em auto 0; }
  .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {
    opacity: .4; }
  .swal2-actions:not(.swal2-loading) .swal2-styled:hover {
    background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }
  .swal2-actions:not(.swal2-loading) .swal2-styled:active {
    background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }
  .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {
    box-sizing: border-box;
    width: 2.5em;
    height: 2.5em;
    margin: .46875em;
    padding: 0;
    animation: swal2-rotate-loading 1.5s linear 0s infinite normal;
    border: .25em solid transparent;
    border-radius: 100%;
    border-color: transparent;
    background-color: transparent !important;
    color: transparent !important;
    cursor: default;
    user-select: none; }
  .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {
    margin-right: 30px;
    margin-left: 30px; }
  .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 5px;
    animation: swal2-rotate-loading 1.5s linear 0s infinite normal;
    border: 3px solid #999999;
    border-radius: 50%;
    border-right-color: transparent;
    box-shadow: 1px 1px 1px #fff; }

.swal2-styled {
  margin: .3125em;
  padding: .625em 2em;
  box-shadow: none;
  font-weight: 500; }
  .swal2-styled:not([disabled]) {
    cursor: pointer; }
  .swal2-styled.swal2-confirm {
    border: 0;
    border-radius: 0.25em;
    background: initial;
    background-color: #3085d6;
    color: #fff;
    font-size: 1.0625em; }
  .swal2-styled.swal2-cancel {
    border: 0;
    border-radius: 0.25em;
    background: initial;
    background-color: #aaa;
    color: #fff;
    font-size: 1.0625em; }
  .swal2-styled:focus {
    outline: none;
    box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }
  .swal2-styled::-moz-focus-inner {
    border: 0; }

.swal2-footer {
  justify-content: center;
  margin: 1.25em 0 0;
  padding: 1em 0 0;
  border-top: 1px solid #eee;
  color: #545454;
  font-size: 1em; }

.swal2-timer-progress-bar-container {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.25em;
  overflow: hidden;
  border-bottom-right-radius: 0.3125em;
  border-bottom-left-radius: 0.3125em; }

.swal2-timer-progress-bar {
  width: 100%;
  height: 0.25em;
  background: rgba(0, 0, 0, 0.2); }

.swal2-image {
  max-width: 100%;
  margin: 1.25em auto; }

.swal2-close {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  padding: 0;
  overflow: hidden;
  transition: color 0.1s ease-out;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #cccccc;
  font-family: serif;
  font-size: 2.5em;
  line-height: 1.2;
  cursor: pointer; }
  .swal2-close:hover {
    transform: none;
    background: transparent;
    color: #f27474; }
  .swal2-close::-moz-focus-inner {
    border: 0; }

.swal2-content {
  z-index: 1;
  justify-content: center;
  margin: 0;
  padding: 0 1.6em;
  color: #545454;
  font-size: 1.125em;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  word-wrap: break-word; }

.swal2-input,
.swal2-file,
.swal2-textarea,
.swal2-select,
.swal2-radio,
.swal2-checkbox {
  margin: 1em auto; }

.swal2-input,
.swal2-file,
.swal2-textarea {
  box-sizing: border-box;
  width: 100%;
  transition: border-color 0.3s, box-shadow 0.3s;
  border: 1px solid #d9d9d9;
  border-radius: 0.1875em;
  background: inherit;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);
  color: inherit;
  font-size: 1.125em; }
  .swal2-input.swal2-inputerror,
  .swal2-file.swal2-inputerror,
  .swal2-textarea.swal2-inputerror {
    border-color: #f27474 !important;
    box-shadow: 0 0 2px #f27474 !important; }
  .swal2-input:focus,
  .swal2-file:focus,
  .swal2-textarea:focus {
    border: 1px solid #b4dbed;
    outline: none;
    box-shadow: 0 0 3px #c4e6f5; }
  .swal2-input::placeholder,
  .swal2-file::placeholder,
  .swal2-textarea::placeholder {
    color: #cccccc; }

.swal2-range {
  margin: 1em auto;
  background: #fff; }
  .swal2-range input {
    width: 80%; }
  .swal2-range output {
    width: 20%;
    color: inherit;
    font-weight: 600;
    text-align: center; }
  .swal2-range input,
  .swal2-range output {
    height: 2.625em;
    padding: 0;
    font-size: 1.125em;
    line-height: 2.625em; }

.swal2-input {
  height: 2.625em;
  padding: 0 0.75em; }
  .swal2-input[type='number'] {
    max-width: 10em; }

.swal2-file {
  background: inherit;
  font-size: 1.125em; }

.swal2-textarea {
  height: 6.75em;
  padding: 0.75em; }

.swal2-select {
  min-width: 50%;
  max-width: 100%;
  padding: .375em .625em;
  background: inherit;
  color: inherit;
  font-size: 1.125em; }

.swal2-radio,
.swal2-checkbox {
  align-items: center;
  justify-content: center;
  background: #fff;
  color: inherit; }
  .swal2-radio label,
  .swal2-checkbox label {
    margin: 0 .6em;
    font-size: 1.125em; }
  .swal2-radio input,
  .swal2-checkbox input {
    margin: 0 .4em; }

.swal2-validation-message {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0.625em;
  overflow: hidden;
  background: #f0f0f0;
  color: #666666;
  font-size: 1em;
  font-weight: 300; }
  .swal2-validation-message::before {
    content: '!';
    display: inline-block;
    width: 1.5em;
    min-width: 1.5em;
    height: 1.5em;
    margin: 0 .625em;
    border-radius: 50%;
    background-color: #f27474;
    color: #fff;
    font-weight: 600;
    line-height: 1.5em;
    text-align: center; }

.swal2-icon {
  position: relative;
  box-sizing: content-box;
  justify-content: center;
  width: 5em;
  height: 5em;
  margin: 1.25em auto 1.875em;
  border: .25em solid transparent;
  border-radius: 50%;
  font-family: inherit;
  line-height: 5em;
  cursor: default;
  user-select: none; }
  .swal2-icon .swal2-icon-content {
    display: flex;
    align-items: center;
    font-size: 3.75em; }
  .swal2-icon.swal2-error {
    border-color: #f27474;
    color: #f27474; }
    .swal2-icon.swal2-error .swal2-x-mark {
      position: relative;
      flex-grow: 1; }
    .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
      display: block;
      position: absolute;
      top: 2.3125em;
      width: 2.9375em;
      height: .3125em;
      border-radius: .125em;
      background-color: #f27474; }
      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {
        left: 1.0625em;
        transform: rotate(45deg); }
      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {
        right: 1em;
        transform: rotate(-45deg); }
    .swal2-icon.swal2-error.swal2-icon-show {
      animation: swal2-animate-error-icon .5s; }
      .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {
        animation: swal2-animate-error-x-mark .5s; }
  .swal2-icon.swal2-warning {
    border-color: #facea8;
    color: #f8bb86; }
  .swal2-icon.swal2-info {
    border-color: #9de0f6;
    color: #3fc3ee; }
  .swal2-icon.swal2-question {
    border-color: #c9dae1;
    color: #87adbd; }
  .swal2-icon.swal2-success {
    border-color: #a5dc86;
    color: #a5dc86; }
    .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {
      position: absolute;
      width: 3.75em;
      height: 7.5em;
      transform: rotate(45deg);
      border-radius: 50%; }
      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {
        top: -.4375em;
        left: -2.0635em;
        transform: rotate(-45deg);
        transform-origin: 3.75em 3.75em;
        border-radius: 7.5em 0 0 7.5em; }
      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {
        top: -.6875em;
        left: 1.875em;
        transform: rotate(-45deg);
        transform-origin: 0 3.75em;
        border-radius: 0 7.5em 7.5em 0; }
    .swal2-icon.swal2-success .swal2-success-ring {
      position: absolute;
      z-index: 2;
      top: -.25em;
      left: -.25em;
      box-sizing: content-box;
      width: 100%;
      height: 100%;
      border: 0.25em solid rgba(165, 220, 134, 0.3);
      border-radius: 50%; }
    .swal2-icon.swal2-success .swal2-success-fix {
      position: absolute;
      z-index: 1;
      top: .5em;
      left: 1.625em;
      width: .4375em;
      height: 5.625em;
      transform: rotate(-45deg); }
    .swal2-icon.swal2-success [class^='swal2-success-line'] {
      display: block;
      position: absolute;
      z-index: 2;
      height: .3125em;
      border-radius: .125em;
      background-color: #a5dc86; }
      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {
        top: 2.875em;
        left: .8125em;
        width: 1.5625em;
        transform: rotate(45deg); }
      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {
        top: 2.375em;
        right: .5em;
        width: 2.9375em;
        transform: rotate(-45deg); }
    .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {
      animation: swal2-animate-success-line-tip .75s; }
    .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {
      animation: swal2-animate-success-line-long .75s; }
    .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {
      animation: swal2-rotate-success-circular-line 4.25s ease-in; }

.swal2-progress-steps {
  align-items: center;
  margin: 0 0 1.25em;
  padding: 0;
  background: inherit;
  font-weight: 600; }
  .swal2-progress-steps li {
    display: inline-block;
    position: relative; }
  .swal2-progress-steps .swal2-progress-step {
    z-index: 20;
    width: 2em;
    height: 2em;
    border-radius: 2em;
    background: #3085d6;
    color: #fff;
    line-height: 2em;
    text-align: center; }
    .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
      background: #3085d6; }
      .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {
        background: #add8e6;
        color: #fff; }
      .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
        background: #add8e6; }
  .swal2-progress-steps .swal2-progress-step-line {
    z-index: 10;
    width: 2.5em;
    height: .4em;
    margin: 0 -1px;
    background: #3085d6; }

[class^='swal2'] {
  -webkit-tap-highlight-color: transparent; }

.swal2-show {
  animation: swal2-show 0.3s; }

.swal2-hide {
  animation: swal2-hide 0.15s forwards; }

.swal2-noanimation {
  transition: none; }

.swal2-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

.swal2-rtl .swal2-close {
  right: auto;
  left: 0; }

.swal2-rtl .swal2-timer-progress-bar {
  right: 0;
  left: auto; }

@supports (-ms-accelerator: true) {
  .swal2-range input {
    width: 100% !important; }
  .swal2-range output {
    display: none; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .swal2-range input {
    width: 100% !important; }
  .swal2-range output {
    display: none; } }

@-moz-document url-prefix() {
  .swal2-close:focus {
    outline: 2px solid rgba(50, 100, 150, 0.4); } }

@keyframes swal2-toast-show {
  0% {
    transform: translateY(-0.625em) rotateZ(2deg); }
  33% {
    transform: translateY(0) rotateZ(-2deg); }
  66% {
    transform: translateY(0.3125em) rotateZ(2deg); }
  100% {
    transform: translateY(0) rotateZ(0deg); } }

@keyframes swal2-toast-hide {
  100% {
    transform: rotateZ(1deg);
    opacity: 0; } }

@keyframes swal2-toast-animate-success-line-tip {
  0% {
    top: .5625em;
    left: .0625em;
    width: 0; }
  54% {
    top: .125em;
    left: .125em;
    width: 0; }
  70% {
    top: .625em;
    left: -.25em;
    width: 1.625em; }
  84% {
    top: 1.0625em;
    left: .75em;
    width: .5em; }
  100% {
    top: 1.125em;
    left: .1875em;
    width: .75em; } }

@keyframes swal2-toast-animate-success-line-long {
  0% {
    top: 1.625em;
    right: 1.375em;
    width: 0; }
  65% {
    top: 1.25em;
    right: .9375em;
    width: 0; }
  84% {
    top: .9375em;
    right: 0;
    width: 1.125em; }
  100% {
    top: .9375em;
    right: .1875em;
    width: 1.375em; } }

@keyframes swal2-show {
  0% {
    transform: scale(0.7); }
  45% {
    transform: scale(1.05); }
  80% {
    transform: scale(0.95); }
  100% {
    transform: scale(1); } }

@keyframes swal2-hide {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(0.5);
    opacity: 0; } }

@keyframes swal2-animate-success-line-tip {
  0% {
    top: 1.1875em;
    left: .0625em;
    width: 0; }
  54% {
    top: 1.0625em;
    left: .125em;
    width: 0; }
  70% {
    top: 2.1875em;
    left: -.375em;
    width: 3.125em; }
  84% {
    top: 3em;
    left: 1.3125em;
    width: 1.0625em; }
  100% {
    top: 2.8125em;
    left: .8125em;
    width: 1.5625em; } }

@keyframes swal2-animate-success-line-long {
  0% {
    top: 3.375em;
    right: 2.875em;
    width: 0; }
  65% {
    top: 3.375em;
    right: 2.875em;
    width: 0; }
  84% {
    top: 2.1875em;
    right: 0;
    width: 3.4375em; }
  100% {
    top: 2.375em;
    right: .5em;
    width: 2.9375em; } }

@keyframes swal2-rotate-success-circular-line {
  0% {
    transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg); } }

@keyframes swal2-animate-error-x-mark {
  0% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0; }
  50% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0; }
  80% {
    margin-top: -.375em;
    transform: scale(1.15); }
  100% {
    margin-top: 0;
    transform: scale(1);
    opacity: 1; } }

@keyframes swal2-animate-error-icon {
  0% {
    transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    opacity: 1; } }

@keyframes swal2-rotate-loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
  overflow: hidden; }

body.swal2-height-auto {
  height: auto !important; }

body.swal2-no-backdrop .swal2-container {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  max-width: calc(100% - 0.625em * 2);
  background-color: transparent !important; }
  body.swal2-no-backdrop .swal2-container > .swal2-modal {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  body.swal2-no-backdrop .swal2-container.swal2-top {
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
  body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {
    top: 0;
    left: 0; }
  body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {
    top: 0;
    right: 0; }
  body.swal2-no-backdrop .swal2-container.swal2-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
  body.swal2-no-backdrop .swal2-container.swal2-bottom {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {
    bottom: 0;
    left: 0; }
  body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {
    right: 0;
    bottom: 0; }

@media print {
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
    overflow-y: scroll !important; }
    body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] {
      display: none; }
    body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {
      position: static !important; } }

body.swal2-toast-shown .swal2-container {
  background-color: transparent; }
  body.swal2-toast-shown .swal2-container.swal2-top {
    top: 0;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%); }
  body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto; }
  body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0; }
  body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 0;
    transform: translateY(-50%); }
  body.swal2-toast-shown .swal2-container.swal2-center {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%); }
  body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {
    top: 50%;
    right: 0;
    bottom: auto;
    left: auto;
    transform: translateY(-50%); }
  body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0; }
  body.swal2-toast-shown .swal2-container.swal2-bottom {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto; }

body.swal2-toast-column .swal2-toast {
  flex-direction: column;
  align-items: stretch; }
  body.swal2-toast-column .swal2-toast .swal2-actions {
    flex: 1;
    align-self: stretch;
    height: 2.2em;
    margin-top: .3125em; }
  body.swal2-toast-column .swal2-toast .swal2-loading {
    justify-content: center; }
  body.swal2-toast-column .swal2-toast .swal2-input {
    height: 2em;
    margin: .3125em auto;
    font-size: 1em; }
  body.swal2-toast-column .swal2-toast .swal2-validation-message {
    font-size: 1em; }

.swal2-container {
  position: fixed;
  z-index: 15000;
  left: 0;
  top: 0 !important;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  visibility: hidden;
  display: none; }
  .swal2-shown .swal2-container {
    display: flex;
    visibility: visible; }

.swal2-modal {
  border-radius: 0 !important; }

.swal2-icon.swal2-error {
  border-color: transparent !important; }
  .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
    background-color: #BE1E2D !important; }

.swal2-icon.swal2-success {
  color: #BE1E2D !important;
  border-color: #BE1E2D !important; }
  .swal2-icon.swal2-success [class*='swal2-success-line'][class$='long'], .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {
    background-color: #BE1E2D; }
  .swal2-icon.swal2-success .swal2-success-ring {
    border-color: #BE1E2D !important; }

.swal2-actions button {
  outline: none !important;
  box-shadow: none !important;
  background: #BE1E2D !important;
  border-radius: 0 !important;
  transition: .25s all ease-in-out; }

.button {
  appearance: none;
  position: relative;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0.875rem 1.875rem;
  margin: 0;
  border: 0 solid currentColor;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  width: auto;
  font-family: "IBM Plex Sans", sans-serif;
  line-height: inherit;
  text-transform: capitalize; }
  .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  .button:hover, .button:focus {
    text-decoration: none; }
  .button + .button {
    margin: 0 0 0 0.75rem; }
  .button.swal2-confirm {
    border-color: #383838;
    background: #383838;
    color: #fff; }
    .button.swal2-confirm:hover, .button.swal2-confirm:focus {
      background: #fff;
      color: #383838; }
  .button.swal2-cancel {
    border-color: #F7F8FB; }
    .button.swal2-cancel:hover, .button.swal2-cancel:focus {
      color: #383838; }

.swal2-icon {
  display: flex; }

.swal2-container {
  z-index: 1000; }

.hidden {
  display: none; }

.dialog_label {
  text-align: center; }

.dialog_form {
  margin: 15px; }

.dialog_form .label_text {
  box-sizing: border-box;
  padding-right: 0.5em;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  width: 30%;
  text-align: right; }

.dialog_form .label_info {
  box-sizing: border-box;
  padding-right: 0.5em;
  font-size: 12px;
  width: 30%;
  text-align: right;
  display: inline-block; }

.dialog_form_item {
  margin: 10px 0;
  font-size: 0; }

.dialog_form_item .wide_input {
  box-sizing: border-box;
  max-width: 70%;
  width: 27em; }

.dialog_form_item .city_input {
  box-sizing: border-box;
  max-width: 70%;
  width: 17em; }

.dialog_form_item .state_input {
  box-sizing: border-box;
  max-width: 70%;
  width: 15em; }

.dialog_form_item .zip_input {
  box-sizing: border-box;
  max-width: 70%;
  width: 9em; }

.dialog_form_actions {
  text-align: right;
  padding: 0 20px 20px; }

.dialog_close_button {
  float: right;
  position: absolute;
  top: 10px;
  left: 92%;
  height: 25px; }

.dialog_close_button img {
  border: 0; }

.dialog_desc {
  padding: 10px 20px; }

/* native <dialog> element uses the ::backdrop pseudo-element */
/* dialog::backdrop, */
.dialog-backdrop {
  display: none;
  position: fixed;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15000; }

@media screen and (min-width: 640px) {
  .dialog-backdrop {
    background: rgba(0, 0, 0, 0.75); } }

.dialog-backdrop.active {
  display: block; }

.no-scroll {
  overflow-y: auto !important; }

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden; }

/* styling for alert-dialog example */
.notes {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
  min-width: 400px;
  max-width: 100%;
  width: 33%; }

.toast {
  background-color: rgba(0, 0, 0, 0.9);
  color: #fff;
  padding: 1rem;
  border: none;
  border-radius: 0.25rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  position: fixed;
  top: 1rem;
  right: 1rem;
  transform: translateY(-150%);
  transition: transform 225ms cubic-bezier(0.4, 0, 0.2, 1); }

.toast.active {
  transform: translateY(0); }

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

    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: white;
  transition: all 250ms ease-out;
  display: flex;
  align-items: center;
  min-height: 200px; }
  .page-type-cart .loadingOverlay {
    background: rgba(255, 255, 255, 0.8); }

.loadingOverlay-circle {
  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-circle:after {
    position: fixed;
    z-index: 15;
    left: 50%;
    top: 50%;
    border-radius: 100%;
    border: 0.25rem solid #383838;
    content: "";
    animation: spinner 1s ease-out 0s infinite; }
  .loadingOverlay-circle:after {
    height: 4rem;
    width: 4rem;
    border-top-color: transparent;
    border-bottom-color: transparent; }
  .loadingOverlay-circle:before {
    height: 2.625rem;
    width: 2.625rem;
    border-radius: 2.625rem;
    border: solid 0.125rem;
    border-color: #383838 #383838 #BE1E2D #BE1E2D;
    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 {
  font-size: 0.75rem;
  position: relative; }
  nav.breadcrumbs ol li {
    display: none; }
  @media (min-width: 992px) {
    nav.breadcrumbs {
      margin-bottom: 1.5rem !important;
      display: block; }
      nav.breadcrumbs ol li {
        display: block; } }
  nav.breadcrumbs a {
    color: #787878; }
  nav.breadcrumbs ol {
    padding: 0.75rem 0;
    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: 992px) {
      nav.breadcrumbs ol {
        padding: 1rem 0;
        margin-bottom: 2.5rem; } }
    nav.breadcrumbs ol li .icon {
      display: none; }
    nav.breadcrumbs ol li + li .icon {
      display: inline-block;
      padding: 0 0.25rem;
      color: #787878; }
    nav.breadcrumbs ol li.is-active a {
      color: #383838; }

.header-section nav.breadcrumbs {
  position: absolute;
  z-index: 1;
  width: 100%; }
  .header-section nav.breadcrumbs * {
    color: #D4D4D4 !important; }
  .header-section nav.breadcrumbs .is-active a {
    color: #f7f8fb !important; }

.header-section .variable-content-hero h1 {
  margin-top: 2.5rem; }

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

    NAVS - PAGINATION

\*  --------------------------------------------------------------------------  */
nav.pagination {
  margin: 1.5rem 0 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  row-gap: 1.25rem; }
  @media (min-width: 768px) {
    nav.pagination {
      justify-content: end;
      flex-direction: row;
      column-gap: 1.5rem;
      padding-bottom: 1.5rem; } }
  nav.pagination ul, nav.pagination ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: end;
    align-items: stretch;
    flex-flow: row nowrap;
    margin: 0;
    padding: 0; }
  nav.pagination li {
    margin: 0;
    padding: 0 0.5rem;
    transition: .25s all ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
    nav.pagination li.pagination-item a {
      color: #383838; }
    nav.pagination li.pagination-item:hover, nav.pagination li.pagination-item:focus {
      background: #DF3041; }
      nav.pagination li.pagination-item:hover a, nav.pagination li.pagination-item:focus a {
        color: #fff; }
    nav.pagination li.pagination-item:focus, nav.pagination li.pagination-item:active {
      background: #BE1E2D; }
      nav.pagination li.pagination-item:focus a, nav.pagination li.pagination-item:active a {
        color: #fff; }
    nav.pagination li.arrow a span {
      font-size: 1.125rem; }
    nav.pagination li.arrow a:hover {
      color: #DF3041; }
    nav.pagination li.arrow a:focus, nav.pagination li.arrow a:active {
      color: #383838; }
    nav.pagination li.pagination-item--current {
      background: #BE1E2D;
      padding: 0.125rem 0.5rem; }
      nav.pagination li.pagination-item--current a {
        color: white; }
  nav.pagination a {
    display: block;
    padding: 0.25rem;
    color: #BE1E2D; }
    nav.pagination a.disable {
      color: #D4D4D4;
      pointer-events: none; }

.pagination-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  margin: 0;
  padding: 0; }
  .pagination-list li {
    margin: 0 0.5rem; }
  .pagination-list a {
    display: block;
    padding: 0.25rem;
    color: #383838; }

main {
  transition: none; }
  main .search {
    margin-bottom: 2rem; }

section {
  margin: 2.5rem 0; }
  @media (min-width: 768px) {
    section {
      margin: 2.5rem 0; } }
  @media (min-width: 992px) {
    section {
      margin: 3.5rem 0; } }
  section.bg-color {
    background-color: #F7F8FB;
    padding: 0 0 2.5rem 0; }
    @media (min-width: 768px) {
      section.bg-color {
        padding: 0 0 2.5rem 0; } }
    @media (min-width: 992px) {
      section.bg-color {
        padding: 0 0 3.5rem 0; } }
  section.no-top {
    margin-top: 0; }
  section.no-bottom {
    margin-bottom: 0; }

div.bg-color {
  background-color: #F7F8FB;
  padding: 0.0625rem 0; }

.bulkPricing table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid white;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .bulkPricing table {
      width: 70%; } }
  .bulkPricing table tr:nth-child(even) {
    background-color: #F7F8FB; }
  .bulkPricing table th, .bulkPricing table .qty {
    color: #787878; }
  .bulkPricing table th, .bulkPricing table td {
    font-weight: 600;
    text-align: left;
    padding: 8px; }
  @media (max-width: 767.9px) {
    .bulkPricing table th:nth-child(1) {
      padding: 0.5rem 0; } }

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

    OPTIONAL INCLUDES

    These are global elements that if enabled in the back end system should
    be included in your file.  If they are not enabled, please remove them
    to cut unused styles.

    // This file only needs to be included when the Cookie Consent is 
        turned on under Store Setup > Store Settings > Security & Privacy
        @import 'global-elements/consent-manager'; 

\*  --------------------------------------------------------------------------  */
/* line 4, cookie-consent.scss */
.cookie-consent-modal {
  padding-top: 0;
  position: relative;
  width: auto;
  height: auto;
  z-index: 1000;
  font-family: sans-serif; }
  .cookie-consent-modal .modal-header {
    background: white; }
    .cookie-consent-modal .modal-header * {
      color: #383838; }

/* line 11, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap {
  position: fixed;
  bottom: 0;
  margin: 1rem; }

/* line 15, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap.right {
  right: 0; }

/* line 18, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap.left {
  left: 0; }

/* line 21, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: #fefefe;
  color: #123;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3);
  padding: 0;
  max-width: 700px;
  border-radius: 0.2rem; }

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

/* line 35, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-header h3, .h3 {
  margin: 0;
  font-size: 130%;
  font-weight: 500;
  position: relative;
  top: 0.2rem; }

/* line 44, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-body {
  padding: 1rem 1rem;
  line-height: 1.3; }

/* line 48, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-body a {
  color: #3579F6; }

/* line 51, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-body a:hover {
  color: #0b5bed; }

/* line 57, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer {
  padding: 1rem 0.5rem 0.5rem 0.5rem; }

/* line 61, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap; }

/* line 66, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn {
  padding: 0.7rem 1.1rem;
  font-size: 100%;
  cursor: pointer;
  border: none;
  border-radius: 0.2rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem; }

/* line 77, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-primary {
  background-color: #3579F6;
  color: white; }

/* line 81, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-primary:hover {
  background-color: #0b5bed; }

/* line 87, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-secondary {
  background-color: #fff;
  font-size: .8em;
  color: #000; }

/* line 91, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-footer .buttons .btn.btn-secondary:hover {
  background-color: #ececec; }

@media screen and (max-width: 620px) {
  /* line 102, cookie-consent.scss */
  .cookie-consent-modal .btn {
    width: 100%; } }

/* line 107, cookie-consent.scss */
.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) {
  /* line 107, cookie-consent.scss */
  .cookie-consent-modal.block-access {
    padding-top: 0; } }

/* line 119, cookie-consent.scss */
.cookie-consent-modal.block-access .modal-content-wrap {
  position: relative;
  margin: 2.5% auto;
  bottom: auto;
  width: 95%; }

/* line 122, cookie-consent.scss */
.cookie-consent-modal.block-access .modal-content-wrap .modal-content {
  border: none;
  margin: 0 auto; }

/*# sourceMappingURL=cookie-consent.css.map */
/*  --------------------------------------------------------------------------  *\

    COMPONENTS

    This loads all the components into the website

    Comment out any components that are not in use one the website

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\
    AUTH COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    AUTH - CREATE

\*  --------------------------------------------------------------------------  */
.auth-create {
  width: 100% !important; }
  .auth-create .company-form-wrap2 {
    display: none; }
  @media (min-width: 768px) {
    .auth-create .container {
      max-width: 1166.66667px; } }
  @media (min-width: 992px) {
    .auth-create .container {
      max-width: 933.33333px; } }
  .auth-create #create-form {
    margin: 0; }
    @media (min-width: 768px) {
      .auth-create #create-form {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "form form" "recap actions";
        margin-bottom: 0; }
        .auth-create #create-form .form-row {
          grid-area: form; }
        .auth-create #create-form .g-recaptcha {
          grid-area: recap; }
          .auth-create #create-form .g-recaptcha > div {
            margin: 0; }
        .auth-create #create-form .form-actions {
          grid-area: actions;
          justify-content: end;
          margin: 0; } }
  .auth-create .form-el[data-type*="Address"] {
    width: 100%; }
  .auth-create h2 {
    width: 100%;
    font-size: 1.125rem !important;
    line-height: 1.5rem; }
    @media (min-width: 992px) {
      .auth-create h2 {
        font-size: 1.25rem !important;
        line-height: 2rem; } }
    .auth-create h2 ~ h2 {
      margin-top: 1.5rem;
      border-top: 0.0625rem solid #D4D4D4;
      padding-top: 1.5rem; }
  .auth-create .form-actions {
    width: 100%;
    justify-content: center;
    margin-top: 0; }
    @media (max-width: 767.9px) {
      .auth-create .form-actions button {
        width: 100%; } }

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

    AUTH - LOGIN

\*  --------------------------------------------------------------------------  */
.auth-login .container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "form" "aside";
  gap: 2rem; }
  .auth-login .container .btn-text {
    padding: 0; }
  .auth-login .container aside {
    grid-area: aside;
    background: #F7F8FB;
    padding: 1.5rem;
    border-radius: 0.625rem; }
    .auth-login .container aside h2 {
      margin-bottom: 0.75rem; }
    .auth-login .container aside ul li {
      list-style: initial;
      padding: 0;
      margin-left: 1.5rem; }
  .auth-login .container > div {
    grid-area: form; }
    @media (max-width: 767.9px) {
      .auth-login .container > div .form-actions {
        flex-direction: column;
        row-gap: 0.5rem; }
        .auth-login .container > div .form-actions button {
          width: 100%; }
        .auth-login .container > div .form-actions .btn-text {
          margin: 0;
          width: 100%; } }
  .auth-login .container .btn-text {
    margin-left: 1.25rem; }
  @media (min-width: 768px) {
    .auth-login .container {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: "form aside";
      column-gap: 2rem; } }
  @media (min-width: 992px) {
    .auth-login .container {
      grid-template-columns: 1fr 5fr 5fr 1fr;
      grid-template-areas: ". form aside ."; } }

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

    AUTH - RESET

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .auth-reset .container {
    max-width: 1166.66667px; } }

@media (min-width: 992px) {
  .auth-reset .container {
    max-width: 933.33333px; } }

.auth-reset .form-actions {
  width: 100%;
  justify-content: center; }

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

    AUTH - RESET

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .auth-new .container {
    max-width: 1166.66667px; } }

@media (min-width: 992px) {
  .auth-new .container {
    max-width: 933.33333px; } }

.auth-new .form-actions {
  width: 100%;
  justify-content: center; }

/*  --------------------------------------------------------------------------  *\
    BLOG COMPONENTS
\*  --------------------------------------------------------------------------  */
.blog-header-container {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(56, 56, 56, 0) 100%), var(--blogBg) no-repeat center;
  background-size: cover;
  padding-bottom: 2.5rem; }
  @media (min-width: 768px) {
    .blog-header-container {
      padding-bottom: 2.875rem;
      background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%), var(--blogBg) no-repeat center;
      background-size: cover; } }
  @media (min-width: 992px) {
    .blog-header-container {
      padding-bottom: 4.375rem; } }
  .blog-header-container * {
    color: white; }
  .blog-header-container .breadcrumbs .container {
    padding: 0; }
    .blog-header-container .breadcrumbs .container * {
      color: white; }

.layout-blog-header {
  padding-top: 0.5rem; }
  .layout-blog-header h1 {
    margin-top: 0; }
  .layout-blog-header p {
    margin-bottom: 2.5rem; }
    @media (min-width: 992px) {
      .layout-blog-header p {
        margin-bottom: 0; } }
  @media (min-width: 768px) {
    .layout-blog-header {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      template-columns: 1fr 1fr;
      grid-column-gap: 1.875rem;
      column-gap: 1.875rem;
      -ms-grid-rows: 1fr;
      grid-template-rows: 1fr;
      template-rows: 1fr;
      grid-row-gap: 1.875rem;
      row-gap: 1.875rem;
      justify-items: stretch;
      align-items: stretch;
      justify-content: stretch;
      align-content: stretch;
      grid-auto-flow: row;
      auto-flow: row; } }
  @media (min-width: 992px) {
    .layout-blog-header {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1.5fr;
      grid-template-columns: 1fr 1.5fr;
      template-columns: 1fr 1.5fr;
      grid-column-gap: 1.875rem;
      column-gap: 1.875rem;
      -ms-grid-rows: 1fr;
      grid-template-rows: 1fr;
      template-rows: 1fr;
      grid-row-gap: 1.875rem;
      row-gap: 1.875rem;
      justify-items: stretch;
      align-items: stretch;
      justify-content: stretch;
      align-content: stretch;
      grid-auto-flow: row;
      auto-flow: row; } }
  .layout-blog-header .filter-dropdown {
    align-self: end;
    text-align: right;
    vertical-align: middle;
    margin-top: 1.5rem; }
    @media (min-width: 768px) {
      .layout-blog-header .filter-dropdown {
        margin-top: 0; } }
    .layout-blog-header .filter-dropdown .form-select {
      width: 100%;
      height: 2.75rem;
      border: 0.0625rem solid #D4D4D4;
      color: #383838;
      padding: 0 2.25rem 0 1.5rem;
      -webkit-appearance: none;
      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%22%333333B2%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");
      background-repeat: no-repeat;
      background-position: right 1rem top 50%;
      background-size: 0.75rem;
      transition: .25s all ease-in-out; }
      @media (min-width: 768px) {
        .layout-blog-header .filter-dropdown .form-select {
          width: 16.25rem; } }
      @media (min-width: 992px) {
        .layout-blog-header .filter-dropdown .form-select {
          width: 21.5625rem; } }
      .layout-blog-header .filter-dropdown .form-select:hover, .layout-blog-header .filter-dropdown .form-select:focus {
        border-color: #D4D4D4;
        background: #F7F8FB;
        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%22%333333B2%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");
        background-repeat: no-repeat;
        background-position: right 1rem top 50%;
        background-size: 0.75rem; }
      .layout-blog-header .filter-dropdown .form-select:active, .layout-blog-header .filter-dropdown .form-select:focus {
        border-color: #383838;
        background: #fff;
        -webkit-appearance: none;
        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%22%333333B2%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");
        background-repeat: no-repeat;
        background-position: right 1rem top 50%;
        background-size: 0.75rem; }

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

    BLOG - CARD

\*  --------------------------------------------------------------------------  */
.card-blog {
  overflow: hidden;
  background: #fff;
  border: 1px solid #D4D4D4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column; }
  @media (min-width: 768px) and (max-width: 991.9px) {
    .card-blog:nth-child(2n), .card-blog:nth-child(3n) {
      border-left: none; } }
  @media (min-width: 992px) {
    .card-blog:nth-child(1) {
      border-left: 1px solid #D4D4D4 !important; }
    .card-blog:nth-child(n+1) {
      border-left: none; } }
  .card-blog .blog-image {
    width: 100%;
    overflow: hidden; }
  .card-blog:hover img {
    transform: scale(1.1); }
  .card-blog picture, .card-blog img {
    display: block;
    width: 100%;
    height: 7.125rem;
    object-fit: cover;
    transition: .25s all ease-in-out; }
    @media (min-width: 992px) {
      .card-blog picture, .card-blog img {
        height: 8.125rem; } }
  .card-blog .cnt {
    padding: 0.75rem;
    flex: 1; }
    @media (min-width: 768px) {
      .card-blog .cnt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: start;
        flex-flow: column; }
        .card-blog .cnt .content {
          height: inherit; }
        .card-blog .cnt > div {
          width: 100%; } }
    @media (min-width: 992px) {
      .card-blog .cnt {
        padding: 1.5rem; } }
    .card-blog .cnt .blog-content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-around;
      align-items: flex-start;
      flex-flow: column; }
      @media (min-width: 992px) {
        .card-blog .cnt .blog-content {
          padding: 2rem; } }
      .card-blog .cnt .blog-content p, .card-blog .cnt .blog-content .btn-tertiary {
        margin: 0;
        font-size: 0.9375rem; }
        @media (min-width: 992px) {
          .card-blog .cnt .blog-content p, .card-blog .cnt .blog-content .btn-tertiary {
            font-size: 0.9375rem; } }
      .card-blog .cnt .blog-content .btn-tertiary {
        padding-bottom: 0; }
  .card-blog h2 {
    line-height: 1.125rem;
    margin: 0 0 0.5rem; }
    .card-blog h2 a {
      color: #383838;
      font-size: 0.9375rem; }
  .card-blog .btn-txt {
    width: 100%;
    padding-bottom: 0;
    text-transform: capitalize;
    color: #BE1E2D;
    justify-content: flex-start;
    column-gap: 1rem;
    font-weight: 500;
    border-top: 1px solid #D4D4D4;
    margin-top: 1rem;
    padding-top: 1rem; }
    @media (min-width: 992px) {
      .card-blog .btn-txt {
        font-size: 1.125rem;
        margin-top: 1.5rem;
        padding-top: 1.5rem; } }
    .card-blog .btn-txt:hover {
      color: #383838; }

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

    BLOG - FEED - FEATURED/RECENT

\*  --------------------------------------------------------------------------  */
.blog-header {
  margin: 0 0 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column; }
  .blog-header .btn-tertiary {
    padding: 0;
    font-size: 0.9375rem; }
  .blog-header .hide-mob {
    display: none; }
  .blog-header h2 {
    margin-bottom: 0.625rem; }
    @media (min-width: 768px) {
      .blog-header h2 {
        margin-bottom: 0;
        font-size: 1.25rem; } }
    @media (min-width: 992px) {
      .blog-header h2 {
        font-size: 1.75rem; } }
  @media (min-width: 768px) {
    .blog-header {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between; }
      .blog-header .hide-mob {
        display: block; }
      .blog-header .show-mob {
        display: none; } }

.feed-blog-feat {
  display: grid;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .feed-blog-feat {
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 768px) and (max-width: 991.9px) {
    .feed-blog-feat .card-blog:nth-child(4) {
      display: none; } }
  @media (min-width: 992px) {
    .feed-blog-feat {
      grid-template-columns: repeat(4, 1fr); } }

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

    BLOG - FEED

\*  --------------------------------------------------------------------------  */
.layout-blog-body {
  margin-top: 1.5rem; }
  @media (min-width: 768px) {
    .layout-blog-body {
      margin-top: 2rem; } }
  @media (min-width: 992px) {
    .layout-blog-body {
      margin-top: 3rem; } }
  .layout-blog-body .pagination {
    padding: 2rem 0 0;
    border: none; }
    @media (min-width: 768px) {
      .layout-blog-body .pagination {
        padding: 3rem 0 0; } }
    @media (min-width: 992px) {
      .layout-blog-body .pagination {
        padding: 2rem 0 0; } }

.feed-blog {
  display: grid;
  grid-template: "feature" ".";
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .feed-blog {
      grid-template: 'feature feature feature' '. . .';
      grid-template-columns: 1fr 1fr 1fr; } }
  @media (min-width: 992px) {
    .feed-blog {
      row-gap: 1.5rem;
      grid-template: 'feature feature feature feature' '. . . .';
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
  .feed-blog article {
    overflow: hidden;
    margin-bottom: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    border: 1px solid #D4D4D4; }
    .feed-blog article .blog-image {
      width: 100%;
      overflow: hidden; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .feed-blog article:nth-child(3n) {
        border-left: none; }
      .feed-blog article:nth-child(3n+1) {
        border-left: none; } }
    @media (min-width: 992px) {
      .feed-blog article {
        margin-bottom: 1rem; }
        .feed-blog article:nth-child(2n+1) {
          border-left: none; }
        .feed-blog article:nth-child(4n) {
          border-left: none; } }
    .feed-blog article:hover img {
      transform: scale(1.1); }
    .feed-blog article:first-child {
      border: none;
      margin-bottom: 0 !important; }
      @media (min-width: 768px) {
        .feed-blog article:first-child {
          row-gap: 2.5rem; } }
      .feed-blog article:first-child .cnt {
        border: 1px solid #D4D4D4; }
        @media (max-width: 767.9px) {
          .feed-blog article:first-child .cnt {
            padding: 1.5rem 1rem; } }
        .feed-blog article:first-child .cnt h2 {
          margin-bottom: 0.75rem; }
          @media (min-width: 992px) {
            .feed-blog article:first-child .cnt h2 {
              margin-bottom: 1rem; } }
          .feed-blog article:first-child .cnt h2 a {
            font-size: 1.125rem;
            line-height: 1.5rem; }
            @media (min-width: 992px) {
              .feed-blog article:first-child .cnt h2 a {
                font-size: 1.25rem;
                line-height: 1.875rem; } }
          @media (min-width: 992px) {
            .feed-blog article:first-child .cnt h2 {
              margin-bottom: 1rem; } }
        .feed-blog article:first-child .cnt .author {
          font-weight: 600;
          color: #383838;
          margin-bottom: 1.5rem; }
      .feed-blog article:first-child .btn-txt {
        padding-top: 0;
        margin-top: 1.5rem;
        border-top: none; }
        @media (min-width: 992px) {
          .feed-blog article:first-child .btn-txt {
            margin-top: 2rem; } }
      .feed-blog article:first-child .blog-image {
        max-height: 100%;
        height: 12.5rem;
        object-fit: cover; }
        .feed-blog article:first-child .blog-image img {
          height: 100%; }
      @media (min-width: 768px) {
        .feed-blog article:first-child {
          display: -ms-grid;
          display: grid;
          -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
          template-columns: 1fr 1fr;
          grid-column-gap: 0;
          column-gap: 0;
          -ms-grid-rows: 1fr;
          grid-template-rows: 1fr;
          template-rows: 1fr;
          grid-row-gap: 1.875rem;
          row-gap: 1.875rem;
          justify-items: stretch;
          align-items: center;
          justify-content: stretch;
          align-content: stretch;
          grid-auto-flow: row;
          auto-flow: row;
          display: grid;
          grid-area: feature; }
          .feed-blog article:first-child .blog-image {
            height: 100%; }
          .feed-blog article:first-child .cnt {
            padding: 2.5rem 3rem; }
            .feed-blog article:first-child .cnt h2 {
              font-size: 1.25rem !important;
              line-height: 1.8125rem; } }
      @media (min-width: 992px) {
        .feed-blog article:first-child {
          display: -ms-grid;
          display: grid;
          -ms-grid-columns: 420px 1fr;
          grid-template-columns: 420px 1fr;
          template-columns: 420px 1fr;
          grid-column-gap: 0;
          column-gap: 0;
          -ms-grid-rows: 1fr;
          grid-template-rows: 1fr;
          template-rows: 1fr;
          grid-row-gap: 1.875rem;
          row-gap: 1.875rem;
          justify-items: stretch;
          align-items: center;
          justify-content: stretch;
          align-content: stretch;
          grid-auto-flow: row;
          auto-flow: row;
          row-gap: 3rem;
          margin-bottom: 0.5rem; }
          .feed-blog article:first-child .blog-image {
            max-height: 20.8125rem; }
          .feed-blog article:first-child .cnt {
            height: 100%;
            padding: 2.625rem 3.5rem; } }
      .feed-blog article:first-child:after {
        content: "Suggested Blogs";
        font-weight: 600;
        font-size: 1.125rem; }
        @media (max-width: 767.9px) {
          .feed-blog article:first-child:after {
            margin-top: 2.5rem; } }
        @media (min-width: 992px) {
          .feed-blog article:first-child:after {
            font-size: 1.25rem;
            line-height: 1.625rem; } }
  .feed-blog picture, .feed-blog img {
    display: block;
    width: 100%;
    height: 7.125rem;
    object-fit: cover;
    transition: .25s all ease-in-out; }
    @media (min-width: 992px) {
      .feed-blog picture, .feed-blog img {
        height: 8.125rem; } }
  .feed-blog .cnt {
    color: #383838;
    flex: 1;
    padding: 1rem; }
    @media (min-width: 768px) {
      .feed-blog .cnt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: start;
        flex-flow: column; }
        .feed-blog .cnt .content {
          height: inherit; }
        .feed-blog .cnt > div {
          width: 100%; } }
    @media (min-width: 992px) {
      .feed-blog .cnt {
        padding: 1.5rem; } }
    .feed-blog .cnt h2 {
      line-height: 1.125rem;
      margin: 0 0 0.5rem; }
      .feed-blog .cnt h2 a {
        color: #383838;
        font-size: 0.9375rem; }
    .feed-blog .cnt .author {
      font-size: 0.75rem;
      color: #787878;
      text-transform: capitalize;
      margin-bottom: 0.75rem; }
      @media (min-width: 992px) {
        .feed-blog .cnt .author {
          margin-bottom: 1rem; } }
    .feed-blog .cnt .btn-txt {
      width: 100%;
      padding-bottom: 0;
      text-transform: capitalize;
      color: #BE1E2D;
      justify-content: flex-start;
      column-gap: 1rem;
      font-weight: 500;
      border-top: 1px solid #D4D4D4;
      margin-top: 1rem;
      padding-top: 1rem; }
      @media (min-width: 992px) {
        .feed-blog .cnt .btn-txt {
          font-size: 1.125rem;
          margin-top: 1.5rem;
          padding-top: 1.5rem; } }
      .feed-blog .cnt .btn-txt:hover {
        color: #DF3041; }
      .feed-blog .cnt .btn-txt:active {
        color: #BE1E2D; }

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

    BLOG - FEED

\*  --------------------------------------------------------------------------  */
.blog-detail-header {
  position: relative; }
  .blog-detail-header .feature-image {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%; }
    .blog-detail-header .feature-image img {
      width: 100%;
      object-fit: cover;
      height: 13.5625rem; }
      @media (min-width: 768px) {
        .blog-detail-header .feature-image img {
          height: 12.125rem; } }
      @media (min-width: 992px) {
        .blog-detail-header .feature-image img {
          height: 16.875rem; } }
  .blog-detail-header .header h1 {
    margin-bottom: 1.5rem; }
    @media (min-width: 768px) {
      .blog-detail-header .header h1 {
        margin-top: 1.125rem;
        width: 22.5rem; } }
    @media (min-width: 992px) {
      .blog-detail-header .header h1 {
        margin-top: 1.875rem;
        width: 34.1875rem; } }
  .blog-detail-header .breadcrumbs, .blog-detail-header * {
    color: white !important; }
  .blog-detail-header .share .socialLinks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    column-gap: 1rem; }
    .blog-detail-header .share .socialLinks:nth-child(1) {
      font-size: 0.75rem; }
    .blog-detail-header .share .socialLinks a img {
      width: 1.5rem;
      height: 1.5rem;
      object-fit: contain;
      transition: .25s all ease-in-out;
      transform: scale(0.8); }
      .blog-detail-header .share .socialLinks a img:hover {
        transform: scale(1); }

@media (min-width: 992px) {
  .blog-detail {
    margin: 0 auto;
    padding: 0 7.8125rem; } }

.blog-detail .cnt {
  grid-area: cnt; }

.blog-detail h2 {
  margin: 0 0 1rem; }
  @media (min-width: 768px) {
    .blog-detail h2 {
      margin: 0 0 1.5rem; } }

.blog-detail .author-wrapper {
  margin-bottom: 1.5rem; }
  @media (min-width: 768px) {
    .blog-detail .author-wrapper {
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-areas: "author line date";
      align-items: center;
      column-gap: 1.5rem; } }
  .blog-detail .author-wrapper .by-line {
    grid-area: author;
    font-size: 0.9375rem;
    font-weight: 600; }
  .blog-detail .author-wrapper .line {
    display: none; }
    @media (min-width: 768px) {
      .blog-detail .author-wrapper .line {
        grid-area: line;
        display: block;
        border-top: 1px solid #BE1E2D; } }
  .blog-detail .author-wrapper .date {
    grid-area: date;
    font-weight: 600;
    color: #787878; }

.blog-detail .tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; }
  .blog-detail .tags ul .tag {
    margin: 0;
    list-style-type: none; }
    .blog-detail .tags ul .tag a {
      padding: 0.25rem 1.125rem; }

.blog-detail p {
  margin: 0 0 0.5rem; }

.blog-detail .body {
  color: #787878; }
  .blog-detail .body p {
    margin: 0 0 1.5rem; }

/*  --------------------------------------------------------------------------  *\
    CART COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CART - ACTIONS

\*  --------------------------------------------------------------------------  */
.free-shipping-box {
  border-radius: 3px;
  background: grey;
  grid-area: free-ship; }
  .free-shipping-box > div {
    padding: 1rem 1rem 2.375rem; }
  .free-shipping-box p {
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 21px;
    margin-bottom: 0.5rem; }
    @media (min-width: 992px) {
      .free-shipping-box p {
        font-size: 1rem;
        line-height: 27px; } }
  .free-shipping-box .free-shipping-outline {
    height: 10px;
    border-radius: 100px;
    background: lightblue;
    position: relative;
    width: 100%; }
    .free-shipping-box .free-shipping-outline .free-shipping-bar {
      display: block;
      height: 100%; }
      .free-shipping-box .free-shipping-outline .free-shipping-bar .animate-bar {
        background: #383838;
        height: 100%;
        border-radius: 100px;
        animation: progressBar 2s cubic-bezier(0.17, 0.67, 0.83, 0.67);
        animation-fill-mode: both;
        position: relative; }
      .free-shipping-box .free-shipping-outline .free-shipping-bar .price-left {
        position: absolute;
        right: -40px;
        top: 14px;
        font-weight: 400;
        font-size: 0.9375rem;
        line-height: 21px;
        white-space: nowrap; }
      .free-shipping-box .free-shipping-outline .free-shipping-bar.right-0 .price-left {
        right: 0; }
      .free-shipping-box .free-shipping-outline .free-shipping-bar.left-0 .price-left {
        right: unset;
        left: 0; }

@keyframes progressBar {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
  .free-shipping-box .is-free {
    background: #F0F9ED;
    width: 100%; }
    .free-shipping-box .is-free .animate-bar {
      background: #6CC24A !important; }
      .free-shipping-box .is-free .animate-bar .price-left {
        right: 0 !important; }

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

    CART - SHIPPING ESTIMATES

\*  --------------------------------------------------------------------------  */
.shipping-quotes ul {
  margin: 0 0 1rem; }
  .shipping-quotes ul li {
    padding: 0;
    margin: 0; }
    .shipping-quotes ul li:before {
      display: none; }
    .shipping-quotes ul li:last-child dl {
      margin: 0; }
    .shipping-quotes ul li:nth-child(even) {
      background: #F7F8FB; }
  .shipping-quotes ul dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    margin: 0; }
    .shipping-quotes ul dl dt, .shipping-quotes ul dl dd {
      padding: 0.25rem 0.5rem; }
      .shipping-quotes ul dl dt label, .shipping-quotes ul dl dd label {
        font-size: 1rem; }
    .shipping-quotes ul dl dt {
      width: 66.667%; }
    .shipping-quotes ul dl dd {
      width: 33.333%; }
      .shipping-quotes ul dl dd label {
        display: block;
        text-align: right;
        margin: 0; }
  .shipping-quotes ul input[type="radio"] {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .shipping-quotes ul input[type="radio"] + label {
      position: relative;
      padding: 0 0 0 1.25rem;
      margin: 0; }
      .shipping-quotes ul input[type="radio"] + label:before {
        position: absolute;
        left: 0;
        top: 0.625rem;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        height: 0.625rem;
        width: 0.625rem;
        border: 0.0625rem solid #787878;
        content: "";
        border-radius: 100%; }
    .shipping-quotes ul input[type="radio"]:checked + label:before {
      box-shadow: inset 0 0 0 0.125rem #fff;
      background: #787878; }

.shipping-quotes .select-shipping-quote {
  width: auto !important; }

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

    CART - LAYOUT

\*  --------------------------------------------------------------------------  */
.cart-page .header-wrapper {
  display: flex;
  justify-content: space-between; }
  .cart-page .header-wrapper h1 {
    margin: 0; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .cart-page .header-wrapper h1 {
        font-size: 1.125rem; } }
    @media (max-width: 767.9px) {
      .cart-page .header-wrapper h1 {
        display: none; } }
  .cart-page .header-wrapper [class*='icon-'] {
    font-size: 1rem;
    transition: .25s all ease-in-out; }
  @media (max-width: 767.9px) {
    .cart-page .header-wrapper .print {
      display: none; } }

.cart {
  margin-top: 1rem; }
  .cart .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: 'promo' 'aside'  'cnt';
    column-gap: 2rem; }
    @media (min-width: 768px) {
      .cart .container {
        row-gap: 0;
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 'promo promo' 'cnt aside';
        column-gap: 2.8125rem; } }
    @media (min-width: 992px) {
      .cart .container {
        grid-template-columns: 2fr 25.1875rem; } }
    @media (min-width: 1200px) {
      .cart .container {
        grid-template-columns: 3fr 25.1875rem; } }
  .cart .free-shipping-box {
    grid-area: promo; }
  .cart .cnt {
    grid-area: cnt; }
  .cart aside {
    grid-area: aside;
    text-align: center; }
    .cart aside .total-wrapper {
      background: #F7F8FB;
      padding: 2rem 1.5rem 1rem;
      border: 0.0625rem solid #D4D4D4;
      text-align: left; }
      .cart aside .total-wrapper h3 {
        margin: 0 0 0.5rem;
        padding-bottom: 1rem;
        line-height: 1.5rem;
        border-bottom: 1px solid #D4D4D4; }
      .cart aside .total-wrapper a {
        width: 100%;
        text-transform: capitalize; }
        .cart aside .total-wrapper a span.text:after {
          content: "\f129";
          font-family: 'ico';
          font-size: 0.75rem;
          padding-right: 1rem; }
      @media (min-width: 768px) {
        .cart aside .total-wrapper {
          padding: 1.5rem; } }
      .cart aside .total-wrapper .cart-actions .RemoteCheckout {
        padding-top: 0.5rem; }
        .cart aside .total-wrapper .cart-actions .RemoteCheckout.PaypalCommerceCheckout .paypal-buttons {
          background: #FFC439; }
        .cart aside .total-wrapper .cart-actions .RemoteCheckout.PaypalCommerceCheckout .PaypalCommerceContainer, .cart aside .total-wrapper .cart-actions .RemoteCheckout.PaypalCommerceCheckout .PaypalCommerceInnerContainer {
          width: 100%;
          max-width: 100%; }
        .cart aside .total-wrapper .cart-actions .RemoteCheckout.PaypalCommerceCheckout p.or-use-label {
          display: none; }
    .cart aside .terms {
      text-align: left;
      color: #787878;
      font-size: 0.75rem;
      line-height: 1rem;
      margin-top: 1rem; }
      .cart aside .terms a {
        color: #383838;
        text-decoration: underline; }
    .cart aside .payment-wrapper {
      margin-top: 1.5rem; }
      .cart aside .payment-wrapper ul {
        display: flex;
        justify-content: center;
        column-gap: 0.3125rem;
        margin: 0; }
        .cart aside .payment-wrapper ul li {
          padding: 0;
          margin: 0; }
          .cart aside .payment-wrapper ul li img {
            width: 1.875rem;
            object-fit: contain; }
            @media (min-width: 768px) {
              .cart aside .payment-wrapper ul li img {
                width: 2.125rem; } }

.cart-carousel {
  background: #F7F8FB;
  padding: 2.5rem 0; }
  @media (min-width: 768px) {
    .cart-carousel {
      padding: 2.5rem 0; } }
  @media (min-width: 992px) {
    .cart-carousel {
      padding: 3rem 0; } }

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

    CART - LINE ITEMS

\*  --------------------------------------------------------------------------  */
.line-items .cart-item-image {
  width: 100%; }

.line-items table {
  width: 100%;
  font-size: 0.9375rem;
  line-height: 1.125rem; }

.line-items h2 {
  text-align: left;
  font-size: 1rem;
  margin: 0; }
  .line-items h2 small {
    font-size: .75em;
    font-weight: 300;
    margin: 0 0 0.25rem; }

.line-items h3, .line-items .h3 {
  margin: 0 0.5rem 0 0;
  font-size: 1em; }

.line-items dl {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  column-gap: 0.625rem;
  row-gap: 0.25rem;
  padding: 0;
  margin: 0;
  border-top: 1px solid #F7F8FB;
  border-bottom: 1px solid #F7F8FB;
  margin: 0.3125rem 0 0.3125rem 0;
  padding: 0.625rem 0 0.625rem 0; }

.line-items dd, .line-items dt {
  margin: 0;
  padding: 0;
  font-size: .8em; }

.line-items table, .line-items tbody {
  display: block; }

.line-items thead {
  display: none; }

.line-items tr {
  display: grid;
  grid-template-rows: auto;
  border-bottom: 1px solid #D4D4D4;
  padding: 1rem 0;
  grid-template-columns: 4.75rem auto 1rem;
  grid-template-areas: 'image name remove'  'image price price' 'image quantity quantity' 'image total total' 'image details details';
  column-gap: 1rem;
  row-gap: 0; }
  .line-items tr:nth-child(2) {
    border-top: 1px solid #D4D4D4; }
  @media (min-width: 992px) {
    .line-items tr {
      padding: 1.5rem 0; } }
  .line-items tr.header {
    color: #787878;
    font-weight: 600;
    font-size: 0.9375rem;
    padding: 0 0 0.75rem;
    border: none;
    box-shadow: none; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .line-items tr.header {
        display: none; } }
    @media (max-width: 767.9px) {
      .line-items tr.header {
        margin-top: 2.5rem;
        padding-bottom: 1rem;
        display: block; }
        .line-items tr.header td {
          display: none; } }
    @media (max-width: 767.9px) {
      .line-items tr.header:after {
        content: "Cart";
        font-size: 1.125rem;
        color: #383838; } }

.line-items .form-increment {
  margin: 0; }

.line-items [class*="btn-"] {
  width: auto; }

.line-items #continue {
  color: #BE1E2D;
  column-gap: 0.5rem;
  font-weight: 500;
  transition: .25s all ease-in-out; }
  .line-items #continue [class*='icon-'] {
    transform: rotate(-90deg); }
  .line-items #continue:hover {
    color: #DF3041; }
  .line-items #continue:active {
    color: #383838; }

.line-items td {
  text-align: left; }
  .line-items td.line-item-image {
    grid-area: image; }
  .line-items td.line-item-name {
    grid-area: name; }
    @media (min-width: 992px) {
      .line-items td.line-item-name {
        padding-right: 1.25rem; } }
    .line-items td.line-item-name ul {
      margin-bottom: 1rem; }
      .line-items td.line-item-name ul li {
        list-style-type: none;
        padding: 0;
        margin: 0;
        font-weight: 600;
        color: #787878;
        text-transform: capitalize; }
        .line-items td.line-item-name ul li a {
          color: #787878; }
        .line-items td.line-item-name ul li span {
          color: #383838; }
        .line-items td.line-item-name ul li + li {
          margin-top: 0.25rem; }
    .line-items td.line-item-name p {
      margin-bottom: 0.5rem;
      line-height: 1.3125rem; }
      .line-items td.line-item-name p:nth-child(2) span {
        display: inline-block; }
        @media (min-width: 992px) {
          .line-items td.line-item-name p:nth-child(2) span {
            display: none; } }
      .line-items td.line-item-name p:nth-child(3) {
        color: #787878;
        font-size: 0.75rem; }
  .line-items td.line-item-price {
    grid-area: price;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: start;
    flex-flow: row nowrap; }
    @media (max-width: 991.9px) {
      .line-items td.line-item-price {
        display: none; } }
  .line-items td.line-item-increment {
    grid-area: quantity;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: start;
    flex-flow: row wrap;
    column-gap: 1.5rem; }
    @media (max-width: 991.9px) {
      .line-items td.line-item-increment {
        row-gap: 1rem;
        padding-bottom: 1rem;
        margin: 1rem 0;
        border-bottom: 1px solid #D4D4D4; } }
    @media (min-width: 992px) {
      .line-items td.line-item-increment {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-start;
        align-items: start;
        flex-flow: column; } }
    .line-items td.line-item-increment ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: start;
      flex-flow: column;
      column-gap: 1rem;
      row-gap: 0.25rem;
      margin: 0; }
      @media (min-width: 992px) {
        .line-items td.line-item-increment ul {
          margin: 0.5rem 0 1rem;
          flex-direction: row; } }
      .line-items td.line-item-increment ul li {
        list-style-type: none;
        font-size: 0.75rem;
        margin: 0;
        padding: 0; }
    .line-items td.line-item-increment p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: start;
      flex-flow: row;
      font-size: 0.75rem;
      column-gap: 0.5rem;
      color: #787878;
      line-height: 1rem; }
      .line-items td.line-item-increment p span {
        color: #BE1E2D; }
  .line-items td.line-item-subtotal {
    grid-area: total;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: start;
    flex-flow: row nowrap;
    font-weight: 600; }
    @media (min-width: 992px) {
      .line-items td.line-item-subtotal .mob-only {
        display: none; } }
  .line-items td.line-item-remove {
    grid-area: remove; }
    .line-items td.line-item-remove:empty {
      display: none; }
    @media (min-width: 992px) {
      .line-items td.line-item-remove {
        align-self: end; } }
    .line-items td.line-item-remove button {
      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: 0.5rem;
      font-weight: 400;
      border-radius: 100%;
      width: 1.5rem;
      height: 1.5rem; }
      @media (max-width: 991.9px) {
        .line-items td.line-item-remove button {
          display: block;
          width: auto; } }
      .line-items td.line-item-remove button:hover span, .line-items td.line-item-remove button:focus span {
        color: #383838; }
      .line-items td.line-item-remove button span {
        position: relative;
        right: -5px;
        top: 3px;
        font-size: 0.75rem;
        color: #787878;
        margin: 0;
        transition: .25s all ease-in-out; }
        .line-items td.line-item-remove button span.text {
          display: none; }
          @media (min-width: 992px) {
            .line-items td.line-item-remove button span.text {
              display: inline-block; } }
  .line-items td.line-item-details {
    grid-area: details; }
    .line-items td.line-item-details .btn-txt {
      font-size: 0.9375rem; }

@media (min-width: 992px) {
  .line-items table, .line-items tbody {
    display: block; }
  .line-items thead {
    display: none; }
  .line-items tr {
    grid-template-columns: 6.875rem 2fr 1fr 1fr 1fr;
    grid-template-areas: 'image name quantity price total'  'remove details quantity price total';
    column-gap: 1.5rem;
    row-gap: 0; }
  .line-items [class*="btn-"] {
    width: auto; } }

.line-items .print {
  margin-top: 1rem; }
  @media (min-width: 768px) {
    .line-items .print {
      display: none; } }

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

    CART - MODAL - CHANGES

\*  --------------------------------------------------------------------------  */
#CartEditProductFieldsForm {
  max-width: 30rem;
  /*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - FORM ELEMENTS

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - INPUTS

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - PRODUCT LIST

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET RADIO

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET SELECT

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - TEXTAREA

\*  --------------------------------------------------------------------------  */ }
  #CartEditProductFieldsForm .form-el, #CartEditProductFieldsForm .form-cr {
    margin: 0 0 0.75rem; }
    #CartEditProductFieldsForm .form-el p, #CartEditProductFieldsForm .form-el label, #CartEditProductFieldsForm .form-cr p, #CartEditProductFieldsForm .form-cr label {
      display: block;
      width: 100%;
      font-weight: bold;
      margin: 0 0 0.5rem; }
    #CartEditProductFieldsForm .form-el small, #CartEditProductFieldsForm .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #DF3041; }
  #CartEditProductFieldsForm [class*="set-"] label {
    font-weight: normal; }
  #CartEditProductFieldsForm [class*="set-"] .options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row wrap; }
  #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]) {
    padding: 0.5rem 0.75rem;
    width: 100%;
    max-width: 18.75rem;
    border: 0.125rem solid #D4D4D4; }
    #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]):disabled, #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]).unavailable {
      opacity: 0.5; }
    #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]):hover, #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]):focus {
      border-color: #383838; }
  #CartEditProductFieldsForm #product-list-label {
    font-weight: bold;
    font-size: 0.9375rem; }
  #CartEditProductFieldsForm .productOptions-list {
    border: 1px solid #D4D4D4;
    border-radius: 0.375rem;
    margin-bottom: 1rem !important; }
  #CartEditProductFieldsForm .productOptions-list-item {
    display: flex;
    margin: 0;
    padding: 0.75rem; }
    #CartEditProductFieldsForm .productOptions-list-item + .productOptions-list-item {
      border-top: 1px solid #D4D4D4; }
    #CartEditProductFieldsForm .productOptions-list-item figure {
      margin: 0; }
    #CartEditProductFieldsForm .productOptions-list-item .productOptions-list-item-content {
      display: grid;
      grid-template-columns: 1fr auto;
      column-gap: 0.75rem;
      align-items: center; }
      #CartEditProductFieldsForm .productOptions-list-item .productOptions-list-item-content input {
        width: 0.9375rem; }
      #CartEditProductFieldsForm .productOptions-list-item .productOptions-list-item-content label {
        margin: 0; }
  #CartEditProductFieldsForm .set-radio label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    margin: 0 0.5rem;
    width: auto; }
    #CartEditProductFieldsForm .set-radio label:before {
      content: "";
      display: block;
      width: 0.75rem;
      height: 0.75rem;
      margin: 0 0.5rem 0 0;
      border-radius: 100%;
      border: 0.125rem solid #D4D4D4; }
    #CartEditProductFieldsForm .set-radio label.unavailable {
      pointer-events: none;
      opacity: .5; }
  #CartEditProductFieldsForm .set-radio input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    #CartEditProductFieldsForm .set-radio input:checked + label:before {
      background: #383838;
      box-shadow: inset 0 0 0 0.1875rem #fff; }
  #CartEditProductFieldsForm .set-rectangle {
    margin-bottom: 1.875rem !important; }
    #CartEditProductFieldsForm .set-rectangle label {
      border: 0.0625rem solid #D4D4D4;
      padding: 0.25rem 0.75rem;
      font-size: 0.9375rem;
      margin: 0.25rem 0.25rem 0 0;
      transition: all .25s linear;
      width: auto; }
      #CartEditProductFieldsForm .set-rectangle label.unavailable {
        pointer-events: none;
        background: #D4D4D4;
        opacity: .5; }
    #CartEditProductFieldsForm .set-rectangle input {
      position: absolute;
      width: 1px !important;
      height: 1px;
      padding: 0;
      margin: -1px;
      border: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0); }
      #CartEditProductFieldsForm .set-rectangle input:checked + label {
        background: #383838;
        border-color: #383838;
        color: #fff; }
  #CartEditProductFieldsForm select {
    max-width: 18.75rem;
    margin: 0.3125rem 0; }
    #CartEditProductFieldsForm select:disabled, #CartEditProductFieldsForm 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; }
    #CartEditProductFieldsForm select:hover, #CartEditProductFieldsForm select:focus {
      border-color: #383838; }
  #CartEditProductFieldsForm .set-swatch label {
    font-weight: bold; }
  #CartEditProductFieldsForm .set-swatch .options label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0.5rem 0.5rem 0;
    transition: all .25s linear;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid #F7F8FB;
    box-shadow: inset 0 0 0 3px #fff; }
    #CartEditProductFieldsForm .set-swatch .options label.unavailable {
      pointer-events: none;
      opacity: .5; }
      #CartEditProductFieldsForm .set-swatch .options label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    #CartEditProductFieldsForm .set-swatch .options label span:not(.sr-only) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: 0;
      align-items: 1;
      align-content: auto;
      flex-flow: row wrap;
      width: 100%;
      display: block;
      height: 2.5rem;
      position: relative;
      z-index: -1; }
  #CartEditProductFieldsForm .set-swatch .options input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    #CartEditProductFieldsForm .set-swatch .options input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }

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

    CART - TOTALS

\*  --------------------------------------------------------------------------  */
.totals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: row wrap;
  font-size: 0.9375rem; }
  @media (max-width: 767.9px) {
    .totals {
      margin: 1.5rem 0 0; } }
  .totals dt, .totals dd {
    width: 50%;
    padding: 0.5rem 0;
    margin: 0;
    color: #787878;
    font-weight: 600; }
    .totals dt:last-of-type, .totals dd:last-of-type {
      font-weight: 500;
      font-size: 1.25rem;
      padding-bottom: 1rem; }
      @media (min-width: 992px) {
        .totals dt:last-of-type, .totals dd:last-of-type {
          padding-bottom: 1.5rem; } }
  .totals dt {
    text-align: left; }
  .totals dd {
    text-align: right; }
    .totals dd.full {
      width: 100%; }
    .totals dd:last-of-type {
      color: #383838; }
    .totals dd [class*='icon-plus'] {
      color: #383838;
      font-size: 12px; }
      .totals dd [class*='icon-plus']:hover {
        color: #BE1E2D; }
    .totals dd [class*='icon-minus'] {
      font-size: 2px; }
    .totals dd > button {
      font-size: 12px;
      color: #383838; }
      .totals dd > button span {
        transition: .25s all ease-in-out; }
        .totals dd > button span:hover {
          color: #BE1E2D; }
        .totals dd > button span:active {
          color: #DF3041; }
    .totals dd.shipping-estimator button {
      width: 100%; }
    .totals dd.coupon-code form {
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas: "form btn" "resp resp";
      margin: 0; }
      .totals dd.coupon-code form .form-el {
        margin: 0; }
        .totals dd.coupon-code form .form-el input {
          height: 2.8125rem; }
      .totals dd.coupon-code form .form-actions {
        align-items: start;
        margin: 0;
        height: 2.8125rem; }
        .totals dd.coupon-code form .form-actions button {
          text-transform: capitalize;
          font-weight: 500;
          height: 2.8125rem;
          padding: 0.75rem 1.375rem; }

/*  --------------------------------------------------------------------------  *\
    CATALOG COMPONENTS
\*  --------------------------------------------------------------------------  */
.layout-brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .layout-brands {
      grid-template-columns: repeat(3, 1fr);
      column-gap: 1rem;
      row-gap: 1.5rem; } }
  @media (min-width: 992px) {
    .layout-brands {
      grid-template-columns: repeat(4, 1fr);
      column-gap: 2.5rem;
      row-gap: 2rem; } }

.brandGrid {
  margin: 0; }
  .brandGrid .card .card-body {
    margin-bottom: 1.5rem; }

.brandsList-menu {
  display: flex;
  flex-flow: row wrap; }
  .brandsList-menu button {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125);
    flex: 1 0 auto;
    padding: 0.3125rem;
    transition: all 150ms ease;
    min-width: 3.125rem;
    width: auto; }
    .brandsList-menu button:hover, .brandsList-menu button.is-active {
      background-color: #BE1E2D;
      color: #fff; }
    .brandsList-menu button:active {
      background-color: #DF3041;
      color: #fff; }
    .brandsList-menu button:disabled {
      background-color: transparent;
      cursor: not-allowed;
      color: inherit;
      opacity: .4; }
  @media (min-width: 992px) {
    .brandsList-menu {
      display: flex;
      flex-flow: row wrap; }
      .brandsList-menu button {
        min-width: 1px; } }

.brandsList-items {
  display: flex;
  flex-direction: column;
  margin-top: 0.625rem;
  padding: 1rem;
  border-bottom: 1px solid #D4D4D4; }
  @media (max-width: 767.9px) {
    .brandsList-items {
      padding-right: 0; } }
  .brandsList-items a {
    display: inline-block;
    flex: 0 0 auto;
    width: auto !important;
    padding: 0.25rem 0;
    color: #4F4F4F; }
    .brandsList-items a:hover, .brandsList-items a:focus {
      color: #383838 !important; }
    @media (min-width: 768px) {
      .brandsList-items a {
        width: 50%; } }
    @media (min-width: 992px) {
      .brandsList-items a {
        width: 33.3%; } }
    .brandsList-items a.disabled {
      padding: 0.25rem 0;
      color: #787878; }
  .brandsList-items [data-alpha-brand-group] {
    display: flex;
    flex-direction: column; }
    .brandsList-items [data-alpha-brand-group] h3.group-title {
      flex: 1 0 auto;
      margin: 0 0 .5rem;
      width: 100%;
      font-size: 1.5rem;
      font-family: "IBM Plex Sans", sans-serif !important; }
      @media (min-width: 992px) {
        .brandsList-items [data-alpha-brand-group] h3.group-title {
          font-size: 2rem; } }
    .brandsList-items [data-alpha-brand-group] [data-alpha-group] {
      display: grid;
      align-items: start;
      justify-items: start;
      column-gap: 8px;
      margin-bottom: 2rem;
      width: 100%; }
      @media (min-width: 992px) {
        .brandsList-items [data-alpha-brand-group] [data-alpha-group] {
          display: block;
          column-count: 3;
          column-fill: balance;
          column-gap: 2rem; } }
      @media (min-width: 1425px) {
        .brandsList-items [data-alpha-brand-group] [data-alpha-group] {
          column-count: 4; } }
      .brandsList-items [data-alpha-brand-group] [data-alpha-group] > div {
        display: block; }
    .brandsList-items [data-alpha-brand-group].is-active {
      display: flex; }
    .brandsList-items [data-alpha-brand-group].is-inactive {
      display: none; }

section.brand {
  margin: 1rem 0 0; }
  @media (min-width: 992px) {
    section.brand {
      margin: 3rem 0 0; } }

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

    PRODUCT CARD COMPONENT

\*  --------------------------------------------------------------------------  */
article.card.category-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-areas: "image detail" "image desc" "image env" "image data" "image qty";
  padding: 1rem 1rem;
  position: relative;
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > IMAGE

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

    PRODUCT CARD > TITLE

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

    PRODUCT CARD > RATING

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

    PRODUCT CARD > PRICE

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

    PRODUCT CARD > ACTIONS

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

    PRODUCT CARD > ANIMATIONS

\*  --------------------------------------------------------------------------  */ }
  article.card.category-card:nth-child(2n+1) {
    background: #F7F8FB; }
  article.card.category-card .image-wrapper {
    grid-area: image;
    margin-right: 1rem; }
  article.card.category-card .part-wrapper {
    grid-area: detail; }
    @media (max-width: 767.9px) {
      article.card.category-card .part-wrapper {
        margin-bottom: 1rem; } }
  article.card.category-card .desc-wrapper {
    grid-area: desc; }
    @media (max-width: 767.9px) {
      article.card.category-card .desc-wrapper {
        margin-bottom: 1rem; } }
  article.card.category-card .availability-wrapper {
    grid-area: stock;
    padding-right: 1rem; }
    @media (min-width: 768px) {
      article.card.category-card .availability-wrapper {
        border-top: 1px solid #D4D4D4; } }
    @media (max-width: 767.9px) {
      article.card.category-card .availability-wrapper {
        display: none; } }
  article.card.category-card .pricing-wrapper {
    grid-area: price; }
    @media (min-width: 768px) {
      article.card.category-card .pricing-wrapper {
        border-top: 1px solid #D4D4D4; } }
    @media (max-width: 767.9px) {
      article.card.category-card .pricing-wrapper {
        display: none; } }
    article.card.category-card .pricing-wrapper li {
      text-align: center; }
      article.card.category-card .pricing-wrapper li a:hover, article.card.category-card .pricing-wrapper li a:focus {
        color: #BE1E2D; }
      @media (max-width: 767.9px) {
        article.card.category-card .pricing-wrapper li:nth-child(1) {
          padding-top: 1.5rem; } }
      article.card.category-card .pricing-wrapper li:first-child {
        margin-left: 0 !important; }
      article.card.category-card .pricing-wrapper li:not(:last-child) {
        display: grid;
        justify-content: start;
        grid-template-columns: 1.875rem 1fr;
        column-gap: 0.625rem;
        text-align: right; }
        article.card.category-card .pricing-wrapper li:not(:last-child) span {
          text-align: start; }
        @media (min-width: 992px) {
          article.card.category-card .pricing-wrapper li:not(:last-child) {
            justify-content: center; } }
      article.card.category-card .pricing-wrapper li:last-child {
        display: flex;
        grid-template-columns: 1.875rem 1fr;
        column-gap: 0.625rem;
        justify-content: center;
        text-align: left; }
        @media (min-width: 992px) {
          article.card.category-card .pricing-wrapper li:last-child {
            text-align: center;
            justify-content: flex-start; } }
  article.card.category-card .cta {
    grid-area: desc; }
    @media (min-width: 992px) {
      article.card.category-card .cta {
        grid-area: qty; } }
  article.card.category-card .env-wrapper {
    grid-area: env; }
    @media (max-width: 767.9px) {
      article.card.category-card .env-wrapper {
        margin-bottom: 0.5rem !important; } }
  article.card.category-card .datasheet-wrapper {
    grid-area: data; }
    @media (max-width: 767.9px) {
      article.card.category-card .datasheet-wrapper {
        margin-bottom: 0.5rem; } }
    @media (min-width: 768px) and (max-width: 991.9px) {
      article.card.category-card .datasheet-wrapper {
        margin-top: 1rem; } }
  @media (max-width: 767.9px) {
    article.card.category-card {
      grid-template-rows: auto 1fr auto auto; } }
  @media (min-width: 768px) {
    article.card.category-card {
      grid-template-columns: repeat(4, 1fr);
      grid-template-areas: "image detail stock price" "image desc stock price" "image data stock price" "image env stock qty";
      row-gap: 0;
      column-gap: 1rem; }
      article.card.category-card .image-wrapper {
        margin-right: 0; }
      article.card.category-card .availability-wrapper {
        padding: 0;
        border: none; }
      article.card.category-card .pricing-wrapper {
        padding: 0;
        border: none; } }
  @media (max-width: 991.9px) {
    article.card.category-card.header {
      display: none; } }
  @media (min-width: 992px) {
    article.card.category-card {
      width: 100%;
      font-size: 0.75rem;
      min-width: 100%;
      grid-template-columns: 5.625rem 11rem 7.5rem 14% 142px 13% 83px auto;
      grid-template-areas: "image detail desc stock price qty data env";
      padding: 1rem 1rem;
      column-gap: 0; }
      article.card.category-card.header {
        background: #383838;
        color: white;
        font-weight: 600;
        padding: 0 1rem; }
        article.card.category-card.header .image-wrapper {
          display: none; }
        article.card.category-card.header .part-wrapper {
          padding: 0.5rem 0 0.5rem 0.625rem !important;
          text-align: left; }
        article.card.category-card.header > div {
          padding: 0.75rem 0;
          text-align: center; }
          article.card.category-card.header > div.env-wrapper {
            padding: 0.75rem 0 0.75rem 0.625rem; } }
  @media only screen and (min-width: 1100px) {
    article.card.category-card {
      grid-template-columns: 5.625rem 12rem 13% 17% 142px 138px 86px auto; } }
  @media (min-width: 1200px) {
    article.card.category-card {
      grid-template-columns: 5.625rem 11.625rem 14% 16% 14% 14% 86px auto; } }
  @media (min-width: 1425px) {
    article.card.category-card {
      grid-template-columns: 6.25rem 12.5rem 16% 18% 160px 150px 10% auto;
      font-size: 14px; }
      article.card.category-card.header .part-wrapper {
        padding: 0.5rem 0 0.5rem 1.875rem !important; } }
  article.card.category-card .cnt {
    flex-grow: 1; }
  article.card.category-card .cta a, article.card.category-card .cta .compare-btn, article.card.category-card .cta button {
    width: 100%;
    margin-top: 0.3125rem;
    font-size: 0.75rem; }
    @media (min-width: 1425px) {
      article.card.category-card .cta a, article.card.category-card .cta .compare-btn, article.card.category-card .cta button {
        font-size: 0.875rem; } }
    article.card.category-card .cta a input, article.card.category-card .cta .compare-btn input, article.card.category-card .cta button input {
      margin-right: 0.25rem; }
  article.card.category-card input {
    font-size: 12px !important; }
    @media (min-width: 1425px) {
      article.card.category-card input {
        font-size: 14px !important; } }
  article.card.category-card:focus, article.card.category-card:focus-within {
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04); }
  article.card.category-card .image-wrapper .img-wrapper {
    position: relative; }
  article.card.category-card .image-wrapper .compare-btn {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    color: #383838;
    border: 0.0625rem solid #D4D4D4;
    border-top: none;
    column-gap: 0.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
    width: 100%;
    background: #fff; }
    article.card.category-card .image-wrapper .compare-btn span {
      font-size: 0.75rem;
      line-height: 1rem; }
    article.card.category-card .image-wrapper .compare-btn input[type="checkbox"] {
      appearance: none;
      padding: 0;
      background: white;
      width: 1rem;
      height: 1rem;
      border: 0.0625rem solid #D4D4D4;
      display: grid;
      place-content: center;
      transition: .25s all ease-in-out; }
      @media (min-width: 1425px) {
        article.card.category-card .image-wrapper .compare-btn input[type="checkbox"] {
          width: 1.25rem;
          height: 1.25rem; } }
      article.card.category-card .image-wrapper .compare-btn input[type="checkbox"]:hover {
        background: #F7F8FB; }
      article.card.category-card .image-wrapper .compare-btn input[type="checkbox"]:after {
        content: "";
        height: 0.25rem;
        width: 0.625rem;
        border: 0.125rem solid transparent;
        transform: translate(0%, -50%) rotate(-45deg); }
      article.card.category-card .image-wrapper .compare-btn input[type="checkbox"]:checked {
        border-color: #BE1E2D;
        background: #BE1E2D; }
        article.card.category-card .image-wrapper .compare-btn input[type="checkbox"]:checked:after {
          border-left-color: #fff;
          border-bottom-color: #fff; }
  article.card.category-card .image-wrapper .thumbnail-zoom {
    position: absolute;
    right: 0.3125rem;
    bottom: 0.125rem;
    color: #787878; }
    article.card.category-card .image-wrapper .thumbnail-zoom:hover {
      cursor: pointer; }
  article.card.category-card .img {
    background: white;
    aspect-ratio: 1;
    margin: 0;
    border: 0.0625rem solid #D4D4D4; }
    article.card.category-card .img:hover {
      cursor: pointer; }
    article.card.category-card .img img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain; }
    @media (min-width: 992px) {
      article.card.category-card .img {
        width: 5.625rem;
        height: 5.625rem; } }
    @media (min-width: 1425px) {
      article.card.category-card .img {
        width: 6.25rem;
        height: 6.25rem; } }
  article.card.category-card .img-w, article.card.category-card .img-wrapper {
    aspect-ratio: 1; }
    article.card.category-card .img-w img, article.card.category-card .img-wrapper img {
      display: block;
      width: 100%;
      object-fit: cover; }
  article.card.category-card h3, article.card.category-card .h3 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 150%;
    margin: 0 0 0.75rem;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    /* autoprefixer: off */
    overflow: hidden;
    min-height: 2.666em; }
    @media (min-width: 768px) {
      article.card.category-card h3, article.card.category-card .h3 {
        font-size: 1.125rem; } }
    @media (min-width: 992px) {
      article.card.category-card h3, article.card.category-card .h3 {
        margin: 0 0 1rem; } }
    article.card.category-card h3 small, article.card.category-card .h3 small {
      display: block;
      font-size: .75em;
      margin: 0 0 .3333em;
      min-height: 1em; }
  @media (min-width: 992px) {
    article.card.category-card .part-wrapper {
      padding-left: 1.125rem !important; } }
  @media (min-width: 992px) {
    article.card.category-card .part-wrapper, article.card.category-card .desc-wrapper, article.card.category-card .availability-wrapper, article.card.category-card .pricing-wrapper, article.card.category-card .datasheet-wrapper {
      padding: 0 1rem;
      border-right: 0.0625rem solid #D4D4D4;
      flex: 1; } }
  article.card.category-card .part-wrapper ul, article.card.category-card .desc-wrapper ul, article.card.category-card .availability-wrapper ul, article.card.category-card .pricing-wrapper ul, article.card.category-card .datasheet-wrapper ul {
    margin-bottom: 1rem; }
    article.card.category-card .part-wrapper ul li, article.card.category-card .desc-wrapper ul li, article.card.category-card .availability-wrapper ul li, article.card.category-card .pricing-wrapper ul li, article.card.category-card .datasheet-wrapper ul li {
      text-transform: capitalize;
      line-height: 1.125rem;
      padding: 0;
      font-weight: 500;
      color: #787878; }
      article.card.category-card .part-wrapper ul li .call-text, article.card.category-card .desc-wrapper ul li .call-text, article.card.category-card .availability-wrapper ul li .call-text, article.card.category-card .pricing-wrapper ul li .call-text, article.card.category-card .datasheet-wrapper ul li .call-text {
        color: #787878; }
      article.card.category-card .part-wrapper ul li .phone, article.card.category-card .desc-wrapper ul li .phone, article.card.category-card .availability-wrapper ul li .phone, article.card.category-card .pricing-wrapper ul li .phone, article.card.category-card .datasheet-wrapper ul li .phone {
        margin-left: -8px; }
      article.card.category-card .part-wrapper ul li a, article.card.category-card .part-wrapper ul li span, article.card.category-card .desc-wrapper ul li a, article.card.category-card .desc-wrapper ul li span, article.card.category-card .availability-wrapper ul li a, article.card.category-card .availability-wrapper ul li span, article.card.category-card .pricing-wrapper ul li a, article.card.category-card .pricing-wrapper ul li span, article.card.category-card .datasheet-wrapper ul li a, article.card.category-card .datasheet-wrapper ul li span {
        color: #383838; }
      article.card.category-card .part-wrapper ul li + li, article.card.category-card .desc-wrapper ul li + li, article.card.category-card .availability-wrapper ul li + li, article.card.category-card .pricing-wrapper ul li + li, article.card.category-card .datasheet-wrapper ul li + li {
        margin-top: 0.25rem; }
      article.card.category-card .part-wrapper ul li.more, article.card.category-card .desc-wrapper ul li.more, article.card.category-card .availability-wrapper ul li.more, article.card.category-card .pricing-wrapper ul li.more, article.card.category-card .datasheet-wrapper ul li.more {
        font-weight: normal;
        text-decoration: underline;
        margin-top: 0.5rem;
        color: #383838; }
        article.card.category-card .part-wrapper ul li.more:hover, article.card.category-card .desc-wrapper ul li.more:hover, article.card.category-card .availability-wrapper ul li.more:hover, article.card.category-card .pricing-wrapper ul li.more:hover, article.card.category-card .datasheet-wrapper ul li.more:hover {
          cursor: pointer; }
  @media (min-width: 992px) {
    article.card.category-card .cta {
      padding: 0 1.125rem;
      border-right: 0.0625rem solid #D4D4D4; }
      article.card.category-card .cta .icon-phone {
        display: none; } }
  @media (min-width: 1200px) {
    article.card.category-card .cta {
      padding: 0 1.125rem; }
      article.card.category-card .cta .icon-phone {
        display: block; } }
  article.card.category-card .qty-wrapper ul {
    width: 100%;
    display: flex;
    align-items: center;
    margin-top: 0; }
    @media (min-width: 992px) {
      article.card.category-card .qty-wrapper ul {
        column-gap: 20%; } }
    @media only screen and (min-width: 1300px) {
      article.card.category-card .qty-wrapper ul {
        column-gap: 0.5rem; } }
    article.card.category-card .qty-wrapper ul li {
      flex: 1;
      margin: 0;
      padding: 0; }
      @media (max-width: 991.9px) {
        article.card.category-card .qty-wrapper ul li {
          font-size: 0.75rem;
          line-height: 1rem; } }
  article.card.category-card .datasheet-wrapper .icon-download {
    color: #BE1E2D; }
  article.card.category-card .datasheet-wrapper .datasheet {
    color: #383838; }
    article.card.category-card .datasheet-wrapper .datasheet span:nth-child(2) {
      margin-left: 0.25rem;
      text-decoration: underline; }
    article.card.category-card .datasheet-wrapper .datasheet:hover {
      color: #BE1E2D; }
    article.card.category-card .datasheet-wrapper .datasheet:focus {
      color: #383838; }
  article.card.category-card .env-wrapper {
    margin: 0; }
    @media (min-width: 992px) {
      article.card.category-card .env-wrapper {
        padding: 0 1.125rem; } }
    article.card.category-card .env-wrapper ul li {
      padding: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row wrap;
      grid-gap: 0.5rem; }
      @media (max-width: 991.9px) {
        article.card.category-card .env-wrapper ul li {
          font-size: 0.75rem;
          line-height: 1rem; } }
      @media (min-width: 768px) and (max-width: 991.9px) {
        article.card.category-card .env-wrapper ul li:first-of-type {
          border-top: 1px solid #D4D4D4;
          padding-top: 1rem; } }
      article.card.category-card .env-wrapper ul li .icon-rohs {
        color: #80C600;
        width: 1rem;
        height: 1rem;
        object-fit: contain; }
        article.card.category-card .env-wrapper ul li .icon-rohs::before {
          vertical-align: middle;
          font-size: 1.0625rem; }
      article.card.category-card .env-wrapper ul li .icon-lead {
        padding: 0 0.125rem;
        background: #383838;
        color: white;
        width: 1rem;
        height: 1rem;
        object-fit: contain; }
        article.card.category-card .env-wrapper ul li .icon-lead::before {
          vertical-align: middle;
          font-size: 0.4375rem; }
      article.card.category-card .env-wrapper ul li span {
        line-height: 1rem; }
      article.card.category-card .env-wrapper ul li + li {
        margin-top: 0.75rem; }
  article.card.category-card .ratings, article.card.category-card .rating {
    font-size: 0.9375rem;
    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) {
      article.card.category-card .ratings, article.card.category-card .rating {
        margin: 0 0 1rem; } }
    article.card.category-card .ratings span + span, article.card.category-card .rating span + span {
      margin: 0 0 0 0.125rem; }
  article.card.category-card .price-wrapper {
    margin-bottom: 0.875rem; }
  article.card.category-card .price {
    font-size: 0.9375rem;
    font-weight: bold; }
    article.card.category-card .price--non-sale {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      article.card.category-card .price--non-sale:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(2.5deg);
        -ms-transform: translate(-50%, -50%) rotate(2.5deg);
        transform: translate(-50%, -50%) rotate(2.5deg);
        height: 0.125rem;
        width: 110%;
        background: currentColor; }
  @media (min-width: 992px) {
    article.card.category-card p {
      margin: 0 0 1.5rem; } }
  article.card.category-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; }
  @media (max-width: 991.9px) {
    article.card.category-card .actions.cat-actions {
      display: flex;
      flex-wrap: nowrap;
      row-gap: 0;
      column-gap: 0.5rem;
      align-items: center;
      justify-content: space-between; }
      article.card.category-card .actions.cat-actions .form-wrapper, article.card.category-card .actions.cat-actions .qty-wrapper {
        width: 50%; }
        article.card.category-card .actions.cat-actions .form-wrapper ul, article.card.category-card .actions.cat-actions .qty-wrapper ul {
          margin: 0;
          display: flex;
          justify-content: center;
          align-items: start;
          flex-direction: column;
          row-gap: 0.25rem; } }
  @media (max-width: 991.9px) and (min-width: 768px) and (max-width: 991.9px) {
    article.card.category-card .actions.cat-actions .form-wrapper {
      width: 60%; } }
  @media (max-width: 991.9px) and (min-width: 768px) and (max-width: 991.9px) {
    article.card.category-card .actions.cat-actions .qty-wrapper {
      padding-left: 0.75rem;
      width: 40%; } }
  @media (max-width: 991.9px) {
      article.card.category-card .actions.cat-actions .warning {
        width: 100%; }
      article.card.category-card .actions.cat-actions .form-increment {
        margin: 0; } }
  @media (min-width: 768px) and (max-width: 991.9px) {
    article.card.category-card .actions.cat-actions .form-wrapper {
      column-gap: 0.75rem; } }
  article.card.category-card .actions.cat-actions .warning {
    font-size: 0.75rem;
    color: #BE1E2D; }
    article.card.category-card .actions.cat-actions .warning span {
      padding-right: 0.5rem; }
  article.card.category-card .actions.cat-actions input {
    padding: 0.875rem 0.5rem;
    width: 3.625rem;
    height: 3rem;
    border: 0.0625rem solid #D4D4D4; }
  article.card.category-card .actions.cat-actions .btn-primary {
    margin: 0;
    padding: 0;
    width: 3rem;
    height: 3rem; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      article.card.category-card .actions.cat-actions .btn-primary {
        width: 6.75rem; } }
  article.card.category-card .actions.cat-actions.desktop-only {
    display: none; }
    @media (min-width: 992px) {
      article.card.category-card .actions.cat-actions.desktop-only {
        display: block; } }
    article.card.category-card .actions.cat-actions.desktop-only .btn-primary::after {
      font-size: 1rem;
      content: "\f10c";
      font-family: "ico"; }
  article.card.category-card .desktop-only {
    display: none; }
    @media (min-width: 992px) {
      article.card.category-card .desktop-only {
        display: block; } }
  @media (min-width: 992px) {
    article.card.category-card .mobile-only {
      display: none; } }
  article.card.category-card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }
  article.card.category-card {
    visibility: hidden; }
  .no-js article.card.category-card {
    visibility: visible; }
  article.card.category-card.active {
    /* this is the animation of the selected step */
    visibility: visible;
    opacity: 1;
    transform: translateX(0); }
  article.card.category-card.slide-up-in {
    animation: SlideUpIn 0.3s 0.2s cubic-bezier(0, 0, 0, 1) backwards; }
  article.card.category-card.slide-down-out {
    animation: SlideDownOut 0.3s 0.2s cubic-bezier(0, 0, 0, 1) forwards; }
  article.card.category-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 CAROUSEL COMPONENT

\*  --------------------------------------------------------------------------  */
.card.product-carousel {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: space-between;
  flex-flow: column nowrap;
  row-gap: 0.25rem;
  background: #fff;
  border: 1px solid #D4D4D4;
  padding: 1rem 0.625rem; }
  @media (min-width: 992px) {
    .card.product-carousel {
      row-gap: 0.375rem; } }
  .card.product-carousel.category .img {
    margin: 0 auto;
    width: auto;
    height: 8rem;
    object-fit: contain;
    object-fit: center center; }
  .card.product-carousel .cnt {
    flex-grow: 1; }
    .card.product-carousel .cnt h3 {
      line-height: 1rem; }
      @media (min-width: 992px) {
        .card.product-carousel .cnt h3 {
          line-height: 1.125rem; } }
  .card.product-carousel .cta a, .card.product-carousel .cta .compare-btn, .card.product-carousel .cta button {
    width: 100%;
    margin-top: 0.3125rem; }
    .card.product-carousel .cta a input, .card.product-carousel .cta .compare-btn input, .card.product-carousel .cta button input {
      margin-right: 0.3125rem; }
  @media (min-width: 768px) {
    .card.product-carousel {
      padding: 1rem 0.5rem; } }
  .card.product-carousel:focus, .card.product-carousel:focus-within {
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04); }

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

    CATEGORY - LAYOUT

\*  --------------------------------------------------------------------------  */
.category-sort-wrapper {
  background: #F7F8FB; }
  @media (min-width: 992px) {
    .category-sort-wrapper {
      background: #fff; } }
  .category-sort-wrapper .container {
    display: flex;
    justify-content: space-between;
    align-items: center; }

.layout-category {
  overflow: hidden;
  background: transparent;
  margin-bottom: 2rem; }
  @media (max-width: 991.9px) {
    .layout-category {
      background: linear-gradient(#F7F8FB 76px, white 0); } }
  .layout-category aside nav {
    position: relative;
    position: -webkit-sticky;
    position: sticky; }
    @supports (position: -webkit-sticky) {
      .layout-category aside nav {
        top: 5rem; } }
    @supports (position: sticky) {
      .layout-category aside nav {
        top: 5rem; } }
    @media (min-width: 992px) {
      .layout-category aside nav {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .layout-category aside nav {
            top: 9.375rem; } }
        @supports (position: sticky) {
          .layout-category aside nav {
            top: 9.375rem; } } }
  @media (max-width: 991.9px) {
    .layout-category {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-areas: "filter sort" "list list" "pag pag";
      align-items: center; }
      .layout-category aside {
        grid-area: filter; }
      .layout-category:nth-child(2) {
        grid-area: sort; }
      .layout-category .product-listing-wrapper {
        grid-area: list;
        padding: 0; }
      .layout-category .pagination-wrapper {
        grid-area: pag; } }
  .layout-category.nav-open {
    overflow: visible;
    background: linear-gradient(to right, #F7F8FB 15%, white 0); }
    @media only screen and (min-width: 2000px) {
      .layout-category.nav-open {
        background: transparent; } }
    .layout-category.nav-open .product-listing-wrapper {
      overflow-x: scroll;
      width: 100%; }
      @media only screen and (min-width: 2000px) {
        .layout-category.nav-open .product-listing-wrapper {
          overflow-x: visible; } }
  .layout-category .product-listing-wrapper {
    width: 100%;
    z-index: 1;
    transition: .8s all ease-in-out; }
    .layout-category .product-listing-wrapper::-webkit-scrollbar {
      height: 0.0625rem;
      width: 0.0625rem;
      background: linear-gradient(to right, #fff 30%, #D4D4D4 0);
      margin-top: 3.125rem;
      padding-top: 3.125rem; }
    .layout-category .product-listing-wrapper::-webkit-scrollbar-thumb:horizontal {
      transform: translateY(30px);
      position: absolute;
      bottom: -2rem;
      background: linear-gradient(to right, transparent 38%, #BE1E2D 0); }
  .layout-category #product-listing-container {
    transition: .8s all ease-in-out; }
    @media (min-width: 992px) {
      .layout-category #product-listing-container.nav-open {
        transform: translateX(400px); } }

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

    CATEGORY

    Only files that are used by the Product Search Components should be loaded.

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

    CATEGORY - LANDING

\*  --------------------------------------------------------------------------  */
nav.landing ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 1.75rem; }
  @media (min-width: 768px) {
    nav.landing ul {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 1.25rem;
      row-gap: 2.375rem; } }
  @media (min-width: 992px) {
    nav.landing ul {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      column-gap: 2rem;
      row-gap: 3rem; } }

nav.landing li {
  border: 1px solid #D4D4D4; }

nav.landing h2 {
  text-align: center;
  margin: 0.5rem 0; }

nav.landing .img {
  position: relative;
  padding: 100% 0 0;
  overflow: hidden; }
  nav.landing .img picture {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    display: block; }
    nav.landing .img picture.default {
      background-color: #f8f8f8; }
  nav.landing .img img {
    display: block;
    width: 100%;
    height: 100%;
    height: auto; }

.category-header {
  background: linear-gradient(to bottom, rgba(56, 56, 56, 0.7), rgba(56, 56, 56, 0.7)), var(--catBg) no-repeat center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 2.5rem; }
  .category-header.listing {
    padding: 1.5rem 0; }
    .category-header.listing h1 {
      margin-top: 0.9375rem;
      margin-bottom: 1rem; }
      @media (min-width: 992px) {
        .category-header.listing h1 {
          width: 34.1875rem; } }
    @media (min-width: 768px) {
      .category-header.listing h1, .category-header.listing p {
        max-width: 22rem; } }
    @media (min-width: 992px) {
      .category-header.listing h1, .category-header.listing p {
        max-width: 34.1875rem; } }
    @media (min-width: 992px) {
      .category-header.listing p {
        padding-bottom: 1.5rem; } }
  .category-header.no-pad {
    padding-top: 0 !important; }
  @media (min-width: 768px) {
    .category-header {
      background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%), var(--catBg) no-repeat center;
      background-size: cover; } }
  @media (min-width: 992px) {
    .category-header {
      padding-bottom: 5rem; }
      .category-header.listing {
        padding: 4rem 0;
        background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%), var(--catBg) no-repeat center;
        background-size: cover; }
        .category-header.listing h1 {
          margin-top: 1.25rem; } }
  .category-header * {
    color: #fff; }
  .category-header .breadcrumbs a {
    color: #D4D4D4; }
  .category-header .breadcrumbs .is-active a {
    color: #fff; }
  .category-header h1 {
    margin-top: 1rem;
    margin-bottom: 0; }
    @media (min-width: 992px) {
      .category-header h1 {
        margin-top: 2.5rem; } }

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

    DETAIL

    Files to conrol the styling for the product detail will be loaded below.

    @import 'detail/description';

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

    DETAIL - HEADER

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

    DETAIL - LAYOUT

\*  --------------------------------------------------------------------------  */
.product-view, .productView {
  display: grid;
  row-gap: 0;
  column-gap: 0;
  margin-bottom: 2.5rem;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-template-areas: "title" "gallery" "info" "details"; }
  .product-view .gallery, .productView .gallery {
    grid-area: gallery; }
  .product-view .title, .productView .title {
    grid-area: title; }
  .product-view .info, .productView .info {
    grid-area: info; }
  .product-view .details, .productView .details {
    grid-area: details; }
  .product-view .package, .productView .package {
    border-top: 1px solid #D4D4D4;
    margin-top: 1rem;
    padding: 1rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    column-gap: 1rem;
    color: #787878;
    font-size: 0.75rem;
    line-height: 1.125rem; }
    .product-view .package strong, .productView .package strong {
      font-size: 0.9375rem; }
    .product-view .package .icon-package, .productView .package .icon-package {
      font-size: 2rem; }
    @media (min-width: 768px) {
      .product-view .package, .productView .package {
        margin: 0;
        border: none; } }
  @media (min-width: 768px) {
    .product-view, .productView {
      grid-template-columns: 50% 1fr;
      grid-template-rows: auto 1fr;
      grid-template-areas: "title title" "gallery info" "gallery details";
      row-gap: 1rem;
      column-gap: 3.375rem; }
      .product-view .left-info, .productView .left-info {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .product-view .left-info, .productView .left-info {
            top: 6.25rem; } }
        @supports (position: sticky) {
          .product-view .left-info, .productView .left-info {
            top: 6.25rem; } }
        .product-view .left-info p, .productView .left-info p {
          font-size: 0.625rem;
          line-height: 1.4; } }
  @media (min-width: 992px) {
    .product-view, .productView {
      margin-bottom: 3.125rem;
      row-gap: 1rem;
      column-gap: 2.875rem;
      grid-template-columns: 25% 1fr 1fr;
      grid-template-rows: auto 1fr;
      grid-template-areas: "title title title" "gallery info details"; }
      .product-view .details, .productView .details {
        min-width: 22.5rem; }
      .product-view .product-info, .productView .product-info {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .product-view .product-info, .productView .product-info {
            top: 9.375rem; } }
        @supports (position: sticky) {
          .product-view .product-info, .productView .product-info {
            top: 9.375rem; } }
      .product-view .left-info, .productView .left-info {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .product-view .left-info, .productView .left-info {
            top: 9.375rem; } }
        @supports (position: sticky) {
          .product-view .left-info, .productView .left-info {
            top: 9.375rem; } } }
  @media (min-width: 1200px) {
    .product-view, .productView {
      grid-template-columns: 30% 1fr 1fr; } }
  .product-view .prop65, .productView .prop65 {
    margin-top: 1.5rem;
    line-height: 1rem;
    color: #787878;
    font-size: 0.75rem; }
    @media (min-width: 768px) {
      .product-view .prop65.mob-only, .productView .prop65.mob-only {
        display: none; } }
    @media (max-width: 767.9px) {
      .product-view .prop65.dt-only, .productView .prop65.dt-only {
        display: none; } }

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

    DETAIL - HEADER - TITLE

\*  --------------------------------------------------------------------------  */
.title h1 {
  margin: 0 0 1rem; }
  @media (min-width: 768px) {
    .title h1 {
      margin-bottom: 0; } }
  .title h1 small {
    display: block;
    margin: 0 0 0.25rem;
    font-size: 0.75rem; }
    @media (min-width: 768px) {
      .title h1 small {
        font-size: 0.9375rem; } }

.details > div {
  margin-top: 2.5rem; }
  @media (min-width: 768px) {
    .details > div {
      border: 0.0625rem solid #D4D4D4;
      padding: 1.5rem;
      margin-top: 1.5rem; } }
  @media (min-width: 992px) {
    .details > div {
      margin-top: 0;
      padding: 1.5rem; } }
  @media (min-width: 1200px) {
    .details > div {
      padding: 1.5rem 2rem; } }

.details form {
  margin-bottom: 0; }
  .details form .add-to-cart-wrapper {
    display: grid;
    row-gap: 0.5rem;
    grid-template-areas: "info" "form" "action" "alert"; }
    .details form .add-to-cart-wrapper .form-increment {
      grid-area: form;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: start;
      flex-flow: column;
      row-gap: 0.5rem;
      margin-bottom: 0; }
    .details form .add-to-cart-wrapper .form-info {
      grid-area: info; }
      .details form .add-to-cart-wrapper .form-info .warning {
        font-weight: 400;
        color: #787878;
        font-size: 0.75rem; }
      .details form .add-to-cart-wrapper .form-info [class*='icon'] {
        color: #BE1E2D; }
    .details form .add-to-cart-wrapper .alertBox {
      grid-area: alert; }
    .details form .add-to-cart-wrapper .form-action {
      grid-area: action;
      margin-top: 1rem !important; }
    @media (min-width: 992px) {
      .details form .add-to-cart-wrapper {
        grid-template-columns: 1fr 35%;
        grid-template-areas: "info form" "action action" "alert alert";
        align-items: start;
        column-gap: 0.5rem; }
        .details form .add-to-cart-wrapper .form-info .lead-time {
          width: 5.3125rem;
          max-width: 110px; }
        .details form .add-to-cart-wrapper.full {
          grid-template-areas: "form form" "action action" "alert alert"; }
          .details form .add-to-cart-wrapper.full .form-info {
            display: none; }
          .details form .add-to-cart-wrapper.full .form-action {
            margin-top: 0 !important; } }
    @media (min-width: 1200px) {
      .details form .add-to-cart-wrapper {
        grid-template-columns: 1fr 38%; } }
  .details form ul li {
    padding: 0;
    display: flex;
    column-gap: 1rem;
    font-weight: 600;
    line-height: 1.125rem; }
    @media (min-width: 768px) {
      .details form ul li {
        column-gap: 0.25rem; } }
    .details form ul li > div:nth-child(1) {
      width: 50%;
      color: #787878; }
      @media (min-width: 992px) {
        .details form ul li > div:nth-child(1) {
          width: 4.625rem; } }
  .details form .error {
    display: flex;
    color: #383838;
    background: #FFE785;
    justify-content: center;
    font-weight: 600;
    text-transform: capitalize;
    border: 1px solid #D4D4D4; }
    .details form .error path {
      stroke: #383838; }

.details .add-to-cart-warning {
  color: #BE1E2D;
  font-size: 0.75rem; }
  .details .add-to-cart-warning span {
    padding-right: 0.5rem; }

.details .note {
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 0.75rem; }
  @media (min-width: 992px) {
    .details .note {
      margin-top: 1.5rem; } }

.details .bulkPricing {
  margin-top: 1rem; }
  .details .bulkPricing:last-of-type {
    margin-top: 1.5rem;
    border-top: none;
    padding-top: 0; }
  .details .bulkPricing table {
    width: 100%; }
  @media (min-width: 768px) {
    .details .bulkPricing {
      border-top: 1px solid #D4D4D4;
      padding-top: 1rem; } }
  @media (min-width: 992px) {
    .details .bulkPricing {
      padding-top: 1.5rem; } }

.info .datasheet {
  color: #383838;
  display: flex;
  column-gap: 0.75rem;
  font-size: 0.9375rem;
  width: 6.25rem;
  transition: .25s all ease-in-out; }
  .info .datasheet .icon-download {
    color: #BE1E2D;
    font-size: 1rem; }
  .info .datasheet:hover {
    color: #BE1E2D; }
  .info .datasheet:active {
    color: #DF3041; }
  .info .datasheet:nth-child(2) {
    text-decoration: underline; }

.product-info {
  margin-top: 1.5rem; }
  @media (min-width: 768px) {
    .product-info {
      margin-top: 0; } }
  @media (min-width: 992px) {
    .product-info {
      margin-bottom: 5rem; } }
  .product-info ul {
    margin-bottom: 1.5rem; }
    @media (min-width: 768px) {
      .product-info ul {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid #D4D4D4; } }
    @media (min-width: 992px) {
      .product-info ul {
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem; } }
    .product-info ul li {
      padding: 0;
      display: flex;
      column-gap: 2.5rem;
      font-weight: 500;
      line-height: 1.125rem;
      text-transform: capitalize; }
      @media (min-width: 992px) {
        .product-info ul li {
          column-gap: 0; } }
      @media (min-width: 1200px) {
        .product-info ul li {
          column-gap: 2.5rem; } }
      .product-info ul li > div {
        width: 50%; }
        .product-info ul li > div:nth-child(1) {
          color: #787878; }
        @media (min-width: 768px) {
          .product-info ul li > div:nth-child(1) {
            width: 40%; } }
        @media (min-width: 992px) {
          .product-info ul li > div:nth-child(1) {
            width: 7rem; } }
      .product-info ul li.env-class {
        margin-top: 1.5rem; }
      .product-info ul li .icon-rohs {
        color: #80C600;
        font-size: 1rem; }

.image-gallery-modal {
  padding: 1rem !important; }
  .image-gallery-modal .gallery-thumbs {
    margin: 0 auto; }
    .image-gallery-modal .gallery-thumbs img {
      margin: 0 auto;
      width: 100%; }
    @media (max-width: 767.9px) {
      .image-gallery-modal .gallery-thumbs button::before {
        display: none; } }
    .image-gallery-modal .gallery-thumbs .slick-arrow {
      position: absolute;
      top: 50%; }
      .image-gallery-modal .gallery-thumbs .slick-arrow.slick-prev {
        left: 10%; }
      .image-gallery-modal .gallery-thumbs .slick-arrow.slick-next {
        right: 10%; }

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

Load the Gallery that is right for your site

@import 'header/galleries/thumbs-bottom';
@import 'header/galleries/thumbs-right';
@import 'header/galleries/thumbs-left';

\*  --------------------------------------------------------------------------  */
.product-view {
  /*  --------------------------------------------------------------------------  *\

    DETAIL - GALLERIES - EASYZOOM

    Settings for Easy Zoom functionality.

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

    DETAIL - GALLERIES - STACKED

    This will present the image stacked directly 
    above the thumbnails.

    Modify the Gallery.html file with the following adjustments:
    - on the thumbnail slider settings add "vertical": false to each responsive
      breakpoint setting
    - on the initial settings set "vertical": false so that it resets on
      responsive change

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

        Load additional components used in the Detail - Header

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

    CATALOG - DETAIL - HEADER - RATING

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

    CATALOG - DETAIL - HEADER - PRICE

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

    CATALOG - DETAIL - HEADER - INFO

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

    CATALOG - DETAIL - HEADER - COMPONENTS - FORM

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

    DETAIL - SHARE

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

        Load form elements used in the Detail - Header

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - TEXTAREA

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - PRODUCT LIST

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - FORM ELEMENTS

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET RADIO

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET SELECT

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */ }
  .product-view .gallery .easyzoom-flyout {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 900;
    left: 0;
    top: 0;
    background: #fff;
    cursor: crosshair; }
    .product-view .gallery .easyzoom-flyout img {
      min-width: 100%;
      max-width: none;
      max-height: none;
      width: auto;
      height: auto;
      bottom: initial; }
  .product-view .gallery {
    position: relative; }
    .product-view .gallery .wishlist, .product-view .gallery .form-wishlist {
      padding: 0;
      margin: 0;
      border: 0;
      width: 100%; }
      .product-view .gallery .wishlist svg, .product-view .gallery .form-wishlist svg {
        display: none; }
      .product-view .gallery .wishlist a.trigger, .product-view .gallery .form-wishlist a.trigger {
        width: 100%;
        font-weight: 500;
        text-transform: capitalize; }
      .product-view .gallery .wishlist ul.dropdown-menu, .product-view .gallery .form-wishlist ul.dropdown-menu {
        width: 100%;
        padding: 0;
        background: #fff;
        border: 1px solid #BE1E2D;
        box-shadow: 0px 0px 0.75rem rgba(0, 0, 0, 0.08);
        left: auto !important; }
        .product-view .gallery .wishlist ul.dropdown-menu > li, .product-view .gallery .form-wishlist ul.dropdown-menu > li {
          margin: 0; }
          .product-view .gallery .wishlist ul.dropdown-menu > li + li, .product-view .gallery .form-wishlist ul.dropdown-menu > li + li {
            border-top: 1px solid #D4D4D4; }
          .product-view .gallery .wishlist ul.dropdown-menu > li > button, .product-view .gallery .wishlist ul.dropdown-menu > li a, .product-view .gallery .wishlist ul.dropdown-menu > li .cancel, .product-view .gallery .form-wishlist ul.dropdown-menu > li > button, .product-view .gallery .form-wishlist ul.dropdown-menu > li a, .product-view .gallery .form-wishlist ul.dropdown-menu > li .cancel {
            transition: .25s all ease-in-out; }
            .product-view .gallery .wishlist ul.dropdown-menu > li > button:hover, .product-view .gallery .wishlist ul.dropdown-menu > li a:hover, .product-view .gallery .wishlist ul.dropdown-menu > li .cancel:hover, .product-view .gallery .form-wishlist ul.dropdown-menu > li > button:hover, .product-view .gallery .form-wishlist ul.dropdown-menu > li a:hover, .product-view .gallery .form-wishlist ul.dropdown-menu > li .cancel:hover {
              color: #BE1E2D !important;
              text-decoration: none !important; }
            .product-view .gallery .wishlist ul.dropdown-menu > li > button:active, .product-view .gallery .wishlist ul.dropdown-menu > li a:active, .product-view .gallery .wishlist ul.dropdown-menu > li .cancel:active, .product-view .gallery .form-wishlist ul.dropdown-menu > li > button:active, .product-view .gallery .form-wishlist ul.dropdown-menu > li a:active, .product-view .gallery .form-wishlist ul.dropdown-menu > li .cancel:active {
              color: #DF3041 !important; }
          .product-view .gallery .wishlist ul.dropdown-menu > li a, .product-view .gallery .form-wishlist ul.dropdown-menu > li a {
            color: #383838;
            text-decoration: none;
            text-align: left;
            padding: 0.75rem 1rem;
            font-weight: 400;
            font-size: 0.9375rem;
            border-radius: 0;
            transition: .25s all ease-in-out; }
            .product-view .gallery .wishlist ul.dropdown-menu > li a:hover, .product-view .gallery .wishlist ul.dropdown-menu > li a:focus, .product-view .gallery .form-wishlist ul.dropdown-menu > li a:hover, .product-view .gallery .form-wishlist ul.dropdown-menu > li a:focus {
              color: #BE1E2D;
              background: transparent;
              cursor: pointer; }
            .product-view .gallery .wishlist ul.dropdown-menu > li a:active, .product-view .gallery .form-wishlist ul.dropdown-menu > li a:active {
              color: #DF3041; }
          .product-view .gallery .wishlist ul.dropdown-menu > li a::after, .product-view .gallery .form-wishlist ul.dropdown-menu > li a::after {
            padding-top: auto !important; }
      .product-view .gallery .wishlist .creat-list-group, .product-view .gallery .form-wishlist .creat-list-group {
        flex-direction: column;
        width: 100%;
        gap: 1rem; }
    .product-view .gallery .icon-search {
      position: absolute;
      bottom: 0.625rem;
      right: 0.625rem;
      z-index: 100;
      font-size: 1rem;
      color: #787878; }
      @media (min-width: 768px) {
        .product-view .gallery .icon-search {
          bottom: 0.5rem;
          right: 0.5rem; }
          .product-view .gallery .icon-search:hover {
            cursor: pointer; } }
    .product-view .gallery .gallery-wrap {
      position: relative; }
      .product-view .gallery .gallery-wrap a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        aspect-ratio: auto 1 / 1; }
        .product-view .gallery .gallery-wrap a img {
          display: block;
          width: 100%;
          object-fit: cover; }
      .product-view .gallery .gallery-wrap .gallery-main {
        position: relative;
        display: none; }
        .product-view .gallery .gallery-wrap .gallery-main a {
          pointer-events: none; }
      .product-view .gallery .gallery-wrap .gallery-thumbs {
        position: relative;
        grid-area: gallery-thumbs; }
        .product-view .gallery .gallery-wrap .gallery-thumbs .thumb {
          border: 0.0625rem solid #D4D4D4;
          min-height: 18rem; }
          .product-view .gallery .gallery-wrap .gallery-thumbs .thumb img {
            aspect-ratio: auto 288 / 288;
            margin: 0 auto;
            max-width: 23rem;
            max-height: 23rem;
            object-fit: contain; }
          .product-view .gallery .gallery-wrap .gallery-thumbs .thumb a {
            pointer-events: none;
            outline: none; }
            .product-view .gallery .gallery-wrap .gallery-thumbs .thumb a:focus {
              outline: none; }
          @media (min-width: 768px) {
            .product-view .gallery .gallery-wrap .gallery-thumbs .thumb {
              min-height: 19.625rem;
              border: none; } }
          @media (min-width: 992px) {
            .product-view .gallery .gallery-wrap .gallery-thumbs .thumb {
              min-height: 12.5rem; } }
        @media (min-width: 768px) {
          .product-view .gallery .gallery-wrap .gallery-thumbs .slick-slider {
            border: 0.0625rem solid #D4D4D4; } }
        .product-view .gallery .gallery-wrap .gallery-thumbs .slick-dots {
          margin-top: 1rem; }
        .product-view .gallery .gallery-wrap .gallery-thumbs .slick-prev, .product-view .gallery .gallery-wrap .gallery-thumbs .slick-next {
          display: none; }
          @media (min-width: 768px) {
            .product-view .gallery .gallery-wrap .gallery-thumbs .slick-prev, .product-view .gallery .gallery-wrap .gallery-thumbs .slick-next {
              display: block; } }
        .product-view .gallery .gallery-wrap .gallery-thumbs .slick-prev {
          display: none;
          transform: translate(-25px, -50%); }
        .product-view .gallery .gallery-wrap .gallery-thumbs .slick-next {
          display: none;
          transform: translate(25px, -50%); }
        .product-view .gallery .gallery-wrap .gallery-thumbs .slick-hidden {
          display: none; }
        .product-view .gallery .gallery-wrap .gallery-thumbs a {
          margin: 1.25rem 0.25rem; }
          @media (min-width: 768px) {
            .product-view .gallery .gallery-wrap .gallery-thumbs a {
              margin: 0.25rem 0.625rem; } }
  .product-view .stars {
    display: flex;
    margin: 0 0 1rem;
    font-size: 0.75rem; }
    .product-view .stars a {
      font-size: .8em;
      margin-left: 0.5rem; }
    @media (min-width: 768px) {
      .product-view .stars {
        margin: 0 0 2rem;
        font-size: 1rem; } }
  .product-view .rating {
    color: #787878;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
    .product-view .rating span {
      margin: 0 0.125rem 0 0;
      display: flex; }
  .product-view .price {
    font-size: 1rem;
    font-weight: bold;
    margin: 0; }
    .product-view .price .original {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      .product-view .price .original:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(2.5deg);
        -ms-transform: translate(-50%, -50%) rotate(2.5deg);
        transform: translate(-50%, -50%) rotate(2.5deg);
        height: 0.125rem;
        width: 110%;
        background: currentColor; }
  .product-view .info {
    font-size: 0.9375rem; }
    .product-view .info:before, .product-view .info:after {
      display: block;
      height: 0;
      width: 100%;
      content: "";
      clear: both; }
    .product-view .info dt {
      float: left;
      margin: 0 0.5rem 0 0; }
      .product-view .info dt ~ dt {
        clear: both; }
    .product-view .info dd {
      float: left;
      width: auto;
      padding: 0; }
    .product-view .info dt:nth-of-type(n + 2), .product-view .info dd:nth-of-type(n + 2) {
      margin-top: 0.5rem; }
  @media (max-width: 991.9px) {
    .product-view .product-options .form-increment {
      margin-top: 0.5rem; } }
  .product-view .product-options .form-increment label {
    font-weight: 600;
    color: #787878; }
  .product-view .product-options .form-increment > div {
    width: 100%;
    border: none; }
    .product-view .product-options .form-increment > div input {
      width: 100%;
      text-align: left;
      border: 1px solid #D4D4D4;
      padding: 0.875rem 1rem; }
      .product-view .product-options .form-increment > div input:hover {
        background: #F7F8FB; }
      .product-view .product-options .form-increment > div input:active, .product-view .product-options .form-increment > div input:focus {
        border-color: #383838; }
  .product-view .product-options .form-increment .qty-wrapper {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: row;
    column-gap: 1rem; }
    .product-view .product-options .form-increment .qty-wrapper li {
      font-weight: 400;
      margin: 0; }
  .product-view .product-options .form-action {
    width: 100%; }
    .product-view .product-options .form-action button {
      width: 100% !important; }
    .product-view .product-options .form-action a {
      margin-top: 1rem;
      width: 100%; }
  .product-view nav.share {
    font-size: 1.25rem;
    margin: 1rem 0 0; }
    @media (min-width: 768px) {
      .product-view nav.share {
        margin: 1.25rem 0 0; } }
    @media (min-width: 992px) {
      .product-view nav.share {
        margin: 1.5rem 0 0; } }
    .product-view nav.share ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 -0.5rem; }
    .product-view nav.share li {
      margin: 0 0.5rem; }
    .product-view nav.share a {
      color: #BE1E2D; }
      .product-view nav.share a:hover, .product-view nav.share a:focus {
        color: #383838; }
  .product-view .wishlist, .product-view .form-wishlist {
    padding: 0;
    margin: 0;
    border: 0;
    width: 100%; }
    .product-view .wishlist svg, .product-view .form-wishlist svg {
      display: none; }
    .product-view .wishlist a.trigger, .product-view .form-wishlist a.trigger {
      width: 100%;
      font-weight: 500;
      text-transform: capitalize; }
    .product-view .wishlist ul.dropdown-menu, .product-view .form-wishlist ul.dropdown-menu {
      width: 100%;
      padding: 0;
      background: #fff;
      border: 1px solid #BE1E2D;
      box-shadow: 0px 0px 0.75rem rgba(0, 0, 0, 0.08);
      left: auto !important; }
      .product-view .wishlist ul.dropdown-menu > li, .product-view .form-wishlist ul.dropdown-menu > li {
        margin: 0; }
        .product-view .wishlist ul.dropdown-menu > li + li, .product-view .form-wishlist ul.dropdown-menu > li + li {
          border-top: 1px solid #D4D4D4; }
        .product-view .wishlist ul.dropdown-menu > li > button, .product-view .wishlist ul.dropdown-menu > li a, .product-view .wishlist ul.dropdown-menu > li .cancel, .product-view .form-wishlist ul.dropdown-menu > li > button, .product-view .form-wishlist ul.dropdown-menu > li a, .product-view .form-wishlist ul.dropdown-menu > li .cancel {
          transition: .25s all ease-in-out; }
          .product-view .wishlist ul.dropdown-menu > li > button:hover, .product-view .wishlist ul.dropdown-menu > li a:hover, .product-view .wishlist ul.dropdown-menu > li .cancel:hover, .product-view .form-wishlist ul.dropdown-menu > li > button:hover, .product-view .form-wishlist ul.dropdown-menu > li a:hover, .product-view .form-wishlist ul.dropdown-menu > li .cancel:hover {
            color: #BE1E2D !important;
            text-decoration: none !important; }
          .product-view .wishlist ul.dropdown-menu > li > button:active, .product-view .wishlist ul.dropdown-menu > li a:active, .product-view .wishlist ul.dropdown-menu > li .cancel:active, .product-view .form-wishlist ul.dropdown-menu > li > button:active, .product-view .form-wishlist ul.dropdown-menu > li a:active, .product-view .form-wishlist ul.dropdown-menu > li .cancel:active {
            color: #DF3041 !important; }
        .product-view .wishlist ul.dropdown-menu > li a, .product-view .form-wishlist ul.dropdown-menu > li a {
          color: #383838;
          text-decoration: none;
          text-align: left;
          padding: 0.75rem 1rem;
          font-weight: 400;
          font-size: 0.9375rem;
          border-radius: 0;
          transition: .25s all ease-in-out; }
          .product-view .wishlist ul.dropdown-menu > li a:hover, .product-view .wishlist ul.dropdown-menu > li a:focus, .product-view .form-wishlist ul.dropdown-menu > li a:hover, .product-view .form-wishlist ul.dropdown-menu > li a:focus {
            color: #BE1E2D;
            background: transparent;
            cursor: pointer; }
          .product-view .wishlist ul.dropdown-menu > li a:active, .product-view .form-wishlist ul.dropdown-menu > li a:active {
            color: #DF3041; }
        .product-view .wishlist ul.dropdown-menu > li a::after, .product-view .form-wishlist ul.dropdown-menu > li a::after {
          padding-top: auto !important; }
    .product-view .wishlist .creat-list-group, .product-view .form-wishlist .creat-list-group {
      flex-direction: column;
      width: 100%;
      gap: 1rem; }
  .product-view .set-swatch label {
    font-weight: bold; }
  .product-view .set-swatch .options label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0.5rem 0.5rem 0;
    transition: all .25s linear;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid #F7F8FB;
    box-shadow: inset 0 0 0 3px #fff; }
    .product-view .set-swatch .options label.unavailable {
      pointer-events: none;
      opacity: .5; }
      .product-view .set-swatch .options label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    .product-view .set-swatch .options label span:not(.sr-only) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: 0;
      align-items: 1;
      align-content: auto;
      flex-flow: row wrap;
      width: 100%;
      display: block;
      height: 2.5rem;
      position: relative;
      z-index: -1; }
  .product-view .set-swatch .options input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-swatch .options input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }
  .product-view #product-list-label {
    font-weight: bold;
    font-size: 0.9375rem; }
  .product-view .productOptions-list {
    border: 1px solid #D4D4D4;
    border-radius: 0.375rem;
    margin-bottom: 1rem !important; }
  .product-view .productOptions-list-item {
    display: flex;
    margin: 0;
    padding: 0.75rem; }
    .product-view .productOptions-list-item + .productOptions-list-item {
      border-top: 1px solid #D4D4D4; }
    .product-view .productOptions-list-item figure {
      margin: 0; }
    .product-view .productOptions-list-item .productOptions-list-item-content {
      display: grid;
      grid-template-columns: 1fr auto;
      column-gap: 0.75rem;
      align-items: center; }
      .product-view .productOptions-list-item .productOptions-list-item-content input {
        width: 0.9375rem; }
      .product-view .productOptions-list-item .productOptions-list-item-content label {
        margin: 0; }
  .product-view .form-el, .product-view .form-cr {
    margin: 0 0 0.75rem; }
    .product-view .form-el p, .product-view .form-el label, .product-view .form-cr p, .product-view .form-cr label {
      display: block;
      width: 100%;
      font-weight: bold;
      margin: 0 0 0.5rem; }
    .product-view .form-el small, .product-view .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #DF3041; }
  .product-view [class*="set-"] label {
    font-weight: normal; }
  .product-view [class*="set-"] .options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row wrap; }
  .product-view .set-radio label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    margin: 0 0.5rem;
    width: auto; }
    .product-view .set-radio label:before {
      content: "";
      display: block;
      width: 0.75rem;
      height: 0.75rem;
      margin: 0 0.5rem 0 0;
      border-radius: 100%;
      border: 0.125rem solid #D4D4D4; }
    .product-view .set-radio label.unavailable {
      pointer-events: none;
      opacity: .5; }
  .product-view .set-radio input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-radio input:checked + label:before {
      background: #383838;
      box-shadow: inset 0 0 0 0.1875rem #fff; }
  .product-view select {
    max-width: 18.75rem;
    margin: 0.3125rem 0; }
    .product-view select:disabled, .product-view 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; }
    .product-view select:hover, .product-view select:focus {
      border-color: #383838; }
  .product-view .set-rectangle {
    margin-bottom: 1.875rem !important; }
    .product-view .set-rectangle label {
      border: 0.0625rem solid #D4D4D4;
      padding: 0.25rem 0.75rem;
      font-size: 0.9375rem;
      margin: 0.25rem 0.25rem 0 0;
      transition: all .25s linear;
      width: auto; }
      .product-view .set-rectangle label.unavailable {
        pointer-events: none;
        background: #D4D4D4;
        opacity: .5; }
    .product-view .set-rectangle input {
      position: absolute;
      width: 1px !important;
      height: 1px;
      padding: 0;
      margin: -1px;
      border: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0); }
      .product-view .set-rectangle input:checked + label {
        background: #383838;
        border-color: #383838;
        color: #fff; }
  .product-view .set-swatch label {
    font-weight: bold; }
  .product-view .set-swatch .options label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0.5rem 0.5rem 0;
    transition: all .25s linear;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid #F7F8FB;
    box-shadow: inset 0 0 0 3px #fff; }
    .product-view .set-swatch .options label.unavailable {
      pointer-events: none;
      opacity: .5; }
      .product-view .set-swatch .options label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    .product-view .set-swatch .options label span:not(.sr-only) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: 0;
      align-items: 1;
      align-content: auto;
      flex-flow: row wrap;
      width: 100%;
      display: block;
      height: 2.5rem;
      position: relative;
      z-index: -1; }
  .product-view .set-swatch .options input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-swatch .options input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }

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

    DETAIL - DESCRIPTION TABS

\*  --------------------------------------------------------------------------  */
.description .accordion > dt {
  background: #2B2B2B;
  margin-top: 1rem;
  transition: .25s all ease-in-out; }
  @media (min-width: 768px) {
    .description .accordion > dt {
      margin-top: 1.5rem; } }
  .description .accordion > dt > button {
    color: #fff;
    padding: 0.5rem 1rem;
    max-height: 2.125rem; }
    .description .accordion > dt > button span {
      font-size: 0.5rem; }
    .description .accordion > dt > button[aria-expanded="true"] span {
      transform: rotate(180deg); }
    @media (min-width: 992px) {
      .description .accordion > dt > button {
        padding: 0.5rem 1.5rem; } }

.description .accordion > dd {
  padding: 1.5rem 0 0;
  border-bottom: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column;
  font-weight: 600;
  color: #787878; }
  .description .accordion > dd span.accent {
    color: #383838; }
  .description .accordion > dd div {
    width: 100%; }
    @media (max-width: 767.9px) {
      .description .accordion > dd div:nth-child(2) {
        margin-top: 0.75rem; } }
  @media (max-width: 767.9px) {
    .description .accordion > dd .spec-table {
      border-top: 1px solid #D4D4D4;
      padding-top: 1rem;
      margin-top: 1rem; } }
  .description .accordion > dd .spec-table ul li {
    padding: 0 0.5rem 0.5rem;
    margin: 0; }
    .description .accordion > dd .spec-table ul li:nth-child(even) {
      background-color: #F7F8FB; }
    @media (min-width: 768px) {
      .description .accordion > dd .spec-table ul li {
        padding: 0 1rem 0.5rem; } }
    .description .accordion > dd .spec-table ul li + li {
      padding: 0.5rem; }
      @media (min-width: 768px) {
        .description .accordion > dd .spec-table ul li + li {
          padding: 0.5rem 1rem; } }
  .description .accordion > dd ul li {
    text-transform: capitalize;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: row;
    column-gap: 1rem;
    padding-left: 0;
    padding-right: 1rem; }
    .description .accordion > dd ul li span {
      width: 50%; }
      @media (min-width: 992px) {
        .description .accordion > dd ul li span:nth-child(1) {
          width: 30%; } }
    .description .accordion > dd ul li + li {
      margin-top: 0.75rem; }
    @media (min-width: 992px) {
      .description .accordion > dd ul li {
        column-gap: 2rem;
        padding-right: 1.5rem; } }
  @media (min-width: 768px) {
    .description .accordion > dd {
      flex-direction: row;
      column-gap: 2rem;
      padding: 1.5rem 0 0 1rem; }
      .description .accordion > dd div {
        width: 50%; } }
  @media (min-width: 992px) {
    .description .accordion > dd {
      padding: 1.5rem 0 1.5rem 2rem;
      border: 0.0625rem solid #D4D4D4; }
      .description .accordion > dd div:nth-child(1) {
        width: 40%; }
      .description .accordion > dd div:nth-child(2) {
        width: 60%; } }

.description .accordion dd[hidden] {
  display: none; }

@media (max-width: 767.9px) {
  .description .tabs > dt {
    padding: 0.3125rem;
    border-top: 0.0625rem solid #D4D4D4;
    border-bottom: 0.0625rem solid #D4D4D4; }
    .description .tabs > dt > button[aria-expanded="true"] {
      border-bottom-color: #fff;
      font-weight: bold; }
  .description .tabs > dd {
    padding: 0.625rem 0.3125rem; } }

@media (min-width: 768px) {
  .description .tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row wrap; }
    .description .tabs > dt {
      -webkit-box-flex: 0 0 auto;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      order: 0;
      position: relative;
      z-index: 100; }
      .description .tabs > dt > button {
        padding: 0.5rem 0.75rem;
        border: 0.0625rem solid #D4D4D4;
        border-radius: 0.25rem 0.25rem 0 0; }
        .description .tabs > dt > button[aria-expanded="true"] {
          border-bottom-color: #fff;
          font-weight: bold; }
      .description .tabs > dt ~ dt {
        margin: 0 0 0 0.5rem; }
    .description .tabs > dd {
      position: relative;
      z-index: 0;
      -webkit-box-flex: 0 0 auto;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      order: 1;
      width: 100%;
      border: 0.0625rem solid #D4D4D4;
      margin-top: -0.0625rem;
      padding: 1.5rem;
      border-radius: 0 0.25rem 0.25rem 0.25rem; } }

@media (min-width: 768px) {
  #sectDescription:not([hidden]) {
    display: grid;
    grid-template-columns: 7fr 5fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 2rem; } }

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

    CART PREVIEW

    This controls the modal that appears after clicking add to cart

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

    DETAIL - CART PREVIEW

\*  --------------------------------------------------------------------------  */
#previewModal .modal-close {
  color: white; }

#previewModal .modal-header {
  padding: 0.5rem 1.5rem 0.875rem;
  border-bottom: 1px solid #F7F8FB;
  background: #383838; }
  #previewModal .modal-header h2 {
    color: white;
    margin-bottom: 0;
    line-height: 20px; }

.previewCart {
  display: grid;
  row-gap: 1rem; }
  @media (min-width: 992px) {
    .previewCart {
      grid-template-columns: 2fr 1fr;
      column-gap: 0;
      align-items: top; } }
  .previewCart .productView {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 1.5rem;
    margin-bottom: 1rem;
    order: 2; }
    @media (min-width: 992px) {
      .previewCart .productView {
        grid-template-columns: auto 1fr;
        column-gap: 1.5rem;
        order: 1; } }
    .previewCart .productView picture, .previewCart .productView img {
      width: 100%;
      max-width: 12.5rem; }
      .previewCart .productView picture img, .previewCart .productView img img {
        border: 1px solid #D4D4D4; }
    .previewCart .productView h2 {
      font-size: 1rem;
      line-height: 1.5rem;
      margin-bottom: 0.5rem; }
    .previewCart .productView p {
      margin-bottom: 0.5rem; }
    .previewCart .productView dl {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      column-gap: 0.5rem;
      row-gap: 0.5rem;
      max-width: 30rem;
      font-size: 0.9375rem; }
      .previewCart .productView dl dt ~ dt {
        margin: 0; }
  .previewCart .previewCartCheckout {
    padding: 1rem;
    border: 0.0625rem solid #D4D4D4;
    order: 1; }
    .previewCart .previewCartCheckout [class*="btn-"] {
      width: 100%;
      margin: 0; }
      .previewCart .previewCartCheckout [class*="btn-"] + [class*="btn-"] {
        margin: 0.5rem 0 0; }
    .previewCart .previewCartCheckout .CheckoutButton {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0.5rem 0 0; }
      .previewCart .previewCartCheckout .CheckoutButton > p {
        display: none; }
    .previewCart .previewCartCheckout .RemoteCheckout {
      width: 100% !important; }
      .previewCart .previewCartCheckout .RemoteCheckout p {
        display: none !important; }
      .previewCart .previewCartCheckout .RemoteCheckout div, .previewCart .previewCartCheckout .RemoteCheckout button {
        width: 100% !important; }
        .previewCart .previewCartCheckout .RemoteCheckout div .paypal-buttons, .previewCart .previewCartCheckout .RemoteCheckout button .paypal-buttons {
          background: #FFC439; }
    .previewCart .previewCartCheckout .subtotal {
      border: none;
      margin: 0.5rem 0;
      text-align: center; }
      .previewCart .previewCartCheckout .subtotal h3, .previewCart .previewCartCheckout .subtotal .h3 {
        font-family: "IBM Plex Sans", sans-serif;
        text-transform: capitalize;
        font-weight: normal;
        font-size: 0.9375rem;
        margin-bottom: 0.5rem; }
      .previewCart .previewCartCheckout .subtotal strong {
        font-weight: 600;
        font-family: "IBM Plex Sans", sans-serif; }
    .previewCart .previewCartCheckout p {
      font-size: 0.9375rem;
      margin: 0 0 1rem; }

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

    CUSTOM ELEMENTS

    These are custom elements created for specific use cases to fulfill a 
    specific client requirement.

    _cutlist.scss - used to add multiple custom configured products to a cart

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

    DETAIL - CUSTOM - CUTLIST

\*  --------------------------------------------------------------------------  */
form.cutlist table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  text-align: left; }

form.cutlist th, form.cutlist td {
  padding: 0.25rem; }

form.cutlist tbody tr:nth-child(even) td {
  background: #F7F8FB; }

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

    FEEDS

    Only files that are used by the Product Feeds Components should be loaded.

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

    PRODUCT > FEEDS > STATIC

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

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

    PRODUCT > FEEDS > CAROUSEL

\*  --------------------------------------------------------------------------  */
.similar {
  background: #F7F8FB;
  padding: 2.5rem 0; }
  @media (min-width: 992px) {
    .similar {
      padding: 3rem 0; } }

.feeds-carousel {
  position: relative;
  max-width: 87.5rem; }
  @media (min-width: 576px) {
    .feeds-carousel {
      padding-bottom: 0; } }
  .feeds-carousel .slick-slider {
    position: relative;
    margin: 0 -0.5rem;
    width: calc(100% + 1rem); }
    @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 -1.25rem;
        width: calc(100% + 2.5rem); } }
  .feeds-carousel .slick-dots {
    margin-top: 2rem; }
  .feeds-carousel .slick-initialized .slick-slide {
    display: flex; }
  .feeds-carousel .arrows-pos-side .slick-arrow.slick-prev {
    left: 0; }
    @media (min-width: 768px) {
      .feeds-carousel .arrows-pos-side .slick-arrow.slick-prev {
        left: 0; } }
  .feeds-carousel .arrows-pos-side .slick-arrow.slick-next {
    right: 0; }
    @media (min-width: 768px) {
      .feeds-carousel .arrows-pos-side .slick-arrow.slick-next {
        right: 0; } }
  .feeds-carousel .arrows-pos-side .line {
    display: none !important; }
  .feeds-carousel .carousel-heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    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: #F7F8FB;
      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 1.25rem; } }

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

    INTERIOR HERO

\*  --------------------------------------------------------------------------  */
main > header h1 {
  margin-top: 2rem; }
  main > header h1.compare {
    margin-top: 1rem; }

.bulkPricing table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid white;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .bulkPricing table {
      width: 70%; } }
  .bulkPricing table tr:nth-child(even) {
    background-color: #F7F8FB; }
  .bulkPricing table th, .bulkPricing table .qty {
    color: #787878; }
  .bulkPricing table th, .bulkPricing table td {
    font-weight: 600;
    text-align: left;
    padding: 8px; }
  @media (max-width: 767.9px) {
    .bulkPricing table th:nth-child(1) {
      padding: 0.5rem 0; } }

/*  --------------------------------------------------------------------------  *\
    GIFT-CERTIFICATES COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    GIFT CERTIFICATE - PURCHASE

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .gift-certificates .form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 1.5rem;
    grid-template-areas: 'to from' 'information information' 'actions actions'; }
    .gift-certificates .form .form-el:last-child {
      margin-bottom: 0; }
    .gift-certificates .form :nth-child(1) {
      grid-area: to; }
    .gift-certificates .form :nth-child(2) {
      grid-area: from; }
    .gift-certificates .form :nth-child(3) {
      grid-area: information; }
    .gift-certificates .form :nth-child(4) {
      grid-area: actions; } }

/*  --------------------------------------------------------------------------  *\
    OPTIMIZED-CHECKOUT COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    ORDER CONFIRMATION - SUMMARY

\*  --------------------------------------------------------------------------  */
.productList-item {
  padding: 0; }
  .productList-item:before {
    display: none; }

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

    ORDER CONFIRMATION - MESSAGES

\*  --------------------------------------------------------------------------  */
.button, .customerEmail-button {
  border-radius: 0;
  padding: 1rem; }

.button--tertiary {
  background: #F7F8FB;
  border-color: #F7F8FB;
  color: #383838; }
  .button--tertiary:hover, .button--tertiary:focus {
    background: #D4D4D4;
    border-color: #D4D4D4;
    color: #fff; }

/*  --------------------------------------------------------------------------  *\
    ORDER-CONFIRMATION COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\
    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; } }

.split-column .faq-widget {
  margin-top: 0; }
  .split-column .faq-widget button {
    color: #383838; }

.split-column img {
  width: 100%; }

@media (max-width: 991.9px) {
  .split-column div [data-content-region="image-area"] {
    display: none; } }

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

.two-columns {
  margin: 0;
  border-bottom: 1px solid #D4D4D4; }
  @media (min-width: 768px) {
    .two-columns {
      background: url("https://cdn11.bigcommerce.com/s-q58f4k8zxg/images/stencil/original/image-manager/white.png") no-repeat;
      background-size: 60%; } }
  @media (min-width: 992px) {
    .two-columns {
      background-size: 40%; } }
  .two-columns .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "right" "left"; }
    @media (max-width: 767.9px) {
      .two-columns .container {
        padding: 0; } }
    @media (min-width: 768px) {
      .two-columns .container {
        margin: 0 auto;
        grid-template-columns: 21.125rem auto;
        grid-template-areas: "left right"; } }
    @media (min-width: 992px) {
      .two-columns .container {
        grid-template-columns: 23.125rem auto; } }
  .two-columns .content-left {
    grid-area: left; }
    @media (max-width: 767.9px) {
      .two-columns .content-left {
        background: url("https://cdn11.bigcommerce.com/s-q58f4k8zxg/images/stencil/original/image-manager/white.png") no-repeat;
        background-size: cover;
        padding: 2.5rem 1rem; } }
    @media (min-width: 768px) {
      .two-columns .content-left {
        padding: 2.5rem 2.375rem 2.5rem 0; } }
    @media (min-width: 992px) {
      .two-columns .content-left {
        padding: 2.5rem 6.25rem 2.5rem 0; } }
    .two-columns .content-left .container {
      margin: 0 0 0 auto; }
    @media (min-width: 992px) {
      .two-columns .content-left > div {
        max-width: 23.1875rem; } }
    .two-columns .content-left a {
      color: #383838; }
  .two-columns .content-right {
    background: white;
    grid-area: right;
    padding: 2.5rem 1rem; }
    @media (min-width: 768px) {
      .two-columns .content-right {
        padding: 2.5rem 1.875rem 2.5rem 3.375rem; } }
    @media (min-width: 992px) {
      .two-columns .content-right {
        padding: 3rem 2rem 3rem 3.5rem; } }

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

    PAGE - NAV - INTERIOR

\*  --------------------------------------------------------------------------  */
nav.int li + li {
  margin: 0.5rem 0 0;
  padding: 0.5rem 0 0;
  border-top: 0.0625rem solid #D4D4D4; }

nav.int a {
  color: #787878; }

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

.writeReview-productDetails .product-title {
  margin-top: 0; }
  @media (max-width: 991.9px) {
    .writeReview-productDetails .product-title {
      font-size: 1rem; } }

.writeReview-productDetails .product-brand {
  display: none; }

.writeReview-productDetails .writeReview-form form, .writeReview-productDetails .writeReview-form fieldset {
  padding-top: 0; }

.writeReview-productDetails .writeReview-form small {
  color: #383838; }

.writeReview-productDetails .writeReview-productImage-container {
  grid-column: span 4;
  text-align: center; }
  @media (min-width: 768px) {
    .writeReview-productDetails .writeReview-productImage-container {
      grid-column: span 4;
      text-align: left; } }
  @media (min-width: 992px) {
    .writeReview-productDetails .writeReview-productImage-container {
      grid-column: span 5; } }
  .writeReview-productDetails .writeReview-productImage-container img {
    width: 50%;
    border: 0.0625rem solid #F7F8FB; }
    @media (min-width: 768px) {
      .writeReview-productDetails .writeReview-productImage-container img {
        width: 80%; } }

.writeReview-productDetails .writeReview-productInfo {
  grid-column: span 4; }
  @media (min-width: 768px) {
    .writeReview-productDetails .writeReview-productInfo {
      grid-column: span 4; } }
  @media (min-width: 992px) {
    .writeReview-productDetails .writeReview-productInfo {
      grid-column: span 7; } }
  .writeReview-productDetails .writeReview-productInfo .g-recaptcha > div {
    margin: 0;
    margin-top: 1rem; }
  .writeReview-productDetails .writeReview-productInfo .form-field--submit {
    margin-top: -0.625rem; }
  .writeReview-productDetails .writeReview-productInfo textarea {
    margin-top: 0.5rem; }
  .writeReview-productDetails .writeReview-productInfo select {
    max-width: none;
    margin: 0.5rem 0 1rem; }

.writeReview-productDetails .cta-wrapper {
  margin-top: 2rem; }
  @media (min-width: 992px) {
    .writeReview-productDetails .cta-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row;
      column-gap: 1rem; }
      .writeReview-productDetails .cta-wrapper .g-recaptcha {
        flex: 1; }
      .writeReview-productDetails .cta-wrapper .cta-btn {
        flex: 2; } }

.productReviews h4 {
  color: #383838; }

.productReviews #productReviews-content {
  border: 0.0625rem solid #D4D4D4;
  border-radius: 0.25rem; }

.productReviews .productReviews-list {
  padding: 0 1.5rem; }
  .productReviews .productReviews-list .productReview {
    margin: 0;
    padding: 1.5rem 0; }
    .productReviews .productReviews-list .productReview:not(:first-child) {
      border-top: 0.0625rem solid #D4D4D4; }
    .productReviews .productReviews-list .productReview .productReview-title {
      margin-bottom: 0.5rem; }
    .productReviews .productReviews-list .productReview .rating-wrapper {
      margin-bottom: 1.5rem; }

/*  --------------------------------------------------------------------------  *\
    SEARCH LAYOUT
    
    OPTIONS:
    @import 'components/search/grid';
    @import 'components/search/list';
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SEARCH - GRID

\*  --------------------------------------------------------------------------  */
.feeds-grid {
  display: flex;
  flex-direction: column; }

/*  --------------------------------------------------------------------------  *\
    SEARCH COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SEARCH - ACTION BAR

\*  --------------------------------------------------------------------------  */
.action-bar {
  padding: 1rem 0;
  font-size: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-flow: row nowrap;
  width: 100%;
  margin: 0; }
  .action-bar .form-el {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-flow: row nowrap; }
    .action-bar .form-el:only-child {
      margin: 0; }
  .action-bar select {
    font-size: 1em;
    padding: 0.75rem 1.5rem;
    min-width: 13.25rem;
    height: 2.8125rem;
    background-position: right 1rem top 50%; }
    @media (min-width: 768px) {
      .action-bar select {
        min-width: 16.25rem; } }
    @media (min-width: 992px) {
      .action-bar select {
        min-width: 18.75rem; } }
  .action-bar label {
    margin: 0 0.5rem 0 0;
    font-weight: bold;
    white-space: nowrap; }

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

    SEARCH - FACETS

\*  --------------------------------------------------------------------------  */
#faceted-search-container {
  z-index: 1000; }
  @media (min-width: 768px) {
    #faceted-search-container {
      z-index: 10;
      position: relative; } }

.nav-open .filter-wrapper {
  transition: .5s all ease-in;
  background-color: #F7F8FB; }

.filter-wrapper {
  width: 100%;
  display: flex;
  column-gap: 1rem;
  align-items: center;
  z-index: 10;
  background-color: transparent;
  transition: none; }
  .filter-wrapper label + span {
    display: flex;
    align-items: center;
    height: 2.5rem; }
  .filter-wrapper .text {
    font-weight: 600;
    min-width: 12.5rem; }
    @media (max-width: 767.9px) {
      .filter-wrapper .text {
        display: none; } }
  .filter-wrapper .toggle-trigger {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    float: left;
    margin: 0;
    background: #BE1E2D;
    transition: .25s all ease-in-out; }
    .filter-wrapper .toggle-trigger:hover, .filter-wrapper .toggle-trigger:focus {
      background: #DF3041; }
    .filter-wrapper .toggle-trigger:active {
      background: #BE1E2D; }
    .filter-wrapper .toggle-trigger .bar {
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      height: 0.125rem;
      width: 1.375rem;
      background: #fff;
      transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
      .filter-wrapper .toggle-trigger .bar:nth-child(1) {
        transform: translate(-50%, -50%) translate(0, -0.4375rem); }
      .filter-wrapper .toggle-trigger .bar:nth-child(2) {
        width: 0.9375rem;
        transform: translate(-50%, -50%); }
      .filter-wrapper .toggle-trigger .bar:nth-child(3) {
        width: 0.625rem;
        transform: translate(-50%, -50%) translate(0, 0.4375rem); }
  .filter-wrapper .toggle {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .filter-wrapper .toggle:checked + .toggle-trigger .bar:nth-child(1) {
      opacity: 0;
      transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    .filter-wrapper .toggle:checked + .toggle-trigger .bar:nth-child(2) {
      width: 0.75rem;
      -webkit-transform: translate(-80%, -1px) rotate(45deg);
      -ms-transform: translate(-80%, -1px) rotate(45deg);
      transform: translate(-80%, -1px) rotate(45deg); }
    .filter-wrapper .toggle:checked + .toggle-trigger .bar:nth-child(3) {
      width: 0.75rem;
      -webkit-transform: translate(-20%, -1px) rotate(-45deg);
      -ms-transform: translate(-20%, -1px) rotate(-45deg);
      transform: translate(-20%, -1px) rotate(-45deg); }
  @media (min-width: 992px) {
    .filter-wrapper {
      position: absolute;
      padding: 1rem 0;
      width: 25%; } }

#facetedSearch {
  background: #F7F8FB;
  padding: 1rem;
  max-height: calc(100vh - 12.5rem);
  overflow-y: scroll; }
  @media (min-width: 992px) {
    #facetedSearch {
      padding: 4rem 1.5rem 1rem 0;
      width: 23.125rem;
      height: 100%;
      min-height: 1200px; } }
  #facetedSearch::-webkit-scrollbar {
    width: 0.125rem; }
  @media (max-width: 991.9px) {
    #facetedSearch {
      display: none;
      position: absolute;
      top: 0;
      z-index: 1001;
      width: 100vw;
      min-height: 100vh !important;
      height: 100vh !important;
      left: 0;
      padding-top: 1.5rem; }
      #facetedSearch.nav-open {
        display: block; }
      #facetedSearch .header {
        display: flex;
        font-size: 0.9375rem;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem; } }
  @media (max-width: 991.9px) and (min-width: 768px) and (max-width: 991.9px) {
    #facetedSearch ul {
      columns: 2; } }
  @media (min-width: 992px) {
    #facetedSearch {
      display: block;
      position: absolute;
      top: 0;
      opacity: 0;
      transform: translateX(-150%);
      z-index: 0; }
      #facetedSearch.nav-open {
        opacity: 1;
        transform: translateX(0%); }
      #facetedSearch .header {
        display: none; } }
  @media (min-width: 1425px) {
    #facetedSearch {
      transform: translateX(-150%); } }
  @media only screen and (min-width: 2000px) {
    #facetedSearch {
      padding-left: 1rem; } }

.facet-quick-heading {
  text-transform: capitalize; }

.facetedSearch-optionColumns {
  column-count: 3;
  column-gap: 20px; }
  .facetedSearch-optionColumns li {
    padding: 0; }
    .facetedSearch-optionColumns li:before {
      background: none; }

dl.facets[data-allow-multiple] {
  margin-bottom: 0;
  /*  ----------------------------------------------------------------------  *\
        Import styling specific to facet types.

        @import 'facets/multi'; // USED FOR BOTH MULTI AND HEIRARCHIAL FILTERS
        @import 'facets/range'; // USED FOR RANGE FILTERS
        @import 'facets/ratings'; // USED FOR RATINGS FILTERS
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    SEARCH - FACETS - MULTI

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

    SEARCH - FACETS - RANGE

\*  --------------------------------------------------------------------------  */ }
  dl.facets[data-allow-multiple] dt button {
    font-weight: 500;
    font-size: 0.9375rem;
    color: #383838; }
    dl.facets[data-allow-multiple] dt button .icon-chevron-down {
      font-size: 0.625rem;
      color: #383838; }
  dl.facets[data-allow-multiple] dt div {
    font-weight: normal;
    font-size: 0.75rem;
    width: 100%;
    text-align: right;
    padding-right: 0.3125rem; }
    dl.facets[data-allow-multiple] dt div a {
      display: inline-block;
      pointer-events: initial; }
  dl.facets[data-allow-multiple] dt ~ dt {
    margin: 0; }
  dl.facets[data-allow-multiple] dd {
    margin-bottom: 0;
    padding: 0.5rem 0 1.5rem; }
    dl.facets[data-allow-multiple] dd a {
      line-height: 1.25rem; }
      dl.facets[data-allow-multiple] dd a:hover, dl.facets[data-allow-multiple] dd a:focus {
        color: #BE1E2D; }
      dl.facets[data-allow-multiple] dd a:active {
        color: #BE1E2D; }
  dl.facets[data-allow-multiple] .form-inlineMessage {
    font-size: 0.9375rem; }
  dl.facets[data-allow-multiple] ul {
    padding: 0; }
  dl.facets[data-allow-multiple] li {
    padding: 0; }
    dl.facets[data-allow-multiple] li:before {
      display: none; }
    dl.facets[data-allow-multiple] li + li {
      margin: 0.5rem 0 0; }
  dl.facets[data-allow-multiple] a {
    display: block;
    line-height: 1;
    position: relative;
    color: #383838;
    display: flex;
    align-items: center;
    column-gap: 0.25rem;
    transition: .25s all ease-in-out; }
    dl.facets[data-allow-multiple] a:before {
      position: relative;
      top: 1px;
      display: none;
      height: 1.25rem;
      width: 1.25rem;
      min-width: 1.25rem;
      border: 0.0625rem solid #D4D4D4;
      background: white;
      content: "";
      margin-right: 0.5rem; }
    dl.facets[data-allow-multiple] a:after {
      display: none;
      content: "";
      height: 0.25rem;
      width: 0.625rem;
      transform: translate(-10%, 10%) rotate(-45deg);
      content: ""; }
    dl.facets[data-allow-multiple] a:hover:before {
      background: #F7F8FB; }
    dl.facets[data-allow-multiple] a.is-active:before {
      border-color: #BE1E2D;
      background: #BE1E2D;
      color: white;
      text-align: center;
      vertical-align: middle;
      line-height: 1.1875rem;
      font-size: 0.625rem;
      content: "\f10d";
      font-family: ico; }
    dl.facets[data-allow-multiple] a.is-active:after {
      display: block;
      border-color: white; }
  dl.facets[data-allow-multiple] :root {
    --left: 15px; }
  dl.facets[data-allow-multiple] .brackets {
    position: relative;
    display: inline;
    color: #383838;
    font-size: 0.9375rem;
    padding-right: 3px; }
    dl.facets[data-allow-multiple] .brackets > * {
      margin-top: 0.1875rem; }
    @media (max-width: 767.9px) {
      dl.facets[data-allow-multiple] .brackets {
        width: auto !important; } }
    dl.facets[data-allow-multiple] .brackets.image:before, dl.facets[data-allow-multiple] .brackets.image:after {
      margin-top: -5px;
      height: calc(100% + 10px); }
      @media (min-width: 768px) {
        dl.facets[data-allow-multiple] .brackets.image:before, dl.facets[data-allow-multiple] .brackets.image:after {
          margin-top: -8px;
          height: calc(100% + 18px); } }
    dl.facets[data-allow-multiple] .brackets:before, dl.facets[data-allow-multiple] .brackets:after {
      content: "" !important;
      position: absolute;
      box-sizing: border-box;
      display: inline-block;
      opacity: 0;
      transition: transform 0.3s, opacity 0.2s;
      top: 0;
      z-index: 1;
      width: 0.75rem;
      margin-top: -4px;
      height: calc(100% + 6px);
      border: 2px solid #BE1E2D;
      padding-right: 0; }
      @media (min-width: 768px) {
        dl.facets[data-allow-multiple] .brackets:before, dl.facets[data-allow-multiple] .brackets:after {
          margin-top: -3px;
          height: calc(100% + 6px); } }
      @media (max-width: 767.9px) {
        dl.facets[data-allow-multiple] .brackets:before, dl.facets[data-allow-multiple] .brackets:after {
          content: none !important; } }
    dl.facets[data-allow-multiple] .brackets:before {
      left: -0.9375rem;
      transform: translateX(1.25rem);
      border-right: none; }
    dl.facets[data-allow-multiple] .brackets:after {
      left: var(--left);
      transform: translateX(-1.25rem);
      border-left: none; }
    dl.facets[data-allow-multiple] .brackets:hover, dl.facets[data-allow-multiple] .brackets:focus {
      font-weight: 500;
      color: #383838 !important; }
      dl.facets[data-allow-multiple] .brackets:hover:not(.image), dl.facets[data-allow-multiple] .brackets:focus:not(.image) {
        padding-right: 0px; }
      dl.facets[data-allow-multiple] .brackets:hover:before, dl.facets[data-allow-multiple] .brackets:hover:after, dl.facets[data-allow-multiple] .brackets:focus:before, dl.facets[data-allow-multiple] .brackets:focus:after {
        opacity: 1;
        transform: translateX(0px); }
  dl.facets[data-allow-multiple] a {
    margin-left: 15px; }
  dl.facets[data-allow-multiple] a::before {
    z-index: -1 !important; }
  dl.facets[data-allow-multiple] a[rel=nofollow]:before {
    display: inline-block; }
  dl.facets[data-allow-multiple] .form-fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    gap: 10px; }
    dl.facets[data-allow-multiple] .form-fieldset input {
      font-size: 0.9375rem; }
    dl.facets[data-allow-multiple] .form-fieldset .form-el {
      margin: 0; }
    dl.facets[data-allow-multiple] .form-fieldset button {
      max-height: 2.5625rem; }

dl.facets #sectRefineBy a.is-active {
  color: #383838; }
  dl.facets #sectRefineBy a.is-active::before {
    transition: .25s all ease-in-out; }
  dl.facets #sectRefineBy a.is-active:hover {
    color: #BE1E2D; }
    dl.facets #sectRefineBy a.is-active:hover::before {
      border-color: #BE1E2D;
      color: #BE1E2D; }
  dl.facets #sectRefineBy a.is-active:focus {
    color: #DF3041; }
    dl.facets #sectRefineBy a.is-active:focus::before {
      border-color: #DF3041;
      color: #DF3041; }

dl.facets #sectRefineBy .btn-secondary {
  width: 100% !important; }

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

    SEARCH - HERO

\*  --------------------------------------------------------------------------  */
main > header.search h1 {
  margin: 0 0 1rem; }
  @media (min-width: 768px) {
    main > header.search h1 {
      margin: 0 0 1.25rem; } }
  @media (min-width: 992px) {
    main > header.search h1 {
      margin: 0 0 1.5rem; } }

main > header.search .form-el {
  border: 0.0625rem solid #787878;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-flow: row nowrap;
  max-width: 34.375rem; }
  main > header.search .form-el input {
    padding: 0.5rem 0.75rem;
    border: none;
    font-size: 1.25rem; }
  main > header.search .form-el button {
    padding: 0.5rem;
    font-size: 1.25rem; }

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

    SEARCH - LAYOUT

\*  --------------------------------------------------------------------------  */
.layout-search aside nav {
  position: relative;
  position: -webkit-sticky;
  position: sticky; }
  @supports (position: -webkit-sticky) {
    .layout-search aside nav {
      top: 5rem; } }
  @supports (position: sticky) {
    .layout-search aside nav {
      top: 5rem; } }
  @media (min-width: 992px) {
    .layout-search aside nav {
      position: relative;
      position: -webkit-sticky;
      position: sticky; }
      @supports (position: -webkit-sticky) {
        .layout-search aside nav {
          top: 9.375rem; } }
      @supports (position: sticky) {
        .layout-search aside nav {
          top: 9.375rem; } } }

@media (max-width: 991.9px) {
  .layout-search {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "filter sort" "list list";
    align-items: center; }
    .layout-search aside {
      grid-area: filter; }
    .layout-search:nth-child(2) {
      grid-area: sort; }
    .layout-search #product-listing-container {
      grid-area: list; } }

.layout-search.nav-open {
  background: linear-gradient(to right, #F7F8FB 15%, white 0); }
  @media only screen and (min-width: 1900px) {
    .layout-search.nav-open {
      background: linear-gradient(to right, #F7F8FB 25%, white 0); } }

.layout-search #product-listing-container {
  background: white;
  overflow-x: scroll;
  transition: .8s all ease-in-out; }
  .layout-search #product-listing-container.nav-open {
    transform: translateX(410px); }

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

    SEARCH - SEARCH

\*  --------------------------------------------------------------------------  */
.search .form-el > div {
  border: 0.0625rem solid #D4D4D4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  flex-flow: row wrap;
  max-width: 34.375rem; }

.search .form-el input {
  border: none;
  width: calc(100% - 2.5rem); }

.search .form-el button {
  width: 2.5rem;
  height: 2.5rem; }

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

    SEARCH - FACETS - SELECTED

\*  --------------------------------------------------------------------------  */
dl.selected.facets {
  font-size: 0.9375rem; }
  dl.selected.facets .icon-chevron-down {
    font-size: 0.625rem;
    color: #383838; }
  dl.selected.facets ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: row wrap;
    gap: 0.5rem;
    margin-left: 0; }
    dl.selected.facets ul li {
      padding: 0; }
      dl.selected.facets ul li a {
        padding: 0;
        color: #383838;
        border: 1px solid #787878;
        padding: 0.125rem 0.375rem 0.125rem 0; }
        dl.selected.facets ul li a:before {
          content: "\00d7";
          position: static;
          margin: 0 0.25rem;
          transform: none;
          display: inline-block;
          width: 0.75rem;
          height: 0.75rem;
          line-height: 0.5625rem;
          text-indent: 0;
          font-size: 0.9375rem;
          text-align: center; }
        dl.selected.facets ul li a:after {
          display: none; }

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

/*  --------------------------------------------------------------------------  *\
    ACCOUNT COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    ACCOUNT - BASE - TOP - NAV

\*  --------------------------------------------------------------------------  */
nav {
  margin: 0 !important; }

nav.account {
  padding: 0 0 2rem 0; }
  nav.account ul {
    background-color: #F7F8FB;
    padding: 0.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column nowrap; }
    nav.account ul li {
      padding: 0.8125rem 0;
      margin: 0 0.75rem;
      border-bottom: 1px solid #D4D4D4;
      width: 100%;
      text-align: center; }
      @media (min-width: 992px) {
        nav.account ul li {
          margin: 0 1.375rem; } }
      nav.account ul li:last-of-type {
        border: 2px solid fuchsia;
        border: 0; }
    @media (min-width: 576px) {
      nav.account ul {
        flex-direction: row; }
        nav.account ul li {
          padding: 0;
          text-align: auto;
          width: auto;
          border: 0; } }
  nav.account .is-active a {
    color: #BE1E2D;
    font-weight: bold; }
  nav.account a {
    display: block;
    color: #383838;
    text-decoration: none; }
    nav.account a:hover, nav.account a:focus {
      color: #BE1E2D; }
    nav.account a:active {
      color: #DF3041; }

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

    ACCOUNT - BASE - VERTICAL - LAYOUT

\*  --------------------------------------------------------------------------  */
[class^="page-type-account"] > main,
[class^="page-type-editaccount"] > main,
[class^="page-type-shippingaddressform"] > main,
[class^="page-type-wishlist"] > main {
  display: block; }

.account {
  /*  --------------------------------------------------------------------------  *\

    ACCOUNT - ORDERS - LIST ORDERS

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

    ACCOUNT - ORDERS - CARD

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

    ACCOUNT - ORDERS - TOTALS

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

    ACCOUNT - ORDERS - DETAIL

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

    ACCOUNT - MESSAGES - LIST

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

    ACCOUNT - ADDRESSES

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

    ACCOUNT - SETTINGS - FORMS

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

    ACCOUNT - WISHLIST - LIST

\*  --------------------------------------------------------------------------  */ }
  .account .feed-orders, .account .feeds-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    row-gap: 1rem;
    column-gap: 1rem; }
    @media (min-width: 768px) {
      .account .feed-orders, .account .feeds-grid {
        grid-template-columns: 1fr 1fr 1fr; } }
    @media (min-width: 992px) {
      .account .feed-orders, .account .feeds-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr; } }
    @media (min-width: 768px) {
      .account .feed-orders.wishlist, .account .feeds-grid.wishlist {
        grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 992px) {
      .account .feed-orders.wishlist, .account .feeds-grid.wishlist {
        grid-template-columns: repeat(5, 1fr); } }
  .account .feed-contents {
    padding-bottom: 2rem; }
  .account .order-card {
    border: 0.0625rem solid #D4D4D4;
    padding: 1rem; }
    .account .order-card + .order-card {
      border-top: none; }
    .account .order-card .img picture, .account .order-card .img img {
      width: 100%;
      height: auto; }
    .account .order-card .cnt {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-flow: column nowrap; }
      .account .order-card .cnt > * {
        order: 1; }
      .account .order-card .cnt h4 {
        order: 0;
        text-transform: none;
        padding: 0.25rem 0.375rem;
        width: 100%;
        text-align: center;
        background: #F7F8FB;
        border-radius: 0.625rem;
        color: #383838;
        font-size: 0.9375rem; }
      .account .order-card .cnt h5 {
        display: flex;
        align-items: center;
        gap: 0.5rem; }
        .account .order-card .cnt h5 input {
          width: 0.75rem;
          height: 0.75rem; }
        .account .order-card .cnt h5 label::before {
          margin-bottom: 8px; }
        .account .order-card .cnt h5 label::after {
          transform: translate(2px, -55px) rotate(-45deg) !important; }
    .account .order-card h3, .account .order-card .h3 {
      padding-top: 1rem; }
    .account .order-card dl {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-flow: row wrap; }
    .account .order-card dt {
      width: 50%;
      margin: 0; }
    .account .order-card dd {
      width: 50%;
      margin: 0; }
    .account .order-card.img-side {
      display: grid;
      grid-template-columns: 1fr 3fr;
      row-gap: 1rem;
      column-gap: 2rem; }
      .account .order-card.img-side dl {
        max-width: 9.375rem; }
  .account .order-totals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 1rem;
    text-align: left; }
    .account .order-totals dt {
      margin: 0; }
    .account .order-totals dd {
      text-align: right; }
  .account aside dl {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    grid-template-rows: auto;
    row-gap: 0.5rem;
    column-gap: 0.5rem; }
  .account table.messages {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem; }
    .account table.messages th, .account table.messages td {
      padding: 0.5rem 1rem; }
    .account table.messages th:nth-child(1) {
      width: 8.333%; }
    .account table.messages th:nth-child(2) {
      width: 25%; }
    .account table.messages th:nth-child(3) {
      text-align: left; }
    .account table.messages td:nth-child(1), .account table.messages td:nth-child(2) {
      text-align: center; }
    .account table.messages td:only-child {
      text-align: left; }
    .account table.messages tr:nth-child(4n + 3) td, .account table.messages tr:nth-child(4n + 4) td {
      background: #F7F8FB; }
    .account table.messages h3, .account table.messages .h3 {
      font-size: 1em;
      font-weight: bold;
      margin: 0; }
  .account .address-card {
    box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04);
    padding: 1rem;
    border-radius: 0.5rem; }
    .account .address-card address {
      margin: 0 0 0.5rem; }
    .account .address-card dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row wrap; }
  .account dl.address-details {
    display: flex; }
  .account .feed-addresses {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 1rem;
    column-gap: 1rem;
    margin: 0 0 2rem; }
    @media (min-width: 768px) {
      .account .feed-addresses {
        grid-template-columns: 1fr 1fr; } }
    @media (min-width: 992px) {
      .account .feed-addresses {
        grid-template-columns: 1fr 1fr 1fr; } }
    .account .feed-addresses .card {
      border: 1px solid #D4D4D4;
      padding: 1rem; }
      .account .feed-addresses .card h2 {
        font-size: 1.125rem;
        text-transform: capitalize; }
      .account .feed-addresses .card address {
        font-style: normal;
        text-transform: capitalize; }
      .account .feed-addresses .card .form-actions {
        justify-content: start;
        column-gap: 0.5rem; }
        .account .feed-addresses .card .form-actions a, .account .feed-addresses .card .form-actions button {
          margin: 0;
          width: auto; }
  .account #FormField_26 {
    display: none; }
  .account form.form-rows {
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .account form.form-rows[data-edit-account-form] {
        display: flex !important; } }
    .account form.form-rows .form-el[data-type*="Address"] {
      width: 100%; }
  .account .form-actions {
    justify-content: center; }
    @media (max-width: 767.9px) {
      .account .form-actions button {
        margin-right: 0 !important;
        width: 100%; } }
  .account table.wishlist {
    width: 100%;
    border-collapse: collapse; }
    .account table.wishlist th {
      padding: 0.5rem 0.75rem;
      border-bottom: 0.0625rem solid #D4D4D4; }
      .account table.wishlist th:first-child {
        width: 50%;
        text-align: left; }
      .account table.wishlist th:nth-child(n + 2) {
        width: 12.5%; }
      .account table.wishlist th:last-child {
        width: 25%; }
    .account table.wishlist tr:nth-child(even) td {
      background: #F7F8FB; }
    .account table.wishlist tr td {
      padding: 0.5rem 0.75rem;
      border: none; }
      .account table.wishlist tr td:nth-child(n + 2) {
        text-align: center; }
    .account table.wishlist form {
      margin: 0; }
  .account .form-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
    .account .form-actions [class*="btn-"] ~ [class*="btn-"] {
      margin-left: 1.5rem; }
  .account .share-link h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: 0;
    align-items: 0;
    align-content: auto;
    flex-flow: row wrap;
    white-space: nowrap;
    margin: 0 0.5rem 0 0;
    font-size: 1.125rem; }
  .account .share-link input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: 0;
    align-items: 1;
    align-content: auto;
    flex-flow: row wrap;
    font-size: 1rem;
    padding: 0.5rem 0.75rem;
    width: 100%;
    border: 0.125rem solid #D4D4D4;
    background: #F7F8FB; }
  @media (min-width: 768px) {
    .account .share-link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap; } }
  .account .wishlist-item {
    display: flex;
    flex-direction: column; }
    .account .wishlist-item .card {
      flex: 1;
      border: 1px solid #D4D4D4;
      display: flex;
      flex-direction: column;
      padding: 0.75rem; }
      @media (min-width: 992px) {
        .account .wishlist-item .card {
          padding: 1rem 1.5rem 1.5rem; } }
    .account .wishlist-item .img {
      text-align: center;
      margin-bottom: 0.25rem;
      margin-top: 0.25rem; }
    .account .wishlist-item picture:hover img, .account .wishlist-item .img:hover img {
      transform: scale(1.05); }
    .account .wishlist-item picture img, .account .wishlist-item .img img {
      transition: .25s all ease-in-out;
      object-fit: contain;
      width: 100%;
      margin: 0 auto;
      transform: scale(0.9); }
    .account .wishlist-item h3 {
      font-weight: 500;
      font-size: 0.9375rem;
      min-height: 1.125rem;
      margin-bottom: 0;
      line-height: 1.125rem; }
      .account .wishlist-item h3 a {
        color: #383838; }
        .account .wishlist-item h3 a:hover {
          color: #BE1E2D; }
        .account .wishlist-item h3 a:active {
          color: #DF3041; }
    .account .wishlist-item p {
      font-size: 0.9375rem;
      margin-top: 0.5rem; }
    .account .wishlist-item form {
      margin: 1rem 0 0; }
      .account .wishlist-item form button {
        font-weight: 400;
        color: #787878;
        transition: .25s all ease-in-out; }
        .account .wishlist-item form button:hover, .account .wishlist-item form button:active {
          color: #383838; }
  .account .wishlist-add form {
    justify-content: start;
    gap: 1rem; }
    .account .wishlist-add form .sharelist {
      display: flex;
      gap: 0.5rem; }
      .account .wishlist-add form .sharelist input[type="checkbox"] {
        appearance: none;
        padding: 0;
        background: white;
        width: 1rem;
        height: 1rem;
        border: 0.0625rem solid #D4D4D4;
        display: grid;
        place-content: center;
        transition: .25s all ease-in-out; }
        @media (min-width: 1425px) {
          .account .wishlist-add form .sharelist input[type="checkbox"] {
            width: 1.25rem;
            height: 1.25rem; } }
        .account .wishlist-add form .sharelist input[type="checkbox"]:hover {
          background: #F7F8FB; }
        .account .wishlist-add form .sharelist input[type="checkbox"]:after {
          content: "";
          height: 0.25rem;
          width: 0.625rem;
          border: 0.125rem solid transparent;
          transform: translate(0%, -50%) rotate(-45deg); }
        .account .wishlist-add form .sharelist input[type="checkbox"]:checked {
          border-color: #BE1E2D;
          background: #BE1E2D; }
          .account .wishlist-add form .sharelist input[type="checkbox"]:checked:after {
            border-left-color: #fff;
            border-bottom-color: #fff; }
  .account h2 {
    font-size: 1.125rem; }
    @media (min-width: 992px) {
      .account h2 {
        font-size: 1.25rem; } }
  .account .form-actions .btn-primary {
    margin-right: 1rem; }

.account .container {
  padding-bottom: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: column nowrap; }
  .account .container > nav {
    order: 0;
    margin: 0 0 1.5rem;
    grid-area: nav; }
  .account .container > .cnt {
    order: 1;
    grid-area: content; }
  .account .container.w-aside {
    display: grid;
    grid-template-areas: 'nav' 'content' 'aside';
    grid-template-columns: 1fr;
    row-gap: 2rem;
    border: none; }
    @media (min-width: 768px) {
      .account .container.w-aside {
        grid-template-areas: 'nav nav' 'aside content';
        grid-template-columns: 1fr 1fr;
        column-gap: 5rem;
        row-gap: 0; } }
    .account .container.w-aside > .cnt h2 {
      border-bottom: 1px solid #D4D4D4; }
    .account .container.w-aside > aside {
      grid-area: aside; }
      .account .container.w-aside > aside h2 {
        border-bottom: 1px solid #D4D4D4; }

.account-created {
  min-height: 30vh; }

/*  --------------------------------------------------------------------------  *\
    B2B EDITION STYLING
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    B2B EDITION STYLING

\*  --------------------------------------------------------------------------  */
.page-type-editaccount .account form {
  display: none; }

.b3_container .page-type-account_orderstatus section .account, .b3_container .page-type-account_orderstatus section .cnt,
.b3_container .page-type-account_returns section .account,
.b3_container .page-type-account_returns section .cnt,
.b3_container .page-type-account_inbox section .account,
.b3_container .page-type-account_inbox section .cnt,
.b3_container .page-type-account_addressbook section .account,
.b3_container .page-type-account_addressbook section .cnt,
.b3_container .page-type-wishlists section .account,
.b3_container .page-type-wishlists section .cnt,
.b3_container .page-type-account_recentitems section .account,
.b3_container .page-type-account_recentitems section .cnt {
  display: none; }

nav.account_nav {
  display: none !important; }

.modal-close:focus::after, .modal-close:focus::before {
  display: none; }

#add-to-cart-wrapper .form-action {
  margin-top: 0; }

#add-to-cart-wrapper .rfq-button-container.rfq-pdp-button-container {
  display: flex !important; }

.tingle-modal-box {
  border-radius: 0 !important; }
  .tingle-modal-box__content {
    padding: 1rem; }
    .tingle-modal-box__content .form-field {
      margin-bottom: 0.5rem; }
    .tingle-modal-box__content .modal-header {
      position: relative; }
      .tingle-modal-box__content .modal-header .modal-close {
        position: absolute;
        font-size: 40px;
        position: absolute;
        color: #383838;
        top: -0.5rem;
        right: -0.5rem; }
    .tingle-modal-box__content .modal-close--button {
      padding-left: 0; }
    .tingle-modal-box__content .shopping-list-wraper li:hover, .tingle-modal-box__content .shopping-list-wraper li:active, .tingle-modal-box__content .shopping-list-wraper li:focus, .tingle-modal-box__content .shopping-list-wraper li.active {
      list-style-type: none !important;
      background: transparent !important;
      color: #BE1E2D !important;
      font-weight: 500; }

.b2b-wrap #shopping_list_name + .action-link {
  border: none; }

.b2b-wrap table tr:hover {
  background-color: #F7F8FB !important; }

#invoice-detail-pending .invoice-detail-pending {
  background-color: #e5e5e5 !important; }

.dropdown-menu {
  display: none;
  position: absolute;
  right: 0; }

.dropdown-menu.show-action {
  background-color: white;
  border: 1px solid #D4D4D4;
  left: unset !important;
  width: fit-content;
  z-index: 10; }

.cart-info {
  color: #757575; }

.file-upload-drop {
  color: #757575; }

.card-figcaption-body > button {
  width: 100%; }

.card-figcaption-body input {
  vertical-align: middle; }

#navPages-account .navPage-subMenu-list .navPage-subMenu-action.navPages-action {
  padding-left: 0; }

#shopping_lists_table td {
  text-transform: capitalize !important; }

#shopping_list_table .product-options {
  color: inherit !important; }

#add_new_shoppingList {
  font-size: 0.9375rem !important; }
  #add_new_shoppingList:hover, #add_new_shoppingList:focus {
    background: #D4D4D4; }

#new_shopping_list_form {
  padding: 1rem; }

.shopping-lists-table .actions-field, .quote-list-table .actions-field {
  text-align: right !important; }
  .shopping-lists-table .actions-field .td-action-dropdown, .quote-list-table .actions-field .td-action-dropdown {
    position: relative;
    right: 9x; }
  .shopping-lists-table .actions-field .dropdown-menu .dropdown-menu-item, .quote-list-table .actions-field .dropdown-menu .dropdown-menu-item {
    text-align: right !important; }

.th-checkbox {
  width: auto !important; }

.c00220, .c00220 {
  align-items: flex-end !important; }

.action-link {
  display: inline-flex !important; }
  .action-link:hover {
    text-decoration: none !important; }

.fa-search {
  display: none; }

.bottom-cart-container {
  bottom: -192px !important;
  border-top: 1px solid #D4D4D4; }
  @media only screen and (min-width: 569px) {
    .bottom-cart-container {
      bottom: -140px !important; } }

.bottom-cart-toggle {
  top: -3.75rem !important;
  border: 1px solid #D4D4D4;
  border-bottom: none; }

.bottom-cart-container, .bottom-cart-toggle {
  background-color: #F7F8FB !important; }

.bottom-cart-inner {
  padding: 20px !important; }
  .bottom-cart-inner .button {
    height: 60px; }
  .bottom-cart-inner #add_to_cart {
    top: -58px !important;
    right: 10px; }

#shoppinglist-dropdown a {
  margin: 0 !important;
  color: #383838; }

nav.navBar {
  height: 0 !important;
  visibility: hidden; }

.account-body {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  column-gap: 3.75rem; }

.account-content .button {
  column-gap: 0.375rem; }

.account-content h6 {
  font-size: 1rem; }

.account-list {
  list-style: none;
  margin-left: 0; }

.account-listItem {
  border-bottom: 1px solid #e5e5e5;
  padding: 1.5rem 0;
  position: relative; }
  .account-listItem input[type="checkbox"] {
    border: none;
    width: 0;
    height: 0;
    display: none !important;
    appearance: none !important; }
    .account-listItem input[type="checkbox"] + label:before {
      content: "";
      display: block;
      height: 20px !important;
      width: 20px !important;
      border-radius: 0 !important;
      border: 1px solid #D4D4D4 !important; }
    .account-listItem input[type="checkbox"] + label:after {
      content: "";
      display: block;
      height: 4px !important;
      width: 12px !important;
      border: 3px solid transparent !important;
      transform: translate(2px, -20px) rotate(-45deg) !important;
      background: transparent !important; }
    .account-listItem input[type="checkbox"]:checked + label::before {
      border-color: #BE1E2D !important;
      background-color: #BE1E2D !important; }
    .account-listItem input[type="checkbox"]:checked + label:after {
      border-left-color: white !important;
      border-bottom-color: white !important; }

.account-product--alignMiddle {
  display: table;
  width: 100%; }

.account-product:after, .account-product:before {
  content: " ";
  display: table; }

.account-product--alignMiddle .account-product-checkItem {
  left: 0rem; }

.account-product--alignMiddle .account-product-checkItem {
  display: table-cell;
  position: relative;
  vertical-align: middle;
  width: 2rem; }

.is-srOnly {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.account-product--alignMiddle .account-product-body {
  padding-left: 2rem;
  vertical-align: middle; }

.account-product-body:after, .account-product-body:before {
  content: " ";
  display: table; }

.account-product-price {
  float: right;
  font-size: 15px; }

.account-orderTotal {
  float: right;
  font-size: 15px;
  margin-top: -1.5rem;
  width: 66.66667%; }

.account-orderTotal-key {
  color: #757575;
  float: left;
  font-weight: 400;
  padding: 1.5rem 0; }

.account-orderTotal-value {
  border-bottom: 1px solid #e5e5e5;
  text-align: right;
  padding: 1.5rem 0; }

.account-sidebar dl {
  display: block !important; }

.account-sidebar .definitionList-key {
  color: #757575;
  float: left;
  font-weight: 400;
  margin: 0 0.35714rem 0 0; }

.address-lists-wrap {
  padding: 0 !important; }
  .address-lists-wrap input, .address-lists-wrap .button {
    height: 2.375rem !important; }
  @media (max-width: 767.9px) {
    .address-lists-wrap #filter_open_button, .address-lists-wrap #add_new_address_button {
      width: 100%;
      margin: 0.5rem 0 0 !important; } }

.c0010 .address-lists-wrap .addressList {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  margin-left: 0;
  margin-right: 0;
  justify-content: space-between; }

.c0010 .address-lists-wrap .addressList .address-default {
  width: 50%; }

.address-lists-wrap .account-body {
  display: block; }
  .address-lists-wrap .account-body ul li + li, .address-lists-wrap .account-body ol li + li {
    margin: 0; }

.addressList li {
  background-color: #F7F8FB; }

.c0087, .c0088 {
  padding: 0; }

.c00360 {
  height: 47px;
  margin-top: 0 !important; }

#shoppinglist-dropdown {
  border: 2px solid fuchsia;
  position: inherit !important;
  display: none; }
  #shoppinglist-dropdown.f-open-dropdown {
    display: block; }

.creat-list-group div {
  flex-direction: row !important; }

.c00159 {
  margin-bottom: 20px; }

.c00288 {
  border: 0 !important; }

.c002 tr th {
  font-weight: 500 !important; }

.c002 .title-wrap {
  margin-bottom: 1rem !important; }
  .c002 .title-wrap h2 {
    margin-bottom: 1rem !important; }
    @media (min-width: 768px) {
      .c002 .title-wrap h2 {
        font-size: 1.875rem !important; } }

.c002.c0014 .title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-flow: column;
  margin-bottom: 0.5rem !important; }
  @media (min-width: 768px) {
    .c002.c0014 .title-wrap {
      flex-direction: row; } }

.c002.c0014 .title-actions {
  margin-top: 0 !important; }

.c002.c008 .title-wrap h2 {
  margin-bottom: 1rem !important;
  margin-right: 0.5rem !important;
  text-transform: capitalize; }

.c002.c008 .title-wrap a i {
  color: #BE1E2D;
  transition: .25s all ease-in-out; }

.c002.c008 .title-wrap a:hover i {
  color: #DF3041; }

.c002.c008 .title-wrap a:active i {
  color: #383838; }

.c002 .qty-wraper span {
  background: white; }

.c002.c006 * {
  font-weight: 500 !important; }

.c002.c006 .quick-order-pad-wrap.quick-pad-right {
  border-color: #D4D4D4; }

.c002.c006 .sku-search-button {
  background: white;
  border-radius: 0 !important;
  transition: .25s all ease-in-out; }
  .c002.c006 .sku-search-button:hover {
    border-color: #BE1E2D !important;
    background: #BE1E2D;
    color: white; }
  .c002.c006 .sku-search-button:active {
    background: #BE1E2D;
    border-color: #BE1E2D !important; }

.c002 .addressList * {
  font-weight: 500 !important; }

.c002 .action-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column;
  grid-gap: 0.5rem;
  margin-bottom: 0.5rem !important; }
  @media (min-width: 768px) {
    .c002 .action-links {
      flex-direction: row; } }

.c002 .search-toolbar input, .c002 .search-toolbar .button, .c002 .quotes-search-form input, .c002 .quotes-search-form .button, .c002 .orders-search-company input, .c002 .orders-search-company .button {
  height: 2.3125rem !important;
  border-radius: 0 !important;
  column-gap: 0.375rem; }

.c002 .filter-by-date input {
  border-radius: 0 !important; }

.c002 .form-wrap {
  padding-bottom: 1.25rem !important;
  border-color: #D4D4D4 !important; }

.c002 .form-label {
  margin-bottom: 0.375rem;
  display: inline-block;
  width: 100%; }

.c002 .form-input-desc {
  margin-bottom: 1rem; }

.c002 input {
  border-color: #D4D4D4 !important; }

.c002 .product-subtotal, .c002 .product-price {
  font-weight: 500 !important;
  font-size: 1rem !important; }

.c00138 li {
  padding-left: 0; }

.dp-modal .dp:before {
  background: #BE1E2D; }

.dp-modal .dp-selected {
  background: #BE1E2D; }
  .dp-modal .dp-selected:hover, .dp-modal .dp-selected:focus {
    background: #BE1E2D; }

.pagination-list {
  margin-bottom: 1rem; }
  .pagination-list a:hover {
    color: #BE1E2D; }
  .pagination-list a:active {
    color: #DF3041; }

.c005 .buy-again-lists-table .qty-wraper {
  border-color: #D4D4D4 !important;
  border-radius: 0 !important; }

.c009 .order-number:hover {
  color: #DF3041 !important;
  text-decoration: none !important; }

.c009 .order-number:active {
  color: #383838 !important; }

.c00409 .rfq-items-info-thead {
  background: #383838 !important; }

.c00409 .rfq-header-icons * {
  font-weight: 500 !important; }

.c00409 .rfq-container-wrap .rfq-store-info p:first-child, .c00409 .rfq-container-wrap .rfq-store-info p.title, .c00409 .rfq-container-wrap .rfq-person-info p:first-child, .c00409 .rfq-container-wrap .rfq-person-info p.title, .c00409 .rfq-container-wrap .rfq-quote-info p:first-child, .c00409 .rfq-container-wrap .rfq-quote-info p.title {
  font-weight: 500 !important; }

.c00409 .rfq-header-icons, .c00409 .rfq-container-wrap {
  border-width: 1px !important; }

.c00409 .c00239 .rfq-total-td {
  font-weight: 500 !important; }

.c00409 .c00235 button {
  background: #D4D4D4;
  border-radius: 0; }

.epic-trigger-btn {
  width: 100%; }

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

    WIDGETS

    This loads all widget styling on the website.

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

.loaded {
  opacity: 1 !important; }
  .loaded * {
    top: 0 !important; }

.reveal {
  position: relative;
  transform: translateY(50px);
  opacity: 0;
  transition: 1s all ease; }
  .reveal.active {
    transform: translateY(0);
    opacity: 1; }

@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 slideUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

@-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 fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, var(--animationDistance), 0);
    transform: translate3d(0, var(--animationDistance), 0); } }

@-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; }

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

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

@-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; }

@-webkit-keyframes zoom-animation {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.5, 1.5, 1);
    transform: scale3d(1.5, 1.5, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes zoom-animation {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.5, 1.5, 1);
    transform: scale3d(1.5, 1.5, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes movingUp {
  0% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
    visibility: visible; }
  50% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  100% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
    visibility: visible; } }

@keyframes movingUp {
  0% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
    visibility: visible; }
  50% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  100% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
    visibility: visible; } }

@-webkit-keyframes moveUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes moveUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes moveOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  to {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); } }

@keyframes moveOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  to {
    -webkit-transform: translateY(20px);
    transform: translateY(20px); } }

/* -------------------------------------------------------------------------- */
/*                           HOMEPAGE HERO CAROUSEL                           */
/* -------------------------------------------------------------------------- */
.homepage-hero {
  position: relative;
  margin-top: 0;
  background: #383838;
  --animationDistance: 15px; }
  .homepage-hero .slick-initialized .slick-slide {
    display: flex;
    justify-content: flex-end; }
    @media (min-width: 992px) {
      .homepage-hero .slick-initialized .slick-slide {
        justify-content: flex-start; } }
  .homepage-hero .slick-slider {
    margin: 0;
    width: 100%; }
  .homepage-hero .slick-list {
    padding: 0; }
  .homepage-hero .slick-arrow.slick-prev {
    left: 1.5%; }
    @media (min-width: 1425px) {
      .homepage-hero .slick-arrow.slick-prev {
        left: 3%; } }
  .homepage-hero .slick-arrow.slick-next {
    right: 1.5%; }
    @media (min-width: 1425px) {
      .homepage-hero .slick-arrow.slick-next {
        right: 3%; } }
  .homepage-hero h1 {
    color: white;
    transition: all .3s ease; }
  .homepage-hero .content p {
    transition: all .3s ease;
    color: white;
    font-size: 1rem;
    line-height: 1.5rem; }
  .homepage-hero .slick-slide div div {
    visibility: hidden;
    animation-delay: 0ms;
    animation-name: fadeOutDown;
    animation-duration: 1.3s; }
  .homepage-hero .slick-current div div {
    visibility: visible;
    animation-delay: 50ms;
    animation-name: fadeInUp; }
  .homepage-hero--slide {
    flex-direction: column;
    text-align: center;
    position: relative; }
    @media (min-width: 768px) {
      .homepage-hero--slide {
        text-align: left; } }
    .homepage-hero--slide .container {
      display: grid;
      grid-template-columns: 1fr; }
      @media (min-width: 768px) {
        .homepage-hero--slide .container {
          margin: 0;
          grid-template-columns: repeat(12, 1fr); } }
    .homepage-hero--slide .overlay {
      background: linear-gradient(270deg, rgba(1, 1, 1, 0.32) 0%, rgba(0, 0, 0, 0) 166.87%);
      position: absolute;
      left: 0;
      height: 100%;
      top: 0; }
      @media (min-width: 768px) {
        .homepage-hero--slide .overlay {
          position: relative;
          background: none;
          height: auto; } }
  @media (min-width: 992px) {
    .homepage-hero .container {
      margin: 0 auto; } }
  .homepage-hero picture {
    height: auto; }
    .homepage-hero picture img {
      width: 100vw;
      object-fit: cover;
      z-index: -1;
      top: 0;
      position: relative;
      height: 100%; }
      @media (min-width: 768px) {
        .homepage-hero picture img {
          position: absolute; } }
  .homepage-hero .custom-dot-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    background-color: darkcyan;
    height: 0; }
    @media (min-width: 768px) {
      .homepage-hero .custom-dot-wrapper {
        grid-template-columns: repeat(12, 1fr); } }
    .homepage-hero .custom-dot-wrapper .custom-dot-holder {
      position: relative;
      bottom: 1.5625rem;
      z-index: 1; }
      @media (min-width: 768px) {
        .homepage-hero .custom-dot-wrapper .custom-dot-holder {
          bottom: 2.5rem; } }
      .homepage-hero .custom-dot-wrapper .custom-dot-holder .slick-dots {
        justify-content: center; }
        @media (min-width: 768px) {
          .homepage-hero .custom-dot-wrapper .custom-dot-holder .slick-dots {
            justify-content: left; } }
  .homepage-hero .homepage-hero--slide .container > div {
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 5rem 0; }
    @media (min-width: 768px) {
      .homepage-hero .homepage-hero--slide .container > div {
        min-height: 31.25rem;
        justify-items: left; } }
  @media (min-width: 768px) {
    .homepage-hero.left .homepage-hero--slide {
      background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(1, 1, 1, 0.5) 100%); } }
  @media (min-width: 768px) {
    .homepage-hero.left .homepage-hero--slide .container > div,
    .homepage-hero.left .custom-dot-holder {
      grid-column: 1 / span 6;
      padding-left: 1.5rem;
      justify-items: left; } }
  @media (min-width: 992px) {
    .homepage-hero.left .homepage-hero--slide .container > div,
    .homepage-hero.left .custom-dot-holder {
      padding-left: 1.5rem; } }
  @media (min-width: 768px) {
    .homepage-hero.center .homepage-hero--slide {
      background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(1, 1, 1, 0.5) 50%, rgba(0, 0, 0, 0) 100%); } }
  @media (min-width: 768px) {
    .homepage-hero.center .homepage-hero--slide .container > div,
    .homepage-hero.center .custom-dot-holder {
      grid-column: 4 / span 6;
      text-align: center;
      justify-items: center; }
      .homepage-hero.center .homepage-hero--slide .container > div .slick-dots,
      .homepage-hero.center .custom-dot-holder .slick-dots {
        justify-content: center; } }
  @media (min-width: 768px) {
    .homepage-hero.right .homepage-hero--slide {
      background: linear-gradient(270deg, rgba(1, 1, 1, 0.5) 0%, rgba(0, 0, 0, 0) 100%); } }
  @media (min-width: 768px) {
    .homepage-hero.right .homepage-hero--slide .container > div,
    .homepage-hero.right .custom-dot-holder {
      grid-column: 7 / span 5;
      padding-left: 1.5rem; } }
  @media (min-width: 992px) {
    .homepage-hero.right .homepage-hero--slide .container > div,
    .homepage-hero.right .custom-dot-holder {
      padding-left: 1.5rem; } }
  @media (min-width: 768px) {
    .homepage-hero.half-image-right .homepage-hero--slide, .homepage-hero.half-image-left .homepage-hero--slide {
      position: relative;
      flex-direction: row;
      flex-wrap: nowrap; }
      .homepage-hero.half-image-right .homepage-hero--slide .container, .homepage-hero.half-image-left .homepage-hero--slide .container {
        grid-template-columns: repeat(12, 1fr); }
        .homepage-hero.half-image-right .homepage-hero--slide .container > div, .homepage-hero.half-image-left .homepage-hero--slide .container > div {
          grid-column: 1 / span 5; } }
  @media (min-width: 768px) {
    .homepage-hero.half-image-right picture, .homepage-hero.half-image-left picture {
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 10; }
      .homepage-hero.half-image-right picture img, .homepage-hero.half-image-left picture img {
        width: 50%;
        max-width: 100%;
        max-height: 100%;
        right: 0; } }
  @media (min-width: 768px) {
    .homepage-hero.half-image-right .container > div,
    .homepage-hero.half-image-right .custom-dot-holder {
      grid-column: 1 / span 5 !important;
      padding-left: 1.5rem; } }
  @media (min-width: 992px) {
    .homepage-hero.half-image-right .container > div,
    .homepage-hero.half-image-right .custom-dot-holder {
      padding-left: 1.5rem; } }
  @media (min-width: 768px) {
    .homepage-hero.half-image-right .homepage-hero--slide {
      flex-direction: row-reverse; } }
  @media (min-width: 768px) {
    .homepage-hero.half-image-left .container > div,
    .homepage-hero.half-image-left .custom-dot-holder {
      grid-column: 7 / span 6 !important;
      padding-left: 1.5rem; } }
  @media (min-width: 992px) {
    .homepage-hero.half-image-left .container > div,
    .homepage-hero.half-image-left .custom-dot-holder {
      padding-left: 1.5rem; } }
  .homepage-hero.half-image-left picture img {
    left: 0; }

.variable-content-hero {
  position: relative;
  margin: 0;
  color: #fff; }
  .variable-content-hero.video-hero {
    aspect-ratio: 320 / 452;
    width: 100%;
    max-height: 28.25rem; }
    @media (min-width: 768px) {
      .variable-content-hero.video-hero {
        aspect-ratio: 768 / 308; } }
    @media (min-width: 992px) {
      .variable-content-hero.video-hero {
        aspect-ratio: 1200 / 364; } }
  .variable-content-hero.picture-hero {
    aspect-ratio: 320 / 500; }
    @media (min-width: 768px) {
      .variable-content-hero.picture-hero {
        aspect-ratio: 768 / 368; } }
    @media (min-width: 992px) {
      .variable-content-hero.picture-hero {
        aspect-ratio: 1200 / 525; } }
  .variable-content-hero .overlay {
    z-index: 1;
    background: linear-gradient(to bottom, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%); }
    @media (min-width: 768px) {
      .variable-content-hero .overlay {
        background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%); } }
  .variable-content-hero .overlay,
  .variable-content-hero video,
  .variable-content-hero iframe,
  .variable-content-hero picture {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .variable-content-hero picture img {
    object-fit: cover;
    width: 100%;
    height: 100%; }
  .variable-content-hero .hero-wrap.cta-hidden .content {
    height: 31.25rem !important; }
    @media (min-width: 768px) {
      .variable-content-hero .hero-wrap.cta-hidden .content {
        height: 25rem !important; } }
    @media (min-width: 992px) {
      .variable-content-hero .hero-wrap.cta-hidden .content {
        height: 24rem !important; } }
    @media (min-width: 1100px) {
      .variable-content-hero .hero-wrap.cta-hidden .content {
        height: 25.875rem !important; } }
  .variable-content-hero .hero-wrap.cta-hidden .cta-wrapper {
    display: none; }
  .variable-content-hero .animated {
    position: relative;
    z-index: 2; }
    .variable-content-hero .animated.slideUp {
      animation-delay: 1s; }
    .variable-content-hero .animated .content {
      position: absolute;
      z-index: 2;
      padding: 1rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      opacity: 0;
      right: 0;
      left: 0;
      margin: 0 auto;
      top: 2rem;
      transition: opacity .75s ease-in-out, top .75s ease-in-out; }
      @media (min-width: 768px) {
        .variable-content-hero .animated .content {
          padding: 1.5625rem; } }
      .variable-content-hero .animated .content * {
        max-width: 34.375rem; }
      .variable-content-hero .animated .content .logo-container {
        width: 100%;
        display: flex;
        flex-direction: column-reverse;
        margin-bottom: 1.25rem;
        gap: 1rem; }
        @media (min-width: 768px) {
          .variable-content-hero .animated .content .logo-container {
            gap: 1.5rem;
            align-items: center;
            flex-direction: row;
            margin-bottom: 1.5rem; } }
        .variable-content-hero .animated .content .logo-container .verticalLine {
          border-left: 1px solid white;
          height: 55px; }
          @media (max-width: 767.9px) {
            .variable-content-hero .animated .content .logo-container .verticalLine {
              display: none; } }
        .variable-content-hero .animated .content .logo-container img {
          width: 5rem;
          height: 5rem;
          object-fit: contain; }
          @media (min-width: 768px) {
            .variable-content-hero .animated .content .logo-container img {
              width: auto; } }
      .variable-content-hero .animated .content h1 {
        color: #fff;
        font-size: 1.3125rem;
        line-height: 1.6875rem;
        margin: 0; }
        @media (min-width: 992px) {
          .variable-content-hero .animated .content h1 {
            font-weight: 600;
            font-size: 2rem;
            line-height: 2.375rem; } }
        .variable-content-hero .animated .content h1 br {
          display: none; }
          @media (min-width: 768px) {
            .variable-content-hero .animated .content h1 br {
              display: block; } }
  .variable-content-hero .cta-wrapper {
    border-top: 1px solid #B1B8C7;
    background: rgba(40, 40, 40, 0.35);
    position: absolute;
    z-index: 2;
    bottom: 0;
    width: 100%; }
  .variable-content-hero .cta-container {
    margin-top: auto;
    z-index: 2;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%; }
    @media (min-width: 768px) {
      .variable-content-hero .cta-container {
        flex-direction: row; } }
    .variable-content-hero .cta-container.col-2 .cta {
      display: flex; }
      .variable-content-hero .cta-container.col-2 .cta:nth-child(2) {
        border-bottom: none;
        border-right: none; }
        @media only screen and (min-width: 1600px) {
          .variable-content-hero .cta-container.col-2 .cta:nth-child(2) a::before {
            transform: translate(0%, 0); } }
      @media (min-width: 768px) {
        .variable-content-hero .cta-container.col-2 .cta {
          width: 50% !important; }
          .variable-content-hero .cta-container.col-2 .cta a {
            width: 100%; } }
      @media (min-width: 992px) {
        .variable-content-hero .cta-container.col-2 .cta:nth-child(1) a {
          width: 43.75rem; } }
    .variable-content-hero .cta-container .cta {
      width: 100%;
      overflow: hidden;
      display: flex; }
      @media (min-width: 992px) {
        .variable-content-hero .cta-container .cta:nth-child(1) {
          justify-content: end; } }
      @media only screen and (min-width: 1450px) {
        .variable-content-hero .cta-container .cta:nth-child(2) {
          width: 75rem; } }
      .variable-content-hero .cta-container .cta a {
        display: block;
        padding: 1.5rem 1rem;
        position: relative;
        transition: all .25s ease-in-out;
        color: #fff; }
        @media (min-width: 768px) {
          .variable-content-hero .cta-container .cta a {
            width: 29.0625rem;
            text-align: left; } }
        @media (min-width: 992px) {
          .variable-content-hero .cta-container .cta a {
            padding: 1.75rem 1.875rem; } }
        .variable-content-hero .cta-container .cta a:nth-child(1)::before {
          left: 0;
          width: 100vw; }
          @media (min-width: 768px) {
            .variable-content-hero .cta-container .cta a:nth-child(1)::before {
              width: 100%; } }
          @media only screen and (min-width: 1400px) {
            .variable-content-hero .cta-container .cta a:nth-child(1)::before {
              transform: translate(-10%, 0);
              width: 60vw; } }
          @media only screen and (min-width: 1600px) {
            .variable-content-hero .cta-container .cta a:nth-child(1)::before {
              transform: translate(-20%, 0); } }
          @media only screen and (min-width: 1900px) {
            .variable-content-hero .cta-container .cta a:nth-child(1)::before {
              transform: translate(-30%, 0); } }
          @media only screen and (min-width: 1900px) {
            .variable-content-hero .cta-container .cta a:nth-child(1)::before {
              transform: translate(-39%, 0); } }
        .variable-content-hero .cta-container .cta a:before {
          content: " ";
          transition: all .25s ease-in-out;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: -1;
          background-image: inherit;
          background-size: cover;
          opacity: 0; }
        .variable-content-hero .cta-container .cta a:hover:before {
          filter: brightness(50%);
          opacity: 1; }
        .variable-content-hero .cta-container .cta a span[class*="icon-"] {
          padding-left: 1rem;
          font-size: 1rem; }
      .variable-content-hero .cta-container .cta:nth-child(2) {
        border-top: 1px solid #B1B8C7;
        border-bottom: 1px solid #B1B8C7; }
        @media (min-width: 768px) {
          .variable-content-hero .cta-container .cta:nth-child(2) {
            border-top: 0;
            border-bottom: 0;
            border-left: 1px solid #B1B8C7;
            border-right: 1px solid #B1B8C7; } }
  .variable-content-hero.service-wrap.video-container {
    margin: 0 auto; }
  .variable-content-hero.service-wrap.video-hero {
    aspect-ratio: 320 / 452; }
    @media (min-width: 768px) {
      .variable-content-hero.service-wrap.video-hero {
        aspect-ratio: 768 / 308; } }
    @media (min-width: 992px) {
      .variable-content-hero.service-wrap.video-hero {
        aspect-ratio: 1200 / 414; } }
  .variable-content-hero.service-wrap.picture-hero {
    width: 100%;
    max-height: 31.25rem;
    aspect-ratio: 320 / 500; }
    @media (min-width: 768px) {
      .variable-content-hero.service-wrap.picture-hero {
        aspect-ratio: 768 / 368; } }
    @media (min-width: 992px) {
      .variable-content-hero.service-wrap.picture-hero {
        max-height: 25.875rem;
        aspect-ratio: 1200 / 414; } }
  .variable-content-hero.service-wrap .cta-container {
    margin: 0 auto; }
    .variable-content-hero.service-wrap .cta-container .cta {
      text-align: left; }
      @media (min-width: 992px) {
        .variable-content-hero.service-wrap .cta-container .cta a {
          padding: 1.75rem 1.5rem; } }
      .variable-content-hero.service-wrap .cta-container .cta a p {
        display: none; }
        @media (min-width: 1200px) {
          .variable-content-hero.service-wrap .cta-container .cta a p {
            margin-top: 0.75rem;
            display: block; } }

.brand-logos .logos-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 2rem;
  padding: 0;
  column-gap: 0.5rem;
  row-gap: 0.5rem; }
  @media (min-width: 768px) {
    .brand-logos .logos-wrapper {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      justify-content: space-between; } }
  .brand-logos .logos-wrapper li {
    margin: 0;
    padding: 0;
    opacity: 0;
    transition: opacity .25s ease-in, margin-top .5s ease-in;
    position: relative; }
    .brand-logos .logos-wrapper li a {
      display: block;
      width: 100%;
      top: 1.25rem; }
      @media (min-width: 768px) {
        .brand-logos .logos-wrapper li a:hover img {
          transform: scale(1); } }
      .brand-logos .logos-wrapper li a img {
        position: relative;
        display: block;
        width: 100%;
        transition: .25s all ease-in-out;
        height: 2.8125rem;
        object-fit: contain; }
        @media (min-width: 768px) {
          .brand-logos .logos-wrapper li a img {
            height: 4.25rem;
            transform: scale(0.8); } }
      .brand-logos .logos-wrapper li a:before, .brand-logos .logos-wrapper li a:after {
        display: none; }
        @media (min-width: 768px) {
          .brand-logos .logos-wrapper li a:before, .brand-logos .logos-wrapper li a:after {
            display: block; } }
    .brand-logos .logos-wrapper li.loaded {
      opacity: 1; }
      .brand-logos .logos-wrapper li.loaded a {
        top: 0; }

@media (max-width: 767.9px) {
  .brand-logos .more {
    text-align: right; } }

@media (min-width: 768px) {
  .brand-logos .more {
    display: flex;
    position: relative;
    padding-top: 1rem; }
    .brand-logos .more:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      border-top: 1px solid #D4D4D4;
      width: 100%;
      transform: translateY(-50%);
      margin: 0.625rem 0; } }

.brand-logos .more a.more-btn {
  font-weight: 500;
  position: relative;
  background: #fff;
  margin-left: auto;
  padding: 1rem 0; }
  @media (min-width: 768px) {
    .brand-logos .more a.more-btn {
      padding: 0 0 0 1rem; } }
  .brand-logos .more a.more-btn span {
    padding-left: 1rem; }
  .brand-logos .more a.more-btn:hover {
    cursor: pointer; }

.promotional-blocks {
  margin-top: 0;
  /* Do an horizontal flip when you move the mouse over the flip box container */ }
  .promotional-blocks .blocks {
    width: 100%;
    display: grid;
    gap: 0.625rem; }
    @media (min-width: 768px) {
      .promotional-blocks .blocks.column-1 {
        grid-template-columns: 1fr; }
      .promotional-blocks .blocks.column-2 {
        grid-template-columns: 1fr 1fr; }
      .promotional-blocks .blocks.column-3 {
        grid-template-columns: 1fr 1fr 1fr; }
      .promotional-blocks .blocks.column-4 {
        grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1425px) {
      .promotional-blocks .blocks {
        margin: 0 auto;
        max-width: 84.375rem; } }
  .promotional-blocks img {
    width: 100%;
    display: block;
    object-fit: cover;
    object-position: center center; }
    @media (min-width: 992px) {
      .promotional-blocks img {
        max-height: 16.25rem; } }
  .promotional-blocks .flip-card {
    background-color: transparent;
    /* This container is needed to position the front and back side */
    display: block;
    position: relative;
    width: 100%;
    height: 12.375rem;
    /* Position the front and back side */
    /* Style the front side (fallback if image is missing) */
    /* Style the back side */ }
    @media (min-width: 768px) {
      .promotional-blocks .flip-card {
        height: 16.25rem; } }
    .promotional-blocks .flip-card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      text-align: center;
      transition: transform 1.8s;
      transform-style: preserve-3d; }
    .promotional-blocks .flip-card-front, .promotional-blocks .flip-card-back {
      position: absolute;
      width: 100%;
      height: 100%;
      -webkit-backface-visibility: hidden;
      /* Safari */
      backface-visibility: hidden; }
    .promotional-blocks .flip-card-front {
      background-color: transparent;
      color: white; }
      .promotional-blocks .flip-card-front .img-gradient {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to top, rgba(56, 56, 56, 0.7) 0%, rgba(56, 56, 56, 0) 50%); }
      .promotional-blocks .flip-card-front picture, .promotional-blocks .flip-card-front img {
        margin: 0;
        height: 100%;
        object-fit: cover; }
      .promotional-blocks .flip-card-front h3 {
        position: absolute;
        left: 1rem;
        bottom: 0;
        color: #fff;
        font-weight: 400;
        font-size: 1rem;
        line-height: 24px;
        font-weight: 400;
        letter-spacing: -0.02em;
        min-height: auto;
        margin-bottom: 2rem; }
        @media (min-width: 768px) {
          .promotional-blocks .flip-card-front h3 {
            left: 1.5rem;
            font-size: 1rem; } }
        @media (min-width: 992px) {
          .promotional-blocks .flip-card-front h3 {
            font-size: 1.125rem; } }
        .promotional-blocks .flip-card-front h3 span {
          padding-left: 1rem; }
    .promotional-blocks .flip-card-back {
      display: flex;
      flex-direction: column;
      justify-content: end;
      background: #383838;
      text-align: left;
      color: white;
      transform: rotateY(180deg);
      padding: 2rem 1.5rem; }
      .promotional-blocks .flip-card-back h3 {
        color: white;
        font-size: 1rem;
        font-weight: 400;
        margin-bottom: 1rem; }
        .promotional-blocks .flip-card-back h3 span {
          padding-left: 1rem; }
        @media (min-width: 992px) {
          .promotional-blocks .flip-card-back h3 {
            font-size: 1.125rem; } }
      .promotional-blocks .flip-card-back:before {
        content: " ";
        transition: all .25s ease-in-out;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        background-image: inherit;
        background-size: cover;
        background-position: center center; }
      .promotional-blocks .flip-card-back:after {
        content: " ";
        transition: all .25s ease-in-out;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #383838;
        opacity: .8;
        z-index: -1; }
  @media (min-width: 768px) {
    .promotional-blocks .flip-card:hover .flip-card-inner {
      transform: rotateY(180deg); } }
  .promotional-blocks .card {
    position: relative;
    padding: 0;
    overflow: hidden;
    transition: .25s all ease-in-out;
    visibility: visible;
    border: none; }
    .promotional-blocks .card:hover, .promotional-blocks .card:focus {
      transition: .25s all ease-in-out; }
      .promotional-blocks .card:hover figcaption, .promotional-blocks .card:focus figcaption {
        bottom: 2rem !important; }
  .promotional-blocks.block-carousel {
    margin-top: 2.5rem;
    margin-bottom: 0; }
    .promotional-blocks.block-carousel .blocks {
      position: relative; }
      .promotional-blocks.block-carousel .blocks a {
        border-right: 0.0625rem solid white; }
        .promotional-blocks.block-carousel .blocks a .img-wrapper {
          aspect-ratio: 288 / 198; }
          @media (min-width: 768px) {
            .promotional-blocks.block-carousel .blocks a .img-wrapper {
              aspect-ratio: 360 / 179; } }
          @media (min-width: 992px) {
            .promotional-blocks.block-carousel .blocks a .img-wrapper {
              aspect-ratio: 385 / 259;
              max-height: 24.0625rem; } }
          .promotional-blocks.block-carousel .blocks a .img-wrapper img {
            height: 100%;
            max-height: 24.0625rem; }
        .promotional-blocks.block-carousel .blocks a h3 {
          font-size: 1rem; }
          @media (min-width: 992px) {
            .promotional-blocks.block-carousel .blocks a h3 {
              font-size: 1.125rem;
              margin-bottom: 1.5rem; } }
    .promotional-blocks.block-carousel .slick-prev, .promotional-blocks.block-carousel .slick-next {
      position: absolute;
      top: 35%;
      font-size: 0; }
    .promotional-blocks.block-carousel .slick-prev:before {
      content: "\f102";
      font-family: "ico";
      font-size: 16px; }
    .promotional-blocks.block-carousel .slick-next {
      right: 1px; }
      .promotional-blocks.block-carousel .slick-next:before {
        content: "\f103";
        font-family: "ico";
        font-size: 16px; }

[data-sub-layout-container="2cef7341-14d4-44b2-b6ea-d64f59e1394e"],
[data-sub-layout-container="d1b75b1d-d2a2-4e74-aba9-79015367220a"] {
  z-index: 1 !important; }

.brand-value {
  background: #eee;
  padding: 2rem 0;
  background-size: cover;
  background-image: url("../img/brand-value-mobile.png"); }
  @media (min-width: 768px) {
    .brand-value {
      padding: 1.5rem 0;
      background-image: url("../img/brand-value-tablet.png"); } }
  @media (min-width: 992px) {
    .brand-value {
      padding: 2rem 0;
      background-image: url("../img/brand-value-desktop.png"); } }
  .brand-value.no-margin {
    margin: 0; }
  .brand-value .container {
    margin: 0 auto; }
    .brand-value .container .values {
      row-gap: 2rem;
      display: grid; }
      .brand-value .container .values.columns {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        row-gap: 1rem; }
        @media (min-width: 768px) {
          .brand-value .container .values.columns {
            grid-template-columns: 1fr 1fr 1fr;
            padding: 0; } }
        .brand-value .container .values.columns.multi {
          row-gap: 1.5rem; }
          .brand-value .container .values.columns.multi > a {
            margin-bottom: 0; }
            @media (min-width: 768px) and (max-width: 991.9px) {
              .brand-value .container .values.columns.multi > a:nth-child(2) {
                border-right: none; }
              .brand-value .container .values.columns.multi > a:nth-child(1), .brand-value .container .values.columns.multi > a:nth-child(2) {
                border-bottom: 1px solid #D4D4D4;
                padding-bottom: 1.5rem; }
              .brand-value .container .values.columns.multi > a:nth-child(3), .brand-value .container .values.columns.multi > a:nth-child(4) {
                padding-top: 1.5rem; } }
          @media (min-width: 768px) {
            .brand-value .container .values.columns.multi {
              grid-template-columns: 1fr 1fr;
              row-gap: 0;
              padding: 0; } }
          @media (min-width: 992px) {
            .brand-value .container .values.columns.multi {
              grid-template-columns: repeat(4, 1fr); } }
      .brand-value .container .values .column {
        opacity: 0;
        column-gap: 1rem;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-flow: row nowrap; }
        @media (min-width: 768px) {
          .brand-value .container .values .column {
            margin: 0;
            align-items: flex-start;
            padding: 0 1.5rem;
            display: flex;
            justify-content: center; } }
        .brand-value .container .values .column .h3 {
          color: #BE1E2D; }
        .brand-value .container .values .column .filter {
          background: #BE1E2D;
          opacity: 1; }
        .brand-value .container .values .column img {
          opacity: 0; }
        .brand-value .container .values .column:hover p {
          color: #BE1E2D; }
        .brand-value .container .values .column:active .h3, .brand-value .container .values .column:active p {
          color: #DF3041; }
        .brand-value .container .values .column:active .filter {
          background: #DF3041; }
        .brand-value .container .values .column.blank {
          pointer-events: none;
          cursor: pointer; }
        .brand-value .container .values .column .filter {
          width: 2rem;
          height: 2rem;
          mask-repeat: no-repeat !important;
          margin-top: 0.5rem;
          transition: .25s all ease-in-out; }
        .brand-value .container .values .column img {
          width: 2rem;
          height: 2rem;
          object-position: center;
          object-fit: contain;
          display: block;
          margin-top: 0.5rem;
          position: absolute;
          transition: .25s all ease-in-out; }
        .brand-value .container .values .column > div {
          display: flex;
          flex-direction: column;
          margin-right: 1rem;
          position: relative; }
          @media (min-width: 768px) {
            .brand-value .container .values .column > div {
              margin-right: 0; } }
          .brand-value .container .values .column > div .h3 {
            height: 1.25rem;
            font-weight: 600;
            font-size: 0.9375rem;
            transition: .25s all ease-in-out; }
            @media (min-width: 768px) {
              .brand-value .container .values .column > div .h3 {
                font-size: 1rem; } }
            .brand-value .container .values .column > div .h3 .accent {
              color: #BE1E2D; }
          .brand-value .container .values .column > div p {
            color: #383838;
            margin: 0.5rem 0 0;
            transition: .25s all ease-in-out; }
            @media (min-width: 768px) {
              .brand-value .container .values .column > div p {
                margin: 0.75rem 0 0; } }
            @media (min-width: 992px) {
              .brand-value .container .values .column > div p {
                max-width: 165px; } }
        .brand-value .container .values .column:not(:last-child) {
          border-bottom: 1px solid #D4D4D4;
          padding: 0 0 1.5rem; }
          @media (min-width: 768px) {
            .brand-value .container .values .column:not(:last-child) {
              padding: 0 1.5rem;
              border-top: none;
              border-bottom: none;
              border-right: 1px solid #D4D4D4; } }

.faq-widget .container.no-padding {
  padding: 0; }

.faq-widget .container .border {
  border-top: 1px solid #D4D4D4;
  padding-top: 2.5rem; }
  @media (min-width: 992px) {
    .faq-widget .container .border {
      padding-top: 3rem; } }

.faq-widget .container h2 {
  margin-bottom: 0; }
  @media (min-width: 992px) {
    .faq-widget .container h2 {
      margin-bottom: 0.5rem; } }

.faq-widget .container dd p {
  max-width: 95%; }

/* -------------------------------------------------------------------------- */
/*                           interior HERO CAROUSEL                           */
/* -------------------------------------------------------------------------- */
.interior-hero {
  position: relative;
  margin-top: 0;
  --animationDistance: 15px; }
  .interior-hero.no-image {
    background: #3f1d1d; }
    .interior-hero.no-image picture, .interior-hero.no-image img {
      display: none; }
  .interior-hero h1 {
    color: #fff;
    transition: all .3s ease;
    margin-top: 2rem; }
    @media (min-width: 768px) {
      .interior-hero h1 {
        margin-top: 3.125rem;
        margin-bottom: 0.75rem; } }
    @media (min-width: 992px) {
      .interior-hero h1 {
        margin-top: 3.125rem;
        margin-bottom: 1rem; } }
  .interior-hero .content p {
    transition: all .3s ease;
    color: #383838;
    font-size: 1rem;
    line-height: 1.5rem; }
    @media (min-width: 768px) {
      .interior-hero .content p {
        display: block;
        margin: 0 0 1rem; } }
    @media (min-width: 992px) {
      .interior-hero .content p {
        margin: 0 0 1.5rem; } }
  .interior-hero .btn-primary {
    width: auto;
    margin-bottom: 4rem; }
    @media (min-width: 768px) {
      .interior-hero .btn-primary {
        margin-bottom: 5.25rem; } }
    @media (min-width: 992px) {
      .interior-hero .btn-primary {
        margin-bottom: 6.5rem;
        padding: 1.125rem 2rem;
        line-height: 1.25rem; } }
  .interior-hero--slide {
    flex-direction: column;
    text-align: center;
    display: flex; }
    .interior-hero--slide > div {
      visibility: visible;
      animation-delay: 50ms;
      animation-name: fadeInUp;
      animation-duration: 1.3s; }
    @media (min-width: 768px) {
      .interior-hero--slide {
        text-align: left; } }
    @media (min-width: 992px) {
      .interior-hero--slide {
        text-align: left; } }
    .interior-hero--slide .container {
      background: #383838;
      display: grid; }
      @media (min-width: 768px) {
        .interior-hero--slide .container {
          background: none;
          margin: 0;
          grid-template-columns: repeat(12, 1fr); } }
  .interior-hero .bg-grey > div {
    background: rgba(50, 50, 50, 0.5);
    padding: 12px; }
  @media (min-width: 992px) {
    .interior-hero .container {
      margin: 0 auto; } }
  .interior-hero picture {
    height: auto; }
    .interior-hero picture img {
      width: 100vw;
      object-fit: cover;
      z-index: -1;
      top: 0;
      position: relative;
      height: 100%; }
      @media (min-width: 768px) {
        .interior-hero picture img {
          position: absolute; } }
  @media (min-width: 768px) {
    .interior-hero.left .interior-hero--slide .container > div {
      grid-column-start: 1;
      grid-column-end: 5;
      max-width: 28.125rem; } }
  @media (min-width: 768px) {
    .interior-hero.center .interior-hero--slide .container > div {
      grid-column-start: 5;
      grid-column-end: 9;
      text-align: center; } }
  @media (min-width: 768px) {
    .interior-hero.right .interior-hero--slide .container > div {
      grid-column-start: 9;
      grid-column-end: 13;
      text-align: right; } }
  @media (min-width: 768px) {
    .interior-hero.half-image-right .interior-hero--slide, .interior-hero.half-image-left .interior-hero--slide {
      position: relative;
      flex-direction: row;
      flex-wrap: nowrap; }
      .interior-hero.half-image-right .interior-hero--slide .container, .interior-hero.half-image-left .interior-hero--slide .container {
        grid-template-columns: repeat(12, 1fr); }
        .interior-hero.half-image-right .interior-hero--slide .container > div, .interior-hero.half-image-left .interior-hero--slide .container > div {
          grid-column: 1 / span 3; } }
  @media (min-width: 768px) {
    .interior-hero.half-image-right picture, .interior-hero.half-image-left picture {
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 10; }
      .interior-hero.half-image-right picture img, .interior-hero.half-image-left picture img {
        width: 50%;
        max-width: 100%;
        max-height: 100%;
        right: 0; } }
  @media (min-width: 768px) {
    .interior-hero.half-image-right .interior-hero--slide {
      flex-direction: row-reverse; } }
  @media (min-width: 768px) {
    .interior-hero.half-image-left .container > div {
      grid-column: 7 / span 4 !important;
      padding-left: 1.5rem; } }
  @media (min-width: 992px) {
    .interior-hero.half-image-left .container > div {
      padding-left: 1.5rem; } }
  .interior-hero.half-image-left picture img {
    left: 0; }

.category-listing {
  background: url("https://cdn11.bigcommerce.com/s-q58f4k8zxg/images/stencil/original/image-manager/background.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom right;
  margin-bottom: 0; }
  @media (min-width: 768px) {
    .category-listing {
      background-position: center center; } }
  .category-listing.subcategory-listing {
    margin-top: 0;
    padding: 1.5rem 0; }
    @media (min-width: 768px) {
      .category-listing.subcategory-listing {
        padding: 2.5rem 0; } }
    @media (min-width: 992px) {
      .category-listing.subcategory-listing {
        padding: 3rem 0; } }
  .category-listing .listing-wrapper ul {
    column-count: 2;
    column-gap: 1rem; }
    @media (min-width: 768px) {
      .category-listing .listing-wrapper ul {
        column-count: 3; } }
    @media (min-width: 992px) {
      .category-listing .listing-wrapper ul {
        column-count: 4; } }
    .category-listing .listing-wrapper ul li {
      display: inline-block;
      margin: 0 0 1rem;
      padding: 0;
      text-align: left;
      line-height: 1.3125rem;
      width: 100%; }
      .category-listing .listing-wrapper ul li a {
        padding: 0;
        font-size: 15px;
        max-width: 20rem;
        word-wrap: break-word; }
  .category-listing.no-margin {
    margin: 0 !important; }

@media (min-width: 768px) {
  .video-modal {
    margin: 0; } }

@media only screen and (min-width: 768px) and (max-width: 1400px) {
  .video-modal .container {
    padding: 0; } }

.video-modal .wrapper-main {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  row-gap: 1.5rem; }
  @media (min-width: 768px) {
    .video-modal .wrapper-main {
      grid-template-columns: 1fr 1fr;
      background-size: cover;
      background-image: url("../img/brand-value-desktop.png");
      background-position: bottom right; } }

.video-modal .wrapper-video {
  position: relative;
  height: 100%;
  background: white;
  overflow: hidden; }
  .video-modal .wrapper-video picture, .video-modal .wrapper-video img {
    transition: .25s all ease-in-out;
    opacity: .25;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 11.875rem; }
    @media (min-width: 768px) {
      .video-modal .wrapper-video picture, .video-modal .wrapper-video img {
        min-height: 13.125rem; } }
    @media (min-width: 992px) {
      .video-modal .wrapper-video picture, .video-modal .wrapper-video img {
        height: 16.625rem; } }
  .video-modal .wrapper-video span {
    top: 40%;
    right: 50%;
    left: 50%;
    position: absolute;
    color: #BE1E2D;
    font-size: 2.125rem;
    transition: .25s all ease-in-out; }
    .video-modal .wrapper-video span:hover {
      cursor: pointer;
      color: #DF3041; }
  .video-modal .wrapper-video:hover img {
    transform: scale(1.05); }

.video-modal .wrapper-content h2 {
  margin-bottom: 1rem; }
  @media (min-width: 992px) {
    .video-modal .wrapper-content h2 {
      margin-bottom: 1.5rem; } }

.video-modal .wrapper-content a {
  text-transform: capitalize;
  font-weight: 500; }
  @media (max-width: 767.9px) {
    .video-modal .wrapper-content a {
      width: 100%; } }

@media (min-width: 768px) {
  .video-modal .wrapper-content {
    padding: 1.5rem; } }

@media (min-width: 992px) {
  .video-modal .wrapper-content {
    padding: 1.625rem; } }

.col-3 .block-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  column-gap: 0.5rem; }
  @media (min-width: 768px) {
    .col-3 .block-wrapper {
      grid-template-columns: repeat(3, 1fr); } }
  .col-3 .block-wrapper a {
    border: 0.0625rem solid #D4D4D4; }
    @media (min-width: 768px) {
      .col-3 .block-wrapper a:last-of-type {
        border-right: 0.0625rem solid #D4D4D4; } }
  .col-3 .block-wrapper .block {
    opacity: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column; }
    @media (min-width: 768px) {
      .col-3 .block-wrapper .block {
        height: 100%; } }
    .col-3 .block-wrapper .block * {
      width: 100%; }
    .col-3 .block-wrapper .block .img-wrapper {
      overflow: hidden;
      aspect-ratio: 286 / 113;
      max-height: 7.0625rem; }
      @media (min-width: 992px) {
        .col-3 .block-wrapper .block .img-wrapper {
          aspect-ratio: 383 / 215;
          max-height: 13.4375rem; } }
      .col-3 .block-wrapper .block .img-wrapper picture img {
        transition: .25s all ease-in-out;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .col-3 .block-wrapper .block .content-wrapper {
      flex: 1;
      padding: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: start;
      flex-flow: column;
      row-gap: 1rem; }
      @media (min-width: 992px) {
        .col-3 .block-wrapper .block .content-wrapper {
          padding: 1.5rem; } }
      .col-3 .block-wrapper .block .content-wrapper .content {
        height: inherit; }
        .col-3 .block-wrapper .block .content-wrapper .content p {
          color: #383838;
          margin-bottom: 0.75rem; }
          .col-3 .block-wrapper .block .content-wrapper .content p:nth-child(2) {
            color: #787878; }
      .col-3 .block-wrapper .block .content-wrapper .cta {
        border-top: 1px solid #D4D4D4;
        padding-top: 1rem;
        font-weight: 500; }
        .col-3 .block-wrapper .block .content-wrapper .cta span {
          padding-left: 0.5rem; }
        @media (min-width: 992px) {
          .col-3 .block-wrapper .block .content-wrapper .cta {
            padding-top: 1.5rem;
            font-size: 1.125rem; } }
    .col-3 .block-wrapper .block.active {
      /* this is the animation of the selected step */
      visibility: visible;
      opacity: 1;
      transform: translateX(0); }
    .col-3 .block-wrapper .block.slide-up-in {
      animation: SlideUpIn 0.3s 0.2s cubic-bezier(0, 0, 0, 1) backwards; }
    .col-3 .block-wrapper .block:hover img {
      transform: scale(1.1); }

.text-box .wrapper * {
  grid-column: 1/ -1; }
  @media (min-width: 992px) {
    .text-box .wrapper * {
      grid-column: 1/ 9; } }

.contact-bar {
  padding: 2.5rem 0;
  background: linear-gradient(to bottom, rgba(56, 56, 56, 0.7), rgba(56, 56, 56, 0.7)), var(--catBg) no-repeat center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media (min-width: 992px) {
    .contact-bar {
      padding: 3rem 0; } }
  @media (min-width: 768px) {
    .contact-bar {
      background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%), var(--catBg) no-repeat center;
      background-size: cover; } }
  @media (min-width: 992px) {
    .contact-bar {
      background: linear-gradient(to right, rgba(56, 56, 56, 0.78) -0.31%, rgba(56, 56, 56, 0) 55.93%), var(--catBg) no-repeat center;
      background-size: cover; } }
  .contact-bar .wrapper {
    align-items: center;
    row-gap: 1.5rem; }
    .contact-bar .wrapper .content {
      grid-column: 1 / -1; }
      @media (min-width: 768px) {
        .contact-bar .wrapper .content {
          grid-column: 2 / 6; } }
      @media (min-width: 992px) {
        .contact-bar .wrapper .content {
          grid-column: 2 / 8; } }
      .contact-bar .wrapper .content * {
        color: white; }
      .contact-bar .wrapper .content .h2 {
        margin-bottom: 1rem; }
    .contact-bar .wrapper .cta {
      grid-column: 1 / -1; }
      @media (min-width: 768px) {
        .contact-bar .wrapper .cta {
          grid-column: 7 / -1; } }
      @media (min-width: 992px) {
        .contact-bar .wrapper .cta {
          grid-column: 10 / 12; } }
      .contact-bar .wrapper .cta a {
        text-transform: capitalize;
        font-weight: 500; }

.promotional-carousel {
  position: relative; }
  .promotional-carousel .container {
    position: relative; }
    .promotional-carousel .container .carousel {
      min-height: 14.25rem; }
      @media (min-width: 992px) {
        .promotional-carousel .container .carousel {
          min-height: 14.375rem; } }
    .promotional-carousel .container .card {
      border-right: none; }
      @media (max-width: 991.9px) {
        .promotional-carousel .container .card {
          border-bottom-color: #D4D4D4 !important; } }
      .promotional-carousel .container .card:hover .img {
        transform: scale(1.1); }
      .promotional-carousel .container .card:hover a {
        color: #BE1E2D; }
      .promotional-carousel .container .card:active a, .promotional-carousel .container .card:focus a {
        color: #DF3041; }
      .promotional-carousel .container .card .img {
        transition: .25s all ease-in-out;
        transform: scale(0.9);
        margin-bottom: 0; }
      .promotional-carousel .container .card picture, .promotional-carousel .container .card img {
        margin: 0 auto;
        width: 8rem;
        height: 8rem;
        aspect-ratio: 128 / 128; }
      .promotional-carousel .container .card h3 {
        text-align: center;
        font-size: 0.9375rem;
        margin-bottom: 0; }
        .promotional-carousel .container .card h3 a {
          color: #383838; }
    .promotional-carousel .container.dropdown-wrapper {
      display: none;
      position: absolute;
      left: 0;
      right: 0;
      z-index: 100; }
      @media (max-width: 991.9px) {
        .promotional-carousel .container.dropdown-wrapper {
          display: none !important; } }
      @media (min-width: 992px) {
        .promotional-carousel .container.dropdown-wrapper {
          margin-top: -1.5625rem; } }
    .promotional-carousel .container .dropdown {
      display: none;
      height: 18.75rem;
      background: white;
      border: 0.0625rem solid #D4D4D4;
      border-top: none;
      padding: 1.625rem 0.5rem;
      column-gap: 0.5rem;
      overflow: hidden; }
      @media (min-width: 992px) {
        .promotional-carousel .container .dropdown {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: start;
          align-items: start;
          flex-flow: row; } }
      .promotional-carousel .container .dropdown ul {
        display: none;
        margin-bottom: 0;
        min-width: 15.625rem; }
        .promotional-carousel .container .dropdown ul li:first-child {
          margin-bottom: 1rem; }
      .promotional-carousel .container .dropdown a {
        max-width: 13.75rem;
        color: #383838; }
      .promotional-carousel .container .dropdown-header {
        max-width: 12.5rem;
        pointer-events: none; }
        .promotional-carousel .container .dropdown-header a {
          font-weight: 600; }
      .promotional-carousel .container .dropdown-accent a {
        color: #BE1E2D; }
        .promotional-carousel .container .dropdown-accent a:hover {
          font-weight: 500;
          color: #DF3041; }
        .promotional-carousel .container .dropdown-accent a:active {
          color: #383838; }
  .promotional-carousel .slick-list {
    border-right: 0.0625rem solid #D4D4D4; }
  .promotional-carousel .slick-dots {
    justify-content: flex-start; }
    @media (min-width: 768px) {
      .promotional-carousel .slick-dots {
        justify-content: center; } }
  .promotional-carousel img {
    max-width: 100%; }

/* -------------------------------------------------------------------------- *\ 
01 - PROMO BAR STATIC 
\* -------------------------------------------------------------------------- */
[data-sub-layout-container="3245b7b8-f978-4f23-8e6b-f42331f3e565"] {
  z-index: 20 !important; }

.promo-bar {
  background: #383838;
  padding: 0.5rem 0;
  text-align: center;
  color: #fff;
  font-weight: 500; }
  .promo-bar a {
    display: inline-block;
    color: #383838;
    text-decoration: none;
    color: #fff;
    padding-left: 1rem; }
    .promo-bar a:not(:only-child) {
      margin: 0 0.5rem 0 0; }
    .promo-bar a:hover {
      color: #BE1E2D; }
    .promo-bar a ~ a {
      margin: 0 0 0 0.5rem; }

.timeline h2 {
  margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .timeline h2 {
      text-align: center;
      margin-bottom: 1.5rem; } }

.timeline .wrapper .block-wrapper {
  grid-column: 1 / -1; }
  @media (min-width: 992px) {
    .timeline .wrapper .block-wrapper {
      grid-column: 2 / 12; } }

.timeline .wrapper .block-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  row-gap: 2.5rem; }
  @media (min-width: 992px) {
    .timeline .wrapper .block-main {
      row-gap: 3rem; } }

.timeline .block {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  grid-template-areas: "image" "title" "content";
  row-gap: 0.75rem; }
  .timeline .block .wrapper-title {
    grid-area: title;
    color: #BE1E2D;
    margin: 0; }
    @media (max-width: 991.9px) {
      .timeline .block .wrapper-title::after {
        margin-top: 0.75rem;
        display: block;
        content: "";
        width: 3.375rem;
        border-top: 1px solid #D4D4D4; } }
    @media (min-width: 992px) {
      .timeline .block .wrapper-title {
        justify-self: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: column;
        row-gap: 1rem; }
        .timeline .block .wrapper-title::after {
          display: inline-block;
          flex-direction: column;
          content: "";
          width: 9.0625rem;
          border-top: 1px solid #D4D4D4; } }
  .timeline .block .wrapper-image {
    grid-area: image;
    padding-bottom: 1.5rem; }
    .timeline .block .wrapper-image picture, .timeline .block .wrapper-image img {
      width: 100%;
      height: 9.75rem;
      object-fit: cover;
      display: block; }
      @media (min-width: 768px) {
        .timeline .block .wrapper-image picture, .timeline .block .wrapper-image img {
          height: 11.875rem; } }
      @media (min-width: 992px) {
        .timeline .block .wrapper-image picture, .timeline .block .wrapper-image img {
          height: 15rem; } }
  .timeline .block .wrapper-content {
    grid-area: content; }
  @media (min-width: 768px) {
    .timeline .block {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: "image title" "image content";
      column-gap: 3.375rem; }
      .timeline .block.reverse {
        grid-template-areas: "title image" "content image"; } }
  @media (min-width: 992px) {
    .timeline .block {
      grid-template-areas: "title title" "image content";
      align-items: center;
      grid-gap: 0; }
      .timeline .block .wrapper-image {
        padding-top: 1.5rem;
        border-right: 1px solid #D4D4D4;
        padding-right: 1.75rem; }
      .timeline .block .wrapper-content {
        padding-left: 1.75rem; }
      .timeline .block.reverse {
        grid-template-areas: "title title" "content image"; }
        .timeline .block.reverse .wrapper-image {
          padding-top: 1.5rem;
          border-left: 1px solid #D4D4D4;
          border-right: none;
          padding-left: 1.75rem; }
        .timeline .block.reverse .wrapper-content {
          padding-right: 1.75rem; } }

.info-wrapper {
  margin-bottom: 2.5rem; }
  .info-wrapper h3 {
    line-height: 1.125rem;
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
    font-weight: 600; }
  .info-wrapper ul li {
    padding: 0; }
    .info-wrapper ul li a {
      transition: .25s all ease-in-out; }
      .info-wrapper ul li a:hover {
        color: #BE1E2D; }
      .info-wrapper ul li a:active {
        color: #DF3041; }
  .info-wrapper.address-field li {
    margin-top: 0; }

.two-columns .content-left {
  padding-bottom: 0; }

.two-columns .hubspot-form fieldset {
  max-width: 100%; }
  @media (max-width: 991.9px) {
    .two-columns .hubspot-form fieldset > div {
      width: 100% !important; } }

.leadership .container {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 2.5rem; }
  @media (min-width: 768px) {
    .leadership .container {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1rem; } }
  @media (min-width: 992px) {
    .leadership .container {
      grid-template-columns: repeat(3, 1fr);
      row-gap: 3rem;
      column-gap: 3.5rem; } }
  .leadership .container .block {
    opacity: 0;
    overflow: hidden;
    position: relative;
    border: 0.0625rem solid #D4D4D4; }
    .leadership .container .block.active {
      /* this is the animation of the selected step */
      visibility: visible;
      opacity: 1;
      transform: translateX(0); }
    .leadership .container .block.slide-up-in {
      animation: SlideUpIn 0.3s 0.2s cubic-bezier(0, 0, 0, 1) backwards; }
    .leadership .container .block img {
      aspect-ratio: auto 288 / 288;
      width: 100%;
      object-fit: cover; }
      @media (min-width: 768px) {
        .leadership .container .block img {
          aspect-ratio: auto 352 / 352; } }
      @media (min-width: 992px) {
        .leadership .container .block img {
          aspect-ratio: auto 345 / 345; } }
    .leadership .container .block .title-wrapper {
      padding: 1.5rem; }
      @media (min-width: 768px) and (max-width: 991.9px) {
        .leadership .container .block .title-wrapper {
          padding: 1rem 1.5rem; } }
      .leadership .container .block .title-wrapper .h4 {
        margin-bottom: 0.5rem;
        text-transform: uppercase; }
        @media (min-width: 992px) {
          .leadership .container .block .title-wrapper .h4 {
            font-size: 1.25rem; } }
      .leadership .container .block .title-wrapper .title {
        color: #787878;
        text-decoration: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row wrap;
        column-gap: 0.5rem; }
        @media (min-width: 992px) {
          .leadership .container .block .title-wrapper .title {
            font-weight: 600; } }
        .leadership .container .block .title-wrapper .title a {
          font-size: 0.9375rem;
          font-weight: 400;
          text-decoration: underline; }
          @media (min-width: 992px) {
            .leadership .container .block .title-wrapper .title a {
              display: none; } }
    .leadership .container .block .bio {
      background: #fff;
      opacity: 0;
      height: 100%;
      padding: 1.5rem;
      color: #787878;
      z-index: -1;
      transition: .35s all ease-in-out; }
      @media (max-width: 991.9px) {
        .leadership .container .block .bio {
          display: none; } }
      @media (min-width: 992px) {
        .leadership .container .block .bio {
          position: absolute;
          top: 0;
          transform: translateY(30%);
          overflow-y: scroll; } }
      .leadership .container .block .bio::-webkit-scrollbar {
        width: 0; }
      .leadership .container .block .bio p {
        margin-bottom: 0; }
      .leadership .container .block .bio-trigger {
        margin-top: 1rem;
        text-align: right; }
        .leadership .container .block .bio-trigger a {
          text-decoration: underline;
          font-size: 0.9375rem; }
          @media (min-width: 992px) {
            .leadership .container .block .bio-trigger a {
              display: none; } }
      .leadership .container .block .bio.show {
        height: 100%;
        z-index: 1;
        opacity: 1;
        display: block; }
      .leadership .container .block .bio.slideUp {
        z-index: 1;
        opacity: 1;
        display: block;
        transform: translateY(0); }

@media (min-width: 992px) {
  .product-picker-carousel .border-right-desktop article:last-of-type {
    border-right: 1px solid #D4D4D4; }
  .product-picker-carousel .border-right-desktop .slick-list {
    border-right: none !important; } }

@media (min-width: 768px) {
  .product-picker-carousel .border-right-tablet article:last-of-type {
    border-right: 1px solid #D4D4D4; }
  .product-picker-carousel .border-right-tablet .slick-list {
    border-right: none !important; } }

.product-picker-carousel .border-right-mobile article:last-of-type {
  border-right: 1px solid #D4D4D4; }

.product-picker-carousel .border-right-mobile .slick-list {
  border-right: none !important; }

@media (max-width: 767.9px) {
  .product-picker-carousel {
    margin-bottom: 0; } }

.product-picker-carousel.similar {
  margin-bottom: 0; }
  .product-picker-carousel.similar .card {
    margin: 0;
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem; }
  .product-picker-carousel.similar .slick-list {
    border-right: 0.0625rem solid #D4D4D4; }

.product-picker-carousel .container {
  position: relative; }
  .product-picker-carousel .container .card {
    background: #fff;
    opacity: 0;
    border: 0.0625rem solid #D4D4D4;
    border-right: none;
    transition: opacity .25s ease-in, margin-top .5s ease-in;
    position: relative;
    padding: 0.75rem;
    top: 1.25rem; }
    @media (min-width: 992px) {
      .product-picker-carousel .container .card {
        padding: 1rem 1.5rem 1.5rem; } }
    .product-picker-carousel .container .card .img {
      margin-bottom: 0.25rem;
      margin-top: 0.25rem; }
    .product-picker-carousel .container .card .brand {
      height: 1.25rem; }
      @media (min-width: 992px) {
        .product-picker-carousel .container .card .brand {
          height: 1.875rem; } }
      .product-picker-carousel .container .card .brand img {
        margin: 0 0 0.25rem;
        min-width: 1.875rem;
        height: 1.25rem;
        aspect-ratio: auto 30 / 20;
        width: auto;
        object-fit: contain; }
        @media (min-width: 992px) {
          .product-picker-carousel .container .card .brand img {
            height: 1.875rem; } }
    .product-picker-carousel .container .card picture:hover img, .product-picker-carousel .container .card .img:hover img {
      transform: scale(1.05); }
    .product-picker-carousel .container .card picture img, .product-picker-carousel .container .card .img img {
      transition: .25s all ease-in-out;
      width: 8.875rem;
      height: 8.875rem;
      object-fit: contain;
      margin: 0 auto;
      transform: scale(0.9); }
      @media (min-width: 768px) {
        .product-picker-carousel .container .card picture img, .product-picker-carousel .container .card .img img {
          width: 9.25rem;
          height: 9.25rem; } }
      @media (min-width: 992px) {
        .product-picker-carousel .container .card picture img, .product-picker-carousel .container .card .img img {
          width: 10.625rem;
          height: 10.625rem; } }
    .product-picker-carousel .container .card h3 {
      font-weight: 600;
      font-size: 0.9375rem;
      margin-bottom: 0.5rem;
      min-height: 1.125rem;
      line-height: 1.125rem; }
      .product-picker-carousel .container .card h3 a {
        color: #383838; }
        .product-picker-carousel .container .card h3 a:hover {
          color: #BE1E2D; }
        .product-picker-carousel .container .card h3 a:active {
          color: #DF3041; }
    .product-picker-carousel .container .card p {
      font-size: 0.9375rem; }
    .product-picker-carousel .container .card.loaded {
      visibility: visible;
      opacity: 1;
      top: 0; }

.product-picker-carousel .slick-list {
  border-right: 0.0625rem solid #D4D4D4; }

.product-picker-carousel .slick-dots {
  margin-top: 1.5rem; }
  .product-picker-carousel .slick-dots button {
    font-size: 0; }

.product-picker-carousel img {
  max-width: 100%; }

.product-picker-carousel.bg {
  margin: 0;
  background: #F7F8FB;
  padding: 2.5rem 0; }
  @media (min-width: 992px) {
    .product-picker-carousel.bg {
      padding: 3rem 0; } }

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

#overlay {
  background: rgba(56, 56, 56, 0.5);
  opacity: 0;
  position: fixed;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: -1; }
  #overlay.is-overlay-on {
    z-index: 100;
    opacity: 1;
    transition: .35s all ease-in-out; }

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

.universal-bar-control {
  background: #383838;
  line-height: 1.125rem;
  padding-top: 0;
  padding-bottom: 0; }
  .universal-bar-control > div {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
