/*  --------------------------------------------------------------------------  *\

    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=Barlow:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Poppins&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@font-face {
  font-family: "ico";
  src: url("../fonts/ico.eot?2edcfa460b5683bad6ba5aa6b49f2bfe");
  src: url("../fonts/ico.eot?2edcfa460b5683bad6ba5aa6b49f2bfe#iefix") format("embedded-opentype"), url("../fonts/ico.woff?2edcfa460b5683bad6ba5aa6b49f2bfe") format("woff"), url("../fonts/ico.ttf?2edcfa460b5683bad6ba5aa6b49f2bfe") 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-right:before {
  content: "\f101"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icon-CLNS-logo-header:before {
  content: "\f115"; }

.icon-CLNS-logo-reverse:before {
  content: "\f116"; }

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

.icon-creditcard-amex:before {
  content: "\f118"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icon-sort:before {
  content: "\f133"; }

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

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

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

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

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

.icon-truck:before {
  content: "\f139"; }

.icon-usa-flag:before {
  content: "\f13a"; }

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

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

/*  --------------------------------------------------------------------------  *\

    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

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    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: 1199.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: #0E3B5E;
    transition: transform 0.25s, background 0.25s, color 0.25s; }
    a.skip-content:focus {
      background: #0E3B5E;
      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: "Barlow", sans-serif;
  cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    RESETS STYLES ON INPUT ELEMENTS FOR FORMS

\*  --------------------------------------------------------------------------  */
input, select, textarea {
  border-radius: 0px;
  font-family: "Barlow", 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 -- disabled by default

\*  --------------------------------------------------------------------------  */
/*
[contenteditable="true"]:focus,
[href]:focus,
[tabindex]:not([tabindex="-1"]):focus,
button:focus,
details:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #2e8fff !important;
    outline-offset: 1px !important;
}
input:focus + label {
    outline: 2px solid #2e8fff !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: 0.375rem 0; }
  .accordion dt button span {
    display: block;
    transition: all .25s linear; }
  .accordion dt button .indicatior {
    position: relative;
    width: 16px; }
    .accordion dt button .indicatior span {
      margin-top: -8px;
      position: absolute;
      height: 2px;
      top: 7px;
      background: #222426;
      width: 16px;
      border-radius: 2px; }
      .accordion dt button .indicatior span:nth-child(2) {
        transform-origin: center;
        transform: rotate(90deg); }
  .accordion dt button[aria-expanded="true"] span {
    color: #A5A9AD; }
  .accordion dt button[aria-expanded="true"] .indicatior span:nth-child(2) {
    transform-origin: center;
    transform: rotate(0deg); }

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

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

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

/*  --------------------------------------------------------------------------  *\

    GLOBAL ELEMENTS - ALERTS

\*  --------------------------------------------------------------------------  */
.alertBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  padding: 0.5rem;
  margin: 0 0 1.5rem;
  background: #DEDFE1;
  border: 0.0625rem solid #A5A9AD;
  column-gap: 8px; }
  .alertBox p {
    width: 100%; }
  .alertBox .fas {
    margin: 0 0.75rem 0 0; }
  .alertBox p {
    margin: 0;
    font-size: 0.875rem; }
  .alertBox.error {
    background: #ffe6e6;
    color: #FF0000;
    border-color: #FF0000; }
  .alertBox.success {
    background: #e6ffe6;
    color: green;
    border-color: green; }
  .alertBox.info {
    background: #ebf5ff;
    color: #004085;
    border-color: #004085; }

/*  --------------------------------------------------------------------------  *\

    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;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0.5625rem 1.5rem;
  text-transform: uppercase;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.14286;
  text-align: center;
  text-decoration: none;
  transition: all .25s;
  /*  ----------------------------------------------------------------------  *\

        Button Arrow Options

        @import 'icon/_icon-top';
        @import 'icon/_icon-bottom';
        @import 'icon/_icon-left';
        @import 'icon/_icon-right';

    \*  ----------------------------------------------------------------------  */ }
  [class*="btn-"] + [class*="btn-"], .button + [class*="btn-"] {
    margin: 0.9375rem 0 0; }
  [class*="btn-"] svg, .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  @media (min-width: 992px) {
    [class*="btn-"], .button {
      width: auto;
      margin: 0; }
      [class*="btn-"] + [class*="btn-"], .button + [class*="btn-"] {
        margin: 0 0 0 0.9375rem; } }
  [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 {
  background: #0E3B5E;
  border-color: transparent;
  color: #fff;
  padding: 0.9375rem 1.5rem; }
  .btn-primary:hover, .btn-primary:focus, .button--primary:hover, .button--primary:focus {
    background: #4A6C86;
    color: #fff; }
  .btn-primary:active, .button--primary:active {
    background: #071D2F; }
  .btn-primary.invert, .button--primary.invert {
    background: #fff;
    color: #0E3B5E;
    border-color: transparent; }
    .btn-primary.invert:hover, .btn-primary.invert:focus, .button--primary.invert:hover, .button--primary.invert:focus {
      background: #89BAE2; }
    .btn-primary.invert:active, .button--primary.invert:active {
      background: #4A6C86;
      color: #fff; }
  .btn-primary[disabled], .button--primary[disabled] {
    cursor: not-allowed;
    opacity: .3;
    background-color: #A5A9AD;
    color: #000;
    border-color: #565A5E; }
    .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .button--primary[disabled]:hover, .button--primary[disabled]:focus {
      background-color: #A5A9AD;
      color: #000;
      border-color: #565A5E; }

#form-action-addToCart {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  font-style: normal;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.04em; }

/*  --------------------------------------------------------------------------  *\

    Button - Secondary

\*  --------------------------------------------------------------------------  */
.btn-secondary, .button--secondary {
  background: #fff;
  border-color: #085EAC;
  color: #085EAC;
  padding: 0.625rem 1rem 0.6875rem; }
  @media (min-width: 768px) {
    .btn-secondary, .button--secondary {
      padding: 0.625rem 1.5rem 0.6875rem; } }
  .btn-secondary:hover, .btn-secondary:focus, .button--secondary:hover, .button--secondary:focus {
    background: #085EAC;
    color: #fff !important; }
  .btn-secondary:active, .button--secondary:active {
    background: #0E3B5E;
    border-color: #0E3B5E;
    color: #fff !important; }
  .invert .btn-secondary, .invert .button--secondary {
    border-color: #fff;
    background: rgba(255, 255, 255, 0);
    color: #085EAC; }
    .invert .btn-secondary:hover, .invert .btn-secondary:focus, .invert .button--secondary:hover, .invert .button--secondary:focus {
      background: white;
      color: #085EAC; }
    .invert .btn-secondary:active, .invert .button--secondary:active {
      background: #085EAC;
      border-color: #085EAC;
      color: #fff; }

/*  --------------------------------------------------------------------------  *\

    Button - Tertiary

\*  --------------------------------------------------------------------------  */
.btn-tertiary, .button--tertiary {
  background: #1C75BC;
  border-color: #1C75BC;
  color: #0E3B5E; }
  .btn-tertiary:hover, .btn-tertiary:focus, .button--tertiary:hover, .button--tertiary:focus {
    background: #fff;
    color: #1C75BC; }
  .btn-tertiary:active, .button--tertiary:active {
    background: #fff;
    color: #1C75BC; }

/*  --------------------------------------------------------------------------  *\

    Button - Text

\*  --------------------------------------------------------------------------  */
.btn-txt {
  background: none;
  border: none;
  padding: 0;
  color: #0E3B5E;
  border-radius: 0;
  border-bottom: 0.0625rem solid #fff;
  padding-bottom: 0.375rem; }
  .btn-txt svg {
    margin: 0 0.5rem 0 0; }
  .btn-txt.alt {
    color: #0E3B5E; }
    .btn-txt.alt svg {
      fill: currentColor; }
    .btn-txt.alt:hover, .btn-txt.alt:focus {
      color: #0E3B5E; }
  .btn-txt:hover, .btn-txt:focus {
    color: #085EAC;
    background: none; }
    .btn-txt:hover.ico-chevron-right:after, .btn-txt:focus.ico-chevron-right:after {
      border-right-color: #0E3B5E;
      border-bottom-color: #0E3B5E; }
  .btn-txt:focus {
    color: #071D2F; }
  .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 {
  position: relative;
  z-index: 1; }
  .btn-dropdown:hover > ul {
    display: block; }
  .btn-dropdown:focus-within > ul {
    display: block; }
  .btn-dropdown ul {
    display: none;
    position: absolute;
    left: 0 !important;
    top: 100% !important;
    border: 0.0625rem solid #0E3B5E;
    background: #fff;
    overflow: hidden;
    width: 100%; }
    .btn-dropdown ul li {
      padding: 0; }
      .btn-dropdown ul li:before {
        display: none; }
      .btn-dropdown ul li + li {
        border-top: 0.0625rem solid #0E3B5E;
        margin: 0; }
    .btn-dropdown ul a, .btn-dropdown ul button, .btn-dropdown ul input[type="button"], .btn-dropdown ul input[type="submit"] {
      display: block;
      padding: 0.9375rem 2.0625rem;
      margin: 0;
      width: 100%;
      background: none;
      border: none; }
      .btn-dropdown ul a:hover, .btn-dropdown ul a:focus, .btn-dropdown ul button:hover, .btn-dropdown ul button:focus, .btn-dropdown ul input[type="button"]:hover, .btn-dropdown ul input[type="button"]:focus, .btn-dropdown ul input[type="submit"]:hover, .btn-dropdown ul input[type="submit"]:focus {
        background: #0E3B5E;
        color: #fff; }
  .btn-dropdown [class*="btn-"][aria-expanded="true"] {
    border-radius: 1.4375rem 1.4375rem 0 0; }
    .btn-dropdown [class*="btn-"][aria-expanded="true"] + ul {
      display: block; }

/*  --------------------------------------------------------------------------  *\

    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;
  margin: 0 -1rem;
  width: calc(100% + 2rem); }

.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.375rem;
  width: 2.375rem;
  border: 1px solid white;
  border-radius: 2.375rem;
  font-size: 0.875rem;
  color: white;
  transition: background .25s linear;
  z-index: 1;
  position: relative;
  right: auto;
  left: auto;
  flex-shrink: 1;
  order: 4; }
  .slick-arrow:hover, .slick-arrow:focus {
    background-color: rgba(255, 255, 255, 0.25);
    color: white; }
  .slick-arrow:focus {
    background-color: rgba(255, 255, 255, 0.25);
    color: white; }
  .slick-arrow.slick-hidden {
    display: none; }
  .slick-arrow.slick-prev {
    margin-right: 0.5rem; }

.arrows-pos-side .slick-arrow {
  position: absolute;
  top: 50%; }
  .arrows-pos-side .slick-arrow.slick-prev {
    left: -1.1875rem; }
  .arrows-pos-side .slick-arrow.slick-next {
    right: -1.1875rem; }

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

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

/*  --------------------------------------------------------------------------  *\

    CAROUSEL > DOTS

\*  --------------------------------------------------------------------------  */
.categories-carousel .slick-dots {
  position: absolute;
  left: 50%;
  top: calc(100% + 1.5rem);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  display: flex !important; }
  .categories-carousel .slick-dots li {
    margin: 0 0.375rem;
    padding: 0; }
    .categories-carousel .slick-dots li button {
      display: block;
      width: 0.625rem;
      height: 0.625rem;
      border-radius: 0.625rem;
      background: rgba(8, 94, 172, 0.5); }
      .categories-carousel .slick-dots li button:hover {
        background: #565A5E; }
    .categories-carousel .slick-dots li:before {
      display: none; }
    .categories-carousel .slick-dots li.slick-active button {
      background: #085EAC; }

.carousel-tooltip {
  display: none;
  position: relative;
  top: 0.5rem;
  right: 0.5rem; }
  .carousel-tooltip:before {
    content: " ";
    position: absolute;
    right: 0;
    top: 50%;
    border-width: 0.625rem;
    border-style: solid;
    border-color: transparent transparent #000 transparent; }
  .carousel-tooltip:after {
    content: attr(aria-label);
    padding: 0.25rem 0.375rem;
    background-color: #000;
    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: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 {
    margin-top: 1.5625rem; }
    .slick-dots button .carousel-tooltip:before, .slick-dots button .carousel-tooltip:after {
      right: 50%;
      transform: translateX(50%); }
    .slick-dots button .carousel-tooltip:before {
      top: -0.4375rem; }

.compare-container {
  position: fixed;
  bottom: 0;
  width: 100vw;
  padding: 1.25rem 0;
  background-color: #000;
  text-align: center;
  z-index: 1000000;
  opacity: 0;
  transition: background-color 1s ease;
  background-color: #0E3B5E; }
  .compare-container.show {
    opacity: 1;
    background-color: #DEDFE1; }

.countPill {
  background-color: #000;
  border-radius: 50%;
  color: #fff;
  display: none;
  height: 20px;
  line-height: 20px;
  margin-left: 0.625rem;
  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; }

.compareTable-row {
  vertical-align: top; }
  .compareTable-row + .compareTable-row .compareTable-heading,
  .compareTable-row + .compareTable-row .compareTable-item {
    border-top: 1px solid #DEDFE1; }
  .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 1rem;
  font-size: 0.875rem; }
  @media (min-width: 992px) {
    .compareTable-item {
      font-size: 1rem;
      padding: 1rem 1rem 1rem 0; } }

.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.875rem;
    color: #0E3B5E;
    background-color: #DEDFE1;
    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 {
    margin-bottom: 0; }
    .compareTable-product .card img {
      width: 100%; }
  .compareTable-product .card-body {
    min-height: 7.5rem;
    text-align: left;
    font-size: 0.875rem; }
    .compareTable-product .card-body .card-brand {
      margin-bottom: 0.5rem; }
    .compareTable-product .card-body a {
      color: #0E3B5E;
      font-weight: 600; }
    @media (min-width: 992px) {
      .compareTable-product .card-body {
        font-size: 1rem; } }

.compareTable-action {
  padding: 0 1rem 2rem 0; }
  .compareTable-action [class*='btn'] {
    width: 100%;
    font-size: 0.875rem; }
    @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; } }
    @media (min-width: 992px) {
      .compareTable-action [class*='btn'] {
        font-size: 1rem; } }

/*  --------------------------------------------------------------------------  *\

    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: #222426;
  font-family: "Barlow", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  background: #fff;
  font-weight: 400; }

strong {
  font-weight: 700; }

/*  --------------------------------------------------------------------------  *\

    COPY - BASIC LINK STYLES

    BUTTONS are located in the Components > Basic > Button file.

\*  --------------------------------------------------------------------------  */
a {
  color: #0E3B5E;
  text-decoration: none; }
  a:hover, a:focus {
    color: #89BAE2;
    text-decoration: none; }
  a:focus {
    color: #071D2F; }
  address a, a[href*="tel:"] {
    text-decoration: none; }

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

hr {
  margin: 1.875rem auto;
  height: 0.0625rem;
  max-width: 1200px;
  background: #085EAC;
  border: none; }

.intro {
  font-size: 24; }

.disclaimer {
  color: #0E3B5E;
  font-style: italic;
  font-size: 12;
  text-align: center; }

address {
  font-style: normal; }

.account-number {
  color: #0E3B5E; }
  .account-number strong {
    text-transform: uppercase;
    font-weight: 900;
    margin: 0 0.5rem 0 0; }

div.med-up-only {
  display: none; }
  @media (min-width: 768px) {
    div.med-up-only {
      display: flex; } }

@media (min-width: 768px) {
  div.med-down-only {
    display: none; } }

/*  --------------------------------------------------------------------------  *\

    COPY - MULTI COLUMN CONTENT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  [class*="multi-col-"] {
    margin: 0 0 1.5em;
    padding: 0;
    -webkit-column-count: 2;
    -ms-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 1.875rem;
    -ms-column-gap: 1.875rem;
    column-gap: 1.875rem;
    -webkit-column-rule: 0.2rem solid #D3E7F8;
    -ms-column-rule: 0.2rem solid #D3E7F8;
    column-rule: 0.2rem solid #D3E7F8; }
  ul[class*="multi-col-"] > li, ol[class*="multi-col-"] > li {
    display: inline-block;
    width: 100%; } }

@media (min-width: 992px) {
  .multi-col-3 {
    -webkit-column-count: 3;
    -ms-column-count: 3;
    column-count: 3; }
  .multi-col-4 {
    -webkit-column-count: 4;
    -ms-column-count: 4;
    column-count: 4; } }

/*  --------------------------------------------------------------------------  *\

    COPY - BODY STYLES

\*  --------------------------------------------------------------------------  */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: #222426;
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  line-height: 1.25;
  text-transform: capitalize; }
  .invert h1, .invert .h1, .invert h2, .invert .h2, .invert h3, .invert .h3, .invert h4, .invert .h4, .invert h5, .invert .h5, .invert h6, .invert .h6 {
    color: #fff; }
  h1.pad-extra, .h1.pad-extra, h2.pad-extra, .h2.pad-extra, 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.75rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  line-height: 2.5rem; }
  @media (min-width: 768px) {
    h1, .h1 {
      font-size: 1.9375rem; } }
  @media (min-width: 992px) {
    h1, .h1 {
      font-size: 2.5rem;
      line-height: 3rem; } }

h2, .h2 {
  font-size: 1.3125rem;
  line-height: 1.22222;
  margin: 0 0 1rem;
  font-weight: 500; }
  h2 small, .h2 small {
    display: block;
    font-size: 0.875rem;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
    color: #0E3B5E;
    font-weight: 600;
    letter-spacing: 0.08rem; }
  @media (min-width: 576px) {
    h2, .h2 {
      text-align: left; } }
  @media (min-width: 768px) {
    h2 small, .h2 small {
      font-size: 1rem;
      margin: 0 0 0.75rem; } }
  @media (min-width: 992px) {
    h2, .h2 {
      font-size: 1.75rem;
      margin: 0 0 1.5rem; } }

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

h4, .h4 {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0 0 0.75rem; }
  @media (min-width: 992px) {
    h4, .h4 {
      font-size: 1.25rem; } }

h5, .h5, h6, .h6 {
  font-size: 0.75rem;
  font-weight: 500;
  margin: 0 0 1.25rem; }

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

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

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

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

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

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

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

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

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

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

/*  --------------------------------------------------------------------------  *\

    FOOTER

\*  --------------------------------------------------------------------------  */
body > footer {
  background: #0E3B5E;
  color: #565A5E;
  font-size: 0.875rem;
  /*  ----------------------------------------------------------------------  *\
        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

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - NEWSLETTER

\*  --------------------------------------------------------------------------  */ }
  body > footer > div .container {
    padding-top: 2rem; }
    @media (min-width: 992px) {
      body > footer > div .container {
        padding-top: 2.3125rem; } }
  body > footer a {
    color: #fff; }
    body > footer a:hover, body > footer a:focus {
      color: #0E3B5E; }
  body > footer .footer-top .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-flow: column nowrap;
    row-gap: 2.25rem; }
    @media (min-width: 768px) {
      body > footer .footer-top .container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row nowrap;
        margin-bottom: 1.5rem; } }
  body > footer .footer-middle #mc_embed_signup .mc-field-group label {
    background: #0E3B5E; }
  body > footer .footer-middle .container nav {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 3rem;
    grid-template-areas: "service" "categories" "flag" "contact" "newsletter" "cards"; }
    body > footer .footer-middle .container nav .customer-links {
      grid-area: service; }
    body > footer .footer-middle .container nav .categories-links {
      grid-area: categories; }
    body > footer .footer-middle .container nav .flag-buyer-links {
      grid-area: flag; }
    body > footer .footer-middle .container nav .newsletter-form {
      grid-area: newsletter; }
    body > footer .footer-middle .container nav .location {
      grid-area: contact; }
    body > footer .footer-middle .container nav .credit-cards {
      grid-area: cards; }
    body > footer .footer-middle .container nav dt button {
      padding: 1.125rem 0;
      background: none !important;
      color: #fff;
      font-weight: bold;
      text-transform: uppercase; }
      @media (min-width: 768px) {
        body > footer .footer-middle .container nav dt button {
          padding: 1rem 0;
          margin: 0;
          pointer-events: none; }
          body > footer .footer-middle .container nav dt button [class*='icon-'] {
            display: none; } }
    body > footer .footer-middle .container nav dd {
      padding-bottom: 1.125rem; }
      @media (min-width: 768px) {
        body > footer .footer-middle .container nav dd {
          display: block; } }
    body > footer .footer-middle .container nav dl ul {
      column-count: 1; }
      @media (min-width: 768px) {
        body > footer .footer-middle .container nav dl ul {
          column-count: 1; } }
      body > footer .footer-middle .container nav dl ul a {
        color: #F2F4F5; }
        body > footer .footer-middle .container nav dl ul a:hover {
          color: #89BAE2; }
        body > footer .footer-middle .container nav dl ul a:active {
          color: #D3E7F8; }
    @media (min-width: 768px) {
      body > footer .footer-middle .container nav dl {
        border: 0; } }
    @media (min-width: 992px) {
      body > footer .footer-middle .container nav dl.customer-links ul {
        column-count: 2; } }
    @media (min-width: 768px) {
      body > footer .footer-middle .container nav {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-areas: "service categories flag contact" "newsletter newsletter cards cards";
        row-gap: 3rem; } }
    @media (min-width: 992px) {
      body > footer .footer-middle .container nav {
        grid-template-columns: 2fr 1fr 1fr 2fr;
        grid-template-areas: "service categories flag newsletter" "contact contact contact cards";
        row-gap: 0; } }
  body > footer .footer-bottom {
    font-size: 0.875rem;
    color: #fff;
    background-color: #071D2F; }
    body > footer .footer-bottom .container {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
      @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 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: center;
    align-items: center;
    flex-flow: row nowrap; }
  body > footer .social li {
    margin: 0 0.5rem; }
    @media (max-width: 767.9px) {
      body > footer .social li:first-child {
        margin-left: 0; }
        body > footer .social li:first-child a {
          margin-left: 0; } }
  body > footer .social a {
    font-size: 1.25rem;
    line-height: 1;
    color: #89BAE2;
    padding: 0.5rem 0.625rem; }
    body > footer .social a [class*='icon']:before {
      width: 1.25rem;
      height: 1.25rem; }
    body > footer .social a:hover {
      background-color: #fff;
      border-radius: 6.25rem;
      color: #085EAC; }
    body > footer .social a:active {
      background-color: #89BAE2;
      color: rgba(14, 59, 94, 0.5); }
  body > footer .social svg {
    display: block;
    fill: #89BAE2;
    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 #565A5E; }
    body > footer .legal li:nth-last-child(1) {
      border: 0; }
  body > footer dl.hot-links li + li {
    margin: 1.3125rem 0 0; }
    @media (min-width: 992px) {
      body > footer dl.hot-links li + li {
        margin: 1rem 0 0; } }
  body > footer nav.category li + li {
    margin: 0.875rem 0 0; }
  body > footer .logo {
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    display: block;
    width: 12.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
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    body > footer .logo img {
      width: 290px; }
    body > footer .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #fff;
      width: 13.9375rem; }
      @media (min-width: 992px) {
        body > footer .logo svg {
          width: 17.25rem; } }
    body > footer .logo:hover, body > footer .logo:focus {
      color: #085EAC; }
  body > footer .copyright {
    margin: 0; }
  body > footer .location {
    margin-bottom: 2rem; }
    @media (min-width: 992px) {
      body > footer .location {
        position: relative;
        top: -6.25rem; } }
    body > footer .location a {
      color: #F2F4F5; }
      body > footer .location a:hover {
        color: #89BAE2; }
    body > footer .location button:hover {
      color: #89BAE2; }
    body > footer .location address, body > footer .location p {
      position: relative; }
      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 (min-width: 992px) {
      body > footer .location {
        margin-top: -3.9375rem; } }
  body > footer .newsletter {
    text-align: center; }
    @media (min-width: 992px) {
      body > footer .newsletter {
        text-align: left; }
        body > footer .newsletter p:nth-child(3) {
          margin-bottom: 0; } }
    body > footer .newsletter h3 {
      color: #fff;
      margin-bottom: 0; }
    body > footer .newsletter form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: column nowrap;
      margin: 0 auto; }
      @media (min-width: 768px) {
        body > footer .newsletter form {
          flex-direction: row;
          max-width: 28.125rem; }
          body > footer .newsletter form .form-el {
            margin: 0; }
            body > footer .newsletter form .form-el input {
              width: 100%; }
            body > footer .newsletter form .form-el:last-of-type {
              width: auto; } }
      @media (min-width: 992px) {
        body > footer .newsletter form {
          margin: 0 0 0 auto; } }
      body > footer .newsletter form > div {
        width: 100%; }
    body > footer .newsletter .newsletter-form {
      margin-top: 2rem;
      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) {
        body > footer .newsletter .newsletter-form {
          flex-direction: row; } }
      body > footer .newsletter .newsletter-form > div {
        width: 100%; }
        @media (min-width: 992px) {
          body > footer .newsletter .newsletter-form > div {
            width: 50%; } }
      body > footer .newsletter .newsletter-form .btn {
        height: 2.375rem;
        padding: 0 0.375rem 0 1rem;
        border-radius: 0.25rem;
        color: #fff; }
        body > footer .newsletter .newsletter-form .btn:hover {
          background: #085EAC; }
        @media (min-width: 768px) {
          body > footer .newsletter .newsletter-form .btn {
            position: relative;
            left: -0.0625rem;
            border-radius: 0 0.25rem 0.25rem 0;
            border: 1px solid #0E3B5E;
            border-left: 0; } }
    body > footer .newsletter .form-input {
      font-style: italic;
      text-align: center;
      border-radius: 0.25rem; }
      @media (min-width: 768px) {
        body > footer .newsletter .form-input {
          text-align: left;
          border-radius: 0.25rem 0 0 0.25rem; } }
  body > footer .newsletter-form {
    margin-bottom: 2rem; }
    body > footer .newsletter-form h2 {
      line-height: 1.5rem; }
    body > footer .newsletter-form .mc-field-group input[type='text'] {
      height: 2.5rem !important; }
    body > footer .newsletter-form .mc-field-group input[type='email'] {
      height: 2.5rem !important; }
    body > footer .newsletter-form .mc-field-group label {
      border-radius: 4px; }
    body > footer .newsletter-form .mc-field-group div.mce_inline_error {
      position: absolute;
      right: 0;
      top: 34px; }
    @media (min-width: 992px) {
      body > footer .newsletter-form {
        margin-bottom: 0; } }
    body > footer .newsletter-form p {
      color: #fff;
      font-size: 1rem;
      font-weight: 600;
      text-transform: capitalize;
      margin-bottom: 1rem; }
    body > footer .newsletter-form [class*='btn-'] {
      width: auto; }
    body > footer .newsletter-form label {
      color: #fff; }
    body > footer .newsletter-form input {
      background-color: transparent;
      border: 1px solid #fff;
      color: #fff; }
      body > footer .newsletter-form input:focus ~ label, body > footer .newsletter-form input:hover ~ label, body > footer .newsletter-form input:valid ~ label {
        top: -10px;
        left: 10px;
        font-size: small;
        color: #fff;
        background-color: #0E3B5E;
        padding: 0 5px 0 5px;
        border: none; }
      body > footer .newsletter-form input[type='submit'] {
        padding: 0.5625rem 1.5rem; }
        body > footer .newsletter-form input[type='submit']:hover {
          border-color: #89BAE2 !important; }
    body > footer .newsletter-form .checkout-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row;
      column-gap: 0.9375rem;
      margin-bottom: 1rem; }
      @media (min-width: 992px) {
        body > footer .newsletter-form .checkout-wrapper {
          column-gap: 3.8125rem;
          margin-bottom: 0.25rem; } }
      body > footer .newsletter-form .checkout-wrapper > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: start;
        align-items: center;
        flex-flow: row;
        color: #fff; }
        body > footer .newsletter-form .checkout-wrapper > div input {
          width: auto; }
          body > footer .newsletter-form .checkout-wrapper > div input[type='checkbox'] {
            -moz-appearance: none;
            -webkit-appearance: none;
            -o-appearance: none;
            outline: none !important;
            content: none;
            width: 20px !important;
            margin-right: 0.75rem; }
            body > footer .newsletter-form .checkout-wrapper > div input[type='checkbox']:hover::before {
              background-color: #D3E7F8; }
            body > footer .newsletter-form .checkout-wrapper > div input[type='checkbox']::before {
              font-family: "ico";
              content: "" !important;
              border-radius: 0.125rem;
              color: transparent !important;
              background: #0E3B5E;
              display: flex;
              justify-content: center;
              align-items: center;
              border: 1px solid #fff !important;
              width: 20px !important;
              height: 20px !important; }
            body > footer .newsletter-form .checkout-wrapper > div input[type='checkbox']:checked::before {
              background: #D3E7F8;
              content: url("../icons/check.svg") !important;
              color: #085EAC !important;
              border: 1px solid #D3E7F8;
              text-align: center; }
  body > footer .credit-cards {
    margin-bottom: 2.5625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: row;
    column-gap: 1.5rem; }
    @media (min-width: 768px) {
      body > footer .credit-cards {
        column-gap: 1rem; } }
    @media (min-width: 992px) {
      body > footer .credit-cards {
        margin-top: 1rem; } }
  @media print {
    body > footer {
      display: none; } }

/*  --------------------------------------------------------------------------  *\

    BASE FORM STYLING

    This establishes global styles used for all Form Styling. For custom
    variations of the forms, refer to their specific styling located in
    their respective files.

\*  --------------------------------------------------------------------------  */
form {
  margin: 0 0 1.5rem;
  /*  ----------------------------------------------------------------------  *\

        FORM LAYOUT OPTIONS 

        By default the forms are styled with the label appearing above the 
        input.

        Form Inline are typically used for 1 or 2 input forms to collect 
        information for things like newsletter signup or notifications.

        Form Rows are typically used for larger forms like account registration
        where fields are displayed next to each other to shorten the length
        of scrolling required.

        Form Label Inside are typically used for shorter forms and will have
        the label appear inside the element and then shift when the field is
        valid. - STYLING FOR THIS TYPE WILL COME LATER
        
        Comment or remove unused form styling.

    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FORM ELEMENT

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FIELDSET

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - LABEL

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - SELECTS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - INPUTS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - TEXTAREAS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - CHECKBOXES AND RADIOS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - FORM ACTIONS

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - RECAPTCHA

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FORM - ERRORS

\*  --------------------------------------------------------------------------  */ }
  form .input-wrapper, form .form-el {
    position: relative; }
    form .input-wrapper input, form .form-el input {
      font-family: inherit;
      font-size: inherit; }
      form .input-wrapper input:focus ~ label, form .input-wrapper input:hover ~ label, form .input-wrapper input:valid ~ label, form .form-el input:focus ~ label, form .form-el input:hover ~ label, form .form-el input:valid ~ label {
        top: -10px;
        left: 10px;
        font-size: small;
        padding: 0 5px 0 5px; }
    form .input-wrapper label, form .form-el label {
      position: absolute;
      transition: .25s all ease-in-out;
      top: 0.5rem;
      left: 1rem;
      background-color: white;
      font-weight: 400; }
    form .input-wrapper.price-range, form .form-el.price-range {
      margin: 0; }
      form .input-wrapper.price-range label, form .form-el.price-range label {
        width: 32px; }
  @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;
    color: #A5A9AD; }
    form label small, form .label small {
      font-size: .75em;
      color: #FF0000;
      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.5rem 0.75rem;
    width: 100%;
    -webkit-appearance: none;
    border: 0.0625rem solid #A5A9AD;
    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; }
    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: #0E3B5E; }
  form input, form .form-input {
    padding: 0.625rem 0.75rem;
    border: 0.0625rem solid #A5A9AD;
    width: 100%;
    border-radius: 0.25rem;
    transition: .25s all ease; }
    form input::placeholder, form .form-input::placeholder {
      color: #A5A9AD; }
    form input:hover, form input:focus, form .form-input:hover, form .form-input:focus {
      border: 0.0625rem solid #89BAE2;
      box-shadow: 0px 0px 3px 0px #89BAE2; }
    form input:focus, form .form-input:focus {
      border: 0.0625rem solid #A5A9AD; }
  form textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 0.0625rem solid #A5A9AD;
    height: calc(7.5em + 1rem); }
  form .form-cr input[type="checkbox"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #565A5E; }
  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: #565A5E;
    border-bottom-color: #565A5E; }
  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 #565A5E;
    border-radius: 100%; }
  form .form-cr input[type="radio"]:checked + label:before {
    background: #565A5E;
    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: #FF0000;
    display: block;
    font-size: .75em;
    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; }
  .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;
    background: #F2F4F5;
    border: 0.0625rem solid #F2F4F5;
    border-radius: 4px;
    height: 2.75rem; }
  .form-increment button {
    width: 2.75rem;
    height: 2.75rem;
    background: #F2F4F5;
    font-size: 0.75rem;
    color: #222426; }
    .form-increment button:before, .form-increment button:after {
      font-size: 0.75rem; }
    .form-increment button:hover, .form-increment button:focus {
      background: rgba(34, 36, 38, 0.25); }
    .form-increment button:active {
      background: rgba(34, 36, 38, 0.5); }
  .form-increment input {
    padding: 0.25rem;
    background: #fff;
    border: none;
    text-align: center;
    width: 2.75rem;
    font-size: 1rem;
    border-radius: 0; }

/*  --------------------------------------------------------------------------  *\

    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;
  padding: 0 1rem;
  max-width: 1200px;
  width: 100%; }
  @media (min-width: 992px) {
    .container {
      width: 100%; } }
  @media (min-width: 1425px) {
    .container {
      width: 100%; } }
  .container.custom-form {
    max-width: 50rem; }
  @media (min-width: 768px) {
    .container {
      padding: 0 3rem; } }
  @media (min-width: 992px) {
    .container {
      padding: 0 3.75rem; } }

/*  --------------------------------------------------------------------------  *\

    GRID 12 COLUMNS WRAPPER

\*  --------------------------------------------------------------------------  */
.wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: start;
  column-gap: 0.5rem;
  max-width: 1200px;
  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);
      column-gap: 1rem; } }
  @media (min-width: 992px) {
    .wrapper {
      grid-template-columns: repeat(12, 1fr);
      column-gap: 1.5rem; } }

/*  --------------------------------------------------------------------------  *\

    HEADER

\*  --------------------------------------------------------------------------  */
body.nav-open main .mobileMenuOverlay {
  display: block; }

body main .mobileMenuOverlay {
  position: fixed;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  transition: all 250ms ease-out;
  display: none; }

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: #0E3B5E;
  padding: 0.5rem 0.75rem; }
  a.skip:focus {
    transform: translate(-50%, 0);
    background: #0E3B5E;
    color: #fff; }
  @media print {
    a.skip {
      display: none; } }

body > header {
  /*  ----------------------------------------------------------------------  *\
        RESETS
        This code resets some of the styling for the a, label, button, and li
        to make it function as a navigation
    \*  ----------------------------------------------------------------------  */
  border-bottom: 1px solid rgba(62, 99, 134, 0.102);
  /*  ----------------------------------------------------------------------  *\
        RESETS & VARIABLES
        Set some varialbes that apply to the scss files for header
    \*  ----------------------------------------------------------------------  */
  background: #fff;
  /*  --------------------------------------------------------------------------  *\

    HEADER - POTIION

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - LAYOUT

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - LOGO

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH > TOGGLE

\*  --------------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\

    HEADER - NAVIGATIONS

\*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - TOGGLE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    HEADER - CART

\*  --------------------------------------------------------------------------  */ }
  body > header a, body > header label, body > header button {
    display: block;
    font-size: 0.875rem;
    white-space: nowrap;
    text-decoration: none; }
    body > header a:hover, body > header a:focus, body > header label:hover, body > header label:focus, body > header button:hover, body > header button:focus {
      color: #085EAC; }
  @media (min-width: 1200px) {
    body > header a, body > header li {
      color: #565A5E; } }
  @media (max-width: 1199.9px) {
    body > header a, body > header li {
      color: #1C75BC; } }
  body > header .info-msg {
    background: #0e3b5e;
    color: #ffffff;
    font-size: 0.875rem;
    display: none; }
    @media (min-width: 768px) {
      body > header .info-msg {
        display: none;
        position: relative;
        z-index: -11; } }
    body > header .info-msg .container {
      padding-top: 1rem;
      padding-bottom: 1rem; }
      @media (min-width: 992px) {
        body > header .info-msg .container {
          padding-top: .5rem; } }
    body > header .info-msg p {
      margin: 0; }
      body > header .info-msg p a {
        display: inline;
        color: #ffffff;
        font-weight: bold; }
  body > header .container.desktop {
    display: none; }
  body > header .container.mobile {
    position: relative;
    flex-direction: column; }
    body > header .container.mobile .first-row {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      body > header .container.mobile .first-row .menu-logo {
        display: flex; }
      body > header .container.mobile .first-row .user {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap;
        margin-bottom: 0; }
        body > header .container.mobile .first-row .user .user--blog {
          display: none; }
        body > header .container.mobile .first-row .user .user--login svg, body > header .container.mobile .first-row .user .user--account svg {
          stroke: #222426;
          fill: #fff;
          width: 20px;
          height: 24px; }
        body > header .container.mobile .first-row .user .user--login .user-text, body > header .container.mobile .first-row .user .user--account .user-text {
          display: none; }
        body > header .container.mobile .first-row .user .user--contact-us .icon-phone-2 {
          color: #222426; }
        body > header .container.mobile .first-row .user .user--contact-us svg {
          width: 30px;
          height: 30px; }
        body > header .container.mobile .first-row .user .user--contact-us .text {
          display: none; }
        body > header .container.mobile .first-row .user li {
          margin-top: 0; }
          @media (max-width: 400px) {
            body > header .container.mobile .first-row .user li {
              padding-left: 0.625rem; } }
        body > header .container.mobile .first-row .user .cart-item svg {
          stroke: #222426;
          fill: #fff;
          width: 27px;
          height: 26px; }
        body > header .container.mobile .first-row .user .cart-item .cart-text {
          display: none; }
        body > header .container.mobile .first-row .user a i.icon-phone-2 {
          font-size: 1.875rem; }
        body > header .container.mobile .first-row .user ul {
          display: none; }
    body > header .container.mobile .search-bar {
      padding-left: 0;
      padding-right: 0; }
    body > header .container.mobile nav .main .subcat-container .list-link {
      display: flex;
      flex-direction: column;
      padding-left: 1.25rem; }
      body > header .container.mobile nav .main .subcat-container .list-link .sub-cat .third-lvl-cat {
        padding: 0 1.25rem;
        display: none; }
        body > header .container.mobile nav .main .subcat-container .list-link .sub-cat .third-lvl-cat li:last-child {
          margin-bottom: 0; }
      body > header .container.mobile nav .main .subcat-container .list-link .sub-cat input[type="checkbox"]:checked ~ .third-lvl-cat {
        display: block; }
    body > header .container.mobile nav .main .shop-all-btn {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      order: -1;
      margin: 0; }
      body > header .container.mobile nav .main .shop-all-btn .icon-arrow-right {
        display: flex; }
        body > header .container.mobile nav .main .shop-all-btn .icon-arrow-right::before {
          font-size: 1.5rem; }
      body > header .container.mobile nav .main .shop-all-btn a {
        width: auto;
        text-transform: capitalize;
        display: block; }
  @media (min-width: 1200px) {
    body > header .container > .logo {
      display: none; }
    body > header .container.desktop {
      display: block; }
    body > header .container.mobile {
      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   
    \*  ----------------------------------------------------------------------  */
    position: relative;
    position: -webkit-sticky;
    position: sticky;
    z-index: 1000; }
    @supports (position: -webkit-sticky) {
      body > header {
        top: 0; } }
    @supports (position: sticky) {
      body > header {
        top: 0; } }
  body > header .container {
    /*
        @include borderTest();
        @include borderTest(".logo");
        @include borderTest(".search-bar");
        @include borderTest("nav");
        @include borderTest(".toggle-search");
        @include borderTest(".mobile-cart");
        @include borderTest(".toggle-trigger");
        @include borderTest(".main");
        @include borderTest(".user");
        @include borderTest(".utility");
        //*/ }
    @media (max-width: 1199.9px) {
      body > header .container {
        border-bottom: 1px solid #DEDFE1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-flow: row wrap; }
        body > header .container .toggle-search {
          flex-grow: 1;
          text-align: right; }
        body > header .container .toggle-search.opacity {
          opacity: 0; } }
    @media (max-width: 767.9px) {
      body > header .container {
        padding: 0.5rem 1rem; } }
    @media (min-width: 768px) {
      body > header .container {
        padding: 0.5rem 3rem; } }
    @media (min-width: 992px) {
      body > header .container {
        padding: 0.5rem 3.75rem; } }
    @media (min-width: 1200px) {
      body > header .container {
        border-bottom: 0; } }
    @media (min-width: 1200px) {
      body > header .container {
        padding-top: 0;
        padding-bottom: 0; }
        body > header .container nav {
          display: flex;
          align-items: center;
          padding: 1rem 0; }
          body > header .container nav .main {
            display: none; }
          body > header .container nav .search-bar {
            width: 100%;
            margin: 0 1.125rem; } }
  body > header .main-nav {
    background-color: #fff; }
    @media (min-width: 1200px) {
      body > header .main-nav {
        position: relative;
        z-index: -10; } }
    body > header .main-nav a {
      font-size: 0.875rem;
      color: #212327;
      padding: 1rem 0.625rem;
      font-weight: 700;
      text-transform: uppercase;
      line-height: 1.125rem; }
      body > header .main-nav a:hover, body > header .main-nav a:focus {
        color: #0f75bf;
        text-underline-offset: 0.25rem;
        text-decoration: underline; }
    @media (min-width: 1200px) {
      body > header .main-nav .container {
        position: relative; } }
  body > header .logo {
    display: block;
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    width: auto;
    /*  ----------------------------------------------------------------------  *\
        INCLUDE A TAGLINE
        @include flex(flex-start, center, null, row nowrap);
        color: $primary;
        text-decoration: none;
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        IMAGE BASED LOGO
        > img {
            display: block;
            width: 6rem;
            height: auto;
        }
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    body > header .logo img {
      width: 18.5625rem; }
      @media (max-width: 1199.9px) {
        body > header .logo img {
          width: 10.8125rem; } }
    body > header .logo svg {
      display: block;
      width: 12rem;
      height: auto;
      fill: #fff; }
      @media (min-width: 1200px) {
        body > header .logo svg {
          width: 15.0625rem; } }
    body > header .logo:hover, body > header .logo:focus {
      color: #085EAC; }
  body > header .toggle-search {
    display: block;
    padding: 0.4375rem; }
    body > header .toggle-search i {
      font-size: 1.25rem;
      color: #1C75BC; }
    @media (min-width: 1200px) {
      body > header .toggle-search {
        display: none; } }
  body > header .search-bar {
    position: relative;
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - FORM

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - RESULTS

\*  --------------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - QUICK SEARCH RESULTS BOX

\*  --------------------------------------------------------------------------  */ }
    body > header .search-bar hr {
      display: none; }
    body > header .search-bar .quick-search-loading {
      position: absolute;
      right: 3.125rem;
      height: 2.5rem;
      display: none; }
    @media (max-width: 1199.9px) {
      body > header .search-bar {
        width: 100%;
        padding: 0.875rem 1rem 0.125rem;
        transition: all 0.25s linear; }
        body > header .search-bar hr {
          margin: 1.5rem 0 0; }
        #headerToggleSearch:checked ~ body > header .search-bar {
          top: 100%;
          transform: translate(-100%, 0); } }
    @media (min-width: 1200px) {
      body > header .search-bar:focus-within .results:not(:empty) {
        display: block; } }
    body > header .search-bar .form {
      margin: 0; }
      body > header .search-bar .form .form-el {
        position: relative;
        margin: 0; }
      body > header .search-bar .form input {
        width: 100%;
        font-size: 0.875rem;
        -webkit-box-flex: 0 1 auto;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        border-radius: 0;
        box-shadow: 0 0.0625rem 0.5625rem 0 rgba(71, 69, 69, 0.059);
        background-color: #fff;
        border: 0.125rem solid rgba(128, 128, 128, 0.2);
        transition: .25s all ease-in-out;
        padding: 0.5625rem 1rem 0.625rem; }
        body > header .search-bar .form input:hover {
          border: 0.125rem solid #89BAE2;
          background-color: #fff; }
        body > header .search-bar .form input:focus {
          border: 0.0625rem solid #A5A9AD;
          background-color: #fff; }
        body > header .search-bar .form input::placeholder {
          color: #808080;
          font-weight: 400;
          font-size: 0.875rem;
          line-height: 1.0625rem; }
      body > header .search-bar .form button {
        position: absolute;
        z-index: 100;
        right: 0.5rem;
        top: 0;
        height: 2.5rem;
        max-width: 2.5rem;
        padding: 0 0.375rem 0 1rem;
        border: 1px solid transparent;
        color: #ce142b;
        background-color: transparent;
        font-size: 16px; }
        body > header .search-bar .form button span {
          font-size: 16px; }
    body > header .search-bar .results {
      margin: 1rem 0 0; }
      body > header .search-bar .results:empty {
        display: none; }
      body > header .search-bar .results .card:nth-child(n + 3) {
        display: none; }
      @media (min-width: 768px) {
        body > header .search-bar .results .card {
          width: calc(33.333% - 2rem); }
          body > header .search-bar .results .card:nth-child(3) {
            display: block; }
          body > header .search-bar .results .card:nth-child(n + 4) {
            display: none; } }
      @media (min-width: 1200px) {
        body > header .search-bar .results {
          display: none;
          position: absolute;
          right: 0;
          top: 100%;
          width: 50rem;
          margin: 0;
          background: #fff;
          padding: 1.5rem;
          border: 0.0625rem solid #D3E7F8; } }
    body > header .search-bar #quickSearch {
      display: none;
      position: absolute;
      background-color: #DEDFE1;
      box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
      width: 100%; }
      body > header .search-bar #quickSearch.is-open {
        display: initial;
        z-index: 500; }
      @media (max-width: 1199.9px) {
        body > header .search-bar #quickSearch {
          display: none !important; } }
      body > header .search-bar #quickSearch .quickSearchResults > 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 {
          margin-bottom: 1em;
          position: relative; }
        body > header .search-bar #quickSearch .quickSearchResults > div > div {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 1.25rem; }
        body > header .search-bar #quickSearch .quickSearchResults > div .modal-close {
          position: absolute;
          top: 50%;
          right: 0;
          line-height: 0;
          font-size: 1.5rem;
          color: #0E3B5E; }
        body > header .search-bar #quickSearch .quickSearchResults > div .card {
          visibility: visible;
          opacity: 1;
          transform: translateX(0);
          flex-direction: row;
          margin-bottom: 0.625rem; }
          body > header .search-bar #quickSearch .quickSearchResults > div .card .actions {
            display: none; }
          body > header .search-bar #quickSearch .quickSearchResults > div .card .img {
            width: 50%;
            padding: 0; }
          body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt {
            padding-left: 0.625rem;
            width: 50%;
            color: #222426; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt a {
              padding: 0;
              overflow: visible;
              white-space: pre-wrap; }
            body > header .search-bar #quickSearch .quickSearchResults > div .card .cnt h3 {
              margin: 0; }
  body > header .toggle-trigger {
    position: relative;
    width: 1.125rem;
    height: 2.375rem;
    float: left;
    margin: 0;
    margin-right: 1rem; }
    body > header .toggle-trigger .bar {
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      height: 0.125rem;
      width: 1.125rem;
      background: #222426;
      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: 1200px) {
      body > header .toggle-trigger {
        display: none; } }
  body > header .toggle {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    @media (min-width: 1200px) {
      body > header .toggle {
        display: none; } }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(1) {
      opacity: 0;
      transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(2) {
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(3) {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg); }
  body > header nav {
    /*  ----------------------------------------------------------------------  *\
        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: 1199.9px) {
        body > header nav {
          position: absolute;
          left: -100%;
          top: 6.875rem;
          background: #0E3B5E;
          width: 100%;
          height: calc(100vh - 220px);
          overflow-x: hidden;
          transition: all 0.25s ease-out;
          opacity: 0;
          pointer-events: none;
          transform-origin: center top;
          /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - TOGGLE HEADER

\*  --------------------------------------------------------------------------  */ }
          body > header nav .logo {
            display: none; }
          body > header nav .main {
            margin: 0;
            background: #0E3B5E;
            position: relative;
            min-height: 100%; }
            body > header nav .main li {
              color: #fff;
              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;
              flex-direction: column;
              border-bottom: none; }
              body > header nav .main li:last-child {
                margin-bottom: 1.5rem; }
              body > header nav .main li.sub-cat a, body > header nav .main li.sub-header a {
                text-transform: capitalize; }
                body > header nav .main li.sub-cat a::after, body > header nav .main li.sub-header a::after {
                  display: none; }
              body > header nav .main li.sub-header a {
                font-size: 1.3125rem; }
              body > header nav .main li.sub-back {
                border-bottom: 1px solid #1C75BC;
                width: 90%;
                margin: 0 auto; }
                body > header nav .main li.sub-back label {
                  padding: 1rem 0;
                  text-transform: uppercase; }
            body > header nav .main a {
              color: #fff;
              text-transform: capitalize;
              display: none;
              width: 100%;
              padding: 0.75rem 0.625rem;
              -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;
              align-items: center;
              text-transform: capitalize;
              line-height: 1.125rem;
              width: 100%;
              padding: 0.75rem 0.625rem;
              height: auto;
              position: relative;
              cursor: pointer; }
              body > header nav .main label svg {
                width: 12px;
                height: 12px; }
                body > header nav .main label svg.opened {
                  display: none; }
                body > header nav .main label svg.closed {
                  display: block; }
              body > header nav .main label:has(~ input[type="checkbox"]:checked) svg {
                width: 12px;
                height: 12px; }
                body > header nav .main label:has(~ input[type="checkbox"]:checked) svg.opened {
                  display: block; }
                body > header nav .main label:has(~ input[type="checkbox"]:checked) svg.closed {
                  display: none; }
              body > header nav .main label:focus, body > header nav .main label:hover {
                color: #FFF; }
              body > header nav .main label:only-child {
                padding: 0.75rem 0.625rem;
                margin-left: 0;
                width: auto; }
                body > header nav .main label:only-child span {
                  margin-right: 1rem;
                  margin-left: 0; }
                body > header nav .main label:only-child:after {
                  left: 0;
                  transform: translate(0, -50%) rotate(45deg) rotate(180deg); }
            body > header nav .main div {
              transition: transform .25s linear;
              width: 100%;
              height: 100%;
              overflow-y: auto;
              background: #0E3B5E;
              display: none; }
              body > header nav .main div li:nth-child(2) a {
                background: #0E3B5E;
                color: #fff; }
            body > header nav .main .card {
              display: none; }
            body > header nav .main input[type="checkbox"]:checked ~ div {
              display: block; } }
      body > header nav .main .list-link {
        width: 100%; }
      body > header nav .main .list-image {
        display: none; }
      @media (min-width: 1200px) {
        body > header nav .main {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-flow: row wrap;
          height: auto;
          width: 100%;
          overflow: hidden; }
          body > header nav .main a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-flow: row wrap; }
            body > header nav .main a span {
              font-size: 0.875rem;
              margin-left: 0.3125rem;
              color: #1C75BC;
              display: inline-block;
              transition: transform .25s linear;
              transform-origin: 50% 50%; }
          body > header nav .main .sub-cat a {
            font-size: 0.875rem;
            line-height: 1.3125rem;
            font-weight: 500;
            text-transform: capitalize; }
          body > header nav .main label {
            display: none; }
          body > header nav .main > li {
            position: static;
            margin: 0;
            padding: 0; }
            body > header nav .main > li.extended-5:hover .subcat-container .list-link, body > header nav .main > li.extended-3:hover .subcat-container .list-link {
              display: block;
              max-width: unset;
              position: relative;
              padding-bottom: 65px; }
              body > header nav .main > li.extended-5:hover .subcat-container .list-link li:last-child, body > header nav .main > li.extended-3:hover .subcat-container .list-link li:last-child {
                position: absolute;
                left: 14px;
                bottom: 14px; }
            body > header nav .main > li.extended-5 .list-link {
              columns: 5; }
            body > header nav .main > li.extended-3 .list-link {
              columns: 3; }
            body > header nav .main > li .subcat-container {
              position: absolute;
              min-width: 12.5rem;
              background-color: #fff;
              translate: 0 0.03125rem;
              max-height: 31.25rem;
              overflow-y: scroll;
              cursor: pointer;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              justify-content: center;
              align-items: flex-start;
              flex-flow: row nowrap;
              visibility: hidden;
              opacity: 0;
              transition: .4s 0s ease-in-out;
              /* Hide scrollbar for IE, Edge and Firefox */
              -ms-overflow-style: none;
              /* IE and Edge */
              scrollbar-width: none;
              /* Firefox */
              /* Hide scrollbar for Chrome, Safari and Opera */ }
              body > header nav .main > li .subcat-container::-webkit-scrollbar {
                display: none; }
              body > header nav .main > li .subcat-container .list-link {
                max-width: 290px;
                padding: 1.375rem 0.875rem;
                display: flex;
                flex-direction: column; }
                body > header nav .main > li .subcat-container .list-link .shop-all-btn {
                  display: flex;
                  align-items: center;
                  margin: 1.25rem 0 0; }
                  body > header nav .main > li .subcat-container .list-link .shop-all-btn .icon-arrow-right {
                    display: flex; }
                    body > header nav .main > li .subcat-container .list-link .shop-all-btn .icon-arrow-right::before {
                      font-size: 1.5rem; }
                  body > header nav .main > li .subcat-container .list-link .shop-all-btn a {
                    color: #003d6d;
                    font-weight: 600;
                    font-size: 0.875rem;
                    line-height: 1.3125rem;
                    text-transform: none; }
                    body > header nav .main > li .subcat-container .list-link .shop-all-btn a:hover {
                      text-decoration: underline; }
              body > header nav .main > li .subcat-container .list-image {
                display: none;
                max-width: 1200px;
                padding-left: 3.75rem;
                row-gap: 0.75rem;
                column-gap: 0.75rem;
                z-index: 1;
                border-left: 0.0625rem solid #DEDFE1; }
                body > header nav .main > li .subcat-container .list-image li {
                  margin-bottom: 0; }
                body > header nav .main > li .subcat-container .list-image div {
                  position: relative;
                  overflow: hidden;
                  border-radius: 0.25rem;
                  width: 12.125rem;
                  transition: .25s all ease-in-out; }
                  body > header nav .main > li .subcat-container .list-image div img {
                    background-color: #fff;
                    width: 100%;
                    height: 7rem;
                    object-fit: contain; }
                  body > header nav .main > li .subcat-container .list-image div .content {
                    position: absolute;
                    text-align: center;
                    padding: 0.3125rem 0;
                    color: #fff;
                    top: 85px;
                    border-radius: 0;
                    background-color: rgba(14, 59, 94, 0.75); }
                    body > header nav .main > li .subcat-container .list-image div .content .text hr {
                      width: 10%;
                      background: #fff;
                      margin: 1.375rem auto; }
                    body > header nav .main > li .subcat-container .list-image div .content .text p {
                      padding: 0 0.625rem;
                      margin: 0;
                      font-size: 14px;
                      text-transform: capitalize; }
                      body > header nav .main > li .subcat-container .list-image div .content .text p:last-of-type {
                        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 .subcat-container .list-image div:hover .content, body > header nav .main > li .subcat-container .list-image div:focus .content {
                    top: 0;
                    padding: 0.9375rem 0; }
              body > header nav .main > li .subcat-container a {
                transition-duration: 0s;
                color: #212327;
                padding: 0; }
                body > header nav .main > li .subcat-container a:after {
                  content: none; }
                body > header nav .main > li .subcat-container a:hover, body > header nav .main > li .subcat-container a:focus {
                  background-color: transparent;
                  color: #0f75bf;
                  text-decoration: none; }
                body > header nav .main > li .subcat-container a:focus {
                  color: #0E3B5E; }
              body > header nav .main > li .subcat-container > ul {
                width: 100%;
                max-width: 1200px;
                width: 100%;
                column-count: 1;
                column-gap: 3.125rem; } }
        @media (min-width: 1200px) and (min-width: 992px) {
          body > header nav .main > li .subcat-container > ul {
            width: 100%; } }
        @media (min-width: 1200px) and (min-width: 1425px) {
          body > header nav .main > li .subcat-container > ul {
            width: 100%; } }
      @media (min-width: 1200px) {
                body > header nav .main > li .subcat-container > ul ul {
                  display: none; }
                body > header nav .main > li .subcat-container > ul li {
                  margin-bottom: 0.75rem; }
            body > header nav .main > li > div {
              transition: all 0s ease !important;
              transform-origin: top; }
            body > header nav .main > li:hover:after {
              content: '';
              position: absolute;
              bottom: -0.5rem;
              width: 12.5rem;
              height: 0.625rem; }
            body > header nav .main > li:hover > div {
              transition: all .2s .2s ease !important;
              visibility: visible;
              opacity: 1;
              transform-origin: top;
              -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
              -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
            body > header nav .main > li:hover span {
              transform: rotate(180deg); }
          body > header nav .main input[type="checkbox"]:focus ~ label {
            display: block;
            background: #0E3B5E;
            color: #fff;
            padding: 0.625rem;
            position: absolute; }
          body > header nav .main input[type="checkbox"]:checked ~ label {
            display: none; }
          body > header nav .main input[type="checkbox"]:checked ~ div {
            visibility: visible;
            opacity: 1; } }
      body > header nav input[type="checkbox"] {
        position: absolute;
        width: 1px !important;
        height: 1px;
        padding: 0;
        margin: -1px;
        border: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0); }
    body > header nav .user li {
      padding: 0;
      margin: 0; }
    body > header nav .user a {
      display: flex;
      align-items: center; }
      body > header nav .user a .icon-phone-2 {
        margin-right: 0.375rem; }
    @media (max-width: 1199.9px) {
      body > header nav .user a {
        padding: 0.75rem 0.625rem;
        border-bottom: none;
        background-color: #fff; }
        body > header nav .user a i {
          font-size: 1.25rem;
          color: #085EAC; }
        body > header nav .user a span {
          display: inline-block;
          margin-left: 0.375rem; }
      body > header nav .user .cart-item {
        display: none; } }
    @media (min-width: 1200px) {
      body > header nav .user {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap;
        column-gap: 1.5rem; }
        body > header nav .user .user--contact-us .text {
          display: block; }
        body > header nav .user .user--contact-us svg {
          width: 30px;
          height: 30px; }
        body > header nav .user .user--contact-us a:hover svg {
          stroke: #0f75bf; }
        body > header nav .user .user--blog {
          display: none; }
        body > header nav .user .user--login svg, body > header nav .user .user--account svg {
          stroke: #222426;
          fill: #fff;
          width: 20px;
          height: 24px; }
        body > header nav .user .user--login a:hover svg, body > header nav .user .user--account a:hover svg {
          stroke: #0f75bf; }
        body > header nav .user .user--login a:hover .user-text, body > header nav .user .user--account a:hover .user-text {
          color: #0f75bf; }
        body > header nav .user .cart-item svg {
          stroke: #222426;
          fill: #fff;
          width: 27px;
          height: 26px; }
        body > header nav .user .cart-item a:hover svg {
          stroke: #0f75bf; }
        body > header nav .user li:hover > ul {
          display: block; }
        body > header nav .user a i {
          font-size: 1rem;
          color: #222426;
          margin-right: 0.5625rem; }
          body > header nav .user a i.icon-phone {
            font-size: 0.875rem; }
          body > header nav .user a i.icon-phone-2 {
            font-size: 1.875rem; }
          body > header nav .user a i.icon-user-2 {
            font-size: 1.5rem; }
          body > header nav .user a i.icon-cart-2 {
            font-size: 1.625rem; }
        body > header nav .user a .contact-text {
          font-size: 0.8125rem;
          font-weight: 700;
          line-height: 1rem;
          color: #222426; }
        body > header nav .user a .contact-phone {
          font-family: Roboto;
          font-size: 0.9375rem;
          line-height: 1.125rem;
          color: #222426; }
        body > header nav .user a .user-text {
          color: #222426;
          font-family: Roboto;
          font-size: 0.875rem;
          font-weight: 700;
          line-height: 1rem;
          text-transform: uppercase;
          margin-left: 0.375rem; }
        body > header nav .user a .cart-text {
          display: none; }
        body > header nav .user a:hover, body > header nav .user a:focus {
          text-decoration: none;
          color: #0f75bf; }
          body > header nav .user a:hover i, body > header nav .user a:focus i {
            color: #0f75bf; }
          body > header nav .user a:hover .contact-text,
          body > header nav .user a:hover .contact-phone, body > header nav .user a:focus .contact-text,
          body > header nav .user a:focus .contact-phone {
            color: #0f75bf; }
        body > header nav .user a:focus {
          color: #071D2F; }
          body > header nav .user a:focus i {
            color: #071D2F; }
        body > header nav .user 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: #222426;
          padding: 0.5rem; }
          body > header nav .user ul a {
            color: #fff; }
            body > header nav .user ul a:hover, body > header nav .user ul a:focus {
              background: none;
              color: #0E3B5E; }
          body > header nav .user ul li {
            margin: 0; }
            body > header nav .user ul li:last-child {
              margin: 0; } }
    body > header nav .utility li {
      padding: 0;
      margin: 0; }
    @media (max-width: 1199.9px) {
      body > header nav .utility i {
        font-size: 1.25rem;
        color: #085EAC; }
      body > header nav .utility a {
        padding: 0.75rem 0.625rem; }
      body > header nav .utility span {
        display: inline-block;
        margin-left: 0.75rem; } }
    @media (min-width: 1200px) {
      body > header nav .utility {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap; }
        body > header nav .utility li:hover > ul {
          display: block; }
        body > header nav .utility a {
          padding-left: 0; }
          body > header nav .utility a i {
            font-size: 1rem;
            color: #085EAC; }
          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: #085EAC; }
        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: #222426;
          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: #0E3B5E; }
          body > header nav .utility ul li {
            margin: 0; }
            body > header nav .utility ul li:last-child {
              margin: 0; } }
  @media (max-width: 1199.9px) {
    body > header .first-row:has(.menu-logo #headerToggleNav:checked) ~ nav {
      left: 0;
      background: linear-gradient(#0E3B5E 30%, #fff 0%);
      opacity: 1;
      pointer-events: inherit; } }
  @media (max-width: 1199.9px) {
    body > header .container.mobile:has(.first-row .menu-logo #headerToggleNav:checked) ~ nav.mobile-nav {
      left: 0;
      background: linear-gradient(#0E3B5E 30%, #fff 0%);
      opacity: 1;
      pointer-events: inherit; } }
  @media (max-width: 1199.9px) {
    body > header .mobile-nav label span {
      font-weight: 700;
      text-transform: uppercase; } }
  @media (max-width: 1199.9px) {
    body > header .mobile-nav a {
      font-weight: 500; } }
  body > header .mobile-cart {
    display: flex;
    padding: 0.4375rem;
    position: relative; }
    body > header .mobile-cart i {
      font-size: 1.625rem; }
    body > header .mobile-cart svg {
      stroke: #1C75BC;
      fill: #fff;
      width: 26px;
      height: 26px; }
    @media (min-width: 1200px) {
      body > header .mobile-cart {
        position: absolute;
        right: 1rem;
        top: 2.25rem;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        display: none; } }
  body > header [data-cart-preview] {
    position: relative; }
  body > header .cart-quantity {
    display: none;
    position: absolute;
    z-index: 100;
    right: -7px;
    top: -5px;
    background: #CB242B;
    color: #fff;
    border-radius: 50%;
    width: 1.5em;
    height: 1.5em;
    font-size: .75em;
    text-align: center;
    line-height: 1.6; }
    @media (min-width: 1200px) {
      body > header .cart-quantity {
        display: none; } }
    body > header .cart-quantity.is-empty {
      display: none; }
    body > header .cart-quantity.has-quantity {
      display: block; }
  body > header .cart-dropdown {
    display: none;
    position: absolute;
    z-index: 1000;
    right: 0;
    top: 2.5rem;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    padding: 1rem;
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    max-height: calc(100vh - 200px);
    overflow: scroll; }
    body > header .cart-dropdown.is-loading {
      display: block;
      min-height: 12.5rem;
      min-width: 12.5rem; }
    body > header .cart-dropdown.is-visible {
      display: block;
      width: 25rem; }
    body > header .cart-dropdown .products {
      display: block;
      position: static;
      left: auto;
      top: auto;
      transform: none;
      background: none;
      margin: 0 0 1rem;
      border-bottom: 0.0625rem solid #0E3B5E; }
      body > header .cart-dropdown .products li {
        display: grid;
        grid-template-columns: 1fr 4fr;
        grid-template-rows: auto;
        column-gap: 1rem;
        border-top: 0.0625rem solid #DEDFE1;
        padding: 0.75rem 0;
        font-size: 0.875rem; }
      body > header .cart-dropdown .products .name {
        margin: 0 0 1rem;
        font-size: 1rem; }
        body > header .cart-dropdown .products .name small {
          font-size: 0.75rem;
          font-weight: 700;
          margin: 0 0 0.25rem;
          display: block; }
      body > header .cart-dropdown .products img {
        width: 100%;
        height: auto; }
    body > header .cart-dropdown .subtotal, body > header .cart-dropdown h2 {
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 0 1rem; }
    body > header .cart-dropdown .buttons {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap; }
      body > header .cart-dropdown .buttons a {
        padding: 0.625rem; }
      body > header .cart-dropdown .buttons [class*="btn-"] {
        margin: 0 1.5rem 0 0; }
  body > header .cart-dropdown {
    display: block;
    position: fixed;
    z-index: 2000;
    right: 0;
    top: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0);
    transition: all 0.4s ease;
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    height: 100%;
    overflow: scroll;
    max-width: 80%;
    padding: 0;
    max-height: none !important; }
    body > header .cart-dropdown .options {
      color: #222426; }
      body > header .cart-dropdown .options dd, body > header .cart-dropdown .options dt {
        font-size: 0.875rem; }
    body > header .cart-dropdown .checkout {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; }
    body > header .cart-dropdown > div, body > header .cart-dropdown > h2, body > header .cart-dropdown > ul {
      padding: 0 1.5rem; }
      @media (min-width: 992px) {
        body > header .cart-dropdown > div, body > header .cart-dropdown > h2, body > header .cart-dropdown > ul {
          padding: 0 3rem; } }
    @media (min-width: 768px) {
      body > header .cart-dropdown {
        max-width: 25rem; } }
    body > header .cart-dropdown.is-loading {
      min-width: 80%; }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-loading {
          min-width: 25rem; } }
    body > header .cart-dropdown.is-visible {
      width: 80%;
      z-index: 100000;
      transform: translate(0, 0); }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-visible {
          width: 25rem; } }
    body > header .cart-dropdown h2 {
      font-size: 1.25rem;
      background-color: #085EAC;
      margin: 0;
      text-align: center;
      color: white;
      font-weight: 500;
      justify-content: center;
      text-transform: none;
      padding-bottom: 1.75rem;
      padding-top: 8px; }
    body > header .cart-dropdown .added-to-cart-message {
      text-align: center;
      padding-top: 1.75rem;
      font-weight: normal;
      background-color: #085EAC;
      font-size: 16px;
      font-style: normal;
      font-weight: 400;
      color: white; }
    body > header .cart-dropdown .buttons {
      display: flex;
      flex-direction: column; }
      body > header .cart-dropdown .buttons a {
        width: 100%; }
      body > header .cart-dropdown .buttons .btn-primary, body > header .cart-dropdown .buttons .btn-secondary {
        margin-right: 0; }
      body > header .cart-dropdown .buttons .btn-secondary {
        margin-top: 1rem; }
    body > header .cart-dropdown .content {
      padding: 1rem; }
    body > header .cart-dropdown .subtotal {
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 0 1rem; }
    body > header .cart-dropdown .view-cart {
      float: right; }
    body > header .cart-dropdown .or-use-label {
      margin-bottom: 1rem; }
    body > header .cart-dropdown dl {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      column-gap: 0.625rem;
      row-gap: 0.25rem;
      padding: 0;
      margin: 0;
      margin: 0.3125rem 0 0 0;
      padding: 0.625rem 0 0 0; }
    body > header .cart-dropdown dd, body > header .cart-dropdown dt {
      margin: 0;
      padding: 0;
      font-size: .8em; }
    body > header .cart-dropdown dd {
      white-space: normal; }
    body > header .cart-dropdown .products {
      position: static;
      display: block;
      left: auto;
      top: auto;
      transform: none;
      background: none;
      border-bottom: none; }
      body > header .cart-dropdown .products p {
        margin: 0;
        color: #000; }
      body > header .cart-dropdown .products li {
        padding: 0.875rem;
        border-top: none;
        border: 1px solid #DEDFE1; }
      body > header .cart-dropdown .products li > a {
        display: grid;
        grid-template-columns: 70px 1fr;
        grid-template-rows: auto;
        column-gap: 1rem;
        padding: 0.75rem 0;
        font-size: 0.875rem;
        border: 1px solid #DEDFE1;
        border-radius: 0.25rem;
        padding: 0.625rem;
        margin-bottom: 1.25rem; }
      body > header .cart-dropdown .products .name {
        margin: 0 0 0.5rem;
        font-size: 1rem;
        line-height: 1.5;
        white-space: normal; }
      body > header .cart-dropdown .products img {
        width: 100%;
        height: auto; }

/*  --------------------------------------------------------------------------  *\

    MODAL

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    MODAL - BACKGROUND

\*  --------------------------------------------------------------------------  */
.modal-background {
  position: fixed;
  z-index: 15000;
  left: 0;
  top: 0 !important;
  width: 100%;
  height: 100%;
  background: rgba(204, 204, 204, 0.75);
  display: none; }
  .has-activeModal .modal-background {
    display: block; }

/*  --------------------------------------------------------------------------  *\

    MODAL - BASIC

    This is used to style the modal elements used throughout the website.

    This includes Cart Previews, BigCommerce alerts that do not use SWAL.

    For the Sweet Alert (SWAL) styling see modal/_swal.scss

\*  --------------------------------------------------------------------------  */
.modal {
  position: fixed;
  z-index: 15001;
  left: 50%;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 0.25rem;
  width: 90%;
  max-width: 75rem;
  min-width: 20rem;
  max-height: 90vh;
  display: none;
  visibility: hidden;
  opacity: 0; }
  .modal .modal-window {
    padding: 2.625rem;
    max-height: 90vh;
    overflow-y: scroll; }
  .modal .modal-body {
    padding: 2.5rem;
    overflow: auto; }
  .modal .modal-close {
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    display: block;
    background: #fff;
    border: 0.125rem solid #222426;
    color: #222426;
    border-radius: 100%;
    width: 2rem;
    height: 2rem;
    text-align: center;
    font-size: 1rem;
    z-index: 15001; }
    .modal .modal-close:before {
      content: " ";
      position: absolute;
      right: 0;
      top: 50%;
      border-width: 0.625rem;
      border-style: solid;
      border-color: transparent transparent #000 transparent; }
    .modal .modal-close:after {
      content: attr(title);
      padding: 0.25rem 0.375rem;
      background-color: #000;
      color: #fff;
      position: absolute;
      font-size: 1rem;
      white-space: nowrap;
      right: 0;
      top: 100%;
      cursor: default;
      border-radius: 0.5rem; }
    .modal .modal-close:before, .modal .modal-close:after {
      display: none; }
    .modal .modal-close:focus:before, .modal .modal-close:focus:after {
      display: block; }
  .modal--alert {
    border: 1px solid #DEDFE1;
    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; }

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

.button {
  appearance: none;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0.5625rem 1.5rem;
  text-transform: uppercase;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.14286;
  text-align: center;
  text-decoration: none;
  transition: all .25s; }
  .button + [class*="btn-"] {
    margin: 0.9375rem 0 0; }
  .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  @media (min-width: 992px) {
    .button {
      width: auto;
      margin: 0; }
      .button + [class*="btn-"] {
        margin: 0 0 0 0.9375rem; } }
  .button:hover, .button:focus {
    text-decoration: none; }
  .button + .button {
    margin: 0 0 0 0.75rem; }
  .button.swal2-confirm {
    border-color: #0E3B5E;
    background: #0E3B5E;
    color: #fff; }
    .button.swal2-confirm:hover, .button.swal2-confirm:focus {
      background: #fff;
      color: #0E3B5E; }
  .button.swal2-cancel {
    border-color: #DEDFE1; }
    .button.swal2-cancel:hover, .button.swal2-cancel:focus {
      color: #0E3B5E; }

.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: rgba(255, 255, 255, 0.8);
  transition: all 250ms ease-out; }
  .loadingOverlay:after {
    position: fixed;
    z-index: 15;
    left: 50%;
    top: 50%;
    border-radius: 100%;
    border: 0.25rem solid #0E3B5E;
    content: "";
    animation: spinner 1s ease-out 0s infinite; }
  .loadingOverlay:after {
    height: 4rem;
    width: 4rem;
    border-top-color: transparent;
    border-bottom-color: transparent; }
  .loadingOverlay:before {
    height: 2.625rem;
    width: 2.625rem;
    border-radius: 2.625rem;
    border: solid 0.125rem;
    border-color: #0E3B5E #0E3B5E #085EAC #085EAC;
    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.875rem;
  margin: 0.9375rem 0;
  display: none; }
  @media (min-width: 992px) {
    nav.breadcrumbs {
      display: block;
      margin-bottom: 1.5rem; } }
  nav.breadcrumbs a {
    color: #565A5E; }
  nav.breadcrumbs ol {
    padding: 0.5rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row wrap; }
    nav.breadcrumbs ol li .icon {
      display: none; }
    nav.breadcrumbs ol li + li .icon {
      display: inline-block;
      padding: 0 0.625rem;
      color: rgba(34, 36, 38, 0.6); }
    nav.breadcrumbs ol li.is-active a {
      color: #0E3B5E;
      font-weight: 600; }

.cart-header .breadcrumbs {
  margin: 1.5rem 0 0; }

@media (min-width: 992px) {
  .page-header .breadcrumbs {
    margin-top: 1.5rem;
    margin-bottom: 1rem; } }

.page-header h1 {
  margin: 0 0 2rem;
  padding: 2rem 0 1.5rem;
  border-bottom: 1px solid #DEDFE1; }
  @media (min-width: 768px) {
    .page-header h1 {
      padding-top: 2.5rem;
      font-size: 1.75rem; } }
  @media (min-width: 992px) {
    .page-header h1 {
      padding-top: 2rem;
      padding-bottom: 2.5rem;
      margin: 0 0 3rem; } }

.page-section p:last-child strong {
  font-weight: 600; }
  .page-section p:last-child strong a {
    text-decoration: underline; }

.page-section #mc_embed_signup .mc-field-group select#mce-ADDRESS-country {
  border-radius: 4px;
  padding: 10px 16px;
  text-indent: 0;
  width: 100%; }

.page-section #mc-embedded-subscribe {
  background: #0E3B5E !important;
  padding: 0 0.9375rem !important;
  height: 40px !important;
  font-family: Barlow !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 21px !important;
  /* identical to box height, or 150% */
  letter-spacing: 0.04em !important; }

/*  --------------------------------------------------------------------------  *\

    NAVS - PAGINATION

\*  --------------------------------------------------------------------------  */
nav.pagination {
  border-top: 1px solid #DEDFE1;
  background: #fff;
  padding: 0 0.5rem;
  margin: 2rem 0 0; }
  @media (min-width: 992px) {
    nav.pagination {
      margin: 3.5rem 0 0; } }
  nav.pagination.no-pag ul {
    display: none !important; }
  nav.pagination > ul {
    padding: 28px 0 0 !important; }
    @media (min-width: 992px) {
      nav.pagination > ul {
        margin: 1.5rem 0 0 !important;
        padding: 0 !important; } }
  nav.pagination ul, nav.pagination ol {
    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; }
    @media (min-width: 768px) {
      nav.pagination ul, nav.pagination ol {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap; } }
    nav.pagination ul a, nav.pagination ol a {
      font-weight: 600; }
  nav.pagination li ol li {
    margin: 0 0.5rem; }
  nav.pagination li.pagination-item--current a {
    color: #085EAC; }
  nav.pagination li span {
    color: #222426;
    opacity: .25; }
  nav.pagination li.arrow {
    margin: 0; }
    nav.pagination li.arrow a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      border-radius: 50%; }
      nav.pagination li.arrow a:hover {
        background-color: rgba(165, 169, 173, 0.25); }
        nav.pagination li.arrow a:hover span {
          opacity: 1;
          color: #000; }
  nav.pagination a {
    display: block;
    padding: 0.25rem;
    color: #565A5E; }

.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: #222426; }

section {
  margin: 0 0 3rem 0; }
  @media (min-width: 768px) {
    section {
      margin: 0 0 3.5rem 0; } }
  @media (min-width: 992px) {
    section {
      margin: 0 0 5.5rem 0; } }
  section.bg-color {
    padding: 2rem 0; }
    @media (min-width: 768px) {
      section.bg-color {
        padding: 3rem 0; } }
    @media (min-width: 992px) {
      section.bg-color {
        padding: 4.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'; 

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COOKIE CONSENT MANAGER

    This will only work on the production site, when working locally you are
    only able to see a portion of the manager.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    COOKIE CONSENT MANAGER - CONSENT MANAGER

    This will only work on the production site, when working locally you are
    only able to see a portion of the manager.

    This file includes !importants to override styles located in a Stylesheet
    outside of the theme that we do not have access to. We also do not have
    control over the mark up or classes.

\*  --------------------------------------------------------------------------  */
#consent-manager {
  position: sticky !important;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
  background: #222426 !important; }
  #consent-manager > div > div {
    background: none !important;
    padding: 0;
    width: 100%;
    padding: 0 1rem;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto; }
    @media (min-width: 992px) {
      #consent-manager > div > div {
        width: 100%; } }
    @media (min-width: 1425px) {
      #consent-manager > div > div {
        width: 100%; } }
    #consent-manager > div > div > div {
      padding-top: 1rem;
      padding-bottom: 1rem;
      margin: 0 !important; }
      @media (min-width: 768px) {
        #consent-manager > div > div > div {
          flex-flow: row nowrap !important;
          align-items: center !important; }
          #consent-manager > div > div > div button {
            margin-top: 0; } }
      #consent-manager > div > div > div > div {
        margin: 0 !important; }
      #consent-manager > div > div > div > div:first-of-type {
        max-width: 48rem; }
      #consent-manager > div > div > div > div:last-of-type {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: row nowrap; }
  #consent-manager button {
    margin-top: 1.25rem;
    border-radius: 0 !important; }

/*  --------------------------------------------------------------------------  *\

    COOKIE CONSENT MANAGER - CONSENT MANAGER UPDATE

    This will only work on the production site, when working locally you are
    only able to see a portion of the manager.

\*  --------------------------------------------------------------------------  */
#consent-manager-update-banner {
  position: sticky !important;
  bottom: 0;
  background: #222426 !important;
  padding: 1rem;
  width: 100%;
  margin: 0 auto !important;
  max-width: 1200px;
  line-height: 1;
  text-align: center;
  height: auto !important; }
  #consent-manager-update-banner:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background: #222426 !important;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
    height: 100%;
    width: calc(100vw - 1rem); }
  #consent-manager-update-banner a {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    display: inline-block;
    padding: 0 0.75rem;
    background: transparent;
    color: #fff;
    border: 0.0625rem solid #fff; }
  #consent-manager-update-banner > div > div {
    background: none !important;
    padding: 0;
    width: 100%;
    margin: 0 auto; }
    #consent-manager-update-banner > div > div > div {
      margin: 0 !important; }
      @media (min-width: 768px) {
        #consent-manager-update-banner > div > div > div {
          flex-flow: row nowrap !important;
          align-items: center !important; } }
      #consent-manager-update-banner > div > div > div > div {
        margin: 0 !important; }
      #consent-manager-update-banner > div > div > div > div:first-of-type {
        max-width: 48rem; }
      #consent-manager-update-banner > div > div > div > div:last-of-type {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: row nowrap; }

/*  --------------------------------------------------------------------------  *\

    COOKIE CONSENT MANAGER - CONSENT MANAGER MODAL

    This will only work on the production site, when working locally you are
    only able to see a portion of the manager.

\*  --------------------------------------------------------------------------  */
[data-consent-manager-dialog] [role="dialog"] {
  padding: 1rem !important; }
  @media (min-width: 768px) {
    [data-consent-manager-dialog] [role="dialog"] {
      padding: 1.5rem !important; } }
  [data-consent-manager-dialog] [role="dialog"] > div {
    padding: 0;
    margin: 0 0 1rem; }
  [data-consent-manager-dialog] [role="dialog"] > form {
    margin: 0; }
    [data-consent-manager-dialog] [role="dialog"] > form > div {
      padding: 0; }
      [data-consent-manager-dialog] [role="dialog"] > form > div:last-of-type {
        margin: 1rem 0 0; }

[data-consent-manager-dialog] form input {
  width: auto; }

[data-consent-manager-dialog] button {
  border-radius: 0 !important; }

.btn-custom {
  background-color: #003D6D;
  color: white; }

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

/* 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.4);
  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 {
  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: 820px) {
  /* line 102, cookie-consent.scss */
  .cookie-consent-modal .btn {
    width: 100%; }
  /* override modal position for mobile */
  .cookie-consent-modal .modal-content-wrap {
    top: 10vh;
    bottom: auto; } }

/* 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 */
/*  --------------------------------------------------------------------------  *\

    GLOBAL WIDGETS

    This loads all widgets that are loaded globally throughout the website.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    GLOBAL - PROMO BAR

\*  --------------------------------------------------------------------------  */
.promo-bar {
  background: #DEDFE1;
  padding: 0.75rem 0; }
  .promo-bar a {
    display: inline-block; }
    .promo-bar a:not(:only-child) {
      margin: 0 0.5rem 0 0; }
    .promo-bar a ~ a {
      margin: 0 0 0 0.5rem; }

/*  --------------------------------------------------------------------------  *\

    GLOBAL - VALUE ADD

\*  --------------------------------------------------------------------------  */
.value-add {
  background: #DEDFE1;
  text-align: center; }
  .value-add h2 {
    text-align: center; }

.values {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  column-gap: 2rem;
  row-gap: 2rem; }
  .values img {
    display: block;
    width: 50%;
    max-width: 4.6875rem;
    margin: 0 auto 1rem; }
  .values h3 {
    margin: 0 0 0.5rem; }
  .values figcaption {
    display: block;
    width: 100%;
    max-width: 20rem;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .values img {
      margin: 0 auto 1.5rem; }
    .values h3 {
      margin: 0 0 0.75rem; } }
  @media (min-width: 992px) {
    .values img {
      margin: 0 auto 2rem; }
    .values h3 {
      margin: 0 0 1rem; } }

/*  --------------------------------------------------------------------------  *\

    GLOBAL - BANNER

\*  --------------------------------------------------------------------------  */
.banner .container picture {
  display: block;
  margin: 0 0 2rem; }

@media (min-width: 768px) {
  .banner .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: row nowrap; }
    .banner .container picture, .banner .container .cnt {
      width: calc(50% - 1rem); }
    .banner .container picture {
      margin: 0; }
    .banner .container .cnt {
      max-width: 34.375rem;
      margin: 0 0 0 2rem; } }

@media (min-width: 992px) {
  .banner .container {
    justify-content: flex-start; } }

.banner img {
  width: 100%;
  height: auto; }

@media (min-width: 768px) {
  .banner.alt .container picture {
    order: 1; }
  .banner.alt .container .cnt {
    margin: 0 2rem 0 0; } }

@media (min-width: 992px) {
  .banner.alt .container {
    justify-content: flex-end; } }

.seo-widget {
  margin-bottom: 48px; }
  @media (min-width: 768px) {
    .seo-widget {
      margin-bottom: 3.5rem; } }
  @media (min-width: 998px) {
    .seo-widget {
      margin-bottom: 88px; } }
  @media (max-width: 991.9px) {
    .seo-widget h2 {
      font-size: 1.125rem; } }
  .seo-widget .read-more {
    text-decoration: underline; }
    .seo-widget .read-more:hover {
      cursor: pointer;
      color: #085EAC; }
  .seo-widget .seo-text-reveal {
    display: none; }
  .seo-widget .reveal {
    display: inline; }
  .seo-widget .remove {
    display: none; }

/*  --------------------------------------------------------------------------  *\

    GLOBAL - TESTIMONIALS

\*  --------------------------------------------------------------------------  */
.testimonial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap; }
  .testimonial img {
    width: 20%;
    max-width: 9.375rem;
    margin: 0 2rem 0 0; }
  .testimonial blockquote {
    width: calc(80% - 2rem);
    max-width: 31.25rem; }
  .testimonial .attribution {
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 0.0625rem solid #A5A9AD; }

.category-hero.brand .hero-banner {
  position: relative;
  margin-bottom: -40px; }
  @media (min-width: 768px) {
    .category-hero.brand .hero-banner {
      margin-bottom: 0; } }
  @media (min-width: 992px) {
    .category-hero.brand .hero-banner {
      margin-bottom: -60px; } }
  @media (min-width: 1200px) {
    .category-hero.brand .hero-banner {
      margin-bottom: -80px; } }
  .category-hero.brand .hero-banner img {
    width: 100%; }
    @media (min-width: 768px) {
      .category-hero.brand .hero-banner img {
        margin: 0 0 56px; } }
    @media (min-width: 992px) {
      .category-hero.brand .hero-banner img {
        margin: 0; } }
    .category-hero.brand .hero-banner img.img {
      display: none; }
      @media (min-width: 768px) {
        .category-hero.brand .hero-banner img.img {
          display: block; } }
    .category-hero.brand .hero-banner img.mobile-img {
      display: block; }
      @media (min-width: 768px) {
        .category-hero.brand .hero-banner img.mobile-img {
          display: none; } }
  .category-hero.brand .hero-banner .wrapper {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 56px;
    width: 100%; }
    @media (min-width: 768px) {
      .category-hero.brand .hero-banner .wrapper {
        bottom: 0;
        position: relative; } }
    .category-hero.brand .hero-banner .wrapper .cta {
      grid-column: 1 / 7; }

.brand-hr {
  background: #DEDFE1; }
  @media (min-width: 992px) {
    .brand-hr {
      margin: 5.5rem 0; } }

section.brand-content {
  margin-bottom: 0; }

.brand-widget-content {
  position: relative;
  z-index: 1; }
  .brand-widget-content .content-wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin: 0 0 48px; }
    @media (min-width: 768px) {
      .brand-widget-content .content-wrap {
        flex-direction: row;
        margin: 0 0 56px; } }
    @media (min-width: 992px) {
      .brand-widget-content .content-wrap {
        margin: 0 0 48px; } }
    @media (min-width: 768px) {
      .brand-widget-content .content-wrap .content {
        width: 54%;
        margin: 0 75px 0 0; } }
    @media (min-width: 992px) {
      .brand-widget-content .content-wrap .content {
        margin: 0 115px 0 0; } }
    .brand-widget-content .content-wrap .content h2 {
      font-size: 1.3125rem; }
      @media (min-width: 768px) {
        .brand-widget-content .content-wrap .content h2 {
          font-size: 1.75rem; } }
    .brand-widget-content .content-wrap .content p.strong {
      font-weight: 600; }
    .brand-widget-content .content-wrap .img-wrap {
      margin: 0 0 32px;
      width: 100%; }
      @media (min-width: 768px) {
        .brand-widget-content .content-wrap .img-wrap {
          margin: 0;
          width: 46%; } }
      .brand-widget-content .content-wrap .img-wrap img {
        border-radius: 4px;
        width: 100%;
        display: none; }
        @media (min-width: 768px) {
          .brand-widget-content .content-wrap .img-wrap img {
            display: block; } }
      .brand-widget-content .content-wrap .img-wrap img.mobile {
        display: block; }
        @media (min-width: 768px) {
          .brand-widget-content .content-wrap .img-wrap img.mobile {
            display: none; } }
    @media (min-width: 768px) {
      .brand-widget-content .content-wrap.img-left {
        flex-direction: row-reverse; } }
    @media (min-width: 768px) {
      .brand-widget-content .content-wrap.img-left .content {
        margin: 0 0 0 75px; } }
    @media (min-width: 992px) {
      .brand-widget-content .content-wrap.img-left .content {
        margin: 0 0 0 115px; } }

.brand-difference {
  background: #F2F4F5;
  padding: 48px 0; }
  @media (min-width: 768px) {
    .brand-difference {
      padding: 88px 0; } }
  @media (min-width: 992px) {
    .brand-difference {
      margin: 2.5rem 0 5.5rem; } }
  .brand-difference .container h2.headline {
    margin: 0 0 52px; }
  .brand-difference .container .difference-container {
    display: flex;
    justify-content: space-between;
    flex-direction: column; }
    @media (min-width: 768px) {
      .brand-difference .container .difference-container {
        flex-direction: row; } }
    .brand-difference .container .difference-container .col {
      display: flex;
      margin-bottom: 32px; }
      @media (min-width: 768px) {
        .brand-difference .container .difference-container .col {
          width: 30%;
          margin-bottom: 0; } }
      .brand-difference .container .difference-container .col:last-of-type {
        margin-bottom: 0; }
      .brand-difference .container .difference-container .col .icon {
        margin: 5px 20px 0 0; }
        @media (min-width: 768px) {
          .brand-difference .container .difference-container .col .icon {
            margin: 5px 25px 0 0; } }
      .brand-difference .container .difference-container .col .content .title {
        font-size: 1rem;
        font-weight: 500;
        margin: 0 0 10px; }
        @media (min-width: 768px) {
          .brand-difference .container .difference-container .col .content .title {
            font-size: 1.25rem; } }
      .brand-difference .container .difference-container .col .content .text {
        color: #565A5E;
        line-height: 1.5rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes 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); } }

/*  --------------------------------------------------------------------------  *\

    NON GLOBAL WIDGETS

    This loads non global widgets that can be loaded on specific pages 
    throughout the website.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    FEED PRODUCTS STATIC

    Only files that are used by the Product Feeds Components should be loaded.

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    PRODUCT CARD COMPONENT

\*  --------------------------------------------------------------------------  */
.card {
  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;
  background: #fff;
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > IMAGE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > TITLE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > RATING

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > PRICE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > ACTIONS

\*  --------------------------------------------------------------------------  */ }
  .card .cnt {
    flex-grow: 1; }
  .card .cta a, .card .cta .compare-btn {
    width: 100%;
    margin-top: 0.3125rem; }
    .card .cta a input, .card .cta .compare-btn input {
      margin-right: 0.3125rem; }
  .card .usa-badge {
    display: none; }
  .card .img {
    position: relative;
    aspect-ratio: 1.2; }
    .card .img img {
      aspect-ratio: 1.2;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .card .img_off {
    position: relative;
    overflow: hidden;
    height: 6.25rem; }
    @media (min-width: 768px) {
      .card .img_off {
        height: 6.875rem; } }
    @media (min-width: 992px) {
      .card .img_off {
        height: 8.75rem; } }
    .card .img_off picture, .card .img_off > a > img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 100%;
      display: block; }
      .card .img_off picture.default, .card .img_off > a > img.default {
        background-color: #f8f8f8; }
    .card .img_off img {
      display: block;
      width: 100%;
      height: 6.25rem;
      object-fit: contain; }
      @media (min-width: 768px) {
        .card .img_off img {
          height: 6.875rem; } }
      @media (min-width: 992px) {
        .card .img_off img {
          height: 8.75rem; } }
  .card h3 {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin: 0.5rem 0 0.5rem; }
    @media (min-width: 992px) {
      .card h3 {
        margin-top: 0.75rem; } }
    .card h3 a {
      display: -webkit-box !important;
      font-weight: 500;
      color: #222426;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden;
      min-height: 2.666em;
      font-size: 0.875rem;
      line-height: 1.5rem; }
    .card h3 small {
      display: block;
      font-size: .75em;
      margin: 0 0 .3333em;
      min-height: 1em; }
  .card .badges {
    text-transform: uppercase;
    color: #085EAC;
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 10px;
    line-height: 21px; }
    .card .badges [class*='icon-'] {
      margin-right: 0.25rem;
      font-size: 0.625rem; }
  .card .rating {
    font-size: 0.875rem;
    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; }
    .card .rating span + span {
      margin: 0 0 0 0.25rem; }
  .card .price-wrapper {
    margin-bottom: 1rem;
    border-bottom: none;
    padding: 0; }
  .card .price {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.5rem; }
    .card .price--non-sale {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      .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; }
  .card .actions-quickadd {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s .25s linear; }
  .card .actions [class*='btn-'] {
    display: inline-block;
    margin-top: 0;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 21px;
    letter-spacing: 0.04em; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .card .actions [class*='btn-'] {
        padding: 0.625rem 1.25rem; } }
    @media (min-width: 992px) {
      .card .actions [class*='btn-'] {
        width: auto; } }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }

.star_container .group-stars .ind_cnt {
  display: inline;
  width: auto;
  margin-left: .5rem; }

/*  --------------------------------------------------------------------------  *\

    PRODUCT > FEEDS > STATIC

\*  --------------------------------------------------------------------------  */
.feeds-static > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 0.4375rem;
  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: 1.5rem;
      row-gap: 2rem; } }

/*  --------------------------------------------------------------------------  *\

    FEATURED CATEGORIES

\*  --------------------------------------------------------------------------  */
.feat-categories .categories {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  row-gap: 1rem;
  column-gap: 1rem; }
  @media (min-width: 768px) {
    .feat-categories .categories {
      row-gap: 1.5rem;
      column-gap: 1.5rem;
      grid-template-columns: 1fr 1fr 1fr; } }
  @media (min-width: 992px) {
    .feat-categories .categories {
      row-gap: 2rem;
      column-gap: 2rem;
      grid-template-columns: 1fr 1fr 1fr 1fr; } }

.feat-categories a {
  display: block;
  text-align: center; }

.feat-categories img {
  width: 100%;
  height: auto; }

/*  --------------------------------------------------------------------------  *\

    PAGE - PROMO GRID

\*  --------------------------------------------------------------------------  */
.promos-grid {
  /*  ----------------------------------------------------------------------  *\

        LAYOUTS

    \*  ----------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\

        PROMO STYLES

    \*  ----------------------------------------------------------------------  */ }
  .promos-grid .promos {
    display: grid;
    row-gap: 1rem;
    column-gap: 1rem; }
    @media (min-width: 768px) {
      .promos-grid .promos {
        row-gap: 1.5rem;
        column-gap: 1.5rem; } }
    @media (min-width: 992px) {
      .promos-grid .promos {
        row-gap: 2rem;
        column-gap: 2rem; } }
  .promos-grid.row .promos {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    grid-auto-flow: column; }
  .promos-grid.grid-2 .promos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto; }
  .promos-grid.grid-3 .promos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto; }
  .promos-grid.grid-4 .promos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto; }
  .promos-grid.grid-2-1 :nth-child(1), .promos-grid.grid-1-2 :nth-child(1) {
    grid-area: promo1; }
  .promos-grid.grid-2-1 :nth-child(2), .promos-grid.grid-1-2 :nth-child(2) {
    grid-area: promo2; }
  .promos-grid.grid-2-1 :nth-child(3), .promos-grid.grid-1-2 :nth-child(3) {
    grid-area: promo3; }
  .promos-grid.grid-2-1 .promos {
    display: grid;
    grid-template-columns: 5fr 3fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: 'promo1 promo2' 'promo1 promo3'; }
  .promos-grid.grid-1-2 .promos {
    display: grid;
    grid-template-columns: 3fr 5fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: 'promo2 promo1' 'promo3 promo1'; }
  .promos-grid a {
    display: block;
    color: #fff;
    background: #222426; }
  .promos-grid figure {
    position: relative; }
    .promos-grid figure figcaption {
      position: absolute;
      z-index: 100;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .promos-grid h3 {
    color: #fff; }
  .promos-grid img {
    display: block;
    width: 100%;
    height: auto; }

.category-promo {
  background: #085EAC;
  color: white; }
  .category-promo .container {
    display: flex;
    flex-direction: column;
    padding-top: 1rem;
    padding-bottom: 1rem; }
    @media (min-width: 768px) {
      .category-promo .container {
        flex-direction: row;
        justify-content: space-between;
        align-items: center; } }
  .category-promo a {
    color: white;
    font-size: 14px;
    line-height: 21px;
    text-decoration: underline; }
    .category-promo a:first-child {
      margin-bottom: 0.5rem;
      text-decoration: none;
      font-weight: 500;
      font-size: 16px;
      line-height: 24px; }
      @media (min-width: 768px) {
        .category-promo a:first-child {
          margin: 0; } }
      @media (min-width: 992px) {
        .category-promo a:first-child {
          font-size: 20px;
          line-height: 30px; } }

.brand-value .fact-wrap {
  background: #F2F4F5;
  border-radius: 4px;
  padding: 1.5rem;
  padding-left: 1.875rem; }
  @media (min-width: 768px) {
    .brand-value .fact-wrap {
      display: flex;
      padding: 1rem; } }
  @media (min-width: 1024px) {
    .brand-value .fact-wrap {
      padding: 2rem 2.5rem; } }
  .brand-value .fact-wrap .fact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    margin-bottom: 1.5rem; }
    .brand-value .fact-wrap .fact:last-child {
      margin-bottom: 0; }
    @media (min-width: 768px) {
      .brand-value .fact-wrap .fact {
        margin-bottom: 0;
        border-right: 1px solid #A5A9AD;
        padding-right: 1rem;
        padding-left: 1rem; }
        .brand-value .fact-wrap .fact:last-child {
          border: none !important;
          padding-right: 0 !important; }
        .brand-value .fact-wrap .fact:first-child {
          padding-left: 0 !important; } }
    @media (min-width: 1024px) {
      .brand-value .fact-wrap .fact {
        padding-left: 2.875rem;
        padding-right: 2.5rem; } }
    .brand-value .fact-wrap .fact img {
      max-width: 1.875rem;
      margin-right: 1.25rem; }
    .brand-value .fact-wrap .fact p {
      font-weight: 500;
      font-size: 0.875rem;
      line-height: 1.3125rem; }
      @media (min-width: 1024px) {
        .brand-value .fact-wrap .fact p {
          font-size: 1rem; } }

@media (min-width: 768px) {
  .side-by-side .container .flex-container {
    display: flex; } }

@media (min-width: 768px) {
  .side-by-side .container .flex-container .card {
    width: 50%; } }

.side-by-side .container .flex-container .card .img-cont img {
  border-radius: 4px 4px 0 0;
  display: block;
  width: 100%;
  object-fit: cover; }
  @media (min-width: 992px) {
    .side-by-side .container .flex-container .card .img-cont img.mobile {
      display: none; } }
  .side-by-side .container .flex-container .card .img-cont img.desktop {
    display: none; }
    @media (min-width: 992px) {
      .side-by-side .container .flex-container .card .img-cont img.desktop {
        display: block; } }

.side-by-side .container .flex-container .card .content {
  background: #F2F4F5;
  padding: 24px 16px;
  height: 100%;
  border-radius: 0 0 4px 4px; }
  .side-by-side .container .flex-container .card .content .btn-primary {
    align-self: end;
    justify-self: start; }
  @media (min-width: 768px) {
    .side-by-side .container .flex-container .card .content {
      padding: 24px; } }
  @media (min-width: 992px) {
    .side-by-side .container .flex-container .card .content {
      padding: 48px 56px; } }
  .side-by-side .container .flex-container .card .content h3 {
    color: #222426;
    font-size: 1.125rem;
    line-height: 1.6875rem;
    font-weight: 500;
    margin-top: 0;
    text-transform: initial; }
    @media (min-width: 992px) {
      .side-by-side .container .flex-container .card .content h3 {
        font-size: 1.5rem;
        line-height: 2.5rem; } }
  .side-by-side .container .flex-container .card .content p {
    color: #565A5E; }
    @media (min-width: 992px) {
      .side-by-side .container .flex-container .card .content p {
        margin-bottom: 2rem; } }

.side-by-side .container .flex-container .card.left {
  padding: 0 0 16px 0; }
  @media (min-width: 768px) {
    .side-by-side .container .flex-container .card.left {
      padding: 0 8px 0 0; } }
  @media (min-width: 992px) {
    .side-by-side .container .flex-container .card.left {
      padding: 0 12px 0 0; } }

@media (min-width: 768px) {
  .side-by-side .container .flex-container .card.right {
    padding: 0 0 0 8px; } }

@media (min-width: 992px) {
  .side-by-side .container .flex-container .card.right {
    padding: 0 0 0 12px; } }

/* -------------------------------------------------------------------------- */
/*                           HOMEPAGE HERO CAROUSEL                           */
/* -------------------------------------------------------------------------- */
.homepage-hero {
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .homepage-hero .slick-arrow {
    color: #1C75BC;
    border-color: #1C75BC; }
    .homepage-hero .slick-arrow:hover, .homepage-hero .slick-arrow:active, .homepage-hero .slick-arrow:focus {
      background: #fff; }
  .homepage-hero .slick-arrow.slick-prev {
    left: 1.5%; }
    @media (min-width: 992px) {
      .homepage-hero .slick-arrow.slick-prev {
        left: 3%; } }
  .homepage-hero .slick-arrow.slick-next {
    right: 1.5%; }
    @media (min-width: 992px) {
      .homepage-hero .slick-arrow.slick-next {
        right: 3%; } }
  @media (max-width: 991.9px) {
    .homepage-hero .btn-primary {
      --btnColor: $primary !important; } }
  .homepage-hero .slick-slide div {
    visibility: hidden;
    animation-delay: 0ms;
    animation-name: fadeOutDown;
    animation-duration: 1.3s; }
  .homepage-hero .slick-current div {
    visibility: visible;
    animation-delay: 50ms;
    animation-name: fadeInUp; }
  .homepage-hero .slick-dots {
    top: calc(100%); }
    .homepage-hero .slick-dots li button {
      background: rgba(14, 59, 94, 0.3); }
    .homepage-hero .slick-dots li.slick-active button {
      background: #0E3B5E; }
    @media (min-width: 992px) {
      .homepage-hero .slick-dots {
        top: calc(100% + -0.5rem); } }
  .homepage-hero .slide {
    position: relative;
    flex-direction: column;
    text-align: center;
    position: relative; }
    @media (min-width: 768px) {
      .homepage-hero .slide {
        text-align: left; } }
    .homepage-hero .slide.overlay::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      bottom: 0; }
      @media (min-width: 768px) {
        .homepage-hero .slide.overlay::after {
          background: linear-gradient(180deg, rgba(57, 57, 57, 0) 25.82%, #3a3a3a 146.18%);
          margin: 0 auto; } }
    @media (min-width: 768px) {
      .homepage-hero .slide.left .container > div {
        grid-column: 1 / span 6;
        justify-items: left; } }
    @media (min-width: 768px) {
      .homepage-hero .slide.center .container > div {
        grid-column: 4 / span 6;
        text-align: center;
        justify-items: center; }
        .homepage-hero .slide.center .container > div .slick-dots {
          justify-content: center; } }
    @media (min-width: 768px) {
      .homepage-hero .slide.right .container > div {
        grid-column: 7 / span 6;
        justify-items: left; } }
    .homepage-hero .slide .container.style2 {
      display: grid;
      grid-template-columns: 1fr;
      align-items: center;
      min-height: 18.75rem;
      background: #F2F4F5;
      padding: 0; }
      @media (min-width: 768px) {
        .homepage-hero .slide .container.style2 {
          background: transparent;
          padding: 0;
          grid-template-columns: repeat(12, 1fr);
          min-height: 25rem;
          max-height: 25rem; } }
      @media (min-width: 992px) {
        .homepage-hero .slide .container.style2 {
          padding: 0 2rem; } }
      .homepage-hero .slide .container.style2 > div {
        z-index: 3;
        display: grid;
        align-content: center;
        justify-items: center;
        padding: 1.5rem 1.5rem 3.75rem; }
        @media (min-width: 768px) {
          .homepage-hero .slide .container.style2 > div {
            padding: 2rem; } }
        @media (min-width: 768px) {
          .homepage-hero .slide .container.style2 > div .black {
            color: #222426; } }
        @media (min-width: 768px) {
          .homepage-hero .slide .container.style2 > div .white {
            color: white; } }
      .homepage-hero .slide .container.style2.invert {
        align-items: stretch; }
        .homepage-hero .slide .container.style2.invert h1, .homepage-hero .slide .container.style2.invert p {
          color: #222426 !important; }
        @media (min-width: 992px) {
          .homepage-hero .slide .container.style2.invert {
            align-items: center; } }
        .homepage-hero .slide .container.style2.invert > div {
          background: #F2F4F5; }
  .homepage-hero picture {
    display: flex;
    justify-content: center; }
    .homepage-hero picture img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      top: 0;
      aspect-ratio: 2; }
      @media (min-width: 768px) {
        .homepage-hero picture img {
          position: absolute; } }
      .homepage-hero picture img.contained {
        max-width: 75rem; }
    .homepage-hero picture.mobile-overlay img {
      position: absolute; }
  .homepage-hero .custom-dot-wrapper {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translate(-50%, 0); }

.home-hero {
  overflow: hidden; }
  .home-hero > .container {
    position: absolute;
    z-index: 5;
    left: 50%;
    transform: translateX(-50%); }
  .home-hero .slick-prev, .home-hero .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    z-index: 10; }
  .home-hero .slick-prev {
    left: 0; }
  .home-hero .slick-next {
    right: 0; }

.hero-banner {
  display: flex;
  align-items: center;
  height: 100%;
  background: linear-gradient(0deg, rgba(16, 57, 88, 0.75), rgba(16, 57, 88, 0.75));
  position: relative;
  transition: none !important;
  animation: none !important; }
  .hero-banner .wrapper {
    align-items: center;
    padding: 3rem 1rem;
    row-gap: 2rem; }
    @media (min-width: 768px) {
      .hero-banner .wrapper {
        padding: 0; } }
    @media (min-width: 992px) {
      .hero-banner .wrapper {
        transform: unset;
        padding: 3.5rem 3.75rem;
        padding-left: 0;
        grid-template-columns: repeat(8, 1fr);
        column-gap: 1rem; } }
    @media (min-width: 1200px) {
      .hero-banner .wrapper {
        grid-template-columns: repeat(12, 1fr);
        column-gap: 1.5rem; } }
  .hero-banner .mb-img {
    display: none; }
  .hero-banner picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: -1;
    transition: none !important;
    animation: none !important; }
  .hero-banner .dt-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: -1; }
    @media (min-width: 768px) {
      .hero-banner .dt-img {
        display: block; } }
  .hero-banner .cta {
    grid-column: 1 / -1;
    text-align: left; }
    .hero-banner .cta h1 {
      color: #fff; }
      @media (min-width: 768px) and (max-width: 991.9px) {
        .hero-banner .cta h1 {
          font-size: 1.75rem; } }
    .hero-banner .cta [class*='btn'] {
      width: auto;
      padding: 0.75rem 2rem; }
    @media (min-width: 768px) {
      .hero-banner .cta {
        grid-column: 1 / 5; } }
    @media (min-width: 1200px) {
      .hero-banner .cta {
        grid-column: 1 / 7; } }
  .hero-banner .badges {
    grid-column: 1 / -1; }
    @media (min-width: 768px) {
      .hero-banner .badges {
        grid-column: 5 / -1;
        border-left: 0.0625rem solid rgba(255, 255, 255, 0.5); } }
    @media (min-width: 1200px) {
      .hero-banner .badges {
        grid-column: 7 / 12; } }
    .hero-banner .badges .badge {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row;
      text-align: left;
      margin-bottom: 1rem;
      column-gap: 1.3125rem; }
      .hero-banner .badges .badge:last-of-type {
        margin-bottom: 0; }
      .hero-banner .badges .badge [class*='icon'] {
        color: #89BAE2;
        font-size: 1.3125rem; }
      .hero-banner .badges .badge p {
        color: #fff;
        font-size: 0.875rem; }
        @media (min-width: 1200px) {
          .hero-banner .badges .badge p {
            font-size: 1rem; } }
      @media (min-width: 768px) {
        .hero-banner .badges .badge {
          padding-left: 5.5rem; } }
      .hero-banner .badges .badge img {
        width: 2.625rem; }

[data-content-region="hero_homepage"] .hero-banner, .home-hero > .container {
  height: 27.375rem; }
  @media (min-width: 768px) {
    [data-content-region="hero_homepage"] .hero-banner, .home-hero > .container {
      height: 25rem;
      margin-top: 0; } }

[data-content-region="hero_homepage"] > div {
  max-height: 38.375rem; }
  @media (min-width: 992px) {
    [data-content-region="hero_homepage"] > div {
      max-height: 31.25rem; } }

.pdp-upsell {
  border-top: 1px solid #DEDFE1; }
  .pdp-upsell h5 {
    font-size: 1.125rem;
    margin-top: 1rem;
    margin-bottom: 0.875rem; }
    @media (min-width: 768px) {
      .pdp-upsell h5 {
        margin-top: 1.5rem;
        font-size: 1.25rem; } }
  .pdp-upsell .content > form {
    background: #FFF;
    border: 1px solid #A5A9AD;
    border-radius: 0.25rem;
    padding: 1rem;
    display: grid;
    grid-template-columns: 60px 1fr auto;
    grid-template-areas: 'img cnt' 'btn btn';
    column-gap: 1rem;
    row-gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 0; }
    @media (min-width: 992px) {
      .pdp-upsell .content > form {
        grid-template-areas: 'img cnt btn';
        align-items: center; } }
    .pdp-upsell .content > form > div {
      grid-area: cnt; }
      @media (min-width: 768px) {
        .pdp-upsell .content > form > div {
          display: flex;
          gap: 1rem; } }
      @media (min-width: 992px) {
        .pdp-upsell .content > form > div {
          display: block; } }
    .pdp-upsell .content > form img {
      aspect-ratio: 1;
      grid-area: img;
      max-width: 100%;
      display: block;
      width: 100%;
      object-fit: contain; }
    .pdp-upsell .content > form .btn-secondary {
      grid-area: btn;
      font-size: 0.875rem;
      padding: 0.625rem 1rem; }
      .pdp-upsell .content > form .btn-secondary span {
        margin-left: 0.625rem;
        font-size: 1.25rem; }
    .pdp-upsell .content > form .upsell-title {
      display: block;
      font-size: 0.875rem;
      font-weight: 300; }
    .pdp-upsell .content > form .price {
      font-size: 0.875rem;
      font-weight: 600; }

/*  --------------------------------------------------------------------------  *\

    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

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .auth-create .container {
    max-width: 1000px; } }

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

.auth-create .form-row {
  justify-content: start;
  column-gap: 2rem; }

.auth-create .form-cr {
  position: relative; }
  .auth-create .form-cr label {
    position: relative; }
    .auth-create .form-cr label:before {
      border: none !important; }
  .auth-create .form-cr input {
    position: absolute;
    transform: translateY(5px); }

.auth-create .form-el label {
  position: static; }

.auth-create .form-el select {
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  border-color: #A5A9AD;
  border-radius: 0.25rem; }

.auth-create .form-el[data-type*="Address"] {
  width: 100%; }

.auth-create h2 {
  width: 100%; }
  .auth-create h2 ~ h2 {
    margin-top: 1.5rem;
    border-top: 0.0625rem solid #A5A9AD;
    padding-top: 1.5rem; }

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

/*  --------------------------------------------------------------------------  *\

    AUTH - LOGIN

\*  --------------------------------------------------------------------------  */
@media (max-width: 991.9px) {
  .auth-login .btn-primary {
    margin-right: 1rem; } }

.auth-login .container aside {
  padding: 1rem; }

@media (min-width: 768px) {
  .auth-login .container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: 2rem; } }

@media (min-width: 992px) {
  .auth-login .container {
    grid-template-columns: 5fr 1fr 5fr;
    grid-template-areas: "form . aside ";
    column-gap: 0; }
    .auth-login .container > div {
      grid-area: form; }
    .auth-login .container aside {
      grid-area: aside;
      background: #DEDFE1;
      padding: 1.5rem; } }

.auth-login aside {
  background: #F2F4F5;
  border-radius: 4px; }

.auth-login .form-el label {
  width: auto; }

.auth-login .form-el input:focus ~ label, .auth-login .form-el input:hover ~ label {
  top: -10px;
  left: 10px;
  font-size: small;
  color: #0E3B5E;
  background: white;
  padding: 0 5px 0 5px;
  border: none;
  width: auto; }

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

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

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

.auth-reset .form-el label {
  position: static;
  margin-bottom: 0.25rem; }

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

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

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

/*  --------------------------------------------------------------------------  *\
    BLOG COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    BLOG - LAYOUT

\*  --------------------------------------------------------------------------  */
.layout-blog .pagination {
  margin: 0;
  margin-bottom: 3rem; }
  .layout-blog .pagination ul {
    padding-top: 2rem !important; }
  .layout-blog .pagination li.arrow a {
    width: 25px;
    height: 25px; }
  @media (min-width: 768px) {
    .layout-blog .pagination {
      grid-column: 1 / span 2;
      margin-bottom: 3.5rem; }
      .layout-blog .pagination ul {
        padding-top: 2.5rem !important; } }
  @media (min-width: 992px) {
    .layout-blog .pagination {
      grid-column: 1/ span 3;
      margin-bottom: 4.5rem; } }

.blog-detail-header .tags {
  margin: 2.3125rem 0 0; }
  @media (min-width: 768px) {
    .blog-detail-header .tags {
      margin-top: 3.75rem; } }

.blog-detail-header h1 {
  font-weight: bold;
  font-size: 28px;
  line-height: 40px;
  padding: 0.5rem 0 1rem !important;
  border-bottom: none !important;
  margin: 0; }
  @media (min-width: 992px) {
    .blog-detail-header h1 {
      padding: 1rem 0 2rem !important;
      font-size: 2.5rem;
      line-height: 3rem; } }

@media (max-width: 767.9px) {
  .blog-hero .hero-banner div.wrapper {
    padding: 3rem 1rem 2rem; } }

.blog-banner {
  margin-top: 3rem; }
  @media (min-width: 768px) {
    .blog-banner {
      margin-top: 3.5rem; }
      .blog-banner .img-cont img {
        height: 100%;
        object-fit: cover; } }
  @media (min-width: 992px) {
    .blog-banner .by-line {
      margin-bottom: 1.5rem !important; } }

.read-more {
  text-transform: uppercase;
  display: block;
  justify-content: flex-end;
  margin: auto 0 0; }
  .read-more .link-wrap {
    position: relative;
    padding: 0 20px 0 0; }
    .read-more .link-wrap .icon-arrow {
      position: absolute;
      font-size: 13px;
      top: 1px;
      right: -5px;
      transition: right .125s ease-in-out; }
    .read-more .link-wrap:hover .icon-arrow {
      right: -8px; }

p.by-line {
  margin-bottom: 1rem;
  color: #565A5E; }
  p.by-line strong {
    font-weight: 600; }
  @media (min-width: 768px) {
    p.by-line {
      margin-bottom: 2rem; } }

.space-for-image {
  display: block;
  width: 233px;
  height: 138px; }

.tags {
  margin: 0 0 0.75rem;
  display: flex; }
  .tags .tag {
    padding: 0;
    margin: 0 0 0 0.5rem; }
    .tags .tag:first-child {
      margin: 0; }
    .tags .tag a {
      padding: 0.375rem 1rem;
      background: #1C75BC;
      border-radius: 4px;
      font-weight: 600;
      font-size: 0.875rem;
      line-height: 1.3125rem;
      letter-spacing: 0.04em;
      color: #FFFFFF;
      text-transform: uppercase; }

.blog-email label {
  top: -2rem !important;
  font-size: 1rem !important;
  left: 0 !important;
  padding: 0 !important; }

@media (min-width: 768px) {
  .blog-email {
    display: grid;
    grid-template-columns: 6fr 7fr; } }

@media (min-width: 992px) {
  .blog-email {
    grid-template-columns: 40% 60%; }
    .blog-email .input-wrapper input {
      height: 3rem !important; }
    .blog-email #mc_embed_signup_scroll {
      display: grid;
      grid-template-columns: 20.375rem auto;
      column-gap: 1.5rem; }
      .blog-email #mc_embed_signup_scroll .checkout-wrapper {
        grid-column: 1 / span 2;
        min-height: 0; }
      .blog-email #mc_embed_signup_scroll .clear {
        grid-column: 2;
        grid-row: 1; }
        .blog-email #mc_embed_signup_scroll .clear button {
          margin-top: 2rem; } }

.blog-email #mc_embed_signup input[type="checkbox"] {
  -webkit-appearance: auto;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.75rem; }

.blog-email .validate {
  margin: 0; }

.blog-email .img-cont {
  position: relative; }
  .blog-email .img-cont img {
    max-width: 100%;
    height: 100%;
    width: 100%; }
  @media (min-width: 768px) {
    .blog-email .img-cont {
      display: inline-block; } }
  .blog-email .img-cont p {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
    font-weight: 500;
    font-size: 1.3125rem;
    line-height: 1.875rem;
    color: #FFF;
    width: 100%;
    padding: 2rem 1rem; }
    @media (min-width: 992px) {
      .blog-email .img-cont p {
        font-size: 1.5rem;
        line-height: 2rem;
        padding: 4rem; } }

.blog-email .input-wrapper label {
  top: -2rem;
  left: 0;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  background: transparent;
  color: #393939; }

@media (min-width: 768px) {
  .blog-email .input-wrapper {
    margin-top: 3.5rem; } }

@media (min-width: 992px) {
  .blog-email .input-wrapper {
    margin-top: 2rem; } }

.blog-email .newsletter-form {
  background: #F2F4F5 !important;
  padding: 3.5rem 1rem 2rem; }
  @media (max-width: 767.9px) {
    .blog-email .newsletter-form {
      margin-top: -0.4375rem; } }
  @media (min-width: 768px) {
    .blog-email .newsletter-form {
      padding: 0 3.5rem 2rem 2rem; } }
  @media (min-width: 992px) {
    .blog-email .newsletter-form {
      padding: 0 2rem 0 3.5rem;
      display: flex;
      flex-direction: column;
      justify-content: center; } }

.blog-email .checkout-wrapper {
  padding-bottom: 0 !important; }
  .blog-email .checkout-wrapper > div {
    display: flex;
    margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .blog-email .checkout-wrapper {
      display: flex; }
      .blog-email .checkout-wrapper > div {
        margin-right: 0.5rem; } }
  @media (min-width: 992px) {
    .blog-email .checkout-wrapper > div {
      margin-bottom: 0; } }

.blog-email .clear {
  position: relative; }
  @media (max-width: 767.9px) {
    .blog-email .clear {
      margin-top: 2rem; } }
  .blog-email .clear button[type="submit"]#mc-embedded-subscribe {
    width: 100%;
    background: #0E3B5E;
    color: #FFF; }
  .blog-email .clear .icon-envelope {
    color: #fff; }

@media (min-width: 992px) {
  .blog-email #mce-responses {
    display: none; } }

.blog-page-layout > .container .suggested-posts > aside > h2 {
  border-bottom: 1px solid #DEDFE1;
  font-size: 1.125rem;
  padding: 0 0 1rem; }
  @media (min-width: 992px) {
    .blog-page-layout > .container .suggested-posts > aside > h2 {
      padding-bottom: 2rem !important; } }

.blog-page-layout > .container .suggested-posts strong {
  font-weight: 600 !important; }

.blog-page-layout > .container .suggested-posts .by-line {
  display: none; }

.blog-page-layout > .container .suggested-posts .card-blog {
  margin-top: 1.5rem; }

@media (min-width: 768px) {
  .blog-page-layout > .container {
    display: grid;
    grid-template-columns: 57.2% 1fr 31.7%;
    grid-template-areas: "title . suggested" " content . suggested"; }
    .blog-page-layout > .container .blog-detail-header {
      grid-area: title; }
    .blog-page-layout > .container .layout-blog {
      grid-area: content; }
    .blog-page-layout > .container .suggested-posts {
      grid-area: suggested;
      margin-top: 6.5rem; }
      .blog-page-layout > .container .suggested-posts > aside > h2 {
        padding: 0 0 1rem;
        border-bottom: 1px solid #DEDFE1;
        font-size: 1.125rem;
        margin: 0; } }
    @media (min-width: 768px) and (min-width: 992px) {
      .blog-page-layout > .container .suggested-posts .cnt > h2 {
        margin: 0.75rem 0 1rem; } }

@media (min-width: 768px) {
      .blog-page-layout > .container .suggested-posts .cnt > p {
        color: #393939; } }

@media (min-width: 992px) {
  .blog-page-layout > .container {
    grid-template-columns: 65.8% 1fr 23.3%; }
    .blog-page-layout > .container .suggested-posts {
      margin-top: 9.875rem; }
      .blog-page-layout > .container .suggested-posts h2 {
        font-size: 1.5rem !important; }
      .blog-page-layout > .container .suggested-posts .card-blog {
        margin-top: 2rem; }
      .blog-page-layout > .container .suggested-posts .cnt p {
        margin-bottom: 1rem; } }

.blog-page-layout nav.breadcrumbs > div.container {
  padding: 0; }

/*  --------------------------------------------------------------------------  *\

    BLOG - FEED

\*  --------------------------------------------------------------------------  */
.blog-detail .blog-post {
  margin-top: 1.5rem; }
  .blog-detail .blog-post > p {
    color: #565A5E; }

.blog-detail .blog-thumbnail img {
  width: 100%; }

.blog-detail article {
  margin-bottom: 5rem; }

.blog-detail picture, .blog-detail img {
  display: block;
  height: auto; }

.blog-detail picture {
  grid-area: thumbnail; }

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

.blog-detail h2 {
  font-size: 1.5rem;
  margin: 0 0 1rem; }

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

.blog-detail .by-line {
  font-size: 0.875rem; }

.blog-detail .detail-tags {
  margin-bottom: 1rem; }

@media (min-width: 992px) {
  .blog-detail .tags-share {
    display: grid;
    grid-template-columns: 114px 1fr 118px 168px;
    align-items: center; }
    .blog-detail .tags-share .share, .blog-detail .tags-share .detail-tags {
      margin: 0;
      display: block;
      grid-area: unset; } }

.blog-detail .tags-share span {
  color: #565A5E; }

.blog-detail .tags-share .detail-tags {
  display: inline-flex; }

.blog-detail .tags-share .share-title {
  display: block; }

.blog-detail .tags-share .share {
  margin-left: 1rem; }

.blog-detail .tags-share .tag {
  padding-left: 0.125rem;
  font-weight: 600;
  margin: 0 0 0 0.5rem; }

.blog-detail .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  flex-flow: row wrap;
  margin: 0 0 1rem; }
  .blog-detail .tags h3 {
    margin: 0 0.5rem 0 0; }
  .blog-detail .tags ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap;
    margin: 0; }
  .blog-detail .tags li {
    margin: 0.125rem 0.5rem 0.125rem;
    padding: 0; }
    .blog-detail .tags li:before {
      display: none; }

.blog-detail .share ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  flex-flow: row nowrap; }
  .blog-detail .share ul li + li {
    margin: 0 0 0 1rem; }
  .blog-detail .share ul span {
    color: #085EAC; }

/*  --------------------------------------------------------------------------  *\

    BLOG - CARD

\*  --------------------------------------------------------------------------  */
.card-blog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-flow: column nowrap;
  width: 100%; }
  .card-blog picture, .card-blog img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.25rem; }
  .card-blog .cnt {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%; }
  .card-blog h2 {
    font-size: 1.125rem;
    line-height: 1.75rem;
    color: #222426;
    margin: 1rem 0; }
    .card-blog h2 a {
      color: #222426; }
    @media (min-width: 768px) {
      .card-blog h2 {
        font-size: 1.25rem; } }
  .card-blog .by-line {
    font-size: 1rem;
    margin: 0 0 1rem;
    line-height: 1.5rem; }
    .card-blog .by-line strong {
      font-weight: 600; }
  .card-blog .tags {
    position: absolute;
    top: -3rem;
    left: 0.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap; }
    .card-blog .tags li {
      padding: 0;
      margin: 0 0 0 0.25rem; }
      .card-blog .tags li:before {
        display: none; }
  .card-blog p {
    margin: 0 0 10px; }

/*  --------------------------------------------------------------------------  *\

    BLOG - FEED - FEATURED/RECENT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .feed-blog-feat {
    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; }
    .feed-blog-feat .card-blog {
      margin: 0 1rem; } }

aside .feed-blog-feat {
  flex-flow: column nowrap;
  margin: 0 0 1.5rem; }
  aside .feed-blog-feat:last-child {
    margin: 0; }
  aside .feed-blog-feat .card-blog {
    margin: 0; }
    aside .feed-blog-feat .card-blog + .card-blog {
      margin-top: 1rem; }

/*  --------------------------------------------------------------------------  *\

    BLOG - FEED

\*  --------------------------------------------------------------------------  */
.feed-blog {
  display: grid;
  row-gap: 2rem; }
  @media (min-width: 768px) {
    .feed-blog {
      grid-template-columns: 1fr 1fr;
      column-gap: 1rem;
      row-gap: 2.5rem; } }
  @media (min-width: 992px) {
    .feed-blog {
      grid-template-columns: 1fr 1fr 1fr; } }

/*  --------------------------------------------------------------------------  *\
    CART COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CART - ACTIONS

\*  --------------------------------------------------------------------------  */
.cart-actions, .shipping-quotes {
  margin-bottom: 1rem; }
  .cart-actions .fee, .shipping-quotes .fee {
    text-align: left;
    margin: 1rem 0 0;
    font-size: 0.875rem;
    line-height: 1.3; }
    .cart-actions .fee strong, .shipping-quotes .fee strong {
      font-weight: 600; }
  .cart-actions .btn-primary, .shipping-quotes .btn-primary {
    width: 100%;
    padding: 0.75rem 0;
    font-size: 1rem; }

/*  --------------------------------------------------------------------------  *\

    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: #DEDFE1; }
  .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 {
      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 #565A5E;
        content: "";
        border-radius: 100%; }
    .shipping-quotes ul input[type="radio"]:checked + label:before {
      box-shadow: inset 0 0 0 0.125rem #fff;
      background: #565A5E; }

.shipping-quotes .estimator-form-label, .shipping-quotes .estimator-form-input {
  margin-top: 0 !important;
  padding: 1.5rem 0 0.5rem !important; }
  .shipping-quotes .estimator-form-label label, .shipping-quotes .estimator-form-input label {
    color: #222426;
    font-weight: 500; }
    .shipping-quotes .estimator-form-label label b, .shipping-quotes .estimator-form-input label b {
      font-weight: 500; }

/*  --------------------------------------------------------------------------  *\

    CART - LAYOUT

\*  --------------------------------------------------------------------------  */
.cart {
  margin-bottom: 1.75rem; }
  @media (min-width: 992px) {
    .cart {
      margin-bottom: 5.5rem; } }
  .cart .container {
    display: grid;
    grid-template-areas: 'aside' 'cnt'; }
    @media (min-width: 768px) {
      .cart .container {
        grid-template-columns: 42% 50%;
        grid-template-areas: 'cnt aside';
        column-gap: 3.5rem;
        row-gap: 2rem; } }
    @media (min-width: 992px) {
      .cart .container {
        grid-template-columns: 2fr 1fr;
        column-gap: 3.75rem; } }
    @media (min-width: 1200px) {
      .cart .container {
        grid-template-columns: 2fr 1.1fr; } }
  .cart .cnt {
    grid-area: cnt; }
  .cart aside {
    grid-area: aside;
    text-align: center; }

.cart-title {
  font-weight: bold;
  font-size: 1.75rem;
  line-height: 2.5rem;
  margin: 3rem 0 1.5rem;
  border: none !important;
  padding: 0 !important; }
  @media (min-width: 768px) {
    .cart-title {
      margin: 3.5rem 0 2rem; } }
  @media (min-width: 992px) {
    .cart-title {
      margin: 3rem 0 2.5rem;
      font-size: 2.5rem; } }

.shipping-notice {
  background: #F2F4F5;
  padding: 1.5rem;
  font-size: 14px;
  line-height: 21px; }
  .shipping-notice h4 {
    font-weight: 600;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left; }
  .shipping-notice ul {
    text-align: left; }
    .shipping-notice ul li {
      padding: 0; }
      .shipping-notice ul li + li {
        margin: 0; }
  .shipping-notice hr {
    margin: 0;
    background-color: #A5A9AD; }
  .shipping-notice strong {
    font-weight: 600; }
  .shipping-notice .icon-container {
    display: grid;
    grid-template-columns: auto 1fr;
    justify-items: start;
    column-gap: 0.5rem;
    row-gap: 1rem;
    margin-top: 1.5rem; }
    .shipping-notice .icon-container .icon-g-checkmark, .shipping-notice .icon-container .icon-secure {
      color: #085EAC;
      font-size: 20px; }

/*  --------------------------------------------------------------------------  *\

    CART - LINE ITEMS

\*  --------------------------------------------------------------------------  */
.line-items {
  border-top: 1px solid #DEDFE1;
  padding-top: 1.5rem;
  margin-top: 3rem; }
  .line-items .price-discounted, .line-items .price--discounted {
    text-decoration: line-through;
    margin-right: 4px;
    opacity: 0.7; }
  @media (min-width: 768px) {
    .line-items {
      margin-top: 0; } }
  .line-items [data-item-row] {
    border-bottom: 1px solid #DEDFE1; }
  .line-items .cart-item-image {
    width: 100%; }
  .line-items table {
    width: 100%;
    font-size: 1rem; }
  .line-items h2 {
    text-align: left;
    margin: 0; }
    .line-items h2 a {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.5rem;
      color: #222426; }
      @media (min-width: 992px) {
        .line-items h2 a {
          font-weight: 500;
          font-size: 1.25rem;
          line-height: 1.875rem; } }
    .line-items h2 small {
      font-size: .75em;
      font-weight: 300;
      margin: 0 0 0.25rem; }
  .line-items h3 {
    margin: 0 0.5rem 0 0;
    font-size: 1em; }
  .line-items dl {
    display: flex;
    margin: 0.5rem 0 1rem; }
    @media (min-width: 992px) {
      .line-items dl {
        margin: 1.125rem 0 2rem; } }
    .line-items dl dd {
      padding: 0; }
  .line-items dt {
    margin: 0;
    font-weight: 600; }
  .line-items .form-increment {
    margin: 0;
    text-align: left;
    padding: 1.5rem 0; }
    @media (min-width: 992px) {
      .line-items .form-increment {
        padding: 0;
        align-self: start; } }
    .line-items .form-increment button:hover, .line-items .form-increment button:focus {
      background: rgba(34, 36, 38, 0.25); }
    .line-items .form-increment button:active {
      background: rgba(34, 36, 38, 0.5); }
  .line-items table, .line-items tbody {
    display: block; }
  .line-items thead {
    display: none; }
  .line-items tr {
    display: grid;
    grid-template-rows: auto; }
    .line-items tr:nth-child(n + 2) {
      margin: 1rem 0 0;
      padding: 1rem 0 0; }
  .line-items td {
    text-align: left; }
    .line-items td.spacing-without-options {
      padding-top: 1rem; }
      @media (min-width: 992px) {
        .line-items td.spacing-without-options {
          padding-top: 2rem; } }
    .line-items td .btn-txt {
      font-weight: normal;
      font-size: 0.875rem;
      line-height: 1.3125rem;
      text-transform: capitalize;
      color: #222426;
      padding-bottom: 1.5rem; }
    .line-items td .icon-close {
      background: #222426;
      padding: 2px;
      border-radius: 20px;
      font-size: 0.625rem;
      font-weight: 600;
      color: white;
      line-height: normal;
      height: 1rem;
      width: 1rem; }
    .line-items td:nth-child(1) {
      grid-area: image; }
    .line-items td:nth-child(2) {
      grid-area: name; }
    .line-items td:nth-child(3) {
      grid-area: price; }
      .line-items td:nth-child(3) span {
        font-weight: normal;
        font-size: 1rem;
        line-height: 1.5rem; }
        .line-items td:nth-child(3) span:nth-child(2) {
          font-weight: 500; }
    .line-items td:nth-child(4) {
      grid-area: quantity; }
      @media (min-width: 992px) {
        .line-items td:nth-child(4) {
          justify-self: end; } }
    .line-items td:nth-child(5) {
      grid-area: total;
      margin-bottom: 1.5rem; }
      .line-items td:nth-child(5) strong:nth-of-type(2) {
        font-weight: 500; }
      .line-items td:nth-child(5) h3 {
        font-weight: 600;
        font-size: 1rem; }
      .line-items td:nth-child(5) .cart-item-value {
        font-weight: normal;
        font-size: 16px;
        line-height: 24px; }
      @media (min-width: 992px) {
        .line-items td:nth-child(5) {
          margin-bottom: 0;
          justify-self: end;
          align-self: end; } }
    .line-items td:nth-child(6) {
      grid-area: remove;
      text-align: left; }
      .line-items td:nth-child(6):empty {
        display: none; }
      @media (min-width: 992px) {
        .line-items td:nth-child(6) {
          margin-top: 1.5rem; } }
    .line-items td:nth-child(3), .line-items td:nth-child(5) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-flow: row nowrap; }
  .line-items tr {
    grid-template-columns: 4rem auto;
    grid-template-areas: 'image name' 'image price' 'image quantity' 'image total' 'image remove';
    column-gap: 1.25rem; }
  .line-items [class*="btn-"] {
    width: auto; }
  @media (min-width: 768px) {
    .line-items table, .line-items tbody {
      display: block; }
    .line-items thead {
      display: none; }
    .line-items tr:nth-child(n + 2) {
      margin: 1rem 0 0;
      padding: 1rem 0 0; }
    .line-items [class*="btn-"] {
      width: auto; } }
  @media (min-width: 992px) {
    .line-items tr {
      grid-template-columns: 8.25rem auto auto;
      column-gap: 2.25rem;
      grid-template-areas: 'image name quantity' 'image price total' 'image remove remove'; } }
  .line-items .cont-shopping {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.04em;
    color: #0E3B5E;
    padding: 0; }
    .line-items .cont-shopping .icon-chevron-left {
      font-size: 0.5rem; }

/*  --------------------------------------------------------------------------  *\

    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%;
      margin: 0 0 0.5rem;
      font-weight: 600;
      font-size: 16px;
      line-height: 24px;
      color: #222426; }
    #CartEditProductFieldsForm .form-el small, #CartEditProductFieldsForm .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #FF0000; }
  #CartEditProductFieldsForm .options-cont {
    display: flex;
    flex-direction: column;
    row-gap: 1rem; }
    #CartEditProductFieldsForm .options-cont .form-el label {
      font-weight: 600;
      position: static; }
      @media (min-width: 992px) {
        #CartEditProductFieldsForm .options-cont .form-el label {
          margin: 0 0 0.75rem; } }
    #CartEditProductFieldsForm .options-cont .form-el select {
      height: 2.75rem;
      font-weight: normal;
      font-size: 14px;
      line-height: 21px;
      border: 1px solid #A5A9AD; }
  #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 .form-increment {
    padding: 1.5rem 0 2rem; }
    #CartEditProductFieldsForm .form-increment label {
      font-weight: 600;
      font-size: 1rem;
      line-height: 1.5rem;
      color: #222426; }
  #CartEditProductFieldsForm .bulk-price-launchcontainer {
    padding-bottom: 2rem; }
    @media (min-width: 992px) {
      #CartEditProductFieldsForm .bulk-price-launchcontainer {
        padding-top: 2rem;
        align-self: center; } }
    #CartEditProductFieldsForm .bulk-price-launchcontainer .bulk-price-launch {
      display: flex;
      align-items: center; }
    #CartEditProductFieldsForm .bulk-price-launchcontainer span {
      margin-left: 0.5rem;
      font-weight: 600;
      font-size: 0.875rem;
      line-height: 1.3125rem;
      letter-spacing: 0.04em;
      text-transform: uppercase; }
  #CartEditProductFieldsForm .phonepart {
    padding-left: 8px;
    padding-right: 8px;
    width: 50px !important; }
  #CartEditProductFieldsForm #mce-PHONE-detail2 {
    width: 70px !important; }
  #CartEditProductFieldsForm .mc-field-group select {
    padding: 8px !important;
    border-radius: 4px !important; }
  #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]) {
    padding: 0.5rem 0.75rem;
    width: 100%;
    max-width: 18.75rem;
    border: 0.125rem solid #A5A9AD; }
    #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: #0E3B5E; }
  #CartEditProductFieldsForm .productOptions-list {
    list-style: none;
    margin: 0;
    max-height: 400px;
    overflow-y: auto;
    margin: 1rem 0 1.5rem !important; }
  #CartEditProductFieldsForm .productOptions-list-item {
    padding: 0;
    color: #222426;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 8px; }
    #CartEditProductFieldsForm .productOptions-list-item .form-radio {
      width: 20px;
      height: 20px;
      accent-color: #085EAC; }
    #CartEditProductFieldsForm .productOptions-list-item .form-label {
      font-weight: 400;
      color: #222426;
      font-size: 16px;
      line-height: 24px;
      margin: 0; }
    #CartEditProductFieldsForm .productOptions-list-item .productOptions-list-item-content {
      display: flex;
      align-items: center;
      column-gap: 8px; }
    #CartEditProductFieldsForm .productOptions-list-item .form-label {
      text-align: left;
      top: -2px; }
  #CartEditProductFieldsForm .productOptions-list-item-figure,
  #CartEditProductFieldsForm .productOptions-list-item-content {
    vertical-align: middle; }
  #CartEditProductFieldsForm .productOptions-list-item-figure {
    width: auto; }
  #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 #A5A9AD; }
    #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: #0E3B5E;
      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 #A5A9AD;
      padding: 0.25rem 0.75rem;
      font-size: 0.875rem;
      margin: 0.25rem 0.25rem 0 0;
      transition: all .25s linear;
      width: auto; }
      #CartEditProductFieldsForm .set-rectangle label.unavailable {
        pointer-events: none;
        background: #A5A9AD;
        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: #0E3B5E;
        border-color: #0E3B5E;
        color: #fff; }
  #CartEditProductFieldsForm .options-cont .form-el {
    margin-bottom: 0; }
    #CartEditProductFieldsForm .options-cont .form-el .size-guide-icon {
      position: absolute;
      right: 0;
      cursor: pointer;
      height: 20px;
      width: auto; }
  #CartEditProductFieldsForm .size-guide__popup {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    width: 90vw;
    max-width: 75rem; }
    #CartEditProductFieldsForm .size-guide__popup img {
      width: 100%;
      height: auto; }
  #CartEditProductFieldsForm [data-product-attribute="set-select"] select {
    padding: 0.5rem 0.75rem;
    width: 100%;
    -webkit-appearance: none;
    border: 1px solid #A5A9AD;
    border-radius: 4px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 7L12 9.53674e-07L-3.41715e-07 -9.53991e-08L6 7Z' fill='%23085EAC'/%3E%3C/svg%3E%0A");
    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: 12px;
    font-size: 0.875rem;
    line-height: 1.3125rem;
    color: #565A5E; }
    #CartEditProductFieldsForm [data-product-attribute="set-select"] select:disabled, #CartEditProductFieldsForm [data-product-attribute="set-select"] 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 .set-swatch 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 #DEDFE1;
    box-shadow: inset 0 0 0 3px #fff; }
    #CartEditProductFieldsForm .set-swatch label.unavailable {
      pointer-events: none;
      opacity: .5; }
      #CartEditProductFieldsForm .set-swatch label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    #CartEditProductFieldsForm .set-swatch 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 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 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.875rem;
  border-top: 0.0625rem solid #DEDFE1; }
  .totals .coupon-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem; }
    .totals .coupon-form .form-actions {
      margin: 0;
      width: auto; }
    .totals .coupon-form .form-el {
      margin: 0;
      width: 100%;
      margin-right: 1rem; }
  .totals .estimator-form label {
    display: none !important; }
  .totals .estimator-form input, .totals .estimator-form .form-input {
    font-size: 0.875rem; }
  .totals .estimator-form-label-text {
    font-weight: normal !important;
    font-size: 1rem;
    line-height: 1.5rem; }
  .totals .estimator-form-input--price b {
    font-weight: normal !important;
    font-size: 1rem;
    line-height: 1.5rem; }
  .totals dt, .totals dd {
    padding: 0.5rem 0;
    margin: 0;
    font-weight: normal;
    font-size: 1rem;
    line-height: 1.5rem; }
    .totals dt button, .totals dd button {
      text-transform: uppercase; }
    .totals dt:first-of-type, .totals dd:first-of-type {
      padding: 1.5rem 0 0.5rem; }
    .totals dt:last-of-type, .totals dd:last-of-type {
      border-top: 0.0625rem solid #DEDFE1;
      font-weight: 500;
      font-size: 18px;
      line-height: 27px;
      padding: 1.5rem 0;
      margin-top: 1rem; }
      @media (min-width: 992px) {
        .totals dt:last-of-type, .totals dd:last-of-type {
          font-size: 1.5rem;
          line-height: 2rem; } }
  .totals dt {
    text-align: left;
    width: 70%; }
  .totals dd {
    width: 30%;
    text-align: right; }
    .totals dd .shipping-estimate-hide, .totals dd .shipping-estimate-show, .totals dd .coupon-remove, .totals dd .coupon-code-cancel, .totals dd .coupon-code-add {
      font-weight: 600;
      font-size: 16px;
      line-height: 24px;
      letter-spacing: 0.04em;
      text-decoration-line: underline;
      color: #0E3B5E;
      text-transform: uppercase; }
      .totals dd .shipping-estimate-hide:hover, .totals dd .shipping-estimate-hide:focus, .totals dd .shipping-estimate-show:hover, .totals dd .shipping-estimate-show:focus, .totals dd .coupon-remove:hover, .totals dd .coupon-remove:focus, .totals dd .coupon-code-cancel:hover, .totals dd .coupon-code-cancel:focus, .totals dd .coupon-code-add:hover, .totals dd .coupon-code-add:focus {
        color: #085EAC; }
      .totals dd .shipping-estimate-hide:active, .totals dd .shipping-estimate-show:active, .totals dd .coupon-remove:active, .totals dd .coupon-code-cancel:active, .totals dd .coupon-code-add:active {
        color: #085EAC; }
    .totals dd.full {
      width: 100%; }

/*  --------------------------------------------------------------------------  *\
    CATALOG COMPONENTS
\*  --------------------------------------------------------------------------  */
.layout-brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 0.4375rem;
  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: 1.5rem;
      row-gap: 2rem; } }

/*  --------------------------------------------------------------------------  *\

    PRODUCT CARD COMPONENT

\*  --------------------------------------------------------------------------  */
.card {
  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;
  background: #fff;
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > IMAGE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > TITLE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > RATING

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > PRICE

\*  --------------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > ACTIONS

\*  --------------------------------------------------------------------------  */ }
  .card .cnt {
    flex-grow: 1; }
  .card .cta a, .card .cta .compare-btn {
    width: 100%;
    margin-top: 0.3125rem; }
    .card .cta a input, .card .cta .compare-btn input {
      margin-right: 0.3125rem; }
  .card .usa-badge {
    display: none; }
  .card .img {
    position: relative;
    aspect-ratio: 1.2; }
    .card .img img {
      aspect-ratio: 1.2;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .card .img_off {
    position: relative;
    overflow: hidden;
    height: 6.25rem; }
    @media (min-width: 768px) {
      .card .img_off {
        height: 6.875rem; } }
    @media (min-width: 992px) {
      .card .img_off {
        height: 8.75rem; } }
    .card .img_off picture, .card .img_off > a > img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 100%;
      display: block; }
      .card .img_off picture.default, .card .img_off > a > img.default {
        background-color: #f8f8f8; }
    .card .img_off img {
      display: block;
      width: 100%;
      height: 6.25rem;
      object-fit: contain; }
      @media (min-width: 768px) {
        .card .img_off img {
          height: 6.875rem; } }
      @media (min-width: 992px) {
        .card .img_off img {
          height: 8.75rem; } }
  .card h3 {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: 700;
    margin: 0.5rem 0 0.5rem; }
    @media (min-width: 992px) {
      .card h3 {
        margin-top: 0.75rem; } }
    .card h3 a {
      display: -webkit-box !important;
      font-weight: 500;
      color: #222426;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden;
      min-height: 2.666em;
      font-size: 0.875rem;
      line-height: 1.5rem; }
    .card h3 small {
      display: block;
      font-size: .75em;
      margin: 0 0 .3333em;
      min-height: 1em; }
  .card .badges {
    text-transform: uppercase;
    color: #085EAC;
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 10px;
    line-height: 21px; }
    .card .badges [class*='icon-'] {
      margin-right: 0.25rem;
      font-size: 0.625rem; }
  .card .rating {
    font-size: 0.875rem;
    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; }
    .card .rating span + span {
      margin: 0 0 0 0.25rem; }
  .card .price-wrapper {
    margin-bottom: 1rem;
    border-bottom: none;
    padding: 0; }
  .card .price {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.5rem; }
    .card .price--non-sale {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      .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; }
  .card .actions-quickadd {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s .25s linear; }
  .card .actions [class*='btn-'] {
    display: inline-block;
    margin-top: 0;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 21px;
    letter-spacing: 0.04em; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .card .actions [class*='btn-'] {
        padding: 0.625rem 1.25rem; } }
    @media (min-width: 992px) {
      .card .actions [class*='btn-'] {
        width: auto; } }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }

.star_container .group-stars .ind_cnt {
  display: inline;
  width: auto;
  margin-left: .5rem; }

/*  --------------------------------------------------------------------------  *\

    CATEGORY - LAYOUT

\*  --------------------------------------------------------------------------  */
.layout-category aside nav {
  position: relative;
  position: -webkit-sticky;
  position: sticky; }
  @supports (position: -webkit-sticky) {
    .layout-category aside nav {
      top: 0; } }
  @supports (position: sticky) {
    .layout-category aside nav {
      top: 0; } }
  @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 (min-width: 992px) {
  .layout-category {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 2rem; } }

/*  --------------------------------------------------------------------------  *\

    CATEGORY

    Only files that are used by the Product Search Components should be loaded.

\*  --------------------------------------------------------------------------  */
.category-hero, .blog-hero {
  position: relative;
  z-index: 0;
  margin: 0; }
  .category-hero nav.breadcrumbs, .blog-hero nav.breadcrumbs {
    position: absolute;
    z-index: 1;
    top: 24px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    border: none; }
    .category-hero nav.breadcrumbs a, .blog-hero nav.breadcrumbs a {
      font-weight: 400;
      font-size: 0.875rem;
      text-transform: capitalize;
      color: rgba(255, 255, 255, 0.6); }
    .category-hero nav.breadcrumbs .is-active .icon, .blog-hero nav.breadcrumbs .is-active .icon {
      color: rgba(255, 255, 255, 0.6); }
    .category-hero nav.breadcrumbs .is-active a, .blog-hero nav.breadcrumbs .is-active a {
      color: white;
      font-weight: 400; }
    @media (max-width: 991.9px) {
      .category-hero nav.breadcrumbs, .blog-hero nav.breadcrumbs {
        display: none; } }
  @media (min-width: 992px) {
    .category-hero .hero-banner, .blog-hero .hero-banner {
      margin-top: 5px; } }
  @media (min-width: 1200px) {
    .category-hero .hero-banner, .blog-hero .hero-banner {
      margin: 0; } }
  .category-hero .hero-banner h1, .blog-hero .hero-banner h1 {
    margin-bottom: 0; }
  .category-hero .hero-banner .wrapper, .blog-hero .hero-banner .wrapper {
    padding: 5.5rem 1rem 1.5rem;
    min-height: 9.5rem; }
    @media (min-width: 768px) {
      .category-hero .hero-banner .wrapper, .blog-hero .hero-banner .wrapper {
        padding: 6.5rem 3rem 2rem; } }
    @media (min-width: 992px) {
      .category-hero .hero-banner .wrapper, .blog-hero .hero-banner .wrapper {
        height: 16rem;
        padding: 7.5rem 3.75rem 5.5rem;
        display: block; } }
  .category-hero .hero-banner .mb-img, .blog-hero .hero-banner .mb-img {
    display: block;
    width: 100%;
    object-fit: cover;
    position: absolute;
    z-index: -1;
    height: 9.5rem; }
  .category-hero .hero-banner .dt-img, .blog-hero .hero-banner .dt-img {
    display: none; }
  @media (min-width: 768px) {
    .category-hero .hero-banner .mb-img, .blog-hero .hero-banner .mb-img {
      display: none; }
    .category-hero .hero-banner .dt-img, .blog-hero .hero-banner .dt-img {
      display: block;
      height: 11rem; } }
  @media (min-width: 992px) {
    .category-hero .hero-banner .dt-img, .blog-hero .hero-banner .dt-img {
      height: 16rem; } }

.layout-category, .layout-category-landing {
  padding-top: 2rem; }
  @media (min-width: 768px) {
    .layout-category, .layout-category-landing {
      padding-top: 2rem; } }
  @media (min-width: 992px) {
    .layout-category, .layout-category-landing {
      padding-top: 3rem; } }

@media (max-width: 767.9px) {
  .category-landing-carousel .feeds-carousel {
    padding-bottom: 1.5rem; } }

/*  --------------------------------------------------------------------------  *\

    CATEGORY - LANDING

\*  --------------------------------------------------------------------------  */
nav.landing ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0.5rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    nav.landing ul {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-auto-rows: 215px;
      column-gap: 1rem;
      row-gap: 1rem; } }
  @media (min-width: 992px) {
    nav.landing ul {
      column-gap: 1.5rem;
      row-gap: 1.5rem; } }

nav.landing li {
  border: 1px solid #DEDFE1;
  border-radius: 0.25rem; }
  @media (max-width: 767.9px) {
    nav.landing li {
      height: 9.375rem; }
      nav.landing li img {
        object-fit: cover; } }

nav.landing a {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition-duration: .15s; }
  nav.landing a .content-overlay {
    margin-top: auto;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(14, 59, 94, 0.75);
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (min-width: 992px) {
      nav.landing a .content-overlay {
        bottom: 0;
        height: 55px;
        left: 0;
        transform: unset;
        transition: .15s all ease-in-out;
        border-radius: 0 0 0.25rem 0.25rem; } }
  @media (min-width: 992px) {
    nav.landing a:hover .content-overlay {
      top: 0;
      height: 100%;
      transition-duration: 0.25s;
      border-radius: 0.25rem; } }

nav.landing h2 {
  text-align: center;
  margin: 0;
  position: relative;
  top: 0%;
  color: white;
  font-weight: 500;
  padding: 0 0.75rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 27px; }
  @media (min-width: 992px) {
    nav.landing h2 {
      font-size: 20px;
      line-height: 30px;
      transform: unset;
      padding: 0.75rem; } }

nav.landing .img {
  position: relative;
  overflow: hidden;
  height: 100%; }
  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%;
    object-fit: contain; }

.state-maps__container path {
  transition: all .5s; }

.state-maps__container .st1:hover .st0, .state-maps__container a:hover .st0 {
  fill: rgba(15, 117, 191, 0.7); }

/*  --------------------------------------------------------------------------  *\

    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;
  padding-top: 1.5rem;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-template-areas: "title" "gallery" "details"; }
  .product-view .gallery, .productView .gallery {
    grid-area: gallery; }
  .product-view .title, .productView .title {
    grid-area: title; }
    @media (min-width: 768px) {
      .product-view .title .productView-title, .productView .title .productView-title {
        font-size: 2rem;
        line-height: 1;
        font-weight: 600; } }
  .product-view .details, .productView .details {
    grid-area: details;
    margin-top: 3rem;
    margin-bottom: 3rem; }
    @media (min-width: 768px) {
      .product-view .details, .productView .details {
        margin: 0; } }
    @media (max-width: 1199.9px) {
      .product-view .details .gurantee, .productView .details .gurantee {
        margin-top: 1.5rem; } }
    .product-view .details .gurantee li, .productView .details .gurantee li {
      padding: 0;
      margin: 0;
      font-weight: 600;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row; }
      .product-view .details .gurantee li i, .productView .details .gurantee li i {
        font-size: 1.5rem;
        color: #085EAC;
        margin-right: 0.5rem; }
      .product-view .details .gurantee li a, .productView .details .gurantee li a {
        text-decoration: underline;
        margin-left: 0.125rem;
        color: #085EAC; }
  @media (min-width: 768px) {
    .product-view, .productView {
      grid-template-columns: 50% 1fr;
      grid-template-rows: auto 1fr;
      grid-template-areas: "gallery title" "gallery details";
      column-gap: 3rem;
      padding-top: 2rem; }
      .product-view .feeds-carousel, .productView .feeds-carousel {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .product-view .feeds-carousel, .productView .feeds-carousel {
            top: 7.75rem; } }
        @supports (position: sticky) {
          .product-view .feeds-carousel, .productView .feeds-carousel {
            top: 7.75rem; } } }
  @media (min-width: 992px) {
    .product-view, .productView {
      column-gap: 7.25rem;
      padding-top: 0; } }
  .product-view .badges, .productView .badges {
    text-transform: uppercase;
    color: #085EAC;
    font-size: 0.625rem;
    font-weight: 600;
    margin-bottom: 0.5rem; }
    .product-view .badges [class*='icon-'], .productView .badges [class*='icon-'] {
      margin-right: 0.25rem;
      font-size: 0.625rem; }
  .product-view .add-to-cart-wrapper, .productView .add-to-cart-wrapper {
    border-top: 1px solid #DEDFE1; }
    .product-view .add-to-cart-wrapper #form-action-addToCart, .productView .add-to-cart-wrapper #form-action-addToCart {
      padding: 0.9375rem 2.625rem;
      border-radius: 100px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: capitalize;
      line-height: 1.375rem; }
    @media (min-width: 1200px) {
      .product-view .add-to-cart-wrapper, .productView .add-to-cart-wrapper {
        display: grid;
        grid-template-columns: 40% 60%; }
        .product-view .add-to-cart-wrapper .form-action, .productView .add-to-cart-wrapper .form-action {
          padding: 1.5rem 0 2rem 0.625rem; }
          .product-view .add-to-cart-wrapper .form-action #form-action-addToCart, .productView .add-to-cart-wrapper .form-action #form-action-addToCart {
            width: auto; } }
      @media (min-width: 1200px) and (min-width: 992px) {
        .product-view .add-to-cart-wrapper .form-action #form-action-addToCart, .productView .add-to-cart-wrapper .form-action #form-action-addToCart {
          width: 100%; } }

.SA__total_reviews {
  display: flex; }

.SA__pagination span {
  width: 40px; }

/*  --------------------------------------------------------------------------  *\

    DETAIL - HEADER - TITLE

\*  --------------------------------------------------------------------------  */
.title h1 {
  font-size: 1.25rem;
  margin: 0 0 .75rem; }
  @media (min-width: 768px) {
    .title h1 {
      font-size: 1.5rem; } }

.title .badges {
  line-height: 1.3125rem; }
  @media (min-width: 992px) {
    .title .badges {
      font-size: 0.875rem;
      line-height: 1.3125rem;
      letter-spacing: 0.04em; }
      .title .badges .icon-star {
        font-size: 1rem; } }

/*  --------------------------------------------------------------------------  *\

    Load the Gallery that is right for your site

    @import 'header/galleries/thumbs-bottom';
    @import 'header/galleries/thumbs-right';
    @import 'header/galleries/thumbs-left';

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    DETAIL - GALLERIES - EASYZOOM

    Settings for Easy Zoom functionality.

\*  --------------------------------------------------------------------------  */
.gallery .easyzoom-flyout {
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1000;
  left: 0;
  top: 0;
  background: #fff;
  cursor: crosshair; }
  .gallery .easyzoom-flyout img {
    max-width: none;
    max-height: none;
    width: auto;
    height: auto;
    bottom: initial; }

/*  --------------------------------------------------------------------------  *\

    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

\*  --------------------------------------------------------------------------  */
.modal .modal-window {
  padding: 0;
  overflow: hidden; }

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

.gallery-wrap {
  position: relative;
  position: -webkit-sticky;
  position: sticky; }
  @supports (position: -webkit-sticky) {
    .gallery-wrap {
      top: 6.25rem; } }
  @supports (position: sticky) {
    .gallery-wrap {
      top: 6.25rem; } }

.gallery img {
  margin: auto auto;
  max-width: 100%;
  /* or any custom size */
  max-height: 100%;
  object-fit: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; }

.gallery a::after {
  padding-top: 65%;
  /* percentage of containing block _width_ */
  display: block;
  content: ''; }

.gallery .gallery-main {
  display: block;
  position: relative;
  max-height: 500px; }
  .gallery .gallery-main img {
    width: 100%;
    padding: 0.5rem 1rem;
    border: 1px solid #F2F4F5;
    border-radius: 4px; }
  .gallery .gallery-main .icon-zoom {
    display: block;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    height: 1.75rem;
    width: 1.75rem;
    font-size: 1.75rem;
    color: #9d9d9d;
    z-index: 2; }

.gallery .gallery-thumbs {
  grid-area: gallery-thumbs;
  position: relative;
  padding: 1.25rem 3.125rem; }
  .gallery .gallery-thumbs .slick-slider {
    margin: 0 !important;
    width: 100%; }
  .gallery .gallery-thumbs > div div {
    max-height: 6.25rem; }
  .gallery .gallery-thumbs .slick-dots {
    top: calc(100% + 1rem); }
  .gallery .gallery-thumbs .thumb {
    position: relative; }
    .gallery .gallery-thumbs .thumb .icon-play {
      position: absolute;
      pointer-events: none;
      top: 50%;
      left: 50%;
      color: #fff;
      font-size: 2.5rem;
      transform: translate(-50%, -50%) scale(1); }
    .gallery .gallery-thumbs .thumb .is-active {
      background: rgba(34, 36, 38, 0.25);
      border: 1px solid #DEDFE1;
      box-sizing: border-box;
      border-radius: 4px; }
      .gallery .gallery-thumbs .thumb .is-active img {
        z-index: -1; }
    @media (max-width: 767.9px) {
      .gallery .gallery-thumbs .thumb img {
        width: 100%;
        padding: 0.5rem 0.875rem;
        border: 1px solid #F2F4F5;
        border-radius: 4px; } }
  .gallery .gallery-thumbs a {
    display: block; }
    @media (min-width: 768px) {
      .gallery .gallery-thumbs a {
        border: 1px solid transparent;
        border-radius: 0.25rem;
        overflow: hidden; }
        .gallery .gallery-thumbs a:hover, .gallery .gallery-thumbs a:focus {
          border: 1px solid #DEDFE1; }
        .gallery .gallery-thumbs a.is-active {
          border: 1px solid #DEDFE1; } }
  .gallery .gallery-thumbs .slick-list {
    width: calc(100% + 8px); }
  .gallery .gallery-thumbs .slick-slide {
    margin-right: 0.5rem; }
  .gallery .gallery-thumbs .slick-prev, .gallery .gallery-thumbs .slick-next {
    display: none; }
    @media (min-width: 768px) {
      .gallery .gallery-thumbs .slick-prev, .gallery .gallery-thumbs .slick-next {
        display: block; } }
    .gallery .gallery-thumbs .slick-prev.slick-disabled, .gallery .gallery-thumbs .slick-next.slick-disabled {
      opacity: 0.5; }
    .gallery .gallery-thumbs .slick-prev.slick-hidden, .gallery .gallery-thumbs .slick-next.slick-hidden {
      display: none; }
  .gallery .gallery-thumbs .slick-prev {
    transform: translate(20px, -50%); }
  .gallery .gallery-thumbs .slick-next {
    transform: translate(-20px, -50%); }

/*  --------------------------------------------------------------------------  *\

    SHARE

\*  --------------------------------------------------------------------------  */
.share {
  margin: 0;
  grid-area: share; }

/*  --------------------------------------------------------------------------  *\

    Load additional components used in the Detail - Header

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - RATING

\*  --------------------------------------------------------------------------  */
.rating {
  margin: 0 0 1rem;
  font-size: 0.75rem;
  color: #565A5E;
  line-height: 1.125rem;
  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: 768px) {
    .rating {
      margin: 0 0 1.5rem; } }
  @media (min-width: 992px) {
    .rating {
      font-size: 0.875rem;
      line-height: 1.3125rem; } }
  .rating span {
    margin-left: 0.5rem; }
    @media (min-width: 992px) {
      .rating span {
        margin-left: 0.75rem; } }
  .rating [class*="icon-"] {
    font-size: 1rem;
    margin-left: 1px; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - PRICE

\*  --------------------------------------------------------------------------  */
.price {
  margin-right: 1rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.33333; }
  @media (min-width: 992px) {
    .price {
      font-size: 1.5rem;
      margin-right: 1.5rem; } }
  .price .original {
    position: relative;
    font-weight: normal;
    margin: 0 0.5rem 0 0; }
    .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; }

.price-wrapper {
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #DEDFE1;
  line-height: 1.875rem; }
  .price-wrapper .usa-badge {
    font-size: 16px;
    line-height: 24px;
    color: #0E3B5E;
    font-weight: 500; }
  @media (min-width: 992px) {
    .price-wrapper {
      padding-bottom: 1.5rem; } }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - INFO

\*  --------------------------------------------------------------------------  */
.info {
  margin: 0.625rem 0 1.5rem;
  font-size: 0.875rem; }
  .info:before, .info:after {
    display: block;
    height: 0;
    width: 100%;
    content: "";
    clear: both; }
  .info dt {
    float: left;
    margin: 0 0.5rem 0 0; }
    .info dt ~ dt {
      clear: both; }
  .info dd {
    float: left;
    width: auto;
    padding: 0; }
  .info dt:nth-of-type(n + 2), .info dd:nth-of-type(n + 2) {
    margin-top: 0.5rem; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - COMPONENTS - FORM

\*  --------------------------------------------------------------------------  */
.product-options {
  margin: 0; }
  .product-options .stock-msg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row wrap;
    column-gap: 0.375rem;
    margin: 1rem 0; }
    .product-options .stock-msg i {
      color: #085EAC;
      font-size: 1.5rem; }
    .product-options .stock-msg [data-product-stock] {
      font-weight: 600; }
    @media (min-width: 768px) {
      .product-options .stock-msg {
        margin-top: 1.5rem; } }
  .product-options .alertBox {
    align-items: center;
    color: #ED1C24;
    font-weight: 600;
    font-size: 1rem;
    background: #FFE2E3;
    border: none;
    border-radius: 4px;
    padding: 1rem;
    margin-bottom: 0; }
    .product-options .alertBox i {
      font-size: 1.5rem; }
  .product-options .pick-list-label {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #222426; }
    .product-options .pick-list-label small {
      font-weight: 400;
      font-size: 14px;
      line-height: 21px;
      color: #222426;
      font-style: normal; }
      .product-options .pick-list-label small:before {
        content: ""; }
  .product-options form {
    margin-bottom: 0; }

/*  --------------------------------------------------------------------------  *\

    DETAIL - SHARE

\*  --------------------------------------------------------------------------  */
nav.share {
  font-size: 1.25rem;
  margin: 1rem 0 0; }
  @media (min-width: 768px) {
    nav.share {
      margin: 1.25rem 0 0; } }
  @media (min-width: 992px) {
    nav.share {
      margin: 1.5rem 0 0; } }
  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; }
  nav.share li {
    margin: 0 0.5rem; }
  nav.share a {
    color: #085EAC; }
    nav.share a:hover, nav.share a:focus {
      color: #0E3B5E; }

/*  --------------------------------------------------------------------------  *\

    Load form elements used in the Detail - Header

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */
.set-swatch 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 #DEDFE1;
  box-shadow: inset 0 0 0 3px #fff; }
  .set-swatch label.unavailable {
    pointer-events: none;
    opacity: .5; }
    .set-swatch label.unavailable ::before {
      background-color: #000;
      content: "";
      height: 2px;
      left: -5px;
      position: absolute;
      top: 11px;
      transform: rotate(-45deg);
      width: 141%; }
  .set-swatch 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; }

.set-swatch input {
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }
  .set-swatch input:checked + label {
    border: 1px solid #000;
    box-shadow: inset 0 0 0 3px #fff;
    color: #fff; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - TEXTAREA

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - PRODUCT LIST

\*  --------------------------------------------------------------------------  */
.productOptions-list {
  list-style: none;
  margin: 0;
  max-height: 400px;
  overflow-y: auto;
  margin: 1rem 0 1.5rem !important; }

.productOptions-list-item {
  padding: 0;
  color: #222426;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 8px; }
  .productOptions-list-item .form-radio {
    width: 20px;
    height: 20px;
    accent-color: #085EAC; }
  .productOptions-list-item .form-label {
    font-weight: 400;
    color: #222426;
    font-size: 16px;
    line-height: 24px;
    margin: 0; }
  .productOptions-list-item .productOptions-list-item-content {
    display: flex;
    align-items: center;
    column-gap: 8px; }
  .productOptions-list-item .form-label {
    text-align: left;
    top: -2px; }

.productOptions-list-item-figure,
.productOptions-list-item-content {
  vertical-align: middle; }

.productOptions-list-item-figure {
  width: auto; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - FORM ELEMENTS

\*  --------------------------------------------------------------------------  */
.form-el, .form-cr {
  margin: 0 0 0.75rem; }
  .form-el p, .form-el label, .form-cr p, .form-cr label {
    display: block;
    width: 100%;
    margin: 0 0 0.5rem;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #222426; }
  .form-el small, .form-cr small {
    font-size: .75em;
    font-weight: normal;
    font-style: italic;
    color: #FF0000; }

.options-cont {
  display: flex;
  flex-direction: column;
  row-gap: 1rem; }
  .options-cont .form-el label {
    font-weight: 600;
    position: static; }
    @media (min-width: 992px) {
      .options-cont .form-el label {
        margin: 0 0 0.75rem; } }
  .options-cont .form-el select {
    height: 2.75rem;
    font-weight: normal;
    font-size: 14px;
    line-height: 21px;
    border: 1px solid #A5A9AD; }

[class*="set-"] label {
  font-weight: normal; }

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

.form-increment {
  padding: 1.5rem 0 2rem; }
  .form-increment label {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #222426; }

.bulk-price-launchcontainer {
  padding-bottom: 2rem; }
  @media (min-width: 992px) {
    .bulk-price-launchcontainer {
      padding-top: 2rem;
      align-self: center; } }
  .bulk-price-launchcontainer .bulk-price-launch {
    display: flex;
    align-items: center; }
  .bulk-price-launchcontainer span {
    margin-left: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.3125rem;
    letter-spacing: 0.04em;
    text-transform: uppercase; }

.phonepart {
  padding-left: 8px;
  padding-right: 8px;
  width: 50px !important; }

#mce-PHONE-detail2 {
  width: 70px !important; }

.mc-field-group select {
  padding: 8px !important;
  border-radius: 4px !important; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET RADIO

\*  --------------------------------------------------------------------------  */
.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; }
  .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 #A5A9AD; }
  .set-radio label.unavailable {
    pointer-events: none;
    opacity: .5; }

.set-radio input {
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }
  .set-radio input:checked + label:before {
    background: #0E3B5E;
    box-shadow: inset 0 0 0 0.1875rem #fff; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET SELECT

\*  --------------------------------------------------------------------------  */
.options-cont .form-el {
  margin-bottom: 0; }
  .options-cont .form-el .size-guide-icon {
    position: absolute;
    right: 0;
    cursor: pointer;
    height: 20px;
    width: auto; }

.size-guide__popup {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  width: 90vw;
  max-width: 75rem; }
  .size-guide__popup img {
    width: 100%;
    height: auto; }

[data-product-attribute="set-select"] select {
  padding: 0.5rem 0.75rem;
  width: 100%;
  -webkit-appearance: none;
  border: 1px solid #A5A9AD;
  border-radius: 4px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 7L12 9.53674e-07L-3.41715e-07 -9.53991e-08L6 7Z' fill='%23085EAC'/%3E%3C/svg%3E%0A");
  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: 12px;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  color: #565A5E; }
  [data-product-attribute="set-select"] select:disabled, [data-product-attribute="set-select"] 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; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */
.set-rectangle {
  margin-bottom: 1.875rem !important; }
  .set-rectangle label {
    border: 0.0625rem solid #A5A9AD;
    padding: 0.25rem 0.75rem;
    font-size: 0.875rem;
    margin: 0.25rem 0.25rem 0 0;
    transition: all .25s linear;
    width: auto; }
    .set-rectangle label.unavailable {
      pointer-events: none;
      background: #A5A9AD;
      opacity: .5; }
  .set-rectangle input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .set-rectangle input:checked + label {
      background: #0E3B5E;
      border-color: #0E3B5E;
      color: #fff; }

/*  --------------------------------------------------------------------------  *\

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */
.set-swatch 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 #DEDFE1;
  box-shadow: inset 0 0 0 3px #fff; }
  .set-swatch label.unavailable {
    pointer-events: none;
    opacity: .5; }
    .set-swatch label.unavailable ::before {
      background-color: #000;
      content: "";
      height: 2px;
      left: -5px;
      position: absolute;
      top: 11px;
      transform: rotate(-45deg);
      width: 141%; }
  .set-swatch 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; }

.set-swatch input {
  position: absolute;
  width: 1px !important;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }
  .set-swatch input:checked + label {
    border: 1px solid #000;
    box-shadow: inset 0 0 0 3px #fff;
    color: #fff; }

/*  --------------------------------------------------------------------------  *\

    DETAIL - DESCRIPTION TABS

\*  --------------------------------------------------------------------------  */
.description-section {
  background: #F2F4F5;
  padding: 3rem 0; }
  @media (min-width: 768px) {
    .description-section {
      margin-top: 3.5rem; } }
  @media (min-width: 992px) {
    .description-section {
      padding: 5.5rem 0; } }

.product-related-carousel {
  border-bottom: 1px solid #DEDFE1;
  padding-bottom: 3rem; }

@media (max-width: 767.9px) {
  .product-similar-carousel .feeds-carousel, .product-related-carousel .feeds-carousel {
    padding-bottom: 2.125rem; } }

.description .accordion, .description .tabs {
  margin-bottom: 0; }
  .description .accordion #sectDescription ~ dt, .description .tabs #sectDescription ~ dt {
    padding-top: 0 !important; }
  .description .accordion dt:last-of-type, .description .tabs dt:last-of-type {
    padding-top: 2rem;
    margin-top: 0; }
  .description .accordion > dt, .description .tabs > dt {
    border-bottom: 0.0625rem solid #DEDFE1; }
    .description .accordion > dt:first-of-type, .description .tabs > dt:first-of-type {
      border-top: none; }
      .description .accordion > dt:first-of-type > button, .description .tabs > dt:first-of-type > button {
        padding-top: 0; }
    .description .accordion > dt > button, .description .tabs > dt > button {
      font-weight: 500;
      font-size: 21px;
      line-height: 30px;
      color: #222426;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap;
      width: 100%;
      padding: 1rem 0; }
      .description .accordion > dt > button#accDescriptionBtn, .description .tabs > dt > button#accDescriptionBtn {
        padding-top: 0; }
      .description .accordion > dt > button span, .description .tabs > dt > button span {
        color: #085EAC;
        font-size: 0.5625rem;
        transition-duration: 0.25s; }
      .description .accordion > dt > button[aria-expanded="false"] span, .description .tabs > dt > button[aria-expanded="false"] span {
        transform: rotate(180deg);
        transition-duration: 0.25s; }
      @media (min-width: 992px) {
        .description .accordion > dt > button .icon-arrow-up, .description .tabs > dt > button .icon-arrow-up {
          display: none; } }
  .description .accordion > dd, .description .tabs > dd {
    padding: 1.5rem 0 0; }
    .description .accordion > dd p, .description .tabs > dd p {
      font-size: 1rem;
      line-height: 1.5rem;
      color: #565A5E;
      margin: 0 0 1rem; }
  .description .accordion .facts, .description .tabs .facts {
    margin: 0 0 2rem; }
    @media (min-width: 992px) {
      .description .accordion .facts, .description .tabs .facts {
        margin: 0 0 3.5rem; } }
    .description .accordion .facts li, .description .tabs .facts li {
      padding: 0;
      font-weight: 600;
      margin: 0; }
      .description .accordion .facts li span, .description .tabs .facts li span {
        font-weight: 400; }
  .description .accordion .product-features, .description .tabs .product-features {
    padding: 2rem 0 0;
    display: grid;
    row-gap: 2rem; }
    @media (min-width: 768px) {
      .description .accordion .product-features, .description .tabs .product-features {
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem; } }
    @media (min-width: 992px) {
      .description .accordion .product-features, .description .tabs .product-features {
        row-gap: 2.5rem;
        column-gap: 3.75rem;
        padding-top: 3.5rem; } }
    .description .accordion .product-features .feature-container, .description .tabs .product-features .feature-container {
      display: grid;
      grid-template-columns: 48px 1fr;
      grid-template-rows: auto 1fr;
      column-gap: 1rem;
      overflow: auto; }
      @media (min-width: 992px) {
        .description .accordion .product-features .feature-container, .description .tabs .product-features .feature-container {
          grid-template-columns: 68px 1fr;
          column-gap: 1.5rem; } }
    .description .accordion .product-features .feature-img, .description .tabs .product-features .feature-img {
      grid-row: 1 / span 2;
      width: 100%; }
    .description .accordion .product-features .feature-heading, .description .tabs .product-features .feature-heading {
      margin-bottom: 0.5rem;
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.5rem;
      color: #393939; }
      @media (min-width: 992px) {
        .description .accordion .product-features .feature-heading, .description .tabs .product-features .feature-heading {
          margin-bottom: 1rem;
          font-size: 20px;
          line-height: 30px; } }
    .description .accordion .product-features .feature-content, .description .tabs .product-features .feature-content {
      margin-bottom: 0;
      font-weight: normal;
      font-size: 14px;
      line-height: 21px;
      color: #393939; }
      @media (min-width: 992px) {
        .description .accordion .product-features .feature-content, .description .tabs .product-features .feature-content {
          font-size: 1rem;
          line-height: 1.5rem; } }
  @media (min-width: 992px) {
    .description .accordion, .description .tabs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: flex-end;
      flex-flow: row wrap; }
      .description .accordion > dt, .description .tabs > dt {
        position: relative;
        z-index: 1;
        margin-right: 2.25rem;
        border-bottom: none; }
        .description .accordion > dt > button, .description .tabs > dt > button {
          padding: 0.5rem 0;
          border-radius: 0.25rem 0.25rem 0 0;
          border-bottom: 4px solid transparent;
          font-weight: 500;
          font-size: 1.75rem;
          line-height: 2.25rem;
          opacity: 0.5; }
          .description .accordion > dt > button[aria-expanded="true"], .description .tabs > dt > button[aria-expanded="true"] {
            border-bottom: 4px solid #085EAC;
            opacity: 1; }
        .description .accordion > dt ~ dt, .description .tabs > dt ~ dt {
          margin: 0 0 0 0.5rem; }
      .description .accordion > dd, .description .tabs > dd {
        position: relative;
        z-index: 1;
        -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-top: 0.0625rem solid #DEDFE1;
        margin-top: -0.0625rem;
        padding: 2.5rem 0 0;
        border-radius: 0 0.25rem 0.25rem 0.25rem; } }

.sa-survey-content {
  max-height: 65vh;
  overflow-y: auto; }

/*  --------------------------------------------------------------------------  *\

    CART PREVIEW

    This controls the modal that appears after clicking add to cart

\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    DETAIL - CART PREVIEW

\*  --------------------------------------------------------------------------  */
.modal-header {
  padding: 0.5rem 0;
  border-bottom: 1px solid #DEDFE1; }
  .modal-header h2 {
    margin-bottom: 0;
    font-size: 1.5rem;
    text-align: center !important; }

.previewCart {
  display: grid; }
  @media (min-width: 992px) {
    .previewCart {
      grid-template-columns: 3fr 1fr;
      column-gap: 1.5rem;
      align-items: top; } }
  @media (min-width: 992px) {
    .previewCart {
      column-gap: 2rem; } }
  .previewCart .productView {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.5rem;
    order: 2; }
    @media (min-width: 992px) {
      .previewCart .productView {
        column-gap: 2rem;
        order: 1; } }
    .previewCart .productView picture, .previewCart .productView img {
      width: 100%; }
    .previewCart .productView h2 {
      font-size: 1rem;
      line-height: 1.5rem;
      margin-bottom: 0.5rem; }
      .previewCart .productView h2 small {
        font-size: .5em;
        margin: 0 0 0.25rem; }
    .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.875rem; }
      .previewCart .productView dl dt ~ dt {
        margin: 0; }
  .previewCart .previewCartCheckout {
    padding: 1rem;
    border: 0.0625rem solid #DEDFE1;
    border-radius: 0.25rem;
    background-color: transparent;
    order: 1;
    margin-bottom: 2.25rem; }
    .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 0 1rem; }
      .previewCart .previewCartCheckout .CheckoutButton > p {
        display: none; }
    .previewCart .previewCartCheckout .RemoteCheckout {
      width: 100% !important;
      margin-bottom: 1rem; }
      .previewCart .previewCartCheckout .RemoteCheckout p {
        display: none !important; }
      .previewCart .previewCartCheckout .RemoteCheckout div, .previewCart .previewCartCheckout .RemoteCheckout button {
        width: 100% !important; }
    .previewCart .previewCartCheckout .subtotal {
      border: none;
      padding: 0.5rem 0;
      margin: 0.5rem 0;
      text-align: center; }
      .previewCart .previewCartCheckout .subtotal h3 {
        font-family: "Barlow", sans-serif;
        text-transform: capitalize;
        font-weight: normal;
        font-size: 0.875rem;
        margin-bottom: 0.5rem; }
      .previewCart .previewCartCheckout .subtotal strong {
        font-size: 1.5rem;
        font-weight: 500;
        font-family: "Barlow", sans-serif; }
    .previewCart .previewCartCheckout p {
      font-size: 0.875rem;
      margin: 0 0 1rem; }
      .previewCart .previewCartCheckout p.fee {
        margin: 0.75rem 0 0; }
        .previewCart .previewCartCheckout p.fee strong {
          font-weight: 600; }

.sticky-atc {
  border: 1px solid #F2F4F5;
  border-radius: 0.25rem;
  padding: 0.75rem;
  box-shadow: 0px 4px 16px 0px rgba(59, 66, 71, 0.12);
  max-width: 68.75rem;
  margin: 0 auto;
  position: sticky;
  bottom: 0;
  width: 100%;
  background: white;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(100px);
  transition: .35s all ease-in-out; }
  @media (min-width: 768px) {
    .sticky-atc {
      bottom: 1rem; } }
  .sticky-atc.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }
  .sticky-atc .content {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    column-gap: 1.375rem; }
    @media (min-width: 768px) {
      .sticky-atc .content {
        grid-template-columns: 80px 2fr 1fr auto; } }
    .sticky-atc .content figure {
      margin: 0 auto;
      width: fit-content;
      height: 4.0625rem;
      padding: 0;
      border: none; }
      @media (max-width: 767.9px) {
        .sticky-atc .content figure {
          display: none; } }
      .sticky-atc .content figure .productView-img-container {
        height: 4.0625rem;
        padding: 0; }
      .sticky-atc .content figure img {
        border: 1px solid #F2F4F5;
        padding: 0.25rem;
        border-radius: 0.25rem;
        object-fit: contain;
        width: 100%;
        max-height: 4.0625rem; }
    .sticky-atc .content .product-name {
      max-width: 27.1875rem; }
      @media (max-width: 767.9px) {
        .sticky-atc .content .product-name {
          display: none; } }
    .sticky-atc .content .product-price {
      text-align: right; }
      @media (max-width: 767.9px) {
        .sticky-atc .content .product-price {
          display: none; } }
      .sticky-atc .content .product-price .price {
        font-size: 1.125rem !important; }
    @media (max-width: 767.9px) {
      .sticky-atc .content .product-action a {
        width: 100%; } }

/*  --------------------------------------------------------------------------  *\

    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.875rem;
  text-align: left; }

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

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

/*  --------------------------------------------------------------------------  *\

    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: 0.4375rem;
  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: 1.5rem;
      row-gap: 2rem; } }

/*  --------------------------------------------------------------------------  *\

    PRODUCT > FEEDS > CAROUSEL

\*  --------------------------------------------------------------------------  */
.feeds-carousel {
  position: relative;
  padding-bottom: 3.125rem; }
  @media (min-width: 576px) {
    .feeds-carousel {
      padding-bottom: 0; } }
  .feeds-carousel .slick-slider {
    margin: 0 -0.21875rem;
    width: calc(100% + 0.4375rem); }
    @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 -0.75rem;
        width: calc(100% + 1.5rem); } }
  .feeds-carousel .slick-initialized .slick-slide {
    display: flex; }
  .feeds-carousel .carousel-heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;
    margin-bottom: 1rem; }
    @media (min-width: 576px) {
      .feeds-carousel .carousel-heading-container {
        justify-content: flex-start; } }
    .feeds-carousel .carousel-heading-container h2 {
      margin-bottom: 0;
      font-weight: 500;
      font-size: 21px;
      line-height: 30px; }
      @media (min-width: 992px) {
        .feeds-carousel .carousel-heading-container h2 {
          font-weight: 500;
          font-size: 1.75rem;
          line-height: 2.5rem; } }
    @media (min-width: 768px) {
      .feeds-carousel .carousel-heading-container {
        margin-bottom: 1.5rem; } }
    .feeds-carousel .carousel-heading-container .line {
      display: none;
      height: 2px;
      background: #DEDFE1;
      flex: 1;
      margin: 0 1.875rem;
      opacity: 0; }
      @media (min-width: 576px) {
        .feeds-carousel .carousel-heading-container .line {
          display: block; } }
  .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
    width: 100%;
    margin: 0 0.21875rem; }
    @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 0.75rem; } }

/*  --------------------------------------------------------------------------  *\
    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--primary, .button--action {
  background: #0E3B5E;
  color: #fff;
  border-color: #0E3B5E; }
  .button--primary:hover, .button--primary:focus, .button--action:hover, .button--action:focus {
    background: #fff;
    color: #0E3B5E;
    border-color: #0E3B5E; }

.button--tertiary {
  background: #DEDFE1;
  border-color: #DEDFE1;
  color: #222426; }
  .button--tertiary:hover, .button--tertiary:focus {
    background: #A5A9AD;
    border-color: #A5A9AD;
    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; } }

main header .wrapper h1 {
  padding: 2.25rem 0 1.875rem;
  border-bottom: 1px solid #DEDFE1; }

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

nav.int a {
  color: #565A5E; }

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

/*  --------------------------------------------------------------------------  *\
    SEARCH LAYOUT
    
    OPTIONS:
    @import 'components/search/grid';
    @import 'components/search/list';
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SEARCH - GRID

\*  --------------------------------------------------------------------------  */
.feeds-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  row-gap: 1.5rem;
  column-gap: 1rem; }
  @media (min-width: 768px) {
    .feeds-grid {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
  @media (min-width: 992px) {
    .feeds-grid {
      column-gap: 1.5rem;
      row-gap: 2.625rem;
      grid-template-columns: 1fr 1fr 1fr; } }
  @media (min-width: 992px) {
    .feeds-grid .card .cnt a {
      font-size: 1rem; } }
  @media (min-width: 992px) {
    .feeds-grid .card .cnt .badges {
      font-size: 0.875rem; } }
  .feeds-grid.custom-cards {
    margin: 2rem 0; }
    @media (max-width: 767.9px) {
      .feeds-grid.custom-cards {
        grid-template-columns: 1fr; } }
    .feeds-grid.custom-cards .card {
      position: relative; }
      .feeds-grid.custom-cards .card .cta {
        margin-top: 1rem; }
      .feeds-grid.custom-cards .card .content-overlay {
        position: absolute;
        top: 0;
        height: calc(100% - 60px);
        max-height: calc(100% - 60px);
        width: 100%;
        text-align: center;
        transition-duration: .25s; }
        .feeds-grid.custom-cards .card .content-overlay h3 {
          margin-bottom: 0;
          line-height: 1.5rem;
          font-size: 1rem;
          color: white;
          background: rgba(14, 59, 94, 0.75);
          position: absolute;
          bottom: 0;
          width: 100%;
          display: flex;
          flex-direction: column;
          justify-content: center;
          transition: .15s all ease-in-out;
          transition-duration: .25s;
          max-height: 3rem; }
          .feeds-grid.custom-cards .card .content-overlay h3 a {
            line-height: 1.5rem;
            font-size: 1rem;
            color: white;
            -webkit-line-clamp: 1;
            min-height: 0;
            padding: 0.75rem 0; }
        .feeds-grid.custom-cards .card .content-overlay:hover h3 {
          max-height: 100%;
          transition: .15s all ease-in-out;
          height: 100%; }
      .feeds-grid.custom-cards .card picture {
        position: static;
        transform: unset; }
      .feeds-grid.custom-cards .card .img, .feeds-grid.custom-cards .card img {
        height: auto;
        width: 100%; }

/*  --------------------------------------------------------------------------  *\
    SEARCH COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    SEARCH - ACTION BAR

\*  --------------------------------------------------------------------------  */
.action-bar {
  padding: 0;
  font-size: 0.875rem;
  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; }
  @media (min-width: 768px) and (max-width: 991.9px) {
    .action-bar {
      margin-bottom: 2rem; } }
  @media (min-width: 992px) {
    .action-bar {
      margin: 0 0 3rem;
      width: 100%;
      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 {
    padding: 0.4375rem 1rem;
    border: 1px solid #A5A9AD;
    border-radius: 0.25rem;
    margin-left: 0.5rem;
    margin: 0; }
    @media (min-width: 992px) {
      .action-bar form {
        border: 0;
        padding: 0; } }
    .action-bar form .icon-sort-new {
      color: #085EAC;
      font-size: 1.25rem;
      line-height: 20px;
      height: 20px; }
      @media (min-width: 992px) {
        .action-bar form .icon-sort-new {
          display: none; } }
    .action-bar form .form-el {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0; }
      @media (min-width: 992px) {
        .action-bar form .form-el {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          flex-flow: column nowrap;
          width: 100%; } }
      .action-bar form .form-el:only-child {
        margin: 0; }
      .action-bar form .form-el label {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        font-weight: semibold;
        color: #222426;
        margin: 0;
        padding: 0 0 0 12px; }
        @media (min-width: 992px) {
          .action-bar form .form-el label {
            font-size: 1.25rem;
            font-weight: 500;
            margin-bottom: 12px;
            padding: 0; } }
      .action-bar form .form-el select {
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        border: 0;
        background-image: none;
        padding: 0.375rem 0.25rem;
        color: #565A5E; }
        @media (min-width: 992px) {
          .action-bar form .form-el select {
            height: 48px;
            padding: 0.5625rem 1rem;
            border: 1px solid #A5A9AD;
            border-radius: 0.25rem;
            background-image: url(../img/select.svg); } }
  .action-bar select {
    font-size: 1em; }
  .action-bar label {
    margin: 0 0.5rem 0 0;
    font-weight: bold;
    white-space: nowrap; }
  .action-bar .icon-filter-new {
    margin-right: 0.5rem;
    color: #085EAC;
    font-size: 1.25rem; }
  .action-bar .open-filters {
    padding: 0.5625rem 1rem;
    border: 1px solid #A5A9AD;
    border-radius: 0.25rem;
    margin-left: 0.5rem;
    display: flex; }
    @media (min-width: 992px) {
      .action-bar .open-filters {
        display: none; } }

/*  --------------------------------------------------------------------------  *\

    SEARCH - FACETS

\*  --------------------------------------------------------------------------  */
#filterToggle:checked + #searchFilters {
  display: block; }

#faceted-search-container {
  /* Change the white to any color */ }
  #faceted-search-container .price-range input:-webkit-autofill,
  #faceted-search-container .price-range input:-webkit-autofill:hover,
  #faceted-search-container .price-range input:-webkit-autofill:focus,
  #faceted-search-container .price-range input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset !important; }
  @media (max-width: 991.9px) {
    #faceted-search-container > div.action-bar {
      display: flex;
      flex-direction: row-reverse;
      justify-content: flex-end; }
    #faceted-search-container #sort {
      position: absolute;
      z-index: 0; }
    #faceted-search-container .form-label {
      z-index: 1;
      pointer-events: none;
      font-weight: 600;
      font-size: 16px;
      line-height: 24px; }
    #faceted-search-container .open-filters {
      font-weight: 600;
      font-size: 16px;
      line-height: 24px; }
    #faceted-search-container .open-filters, #faceted-search-container form.action-bar {
      padding: 0.75rem 1.5rem; } }
  #faceted-search-container #sort:focus {
    border: 2px solid #89BAE2; }

@media (max-width: 991.9px) {
  #searchFilters {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(83, 94, 121, 0.6);
    z-index: 9999;
    overflow: auto;
    padding: 0; } }

#searchFilters nav {
  background: #fff;
  width: 100%;
  height: 100%; }
  @media (max-width: 991.9px) {
    #searchFilters nav {
      padding: 1rem 1rem 1.5rem; } }
  #searchFilters nav .close-btn {
    margin: 0 0 1.5rem; }
    @media (min-width: 992px) {
      #searchFilters nav .close-btn {
        display: none; } }
    #searchFilters nav .close-btn .icon-close {
      font-size: 1.25rem;
      color: #0E3B5E; }

#facetedSearch {
  padding: 0 0.625rem 1.25rem 0; }
  #facetedSearch .search-heading {
    color: #222426;
    font-size: 1.25rem;
    font-weight: 500;
    padding: 0 0 16px 0; }

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

dl.facets {
  margin: 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 dt {
    border-top: 1px solid #DEDFE1;
    padding: 15px 0; }
    dl.facets dt button {
      font-weight: 600;
      font-size: 1rem; }
    dl.facets dt div {
      font-weight: normal;
      font-size: 0.75rem;
      width: 100%;
      text-align: right;
      padding-right: 0.3125rem; }
      dl.facets dt div a {
        display: inline-block;
        pointer-events: initial;
        color: #565A5E;
        padding: 0 26px 0 0;
        font-size: 0.875rem; }
    dl.facets dt ~ dt {
      margin: 0; }
  dl.facets dd {
    margin-bottom: 1.25rem;
    padding: 0;
    font-size: 0.875rem; }
  dl.facets li {
    padding: 0 0 16px; }
    dl.facets li:before {
      display: none; }
    dl.facets li .navList--inner {
      margin: 16px 0 0 20px; }
  dl.facets a {
    line-height: 1;
    position: relative;
    color: #565A5E;
    align-items: center;
    display: flex;
    font-size: 1rem; }
    dl.facets a.btn-primary {
      color: #fff; }
    dl.facets a:before {
      position: relative;
      top: 1px;
      display: none;
      height: 1.125rem;
      width: 1.125rem;
      border: 0.0625rem solid #A5A9AD;
      content: "";
      margin-right: 0.25rem;
      border-radius: 0.125rem;
      margin: 0 12px 0 0;
      transition: all .125s ease-in-out; }
    dl.facets a:after {
      display: none;
      position: absolute;
      left: 0.625rem;
      top: 0.5625rem;
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg);
      height: 0.3125rem;
      width: 0.75rem;
      border-left: 0.125rem solid #fff;
      border-bottom: 0.125rem solid #fff;
      content: ""; }
    dl.facets a:hover:before {
      background: #F2F4F5; }
    dl.facets a.is-active:before {
      background: #085EAC;
      border: 0.0625rem solid #085EAC; }
    dl.facets a.is-active:after {
      display: block; }
    dl.facets a span {
      padding: 0 0 0 5px; }
  dl.facets a[rel=nofollow]:before {
    display: inline-block; }
  dl.facets .form-fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    gap: 10px;
    /* Chrome, Safari, Edge, Opera */
    /* Firefox */ }
    dl.facets .form-fieldset input {
      padding: 0.6875rem 1rem;
      border-radius: 0.25rem; }
    dl.facets .form-fieldset [class*="btn-"] {
      padding: 0.6875rem 1rem;
      font-size: 0.875rem; }
    dl.facets .form-fieldset input::-webkit-outer-spin-button,
    dl.facets .form-fieldset input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0; }
    dl.facets .form-fieldset input[type=number] {
      -moz-appearance: textfield; }

/*  --------------------------------------------------------------------------  *\

    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 h1.results-title {
    font-weight: 400;
    text-transform: initial;
    color: #222426;
    padding: 0 0 1rem;
    border-bottom: 1px solid #DEDFE1;
    margin: 2rem 0; }
    @media (min-width: 768px) {
      main > header.search h1.results-title {
        padding: 0 0 1.25rem; } }
    @media (min-width: 992px) {
      main > header.search h1.results-title {
        padding: 0 0 1.5rem;
        margin-top: 0; } }

main > header.search .form-el {
  border: 0.0625rem solid #565A5E;
  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

\*  --------------------------------------------------------------------------  */
@media (min-width: 992px) {
  .layout-search {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 2rem; }
    .layout-search aside nav {
      position: relative;
      position: -webkit-sticky;
      position: sticky; }
      @supports (position: -webkit-sticky) {
        .layout-search aside nav {
          top: 7.75rem; } }
      @supports (position: sticky) {
        .layout-search aside nav {
          top: 7.75rem; } } }

/*  --------------------------------------------------------------------------  *\

    SEARCH - SEARCH

\*  --------------------------------------------------------------------------  */
.search .form-el > div {
  border: 0.0625rem solid #A5A9AD;
  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.875rem; }
  dl.selected.facets.remove-filters {
    padding-top: 1.5rem;
    border-top: 1px solid #DEDFE1; }
  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; }
    dl.selected.facets ul li {
      margin: 0.25rem;
      padding: 0; }
      dl.selected.facets ul li a {
        padding: 0; }
        dl.selected.facets ul li a:before {
          content: "\00d7";
          position: static;
          margin: 0 0.25rem;
          transform: none;
          display: inline-block;
          border-radius: 100%;
          border: 0.0625rem solid #0E3B5E;
          width: 1rem;
          height: 1rem;
          line-height: 0.8125rem;
          text-indent: 0;
          font-size: 1.5rem;
          text-align: center;
          color: #0E3B5E;
          background: #fff; }
        dl.selected.facets ul li a:after {
          display: none; }
    dl.selected.facets ul + [class*="btn-"] {
      display: inline-block;
      width: auto; }
      dl.selected.facets ul + [class*="btn-"]:before, dl.selected.facets ul + [class*="btn-"]: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; } }

[data-sub-layout] {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.norton-shopping-g {
  width: 17.8125rem; }

#product_just_stars {
  margin-bottom: 1rem;
  display: flex; }
  #product_just_stars .on, #product_just_stars .off {
    height: 15px !important; }
  #product_just_stars .ind_cnt {
    text-align: left !important;
    padding-left: 0.625rem;
    padding-top: 0.125rem; }

#mce-MMERGE10-year {
  width: 75px !important; }

#mce-MMERGE10-day, #mce-MMERGE10-month {
  width: 50px !important; }

.auth-create #FormField_30 {
  display: none; }
