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

    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://use.typekit.net/mqo5xhs.css");
@font-face {
  font-family: "ico";
  src: url("../fonts/ico.eot?c25ac3d5eaee118e49691ed71d725913");
  src: url("../fonts/ico.eot?c25ac3d5eaee118e49691ed71d725913#iefix") format("embedded-opentype"), url("../fonts/ico.woff?c25ac3d5eaee118e49691ed71d725913") format("woff"), url("../fonts/ico.ttf?c25ac3d5eaee118e49691ed71d725913") 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-brand-facebook:before {
  content: "\f101"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*  --------------------------------------------------------------------------  *\

    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: 991.9px) {
  html, body {
    width: 100%; } }

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

/*  --------------------------------------------------------------------------  *\

    ANCHOR STYLES

    SETS A TRANSITION DEFAULT HERE FOR ALL ANCHORS.
    
    SETS UP THE SKIP CONTENT BUTTON THAT SHOULD BE FOUND AS THE FIRST ELEMENT 
    AFTER THE OPENING BODY TAG ON ALL PAGES.

\*  --------------------------------------------------------------------------  */
a {
  transition: all .25s; }
  a.skip-content {
    position: fixed;
    z-index: 10000;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, -101%);
    -ms-transform: translate(-50%, -101%);
    transform: translate(-50%, -101%);
    padding: 0.75rem;
    background: #fff;
    color: #2c5783;
    transition: transform 0.25s, background 0.25s, color 0.25s; }
    a.skip-content:focus {
      background: #2c5783;
      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: "futura-pt", Helvetica, Arial, sans-serif;
  cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    RESETS STYLES ON INPUT ELEMENTS FOR FORMS

\*  --------------------------------------------------------------------------  */
input, select, textarea {
  border-radius: 0px;
  font-family: "futura-pt", Helvetica, Arial, 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.5rem; }
  .accordion dt button span {
    display: block;
    transition: all .25s linear; }
  .accordion dt button[aria-expanded="true"] span {
    transform: rotate(90deg) rotate(90deg);
    color: #9ebcd7; }

.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: flex-start;
  align-items: flex-start;
  flex-flow: row nowrap;
  column-gap: 0.5rem;
  padding: 0.5rem;
  margin: 0 0 1.5rem;
  background: #daeaf9;
  border: 0.0625rem solid #9ebcd7; }
  .alertBox .fas {
    margin: 0 0.75rem 0 0; }
  .alertBox p {
    margin: 0;
    font-size: 0.875rem; }
  .alertBox.error {
    color: #FF0000;
    background: transparent;
    border: none; }
  .alertBox.success {
    background: #e6ffe6;
    color: green;
    border-color: green; }
  .alertBox.info {
    background: #ebf5ff;
    color: #004085;
    border-color: #004085; }
  .alertBox.alertBox--info {
    background: transparent;
    border: none; }

/*  --------------------------------------------------------------------------  *\

    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.75rem 1.75rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.14286;
  text-align: center;
  text-decoration: none;
  transition: all .25s;
  width: 100%;
  /*  ----------------------------------------------------------------------  *\

        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;
      padding: 0.875rem 1.75rem; }
      [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: #fbb03b;
  border-color: #fbb03b;
  color: #183552;
  border-radius: 0;
  font-weight: 700; }
  .btn-primary:hover, .btn-primary:focus, .button--primary:hover, .button--primary:focus {
    background: #E89718;
    border-color: #E89718;
    color: #183552; }
  .btn-primary:active, .button--primary:active {
    background: #FFC976;
    border-color: #FFC976;
    color: #183552; }
  .btn-primary.invert, .button--primary.invert {
    background: transparent;
    border: 0.125rem solid #fbb03b;
    color: #fff; }
    .btn-primary.invert:hover, .btn-primary.invert:focus, .button--primary.invert:hover, .button--primary.invert:focus {
      border-color: #E89718;
      background: rgba(255, 255, 255, 0.1);
      color: #fff; }
    .btn-primary.invert:active, .button--primary.invert:active {
      border-color: #FFC976;
      background: rgba(255, 255, 255, 0.2);
      color: #fff; }
  .btn-primary[disabled], .button--primary[disabled] {
    cursor: not-allowed;
    opacity: .3;
    background-color: #9ebcd7;
    color: #000;
    border-color: #183552; }
    .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .button--primary[disabled]:hover, .button--primary[disabled]:focus {
      background-color: #9ebcd7;
      color: #000;
      border-color: #183552; }

#form-action-addToCart {
  padding-left: 2.5rem;
  padding-right: 2.5rem; }

/*  --------------------------------------------------------------------------  *\

    Button - Secondary

\*  --------------------------------------------------------------------------  */
.btn-secondary, .button--secondary {
  background: #2c5783;
  border-color: #2c5783;
  border-radius: 0;
  color: #fff; }
  .btn-secondary:hover, .btn-secondary:focus, .button--secondary:hover, .button--secondary:focus {
    background: #183552;
    color: #fff; }
  .btn-secondary:active, .button--secondary:active {
    background: #3F78B4;
    color: #fff; }
  .btn-secondary.invert, .button--secondary.invert {
    background: #fff;
    border-color: #2c5783;
    color: #183552; }
    .btn-secondary.invert:hover, .btn-secondary.invert:focus, .button--secondary.invert:hover, .button--secondary.invert:focus {
      border-color: #183552;
      color: #183552; }
    .btn-secondary.invert:active, .btn-secondary.invert:focus, .button--secondary.invert:active, .button--secondary.invert:focus {
      border-color: #3F78B4; }

/*  --------------------------------------------------------------------------  *\

    Button - Tertiary

\*  --------------------------------------------------------------------------  */
.btn-tertiary, .button--tertiary {
  color: #183552;
  align-items: center;
  position: relative;
  font-weight: 500;
  border: 1px solid #183552;
  border-radius: 0;
  position: relative;
  font-size: 0.875rem; }
  @media (min-width: 768px) {
    .btn-tertiary, .button--tertiary {
      padding-right: 3.5rem; } }
  @media (min-width: 992px) {
    .btn-tertiary, .button--tertiary {
      font-size: 1rem; } }
  .btn-tertiary *, .button--tertiary * {
    color: #183552 !important; }
  .btn-tertiary [class*='icon-'], .button--tertiary [class*='icon-'] {
    font-size: 1.1875rem;
    margin-left: 0.5rem;
    transition: all .25s ease-in-out; }
    .btn-tertiary [class*='icon-']::before, .button--tertiary [class*='icon-']::before {
      transition: all .25s ease-in-out;
      color: #183552 !important; }
    @media (min-width: 768px) {
      .btn-tertiary [class*='icon-'], .button--tertiary [class*='icon-'] {
        margin: 0;
        position: absolute;
        right: 1.75rem; } }
  .btn-tertiary:hover, .btn-tertiary:focus, .button--tertiary:hover, .button--tertiary:focus {
    background: #daeaf9; }
    .btn-tertiary:hover [class*='icon-'], .btn-tertiary:focus [class*='icon-'], .button--tertiary:hover [class*='icon-'], .button--tertiary:focus [class*='icon-'] {
      right: 1.25rem; }
  .btn-tertiary:active, .btn-tertiary:focus, .button--tertiary:active, .button--tertiary:focus {
    border-color: #3F78B4;
    background: #f7f9fb;
    color: #3F78B4; }
  .invert .btn-tertiary, .invert .button--tertiary {
    color: #fff; }
    .invert .btn-tertiary:hover, .invert .btn-tertiary:focus, .invert .button--tertiary:hover, .invert .button--tertiary:focus {
      color: #fff; }
    .invert .btn-tertiary:active, .invert .button--tertiary:active {
      color: #fff; }
  .btn-tertiary.form-action, .button--tertiary.form-action {
    padding: 0; }
    .btn-tertiary.form-action .atc, .button--tertiary.form-action .atc {
      border: none;
      background: transparent; }
      .btn-tertiary.form-action .atc:hover, .button--tertiary.form-action .atc:hover {
        cursor: pointer; }
      @media (min-width: 768px) {
        .btn-tertiary.form-action .atc, .button--tertiary.form-action .atc {
          padding-right: 3.5rem; } }

/*  --------------------------------------------------------------------------  *\

    Button - Text

\*  --------------------------------------------------------------------------  */
.btn-txt {
  background: none;
  border: none;
  padding: 0;
  color: #2c5783;
  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: #2c5783; }
    .btn-txt.alt svg {
      fill: currentColor; }
    .btn-txt.alt:hover, .btn-txt.alt:focus {
      color: #2c5783; }
  .btn-txt:hover, .btn-txt:focus {
    color: #2c5783;
    background: none; }
    .btn-txt:hover.ico-chevron-right:after, .btn-txt:focus.ico-chevron-right:after {
      border-right-color: #2c5783;
      border-bottom-color: #2c5783; }
  .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 #2c5783;
    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 #2c5783;
        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: #2c5783;
        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-top: -0.0625rem; }

.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: 0; }
  .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-radius: 2.375rem;
  font-size: 1.3125rem;
  color: #2c5783;
  transition: color .25s linear;
  z-index: 1;
  position: relative;
  right: auto;
  left: auto;
  flex-shrink: 1;
  order: 4; }
  .slick-arrow:hover {
    color: #3F78B4; }
  .slick-arrow:active {
    color: #183552; }
  .slick-arrow.slick-hidden {
    display: none; }
  .slick-arrow.slick-prev {
    margin-right: 0.5rem; }
  .slick-arrow .carousel-tooltip {
    display: none; }

.slick-disabled {
  color: #daeaf9; }
  .slick-disabled:hover {
    cursor: not-allowed;
    color: #daeaf9; }

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

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

    CAROUSEL > DOTS

\*  --------------------------------------------------------------------------  */
.slick-dots {
  position: absolute;
  left: 50%;
  top: calc(100% + 2rem);
  -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;
  width: 100%; }
  .slick-dots::before, .slick-dots::after {
    display: inline;
    content: '';
    width: 50%;
    border-top: 1px solid #9ebcd7; }
  .slick-dots::before {
    margin-right: 5%; }
  .slick-dots::after {
    margin-left: 5%; }
  @media (min-width: 992px) {
    .slick-dots {
      top: calc(100% + 2.8125rem); } }
  .slick-dots li {
    margin: 0 0.5rem;
    padding: 0; }
    .slick-dots li button {
      display: block;
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 0.5rem;
      border: 0.0625rem solid #daeaf9;
      background: #fff; }
      @media (min-width: 992px) {
        .slick-dots li button {
          width: 0.75rem;
          height: 0.75rem; } }
      .slick-dots li button:hover {
        background: #3F78B4; }
    .slick-dots li:before {
      display: none; }
    .slick-dots li.slick-active button {
      border-color: #3F78B4;
      background: #3F78B4; }

.carousel-tooltip {
  display: block;
  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 {
  pointer-events: none;
  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: #2c5783; }
  .compare-container.show {
    opacity: 1;
    background-color: #daeaf9; }

.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 #daeaf9; }
  .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: #2c5783;
    background-color: #daeaf9;
    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: #2c5783;
      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: #393939;
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  background: #fff; }
  @media (min-width: 992px) {
    body {
      font-size: 1.125rem; } }

strong {
  font-weight: 500; }

/*  --------------------------------------------------------------------------  *\

    COPY - BASIC LINK STYLES

    BUTTONS are located in the Components > Basic > Button file.

\*  --------------------------------------------------------------------------  */
a {
  color: #2c5783;
  text-decoration: none; }
  a:hover, a:focus {
    color: #183552;
    text-decoration: none; }
  a:focus {
    outline: 1px solid #3F78B4; }
  a.invert {
    color: #fff; }
    a.invert:hover, a.invert:focus {
      color: #daeaf9; }
    a.invert:active {
      color: #fff; }
  address a, a[href*="tel:"] {
    text-decoration: none; }
  a[href^="tel:"] {
    text-decoration: underline; }
    a[href^="tel:"]:hover, a[href^="tel:"]:focus {
      text-decoration: underline; }

button:focus, input:focus {
  outline: 1px solid #3F78B4 !important; }

/*  --------------------------------------------------------------------------  *\

    COPY - BLOCK ELEMENTS

\*  --------------------------------------------------------------------------  */
p, ul, ol, dl, table, blockquote, figure, address {
  margin: 0 0 1.5rem; }
  @media (min-width: 992px) {
    p, ul, ol, dl, table, blockquote, figure, address {
      margin: 0 0 1.5rem; } }

hr {
  margin: 1.875rem auto;
  height: 0.5px;
  max-width: 1488px;
  background: #9ebcd7;
  border: none; }
  hr.addresses {
    background: #9ebcd7;
    margin: 2rem auto; }
    @media (min-width: 768px) {
      hr.addresses {
        margin: 3rem auto; } }
    @media (min-width: 992px) {
      hr.addresses {
        margin: 4.5rem auto; } }

.intro {
  font-size: 27; }

.disclaimer {
  color: #2c5783;
  font-style: italic;
  font-size: 13.5;
  text-align: center; }

address {
  font-style: normal; }

.account-number {
  color: #2c5783; }
  .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 #E89718;
    -ms-column-rule: 0.2rem solid #E89718;
    column-rule: 0.2rem solid #E89718; }
  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: #2c5783;
  font-family: "futura-pt", Helvetica, Arial, sans-serif;
  line-height: 1.25; }
  .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: 1rem; }
  @media (min-width: 768px) {
    h1, .h1 {
      font-size: 1.9375rem; } }
  @media (min-width: 992px) {
    h1, .h1 {
      font-size: 3rem;
      margin-bottom: 2rem; } }

h2, .h2 {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.22222;
  margin: 0 0 1rem; }
  h2 small, .h2 small {
    display: block;
    font-size: 0.875rem;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
    color: #2c5783;
    font-weight: 600;
    letter-spacing: 0.08rem; }
  @media (min-width: 576px) {
    h2, .h2 {
      text-align: left; } }
  @media (min-width: 768px) {
    h2, .h2 {
      font-size: 1.375rem; }
      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;
  margin: 0 0 1rem; }
  @media (min-width: 992px) {
    h3, .h3 {
      font-size: 1.25rem; } }

h4, .h4 {
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 0.75rem; }

h5, .h5, h6, .h6 {
  font-size: 1.125rem;
  font-weight: 400;
  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.375rem;
  height: 0.375rem;
  background: #fbb03b;
  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: #183552;
  color: #2c2c2c;
  font-size: 1rem;
  /*  ----------------------------------------------------------------------  *\
        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 - 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 COMPONENTS
        Choose from the following files, which best fits your needs
        @import 'footer/copyright'; // STYLES FOR THE COPYRIGHT
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LOGO

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

    FOOTER - COPYRIGHT

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

    FOOTER - NEWSLETTER

\*  --------------------------------------------------------------------------  */ }
  body > footer a {
    font-size: 0.875rem;
    font-weight: 500;
    color: #fff; }
    body > footer a:hover, body > footer a:focus {
      color: #9ebcd7;
      text-decoration: none; }
  body > footer .footer-top {
    padding: 1.5rem 0; }
    @media (min-width: 992px) {
      body > footer .footer-top {
        padding: 3rem 0; } }
    body > footer .footer-top > .container {
      display: grid;
      grid-template-columns: auto;
      grid-template-rows: auto auto auto;
      grid-template-areas: 'logo' 'form' 'desc'; }
      @media (min-width: 768px) {
        body > footer .footer-top > .container {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: auto auto;
          grid-template-areas: 'logo logo' 'form desc'; } }
      @media (min-width: 992px) {
        body > footer .footer-top > .container {
          grid-template-columns: 7fr 5fr;
          grid-template-rows: auto;
          grid-template-areas: 'logo form' 'desc form'; } }
      body > footer .footer-top > .container .desc-social {
        grid-area: desc;
        padding: 0; }
        @media (min-width: 768px) {
          body > footer .footer-top > .container .desc-social {
            padding: 0 0.75rem 0 2.625rem; } }
        @media (min-width: 992px) {
          body > footer .footer-top > .container .desc-social {
            padding: 0 8.25rem 0 0; } }
        body > footer .footer-top > .container .desc-social p {
          color: #fff;
          font-weight: 400;
          font-size: 1rem;
          line-height: 1.375rem;
          margin: 0 0 1.5rem; }
          @media (min-width: 992px) {
            body > footer .footer-top > .container .desc-social p {
              line-height: 1.5rem;
              margin: 0 0 2rem; } }
  body > footer .footer-bottom > .container {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    body > footer .footer-bottom > .container:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      height: 1px;
      width: calc(100% - 40px);
      background: #CFE1F1;
      transform: translate(-50%, -50%); }
      @media (min-width: 768px) {
        body > footer .footer-bottom > .container:before {
          width: calc(100% - 96px); } }
      @media (min-width: 992px) {
        body > footer .footer-bottom > .container:before {
          width: calc(100% - 120px); } }
    @media (min-width: 992px) {
      body > footer .footer-bottom > .container {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-top: 1rem;
        padding-bottom: 2rem; } }
  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: start;
    align-items: center;
    flex-flow: row nowrap;
    margin: 0; }
  body > footer .social li {
    margin: 0 0.5rem; }
    body > footer .social li:first-child {
      margin: 0 0.5rem 0 0; }
  body > footer .social a {
    font-size: 1.25rem;
    line-height: 1; }
  body > footer .social svg {
    display: block;
    fill: #fff;
    height: 1.25rem;
    width: 1.25rem; }
  @media (min-width: 992px) {
    body > footer .legal {
      order: 2; } }
  body > footer .legal ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    margin: 0 0 1rem; }
    @media (min-width: 768px) {
      body > footer .legal ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: start;
        align-items: center;
        flex-flow: row wrap;
        margin: 0 0 1.5rem; } }
    @media (min-width: 992px) {
      body > footer .legal ul {
        margin: 0; } }
    body > footer .legal ul li {
      margin: 0 0 1rem; }
      body > footer .legal ul li:last-child {
        margin: 0; }
      @media (min-width: 768px) {
        body > footer .legal ul li {
          margin: 0 2rem 0 0; } }
      body > footer .legal ul li a {
        font-weight: 500;
        font-size: 1rem;
        line-height: 1.3125rem;
        color: #fff; }
        @media (min-width: 768px) {
          body > footer .legal ul li a {
            font-size: 0.875rem;
            line-height: 1.125rem; } }
  body > footer .logo {
    grid-area: logo;
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    display: block;
    width: 12.9375rem;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    text-align: left;
    margin: 0 0 1.5rem;
    /*  ----------------------------------------------------------------------  *\
        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;
        }
    \*  ----------------------------------------------------------------------  */ }
    @media (min-width: 768px) {
      body > footer .logo {
        width: 15rem; } }
    @media (min-width: 992px) {
      body > footer .logo {
        width: 20.0625rem;
        margin: 0 0 2rem; } }
    body > footer .logo > img {
      display: block;
      width: 12.9375rem;
      height: auto; }
    body > footer .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #fff; }
    body > footer .logo:hover, body > footer .logo:focus {
      color: #3F78B4; }
  body > footer .copyright {
    color: #fff;
    font-size: 0.75rem;
    line-height: 0.9375rem;
    font-weight: 300;
    margin: 0;
    max-width: 15.625rem; }
    @media (min-width: 768px) {
      body > footer .copyright {
        max-width: none; } }
  body > footer .newsletter {
    grid-area: form;
    width: 100%;
    overflow: hidden;
    margin: 0 0 1.5rem;
    padding: 0; }
    @media (min-width: 768px) {
      body > footer .newsletter {
        margin: 0;
        padding: 0 0.625rem 0 0; } }
    @media (min-width: 992px) {
      body > footer .newsletter {
        padding: 0; } }
    body > footer .newsletter .klaviyo-form .needsclick form {
      background-color: transparent !important;
      padding: 0 !important; }
  @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

\*  --------------------------------------------------------------------------  */ }
  @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-rows .form-el.full, form.form-rows .form-field.full, form .form-row .form-el.full, form .form-row .form-field.full {
          width: 100%; } }
  form .form-el, form .form-cr {
    margin: 0 0 1.5rem; }
  form hr {
    width: 100%; }
  form fieldset {
    border: none;
    padding: 1rem 0 0; }
  form legend {
    font-size: 1.25rem; }
  form label, form .label, form p {
    margin: 0 0 1rem; }
    form label small, form .label small, form p small {
      font-size: .75em;
      color: #3F78B4;
      font-style: italic;
      margin: 0 0 0 0.25rem; }
      form label small:before, form .label small:before, form p 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 #9ebcd7;
    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: #2c5783; }
  form input, form .form-input {
    padding: 0.75rem 1.5rem;
    border: 0.0625rem solid #9ebcd7;
    width: 100%;
    transition: .25s all ease-in-out;
    font-weight: 500;
    font-size: 0.875rem;
    color: #2c5783; }
    form input:hover, form .form-input:hover {
      background-color: #f7f9fb; }
    form input:focus, form .form-input:focus {
      border-color: #183552; }
    form input::placeholder, form .form-input::placeholder {
      color: #2c5783; }
  form textarea {
    width: 100%;
    padding: 0.75rem 1.5rem;
    border: 0.0625rem solid #9ebcd7;
    height: calc(7.5em + 1rem);
    font-weight: 500;
    resize: vertical; }
    form textarea:hover {
      background-color: #f7f9fb; }
    form textarea:focus {
      border-color: #183552; }
    form textarea::placeholder {
      color: #2c5783; }
  form .form-cr input[type="checkbox"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #2c2c2c; }
  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: #2c2c2c;
    border-bottom-color: #2c2c2c; }
  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 #2c2c2c;
    border-radius: 100%; }
  form .form-cr input[type="radio"]:checked + label:before {
    background: #2c2c2c;
    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; }
  form .date {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column; }
    @media (min-width: 768px) {
      form .date {
        flex-direction: row;
        flex-wrap: nowrap; } }
    form .date > div {
      width: 100%;
      display: block;
      margin: 0 0 1rem; }
      @media (min-width: 768px) {
        form .date > div {
          max-width: 30%;
          margin: 0; } }

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - INCREMENT

\*  --------------------------------------------------------------------------  */
.form-increment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: row nowrap;
  margin: 0 0 1.5rem; }
  .form-increment label {
    margin: 0 0.75rem 0 0; }
  .form-increment > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row nowrap;
    background: #daeaf9;
    border: 0.0625rem solid #daeaf9; }
  .form-increment button {
    width: 2rem;
    height: 2.75rem;
    background: #fff;
    font-size: 0.75rem; }
    .form-increment button:first-of-type {
      border-right: 0.0625rem solid #daeaf9;
      font-size: 1px; }
    .form-increment button:last-of-type {
      border-left: 0.0625rem solid #daeaf9; }
    .form-increment button:hover {
      background: #ECF4FC; }
    .form-increment button:active {
      background-color: #daeaf9; }
  .form-increment input {
    padding: 0.25rem;
    background: #fff;
    border: none;
    text-align: center;
    width: 2.5625rem;
    font-size: 1rem; }

.form-label-checkbox {
  display: block;
  background: #fff;
  transition: .1s all ease-in-out;
  border: 1px solid #8499AA;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 0;
  line-height: 1.25rem;
  text-align: center;
  margin: 0 0.5rem 0 0; }

input:checked + .form-label-checkbox {
  background: #2c5783;
  border-color: #2c5783; }
  input:checked + .form-label-checkbox:before {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxNCAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgNS43MDAxTDEuNCA0LjMwMDFMNC45IDcuODAwMUwxMi42IDAuMTAwMDk4TDE0IDEuNTAwMUw0LjkgMTAuNjAwMUwwIDUuNzAwMVoiIGZpbGw9IiNGOEY5RkIiLz4KPC9zdmc+"); }

/*  --------------------------------------------------------------------------  *\

    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 1.25rem;
  max-width: 1488px;
  width: 100%; }
  @media (min-width: 992px) {
    .container {
      width: 100%; } }
  @media (min-width: 1425px) {
    .container {
      width: 100%; } }
  @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);
  grid-gap: 0.5rem;
  max-width: 1488px;
  width: 100%; }
  @media (min-width: 992px) {
    .wrapper {
      width: 100%; } }
  @media (min-width: 1425px) {
    .wrapper {
      width: 100%; } }
  @media (min-width: 768px) {
    .wrapper {
      grid-template-columns: repeat(8, 1fr);
      grid-gap: 1rem; } }
  @media (min-width: 992px) {
    .wrapper {
      grid-template-columns: repeat(12, 1fr);
      grid-gap: 1.5rem; } }

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

    HEADER

\*  --------------------------------------------------------------------------  */
body {
  padding: 7.5rem 0 0; }
  @media (min-width: 992px) {
    body {
      padding: 0; } }

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

body > header {
  /*  ----------------------------------------------------------------------  *\
        RESETS
        This code resets some of the styling for the a, label, button, and li
        to make it function as a navigation
    \*  ----------------------------------------------------------------------  */
  /*  ----------------------------------------------------------------------  *\
        RESETS & VARIABLES
        Set some varialbes that apply to the scss files for header
    \*  ----------------------------------------------------------------------  */
  background: linear-gradient(#183552 44px, #2c5783 0%);
  /*  --------------------------------------------------------------------------  *\

    HEADER - POTIION

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

    HEADER - LAYOUT

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

    HEADER - LOGO

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

    HEADER - SEARCH

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

    HEADER - SEARCH > TOGGLE

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

    HEADER - NAVIGATIONS

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

    HEADER - NAVIGATION - HORIZONTAL - UTILITY NAV

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

    HEADER - CART

\*  --------------------------------------------------------------------------  */ }
  body > header a, body > header label, body > header button {
    display: block;
    font-size: 1rem;
    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: #3F78B4; }
  body > header a, body > header li {
    color: #fff;
    font-weight: 500; }
    body > header a:hover, body > header a:focus, body > header li:hover, body > header li:focus {
      color: #daeaf9;
      text-decoration: none; }
  body > header .main li a, body > header .main li label {
    color: #183552; }
    body > header .main li a:hover, body > header .main li a:focus, body > header .main li label:hover, body > header .main li label:focus {
      color: #2c5783; }
    body > header .main li a:active, body > header .main li label:active {
      color: #3F78B4; }
  @media (min-width: 992px) {
    body > header .main li a {
      color: #fff; }
      body > header .main li a:hover, body > header .main li a:focus {
        color: #daeaf9; } }
  @media (min-width: 992px) {
    body > header {
      background: linear-gradient(#183552 59%, #2c5783 0%); }
      body > header .container > .logo {
        display: none; } }
  @media print {
    body > header {
      display: none; } }
  body > header {
    width: 100%;
    /*  ----------------------------------------------------------------------  *\
        RELATIVE
        @include position(relative, 1000);
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        ABSOLUTE TOP
        @include position(absolute, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        FIXED TOP
        @include position(fixed, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        STICKY TOP   
    \*  ----------------------------------------------------------------------  */ }
    @media (max-width: 991.9px) {
      body > header {
        position: fixed;
        z-index: 1000;
        top: 0;
        left: 0; } }
    @media (min-width: 992px) {
      body > header {
        position: relative;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000; }
        @supports (position: -webkit-sticky) {
          body > header {
            top: 0; } }
        @supports (position: sticky) {
          body > header {
            top: 0; } } }
  body > header .container {
    /*
        @include borderTest();
        @include borderTest(".logo");
        @include borderTest(".search-bar");
        @include borderTest("nav");
        @include borderTest(".toggle-search");
        @include borderTest(".mobile-cart");
        @include borderTest(".toggle-trigger");
        @include borderTest(".main");
        @include borderTest(".user");
        @include borderTest(".utility");
        //*/ }
    @media (max-width: 991.9px) {
      body > header .container {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "util util util util util" "main logo search cart user";
        align-items: center;
        grid-template-rows: 44px 56px; }
        body > header .container .toggle-trigger {
          grid-area: main; }
        body > header .container .top-util {
          grid-area: util;
          padding: 15px 0; }
        body > header .container .toggle-search {
          flex-grow: 1;
          text-align: right; }
        body > header .container nav {
          margin-top: 1.5rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-start;
          align-items: stretch;
          flex-flow: column nowrap; }
          body > header .container nav .main {
            order: 1; }
          body > header .container nav .user {
            display: none; }
          body > header .container nav .utility {
            display: none; }
          body > header .container nav .top-menu {
            order: 2; }
          body > header .container nav .bottom-menu {
            order: 1; } }
    @media (min-width: 992px) {
      body > header .container .top-util {
        display: none; }
      body > header .container nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        flex-flow: column nowrap; }
        body > header .container nav .top-menu {
          order: 2;
          display: grid;
          grid-template-columns: 1fr 1fr;
          padding: 0.5rem 0;
          grid-template-areas: "util main main"; }
          body > header .container nav .top-menu .main {
            grid-area: main; }
          body > header .container nav .top-menu .utility {
            grid-area: util;
            justify-self: start; }
        body > header .container nav .bottom-menu {
          order: 1;
          display: grid;
          grid-template-columns: 1.2fr 1fr auto;
          grid-template-rows: auto;
          align-items: center;
          row-gap: 1.125rem;
          padding: 1rem 0;
          grid-template-areas: "logo search user"; }
          body > header .container nav .bottom-menu .logo {
            grid-area: logo; }
          body > header .container nav .bottom-menu .user {
            grid-area: user; }
          body > header .container nav .bottom-menu .search-bar {
            grid-area: search;
            width: 100%; }
          body > header .container nav .bottom-menu .main {
            display: none; } }
  body > header .logo {
    display: block;
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    width: 13.25rem;
    /*  ----------------------------------------------------------------------  *\
        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;
        }
    \*  ----------------------------------------------------------------------  */ }
    @media (max-width: 991.9px) {
      body > header .logo {
        width: 8.4375rem;
        margin-left: 0.75rem; } }
    body > header .logo > img {
      display: block;
      height: auto;
      width: 13.3125rem; }
      @media (max-width: 991.9px) {
        body > header .logo > img {
          width: 7.3125rem; } }
    body > header .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #fff; }
    body > header .logo:hover, body > header .logo:focus {
      color: #3F78B4; }
  body > header .toggle-search {
    display: none !important;
    padding: 0 0.4375rem; }
    body > header .toggle-search i {
      font-size: 0.9375rem;
      color: #fff; }
    @media (min-width: 992px) {
      body > header .toggle-search {
        display: none; } }
  body > header .search-bar {
    position: relative;
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - FORM

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

    HEADER - SEARCH - RESULTS

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

    HEADER - QUICK SEARCH RESULTS BOX

\*  --------------------------------------------------------------------------  */ }
    body > header .search-bar .quick-search-loading {
      position: absolute;
      right: 3.125rem;
      height: 2.5rem;
      display: none !important; }
    @media (max-width: 991.9px) {
      body > header .search-bar {
        width: 100%;
        padding: 1rem 1.25rem 0.75rem; }
        #headerToggleSearch:checked ~ body > header .search-bar {
          top: 100%;
          transform: translate(-100%, 0); } }
    @media (min-width: 992px) {
      body > header .search-bar:focus-within .results:not(:empty) {
        display: block; } }
    body > header .search-bar .form {
      margin: 0; }
      body > header .search-bar .form .form-el {
        position: relative;
        margin: 0; }
      body > header .search-bar .form input {
        width: 100%;
        font-size: 1rem;
        padding: 0.6875rem 1.5rem;
        -webkit-box-flex: 0 1 auto;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        border-color: #2c5783; }
        body > header .search-bar .form input:focus, body > header .search-bar .form input:hover {
          border-color: #2c5783;
          background-color: #f7f9fb; }
        body > header .search-bar .form input::placeholder {
          color: #2c5783;
          font-weight: 500; }
      body > header .search-bar .form button {
        position: absolute;
        z-index: 100;
        right: 0;
        top: 0;
        height: 2.9375rem;
        max-width: 2.5rem;
        padding: 0 1.5rem 0 1rem;
        border-radius: 0;
        border: none;
        background-color: transparent;
        border-left: 0;
        color: #183552; }
        body > header .search-bar .form button [class*='icon-'] {
          font-size: 1rem; }
      @media (max-width: 991.9px) {
        body > header .search-bar .form input, body > header .search-bar .form button {
          border-color: #9ebcd7; }
          body > header .search-bar .form input [class*='icon-'], body > header .search-bar .form button [class*='icon-'] {
            font-size: 1.25rem; } }
    body > header .search-bar .results {
      margin: 1rem 0 0; }
      body > header .search-bar .results:empty {
        display: none; }
      body > header .search-bar .results .card:nth-child(n + 3) {
        display: none; }
      @media (min-width: 768px) {
        body > header .search-bar .results .card {
          width: calc(33.333% - 2rem); }
          body > header .search-bar .results .card:nth-child(3) {
            display: block; }
          body > header .search-bar .results .card:nth-child(n + 4) {
            display: none; } }
      @media (min-width: 992px) {
        body > header .search-bar .results {
          display: none;
          position: absolute;
          right: 0;
          top: 100%;
          width: 50rem;
          margin: 0;
          background: #fff;
          padding: 1.5rem;
          border: 0.0625rem solid #E89718; } }
    body > header .search-bar #quickSearch {
      display: none !important;
      position: absolute;
      background-color: #daeaf9;
      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: 991.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: #2c5783; }
        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: #393939; }
            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-left: 0.625rem; }
    body > header .toggle-trigger .bar {
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      height: 0.125rem;
      width: 1.125rem;
      background: #fff;
      transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
      body > header .toggle-trigger .bar:nth-child(1) {
        transform: translate(-50%, -50%) translate(0, -0.4375rem); }
      body > header .toggle-trigger .bar:nth-child(2) {
        transform: translate(-50%, -50%); }
      body > header .toggle-trigger .bar:nth-child(3) {
        transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    @media (min-width: 992px) {
      body > header .toggle-trigger {
        display: none; } }
  body > header .toggle {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    @media (min-width: 992px) {
      body > header .toggle {
        display: none; } }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(1) {
      opacity: 0;
      transform: translate(-50%, -50%) translate(0, 0.4375rem); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(2) {
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg); }
    body > header .toggle:checked + .toggle-trigger .bar:nth-child(3) {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg); }
  body > header .utility li {
    margin: 0.625rem 0;
    padding: 0;
    white-space: nowrap;
    cursor: pointer; }
    @media (min-width: 992px) {
      body > header .utility li > div a {
        display: none; } }
    body > header .utility li > div > span {
      display: none; }
      @media (min-width: 992px) {
        body > header .utility li > div > span.number-desk:hover {
          cursor: default;
          color: white; } }
      @media (min-width: 992px) {
        body > header .utility li > div > span {
          display: block; } }
    body > header .utility li .alert {
      font-weight: bold;
      text-transform: capitalize; }
    body > header .utility li:before {
      display: none; }
    body > header .utility li::after {
      content: "|";
      margin-right: 0.3125rem;
      margin-left: 0.3125rem; }
    body > header .utility li:nth-child(3)::after {
      content: none; }
  @media (min-width: 992px) {
    body > header .utility {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap;
      font-size: 1rem; } }
  @media (max-width: 991.9px) {
    body > header .utility {
      margin-bottom: 0;
      line-height: 14px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row nowrap;
      font-size: 0.8125rem; }
      body > header .utility li {
        font-size: 0.75rem;
        margin-bottom: 0;
        margin-top: 0; }
        body > header .utility li:after {
          font-size: 12px; } }
  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

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

    HEADER - NAVIGATION - MEGA MENU - DROPDOWN STYLING

\*  --------------------------------------------------------------------------  */ }
      @media (max-width: 991.9px) {
        body > header nav {
          position: fixed;
          left: 0;
          top: 3.75rem;
          -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
          transform: translate(0, 0);
          background: #fff;
          width: 100%;
          overflow: hidden;
          /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - TOGGLE HEADER

\*  --------------------------------------------------------------------------  */ }
          body > header nav .top-menu {
            pointer-events: none;
            transform-origin: center top;
            transform: scale(1.2);
            opacity: 0;
            height: 0;
            padding: 0;
            transition: transform 0.25s ease-out; }
          body > header nav .bottom-menu {
            background: #2c5783; }
            body > header nav .bottom-menu .search-bar form input {
              padding-top: 5px;
              padding-bottom: 5px; }
            body > header nav .bottom-menu .search-bar form button {
              height: 33px; }
            body > header nav .bottom-menu .icon-search {
              font-size: 15px !important; }
          body > header nav .logo {
            display: none; }
          body > header nav .main {
            margin: 0;
            background: #fff;
            position: relative; }
            body > header nav .main li {
              position: static;
              padding: 0;
              margin: 0 auto;
              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;
              border-bottom: 0.0625rem solid #EFF2F4;
              width: 90%; }
            body > header nav .main a {
              display: none;
              width: 100%;
              padding: 1rem 0;
              -webkit-box-flex: 0 1 auto;
              -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
              flex: 0 1 auto; }
              body > header nav .main a:only-child {
                display: block; }
            body > header nav .main label {
              display: block;
              width: 100%;
              padding: 1rem 0;
              height: auto;
              position: relative;
              cursor: pointer; }
              body > header nav .main label:after {
                position: absolute;
                right: 2.0625rem;
                top: 50%;
                -webkit-transform: translate(-50%, -50%) rotate(45deg);
                -ms-transform: translate(-50%, -50%) rotate(45deg);
                transform: translate(-50%, -50%) rotate(45deg);
                height: 0.5rem;
                width: 0.5rem;
                border: 0.125rem solid transparent;
                border-right-color: #2c5783;
                border-top-color: #2c5783;
                content: ""; }
              body > header nav .main label span {
                display: none; }
              body > header nav .main label:only-child {
                padding: 1rem 0;
                margin-left: 2.0625rem;
                width: auto; }
                body > header nav .main label:only-child:after {
                  left: 0;
                  transform: translate(0, -50%) rotate(45deg) rotate(180deg); }
            body > header nav .main div {
              position: absolute;
              z-index: 1000;
              left: 100%;
              top: 0;
              transition: transform .25s linear;
              width: 100%;
              height: 100vh;
              background: #fff; }
              body > header nav .main div li:nth-child(2) a {
                background: #2c5783;
                color: #fff; }
            body > header nav .main .card {
              display: none; }
            body > header nav .main input[type="checkbox"]:checked ~ div {
              transform: translate(-100%, 0); } }
      @media (min-width: 992px) {
        body > header nav .main {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: space-between;
          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;
            font-size: 0.75rem; }
            body > header nav .main a span {
              font-size: 0.875rem;
              margin-left: 0.3125rem;
              color: #fff;
              display: inline-block;
              transition: transform .25s linear;
              transform-origin: 50% 50%; }
          body > header nav .main label {
            display: none; }
          body > header nav .main > li {
            position: static;
            margin: 0;
            padding: 0; }
            body > header nav .main > li > div {
              position: absolute;
              left: 0%;
              top: 100%;
              margin-top: -20px;
              padding-top: 20px;
              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;
              width: 100%;
              background: none;
              transition: .4s 0s ease-in-out; }
              body > header nav .main > li > div:before {
                position: absolute;
                left: 0%;
                width: 100%;
                height: 100%;
                background: #fff;
                box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
                content: ""; }
              body > header nav .main > li > div a {
                transition-duration: 0s; }
                body > header nav .main > li > div a:after {
                  content: none; }
              body > header nav .main > li > div > ul {
                width: 100%;
                max-width: 1488px;
                width: 100%;
                padding: 3.75rem 15rem 3.75rem 15rem;
                column-count: 3;
                column-gap: 3.125rem; } }
        @media (min-width: 992px) and (min-width: 992px) {
          body > header nav .main > li > div > ul {
            width: 100%; } }
        @media (min-width: 992px) and (min-width: 1425px) {
          body > header nav .main > li > div > ul {
            width: 100%; } }
      @media (min-width: 992px) {
                body > header nav .main > li > div > ul ul {
                  display: none; }
                body > header nav .main > li > div > ul li {
                  margin-bottom: 0.625rem; }
                  body > header nav .main > li > div > ul li:nth-child(1), body > header nav .main > li > div > ul li:nth-child(2) {
                    display: none; }
            body > header nav .main > li:hover > div {
              transition: opacity .2s ease;
              visibility: visible;
              opacity: 1; }
            body > header nav .main > li:hover span {
              transform: rotate(180deg); }
          body > header nav .main input[type="checkbox"]:focus ~ label {
            display: block;
            background: #2c5783;
            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; } }
      @media (min-width: 1100px) {
        body > header nav .main a {
          font-size: 0.875rem; } }
      @media (min-width: 1200px) {
        body > header nav .main a {
          font-size: 1rem; } }
      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; }
    @media (max-width: 991.9px) {
      body > header nav .user a {
        padding: 1rem 0;
        border-bottom: 0.0625rem solid #2c2c2c; }
        body > header nav .user a i {
          font-size: 0.9375rem;
          color: #2c5783; }
        body > header nav .user a span {
          display: inline-block;
          margin-left: 0.75rem; } }
    @media (min-width: 992px) {
      body > header nav .user {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap;
        z-index: 100; }
        body > header nav .user li:hover > ul {
          display: block; }
        body > header nav .user a {
          padding-left: 2.0625rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-flow: column; }
          body > header nav .user a i {
            font-size: 1.25rem;
            color: #fff;
            transition: all .25s ease-in-out; }
            body > header nav .user a i:hover, body > header nav .user a i:focus {
              color: #daeaf9; }
            body > header nav .user a i:active {
              color: #daeaf9; }
          body > header nav .user a span {
            font-size: 0.875rem; }
          body > header nav .user a:hover, body > header nav .user a:focus {
            text-decoration: none;
            color: #daeaf9; }
        body > header nav .user ul {
          display: none;
          position: absolute;
          z-index: 1000;
          left: 50%;
          top: 100%;
          -webkit-transform: translate(-25%, 0);
          -ms-transform: translate(-25%, 0);
          transform: translate(-25%, 0);
          background: #393939;
          padding: 0.5rem; }
          body > header nav .user ul a {
            color: #fff;
            padding: 0.5rem; }
            body > header nav .user ul a:hover, body > header nav .user ul a:focus {
              background: none;
              color: #fbb03b; }
          body > header nav .user ul li {
            margin: 0; }
            body > header nav .user ul li:last-child {
              margin: 0; } }
  @media (max-width: 991.9px) {
    body > header #headerToggleNav:checked ~ nav .top-menu {
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      opacity: 1;
      pointer-events: inherit;
      padding-bottom: 12.5rem;
      height: 100vh;
      padding-top: 1rem; } }
  body > header .mobile-cart {
    display: flex;
    margin-left: 0.75rem; }
    @media (min-width: 768px) {
      body > header .mobile-cart {
        margin-left: 1rem; } }
    body > header .mobile-cart i {
      font-size: 0.9375rem; }
    @media (min-width: 992px) {
      body > header .mobile-cart {
        position: absolute;
        right: 1rem;
        top: 2.25rem;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        display: none; } }
  @media (max-width: 991.9px) {
    body > header .desktop-cart {
      display: none; } }
  body > header .toggle-elements [data-cart-preview] {
    display: none; }
    @media (max-width: 991.9px) {
      body > header .toggle-elements [data-cart-preview] {
        display: flex;
        margin-left: 0.75rem; }
        body > header .toggle-elements [data-cart-preview] i {
          font-size: 0.9375rem; }
        body > header .toggle-elements [data-cart-preview] .text {
          display: none; } }
  body > header [data-cart-preview] {
    position: relative;
    display: flex; }
  body > header .mini-cart-header {
    text-align: center;
    color: #183552;
    padding: 1.5rem;
    background: #daeaf9; }
  body > header .cart-quantity {
    display: none;
    position: absolute;
    z-index: 100;
    right: -5px;
    top: -10px;
    -webkit-transform: translate(-15%, 15%);
    -ms-transform: translate(-15%, 15%);
    transform: translate(-15%, 15%);
    background: #fbb03b;
    color: #393939;
    border-radius: 100%;
    width: 1.5em;
    height: 1.5em;
    font-size: .60em;
    text-align: center;
    line-height: 1.7; }
    @media (min-width: 768px) {
      body > header .cart-quantity {
        position: absolute;
        z-index: 100;
        right: 80px;
        top: 45px;
        -webkit-transform: translate(-15%, 15%);
        -ms-transform: translate(-15%, 15%);
        transform: translate(-15%, 15%); } }
    @media (min-width: 992px) {
      body > header .cart-quantity {
        display: none;
        position: absolute;
        z-index: 100;
        right: -10px;
        top: -9px;
        -webkit-transform: translate(-15%, 15%);
        -ms-transform: translate(-15%, 15%);
        transform: translate(-15%, 15%);
        font-size: .75em; } }
    body > header .cart-quantity.is-empty {
      display: none; }
    body > header .cart-quantity.has-quantity {
      display: flex;
      align-items: center;
      justify-content: center; }
  body > header .cart-dropdown {
    display: block;
    position: fixed;
    z-index: 2000;
    right: 0;
    top: 0;
    -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0);
    transition: all 0.4s ease;
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    height: 100%;
    overflow: scroll;
    max-width: 80%; }
    @media (min-width: 768px) {
      body > header .cart-dropdown {
        max-width: 25rem; } }
    body > header .cart-dropdown.is-loading {
      min-width: 80%; }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-loading {
          min-width: 25rem; } }
    body > header .cart-dropdown.is-visible {
      width: 80%;
      z-index: 100000;
      transform: translate(0, 0); }
      @media (min-width: 768px) {
        body > header .cart-dropdown.is-visible {
          width: 25rem; } }
    body > header .cart-dropdown .icon-times {
      position: absolute;
      right: 1.0625rem;
      top: 1.0625rem;
      font-size: 0.9375rem;
      color: #183552; }
      body > header .cart-dropdown .icon-times:hover {
        transition: .25s all ease-in-out;
        cursor: pointer;
        color: #3F78B4; }
    body > header .cart-dropdown h2 {
      text-transform: capitalize;
      font-size: 1rem;
      font-weight: bold;
      margin: 0; }
    body > header .cart-dropdown .added-to-cart-message {
      text-align: center;
      font-weight: normal;
      font-size: 1.125rem;
      background-color: #daeaf9;
      color: #183552;
      padding-top: 1rem; }
      body > header .cart-dropdown .added-to-cart-message + h2 {
        padding-top: 0.5rem; }
    body > header .cart-dropdown .buttons {
      display: flex;
      flex-direction: column;
      row-gap: 0.5rem; }
      body > header .cart-dropdown .buttons a {
        font-size: 1rem;
        font-weight: 500;
        margin: 0 !important;
        width: 100%; }
      body > header .cart-dropdown .buttons .btn-primary:hover, body > header .cart-dropdown .buttons .btn-primary:focus {
        color: #183552; }
      body > header .cart-dropdown .buttons .btn-secondary {
        margin-bottom: 0.5rem; }
      body > header .cart-dropdown .buttons .btn-primary.invert {
        border-color: #2c5783;
        color: #183552; }
        body > header .cart-dropdown .buttons .btn-primary.invert:hover {
          background: #daeaf9; }
        body > header .cart-dropdown .buttons .btn-primary.invert:active, body > header .cart-dropdown .buttons .btn-primary.invert:focus {
          background: #f7f9fb;
          border-color: #3F78B4; }
    body > header .cart-dropdown .content {
      padding: 1.5rem 2.5rem; }
    body > header .cart-dropdown .subtotal {
      text-transform: capitalize;
      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 1.5rem;
      color: #183552; }
      body > header .cart-dropdown .subtotal strong {
        font-weight: 700; }
    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.3125rem 0;
      padding: 0.625rem 0 0.625rem 0; }
    body > header .cart-dropdown dd, body > header .cart-dropdown dt {
      margin: 0;
      padding: 0;
      font-size: .8em; }
    body > header .cart-dropdown .products {
      position: static;
      display: block;
      left: auto;
      top: auto;
      transform: none;
      background: none;
      padding: 2.5rem 0; }
      body > header .cart-dropdown .products p {
        margin-bottom: 0.5rem;
        color: #000;
        font-weight: 500; }
      body > header .cart-dropdown .products li {
        padding: 0;
        list-style-type: none; }
        body > header .cart-dropdown .products li::before {
          display: none; }
      body > header .cart-dropdown .products li > a {
        display: grid;
        grid-template-columns: 5rem 1fr;
        border: 1px solid #f7f9fb;
        align-items: center;
        grid-template-rows: auto;
        column-gap: 1rem;
        padding: 0.75rem 0;
        font-size: 0.875rem;
        border-radius: 0.25rem;
        padding: 0.5rem;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.08);
        margin-bottom: 1.25rem; }
      body > header .cart-dropdown .products .name {
        margin: 0 0 0.5rem;
        font-size: 0.875rem;
        line-height: 1.3;
        white-space: normal;
        transition: .25s all ease-in-out; }
        body > header .cart-dropdown .products .name:hover {
          color: #3F78B4; }
      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(0, 0, 0, 0.25);
  visibility: hidden;
  opacity: 0; }
  .has-activeModal .modal-background {
    opacity: 1;
    visibility: visible; }

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

    MODAL - BASIC

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

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

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

\*  --------------------------------------------------------------------------  */
.modal {
  position: fixed;
  z-index: 15001;
  left: 50%;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 0.25rem;
  width: 90%;
  max-width: 75rem;
  min-width: 20rem;
  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: 1rem;
    overflow: auto; }
    @media (min-width: 768px) {
      .modal .modal-body {
        padding: 2.5rem; } }
  .modal .modal-close {
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translate(-10%, 10%);
    -ms-transform: translate(-10%, 10%);
    transform: translate(-10%, 10%);
    display: block;
    background: #fff;
    color: #2c2c2c;
    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 #daeaf9;
    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.75rem 1.75rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.14286;
  text-align: center;
  text-decoration: none;
  transition: all .25s;
  width: 100%; }
  .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;
      padding: 0.875rem 1.75rem; }
      .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: #2c5783;
    background: #2c5783;
    color: #fff; }
    .button.swal2-confirm:hover, .button.swal2-confirm:focus {
      background: #fff;
      color: #2c5783; }
  .button.swal2-cancel {
    border-color: #daeaf9; }
    .button.swal2-cancel:hover, .button.swal2-cancel:focus {
      color: #2c5783; }

.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 #2c5783;
    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: #2c5783 #2c5783 #3F78B4 #3F78B4;
    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: 1rem 0 3rem;
  display: none;
  z-index: 2;
  position: relative;
  width: 100%; }
  @media (min-width: 992px) {
    nav.breadcrumbs {
      display: block; } }
  nav.breadcrumbs a {
    color: #3F78B4;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.1875rem; }
  nav.breadcrumbs ol {
    margin-bottom: 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 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row; }
      nav.breadcrumbs ol li:before {
        content: "/ ";
        display: block;
        color: #3F78B4;
        position: relative;
        transform: none;
        top: auto;
        left: auto;
        font-weight: 500;
        font-size: 0.875rem;
        margin: 0 0.25rem; }
      nav.breadcrumbs ol li:first-child:before {
        display: none; }
      nav.breadcrumbs ol li.is-active a {
        color: #2c5783; }

.category-hero nav.breadcrumbs, .blog-hero nav.breadcrumbs {
  position: absolute;
  left: 0;
  top: 1rem;
  margin: 0; }
  .category-hero nav.breadcrumbs a, .blog-hero nav.breadcrumbs a {
    color: #9D9D9D; }
  .category-hero nav.breadcrumbs ol li:before, .blog-hero nav.breadcrumbs ol li:before {
    color: #9D9D9D; }
  .category-hero nav.breadcrumbs ol li.is-active a, .blog-hero nav.breadcrumbs ol li.is-active a {
    color: #fff; }

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

    NAVS - PAGINATION

\*  --------------------------------------------------------------------------  */
nav.pagination {
  margin: 1.5rem 0 0; }
  @media (max-width: 991.9px) {
    nav.pagination:first-of-type {
      padding-bottom: 2.5rem;
      border-bottom: 0.0625rem solid #daeaf9; } }
  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: 992px) {
      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 li {
    margin: 0 0.5rem; }
    nav.pagination li.line {
      margin: 0; }
      @media (min-width: 992px) {
        nav.pagination li.line {
          width: 100%;
          border-top: 0.0625rem solid #daeaf9; }
          nav.pagination li.line + li {
            margin-left: 1.25rem; } }
    nav.pagination li.pagination-item--current {
      text-decoration: underline; }
  nav.pagination a {
    display: block;
    padding: 0.25rem;
    color: #2c5783; }
    nav.pagination a [class*='icon-'] {
      color: #183552; }

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

@media (max-width: 991.9px) {
  .layout-blog nav.pagination:first-of-type {
    border-bottom: none;
    padding-bottom: 0; } }

section {
  margin: 0 0 2.5rem 0; }
  @media (min-width: 768px) {
    section {
      margin: 0 0 3rem 0; } }
  @media (min-width: 992px) {
    section {
      margin: 0 0 4.5rem 0; } }
  section.special-offerings {
    margin: 2.5rem 0; }
    @media (min-width: 768px) {
      section.special-offerings {
        margin: 3rem 0; } }
    @media (min-width: 992px) {
      section.special-offerings {
        margin: 4.5rem 0; } }
  section.brand-value {
    margin-bottom: 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; } }
  section.hr {
    position: relative;
    margin: 0 0 3rem;
    padding-top: 0.875rem; }
    @media (min-width: 768px) {
      section.hr {
        padding-top: 0; } }
    @media (min-width: 992px) {
      section.hr {
        margin: 0 0 4.5rem 0; } }
    section.hr:before {
      width: 100%;
      height: 0.5px;
      background: #9ebcd7;
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      top: -1.625rem;
      transform: translate(-50%, 0);
      max-width: 92%; }
      @media (min-width: 768px) {
        section.hr:before {
          top: -2rem; } }
      @media (min-width: 992px) {
        section.hr:before {
          top: -3rem;
          width: calc(100% - 120px);
          max-width: 1388px; } }

.new-jersey-store, .new-york-store, .delaware-store {
  display: none; }
  .pagebuilder .new-jersey-store, .pagebuilder .new-york-store, .pagebuilder .delaware-store {
    display: block; }
  .feeds-carousel .new-jersey-store, .feeds-carousel .new-york-store, .feeds-carousel .delaware-store {
    display: block; }

#store-selection {
  display: none;
  position: absolute;
  background-color: rgba(23, 45, 67, 0.8);
  width: 100%;
  height: 100%;
  z-index: 20000;
  top: 0;
  justify-content: center;
  align-items: center; }
  #store-selection .pick-store {
    width: 100%;
    line-height: 1.3em;
    max-width: 90vw;
    max-height: 80vh;
    position: fixed;
    overflow: auto;
    background-color: #fff; }
    @media (min-width: 768px) {
      #store-selection .pick-store {
        width: 20.4375rem; } }
    @media (min-width: 992px) {
      #store-selection .pick-store {
        width: 32.8125rem; } }
    #store-selection .pick-store > div {
      margin: 0.3125rem;
      padding: 1.5rem;
      border: 1px solid #daeaf9;
      border-style: double; }
      @media (min-width: 992px) {
        #store-selection .pick-store > div {
          padding: 2.1875rem 5.75rem 1.1875rem; } }
    @media (min-width: 992px) {
      #store-selection .pick-store {
        max-width: 50vw; } }

.pick-store {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px; }
  .pick-store .close-modal {
    display: none;
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    background: #daeaf9;
    border: 1px solid #daeaf9;
    padding: 0.625rem 0.625rem;
    line-height: 0; }
    .pick-store .close-modal i {
      font-size: 0.875rem;
      color: #2c5783; }
    .pick-store .close-modal:hover {
      background: #9ebcd7;
      border-color: #9ebcd7; }
  .pick-store .store-location {
    color: #2c5783;
    text-align: center;
    text-transform: capitalize;
    margin-bottom: 1rem;
    font-weight: 700; }
  .pick-store .initial-message {
    display: none; }
    .pick-store .initial-message .store-location {
      font-size: 1.25rem;
      font-weight: 700; }
      @media (min-width: 992px) {
        .pick-store .initial-message .store-location {
          font-size: 2rem; } }
  .pick-store .change-store, .pick-store .initial-message {
    border-bottom: 1px solid #daeaf9;
    margin-bottom: 1.5rem;
    text-align: center;
    display: none; }
    .pick-store .change-store .btn-tertiary, .pick-store .initial-message .btn-tertiary {
      width: auto;
      padding: 0.75rem;
      border-color: #2c5783;
      color: #2c5783; }
    .pick-store .change-store i.icon-exclamation-triangle, .pick-store .initial-message i.icon-exclamation-triangle {
      color: red;
      margin-right: 0.5rem; }
    .pick-store .change-store .icon-minus, .pick-store .initial-message .icon-minus {
      margin-right: 0.5rem;
      line-height: 0;
      color: #2c5783;
      font-size: .7px;
      outline: 1px solid #2c5783;
      border-radius: 50px;
      padding: 7px 3px;
      position: relative;
      right: unset; }
      .pick-store .change-store .icon-minus::before, .pick-store .initial-message .icon-minus::before {
        margin-top: .7px; }
    .pick-store .change-store span, .pick-store .initial-message span {
      font-weight: bold; }
  .pick-store .store {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr;
    gap: 8px;
    text-align: center; }
    .pick-store .store p {
      font-size: .9em; }
    .pick-store .store [class*='btn-'] {
      margin: 0 auto;
      padding: 0.8125rem;
      width: 14.375rem;
      flex-direction: column;
      height: auto; }
      .pick-store .store [class*='btn-'] .caps {
        text-transform: uppercase;
        text-decoration: underline; }
    .pick-store .store .active::before {
      content: "CURRENT ->"; }

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

    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: #393939 !important; }
  #consent-manager > div > div {
    background: none !important;
    padding: 0;
    width: 100%;
    padding: 0 1rem;
    max-width: 1488px;
    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: #393939 !important;
  padding: 1rem;
  width: 100%;
  margin: 0 auto !important;
  max-width: 1488px;
  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: #393939 !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; }

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

    GLOBAL WIDGETS

    This loads all widgets that are loaded globally throughout the website.

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

    GLOBAL - PROMO BAR

\*  --------------------------------------------------------------------------  */
.promo-bar {
  background: #daeaf9;
  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; }

.promo-banner {
  background: #daeaf9;
  padding: 0.75rem 0; }
  .promo-banner p {
    margin: 0;
    color: #183552;
    text-align: center;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.5rem;
    text-transform: capitalize; }
    @media (min-width: 992px) {
      .promo-banner p {
        font-size: 1.125rem;
        line-height: 1.5rem; } }

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

    GLOBAL - VALUE ADD

\*  --------------------------------------------------------------------------  */
.value-add {
  background: #daeaf9;
  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; } }

.category-hero {
  position: relative; }
  .category-hero > div, .category-hero > div > div, .category-hero > div > div > div, .category-hero > div > div > div > div, .category-hero > div > div > div > div > div {
    position: static; }

.category-hero, .blog-hero {
  top: -1.625rem;
  background: #000; }
  @media (min-width: 992px) {
    .category-hero, .blog-hero {
      top: 0; } }

@media (min-width: 992px) {
  body:not(.pagebuilder) .blog-hero .container {
    padding: 0 3.75rem; } }

@media (min-width: 768px) and (max-width: 991.9px) {
  body:not(.pagebuilder) .blog-hero .container .cnt {
    margin: 0 auto;
    max-width: 31.25rem; } }

body:not(.pagebuilder) .blog-hero [data-content-region="blog_hero_image_region"] {
  object-fit: cover;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }
  body:not(.pagebuilder) .blog-hero [data-content-region="blog_hero_image_region"] div {
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }

.pagebuilder .blog-hero {
  background: #daeaf9; }
  .pagebuilder .blog-hero:before {
    display: none; }
  .pagebuilder .blog-hero [data-content-region="blog_hero_image_region"] {
    position: relative;
    min-height: 200px;
    padding: 2rem; }
    .pagebuilder .blog-hero [data-content-region="blog_hero_image_region"] [data-widget-id] {
      position: relative;
      min-height: 200px; }

.category-hero-wrap, .blog-hero {
  position: relative;
  padding: 3.5rem 0; }
  @media (min-width: 992px) {
    .category-hero-wrap, .blog-hero {
      padding: 4.75rem 0 4.5rem; } }
  .category-hero-wrap:before, .blog-hero:before {
    content: "";
    z-index: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(130deg, rgba(63, 120, 180, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(101.32deg, #172D43 -19.79%, rgba(23, 45, 67, 0) 133.19%); }
  .category-hero-wrap picture, .category-hero-wrap picture img, .blog-hero picture, .blog-hero picture img {
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .category-hero-wrap .container, .blog-hero .container {
    z-index: 2;
    position: relative; }
    .category-hero-wrap .container .cnt h1, .blog-hero .container .cnt h1 {
      color: #fff;
      margin: 0 0 1rem;
      font-size: 2rem;
      line-height: 2.5rem;
      font-weight: 700; }
      @media (min-width: 992px) {
        .category-hero-wrap .container .cnt h1, .blog-hero .container .cnt h1 {
          font-size: 3rem;
          line-height: 3rem;
          margin: 0 0 1.5rem; } }
      .category-hero-wrap .container .cnt h1 a, .blog-hero .container .cnt h1 a {
        color: #fff; }
        .category-hero-wrap .container .cnt h1 a:hover, .category-hero-wrap .container .cnt h1 a:focus, .blog-hero .container .cnt h1 a:hover, .blog-hero .container .cnt h1 a:focus {
          color: #fff;
          text-decoration: underline; }
    .category-hero-wrap .container .cnt p, .blog-hero .container .cnt p {
      color: #fff;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.375rem;
      margin: 0; }
      @media (min-width: 992px) {
        .category-hero-wrap .container .cnt p, .blog-hero .container .cnt p {
          font-size: 1.125rem;
          line-height: 1.5rem; } }
    .category-hero-wrap .container .cnt select, .blog-hero .container .cnt select {
      background: transparent;
      margin: 0;
      font-weight: 500;
      font-size: 0.875rem;
      line-height: 1.125rem;
      -moz-appearance: none;
      -webkit-appearance: none;
      appearance: none;
      border: 1px solid #fff;
      color: #fff;
      padding: 0.75rem 2rem 0.75rem 1rem;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDE2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik03LjAwMDE4IDguMTAwMTNMOCA5TDE2IDEuNzk5NzVMMTQuMDAwNCAwTDggNS4zOTkyNEwxLjk5OTY1IDBMMCAxLjc5OTc1TDcuMDAwMTggOC4xMDAxM1oiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
      background-repeat: no-repeat;
      background-position: right 1rem top 50%;
      background-size: 1rem auto;
      width: 100%;
      max-width: 15.3125rem; }
      @media (min-width: 768px) and (max-width: 991.9px) {
        .category-hero-wrap .container .cnt select, .blog-hero .container .cnt select {
          max-width: none; } }

.category-hero-wrap .wrapper .cnt {
  grid-column: span 4; }
  @media (min-width: 768px) {
    .category-hero-wrap .wrapper .cnt {
      grid-column: 2 / 5; } }
  @media (min-width: 992px) {
    .category-hero-wrap .wrapper .cnt {
      grid-column: span 5; } }

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

    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 #9ebcd7; }

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

    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 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    row-gap: 0.5rem; }
    .card .cta .actions {
      align-self: start;
      height: 2.625rem; }
      .card .cta .actions .form {
        margin-bottom: 0; }
    @media (max-width: 767.9px) {
      .card .cta .actions {
        width: 100%; } }
    @media (min-width: 992px) {
      .card .cta {
        flex-direction: row;
        align-items: flex-end; } }
    .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 .condition {
    position: absolute;
    z-index: 1;
    padding: 1.0625rem;
    background-color: #2c5783;
    clip-path: polygon(100% 0, 0 0, 0 100%); }
    .card .condition .text {
      font-size: 0.875rem;
      color: #fff;
      text-transform: capitalize;
      transform: translate(-10px, -10px) rotate(-45deg); }
  .card .img {
    position: relative;
    padding: 100% 0 0;
    border: 0.0625rem solid #daeaf9;
    overflow: hidden; }
    .card .img picture, .card .img > a > img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      overflow: hidden;
      width: 100%;
      display: block; }
      .card .img picture.default, .card .img > a > img.default {
        background-color: #f8f8f8; }
    .card .img img {
      display: block;
      width: 100%;
      height: 100%;
      height: auto; }
  .card h3 {
    font-size: 0.875rem;
    font-weight: 700;
    margin: 1rem 0 0.25rem;
    margin: 1rem 0 0.25rem; }
    @media (min-width: 768px) {
      .card h3 {
        margin: 1.5rem 0 0.75rem;
        font-size: 1.125rem; } }
    @media (min-width: 992px) {
      .card h3 {
        font-size: 1rem; } }
    .card h3 a {
      color: #393939;
      font-weight: 500;
      display: -webkit-box !important;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden; }
      .card h3 a:hover, .card h3 a:focus {
        text-decoration: underline; }
    .card h3 small {
      display: block;
      font-size: .75em;
      margin: 0 0 .3333em;
      min-height: 1em; }
  .card .wine-info {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    margin-bottom: 1.5rem; }
    @media (min-width: 992px) {
      .card .wine-info {
        letter-spacing: 2px;
        font-size: 0.875rem; } }
  .card .bulk-pricing--plp {
    font-size: 1rem;
    color: #3F78B4;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    margin-bottom: 1rem;
    font-style: normal; }
    .card .bulk-pricing--plp i {
      font-size: 1.25rem;
      margin-right: 0.5rem; }
  .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 {
    font-size: 0.875rem;
    font-weight: 500; }
    .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; }
    @media (min-width: 992px) {
      .card .price {
        font-size: 1rem;
        padding-right: 0.9375rem; } }
  @media (min-width: 992px) {
    .card .cta.old-prices {
      justify-content: flex-start;
      flex-direction: column; }
      .card .cta.old-prices .price-section {
        border-right: none; }
      .card .cta.old-prices .actions {
        padding: 0; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper {
      border-right: none;
      display: flex;
      flex-direction: row;
      width: 100%;
      margin: 0 0 0.5rem; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper .main-price {
      border-right: none; } }
  .card .cta.old-prices .price-wrapper .main-price .price {
    color: #393939;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.125rem;
    margin: 0 0 0.5rem;
    display: block; }
    @media (min-width: 992px) {
      .card .cta.old-prices .price-wrapper .main-price .price {
        font-size: 1rem;
        line-height: 1.5rem;
        padding-right: 0.9375rem;
        margin: 0; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper .old-price {
      display: flex;
      flex-direction: row;
      align-items: center;
      padding-left: 1rem; } }
  .card .cta.old-prices .price-wrapper .old-price .price-section {
    color: #3F78B4;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 0.75rem;
    margin: 0 0 0.5rem;
    border-right: none; }
    @media (min-width: 992px) {
      .card .cta.old-prices .price-wrapper .old-price .price-section {
        line-height: 1.5rem;
        margin: 0 0.5rem 0 0; }
        .card .cta.old-prices .price-wrapper .old-price .price-section:last-child {
          margin: 0; } }
    .card .cta.old-prices .price-wrapper .old-price .price-section:last-child {
      margin: 0; }
    .card .cta.old-prices .price-wrapper .old-price .price-section span {
      margin: 0;
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 0.75rem;
      position: relative;
      padding: 0; }
      .card .cta.old-prices .price-wrapper .old-price .price-section span:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(0deg);
        height: 0.5px;
        width: 102%;
        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; }
  @media (min-width: 992px) {
    .card .actions {
      padding-left: 0.9375rem; } }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }

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

    PRODUCT > FEEDS > STATIC

\*  --------------------------------------------------------------------------  */
.feeds-static > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .feeds-static > div {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 1.5rem;
      row-gap: 1.5rem; } }
  @media (min-width: 992px) {
    .feeds-static > div {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 2rem;
      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: #393939; }
  .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; }

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

    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: 1240px; } }

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

.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 #9ebcd7;
    padding-top: 1.5rem; }

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

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

    AUTH - LOGIN

\*  --------------------------------------------------------------------------  */
.login-header {
  margin: -0.25rem 0 0; }
  @media (min-width: 992px) {
    .login-header h1 {
      margin: 0 0 1rem; } }

.auth-login {
  margin: 0 0 3rem; }
  @media (min-width: 992px) {
    .auth-login {
      margin: 0 0 4.5rem; } }
  @media (min-width: 768px) {
    .auth-login .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 4rem; } }
  .auth-login .container > div .form-actions {
    flex-direction: column; }
    @media (min-width: 992px) {
      .auth-login .container > div .form-actions {
        flex-direction: row; }
        .auth-login .container > div .form-actions .btn-txt {
          margin: 0 0 0 2rem; } }
  .auth-login .container > div hr {
    background: #9ebcd7;
    margin: 2.5rem auto 3rem; }
    @media (min-width: 768px) {
      .auth-login .container > div hr {
        display: none; } }
  .auth-login .container aside ul li:before {
    background: #9ebcd7; }
  @media (min-width: 992px) {
    .auth-login .container {
      grid-template-columns: 5fr 1fr 5fr 1fr;
      grid-template-areas: "form . aside ."; }
      .auth-login .container > div {
        grid-area: form; }
      .auth-login .container aside {
        grid-area: aside;
        background: transparent;
        padding: 0 1.5rem 0 1.5rem; }
        .auth-login .container aside h2 {
          margin: 0 0 1rem; } }

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

    AUTH - RESET

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

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

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

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

    AUTH - RESET

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

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

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

/*  --------------------------------------------------------------------------  *\
    BLOG COMPONENTS
\*  --------------------------------------------------------------------------  */
/*  --------------------------------------------------------------------------  *\

    BLOG - CARD

\*  --------------------------------------------------------------------------  */
.card-blog .cnt {
  padding: 1rem 0 0; }
  @media (min-width: 992px) {
    .card-blog .cnt {
      padding: 1.5rem 0 0; } }

.card-blog + .card-blog {
  margin: 1rem 0 0; }

.card-blog h3 {
  font-size: 1.125rem;
  margin: 0 0 0.5rem; }
  @media (min-width: 992px) {
    .card-blog h3 {
      margin: 0 0 1rem; } }

.card-blog p {
  margin-bottom: 0; }

.card-blog .by-line {
  font-size: 0.875rem;
  margin: 0 0 0.5rem; }

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

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

.recent-blog-carousel .slick-slider {
  margin: 0 -0.5rem;
  width: calc(100% + 1rem); }
  @media (min-width: 768px) {
    .recent-blog-carousel .slick-slider {
      margin: 0 -0.75rem;
      width: calc(100% + 1.5rem); } }
  @media (min-width: 992px) {
    .recent-blog-carousel .slick-slider {
      margin: 0 -1rem;
      width: calc(100% + 2rem); } }

.recent-blog-carousel .slick-dots {
  top: calc(100% + 1rem); }
  @media (min-width: 768px) {
    .recent-blog-carousel .slick-dots {
      top: calc(100% + 2rem); } }
  @media (min-width: 992px) {
    .recent-blog-carousel .slick-dots {
      top: calc(100% + 3rem); } }

.recent-blog-carousel .slick-list {
  margin-bottom: 8.25rem; }
  @media (min-width: 992px) {
    .recent-blog-carousel .slick-list {
      margin-bottom: 9.75rem; } }

.recent-blog-carousel .slick-slide {
  margin: 0 0.5rem; }
  @media (min-width: 992px) {
    .recent-blog-carousel .slick-slide {
      margin: 0 0.84375rem; } }

.recent-blog-carousel .card-blog img {
  width: 100%;
  object-fit: cover;
  height: 11.125rem; }
  @media (min-width: 768px) {
    .recent-blog-carousel .card-blog img {
      height: 13.0625rem; } }
  @media (min-width: 992px) {
    .recent-blog-carousel .card-blog img {
      height: 15.5rem; } }

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

    BLOG - FEED

\*  --------------------------------------------------------------------------  */
.feed-blog {
  padding: 0.5rem 0 0;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; }
  @media (min-width: 768px) {
    .feed-blog {
      flex-direction: row;
      justify-content: space-between; } }
  @media (min-width: 992px) {
    .feed-blog {
      padding: 3.25rem 0 0;
      justify-content: flex-start; } }
  .feed-blog picture, .feed-blog img {
    display: block;
    width: 100%;
    height: auto; }
  .feed-blog article {
    margin: 0 0 1.5rem;
    width: 100%;
    display: block; }
    @media (min-width: 768px) {
      .feed-blog article {
        width: calc(50% - 8px); } }
    @media (min-width: 992px) {
      .feed-blog article {
        width: calc(33.333% - 20px);
        margin: 0 1.875rem 3.5rem 0; }
        .feed-blog article:first-child {
          width: 100%;
          margin: 0 0 4rem;
          display: flex;
          flex-direction: row;
          justify-content: flex-start;
          align-items: flex-start; }
          .feed-blog article:first-child > a {
            margin: 0;
            width: 40%;
            padding: 25.36% 0 0; }
          .feed-blog article:first-child .cnt {
            padding: 1.875rem;
            width: 60%; }
            .feed-blog article:first-child .cnt h2 {
              font-size: 1.75rem;
              line-height: 2.25rem; }
            .feed-blog article:first-child .cnt .tag-auth {
              display: flex; }
        .feed-blog article:nth-child(3n+1) {
          margin: 0 0 3.5rem; } }
    .feed-blog article > a {
      width: 100%;
      display: block;
      margin: 0 0 1rem;
      position: relative;
      overflow: hidden;
      padding: 63.8% 0 0; }
      .feed-blog article > a img {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: translate(-50%, -50%); }
      @media (min-width: 768px) {
        .feed-blog article > a {
          padding: 63.9% 0 0; } }
      @media (min-width: 992px) {
        .feed-blog article > a {
          margin: 0 0 1.5rem;
          padding: 72.9% 0 0; } }
    .feed-blog article .cnt h2 {
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.375rem;
      margin: 0 0 0.5rem; }
      @media (min-width: 992px) {
        .feed-blog article .cnt h2 {
          font-size: 1.125rem;
          line-height: 1.5rem;
          margin: 0 0 1rem; } }
      .feed-blog article .cnt h2 a:hover, .feed-blog article .cnt h2 a:focus {
        text-decoration: underline; }
    .feed-blog article .cnt .tag-auth {
      display: none;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      margin: 0 0 1.5rem; }
      .feed-blog article .cnt .tag-auth a, .feed-blog article .cnt .tag-auth span {
        color: #2c5783;
        text-transform: capitalize;
        font-weight: 500;
        font-size: 1.125rem;
        line-height: 1.5rem;
        display: block;
        line-height: 1.5625rem; }
        .feed-blog article .cnt .tag-auth a:nth-child(2), .feed-blog article .cnt .tag-auth span:nth-child(2) {
          border-left: 1px solid #9ebcd7;
          padding-left: 1rem;
          margin-left: 1rem; }
      .feed-blog article .cnt .tag-auth a:hover, .feed-blog article .cnt .tag-auth a:focus {
        text-decoration: underline; }
    .feed-blog article .cnt p {
      margin: 0;
      font-size: 1rem;
      line-height: 1.375rem; }
      @media (min-width: 992px) {
        .feed-blog article .cnt p {
          font-size: 1.125rem;
          line-height: 1.5rem; } }

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

    BLOG - LAYOUT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .layout-blog {
    padding: 0 3rem; } }

@media (min-width: 992px) {
  .layout-blog {
    padding: 0 3.75rem; } }

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

    CART - ACTIONS

\*  --------------------------------------------------------------------------  */
.cart-actions {
  margin-bottom: 1.5rem; }
  .cart-actions [class*='btn-'] {
    width: 100%;
    font-size: 1rem;
    padding: 0.75rem; }

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

    CART - LAYOUT

\*  --------------------------------------------------------------------------  */
.cart {
  margin-top: 3rem; }
  .cart .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: 'aside' 'cnt';
    row-gap: 2rem; }
    @media (min-width: 768px) {
      .cart .container {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 'cnt aside';
        column-gap: 3.4375rem; } }
    @media (min-width: 992px) {
      .cart .container {
        grid-template-columns: 2fr 1fr;
        grid-template-areas: 'cnt aside';
        column-gap: 7.625rem; } }
    @media (min-width: 1200px) {
      .cart .container {
        grid-template-columns: 3fr 21.25rem; } }
  .cart .cnt {
    grid-area: cnt; }
    @media (max-width: 767.9px) {
      .cart .cnt h2.cart-title {
        display: none; } }
  .cart aside {
    grid-area: aside; }
    .cart aside h2.cart-total-text {
      display: none; }
      @media (min-width: 768px) {
        .cart aside h2.cart-total-text {
          display: block; } }
      @media (min-width: 992px) {
        .cart aside h2.cart-total-text {
          margin-bottom: 2rem; } }
    @media (min-width: 768px) {
      .cart aside h2.cart-title {
        display: none; } }
  .cart .badges {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    row-gap: 1rem;
    font-size: 1rem; }
    .cart .badges > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row;
      column-gap: 0.9375rem;
      color: #2c5783; }
      .cart .badges > div [class*='icon-'] {
        color: #3F78B4;
        font-size: 0.9375rem;
        width: 0.9375rem; }
        .cart .badges > div [class*='icon-'].sm {
          font-size: 0.6875rem; }
  .cart .continue-shopping {
    font-weight: 700; }
    .cart .continue-shopping span {
      margin-right: 1rem; }

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

    CART - LINE ITEMS

\*  --------------------------------------------------------------------------  */
.line-items [data-item-sku="100994"], .line-items [data-item-sku="101994"], .line-items [data-item-sku="102994"] {
  display: none; }

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

.line-items table {
  width: 100%;
  font-size: 1rem; }

.line-items h2, .line-items p {
  color: #2c5783;
  text-align: left;
  font-size: 1.125rem;
  margin: 0;
  font-weight: 400; }
  .line-items h2 small, .line-items p 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 img {
  border: 0.0625rem solid #daeaf9; }

.line-items dl {
  display: grid;
  grid-template-columns: 12.5rem auto;
  grid-template-rows: auto;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
  margin: 1rem 0 0.5rem; }

.line-items dt {
  margin: 0; }

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

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

.line-items thead {
  display: none; }

.line-items tr {
  display: grid;
  grid-template-rows: auto;
  border-top: 0.0625rem solid #daeaf9;
  padding: 1.5rem 0 0; }
  .line-items tr:nth-child(n + 2) {
    margin: 1.5rem 0 0;
    padding: 1.5rem 0 0;
    border-top: 0.0625rem solid #daeaf9; }

.line-items td {
  text-align: left; }
  .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;
    display: none !important; }
  .line-items td:nth-child(4) {
    grid-area: quantity;
    justify-content: flex-start; }
  .line-items td:nth-child(5) {
    grid-area: total; }
    .line-items td:nth-child(5) .price--rrp {
      color: #3F78B4; }
      .line-items td:nth-child(5) .price--rrp span {
        position: relative; }
        .line-items td:nth-child(5) .price--rrp span:before {
          content: "";
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%) rotate(0deg);
          height: 0.5px;
          width: 102%;
          background: currentColor; }
  .line-items td:nth-child(6) {
    grid-area: remove;
    text-align: right; }
    .line-items td:nth-child(6) button {
      color: #9ebcd7; }
    .line-items td:nth-child(6):empty {
      display: none; }
  .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: center;
    flex-flow: row nowrap; }

@media (max-width: 767.9px) {
  .line-items tr {
    grid-template-columns: 4.5rem auto 0.8125rem;
    grid-template-areas: 'image name remove'  'image total total'  'image quantity quantity'  'image price price';
    column-gap: 1.625rem;
    row-gap: 0.5rem; }
  .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 {
    grid-template-columns: 6.25rem 1fr auto;
    grid-template-areas: 'image name remove'  'image total remove'  'image quantity  quantity';
    column-gap: 1.5rem;
    row-gap: 1rem;
    padding: 2rem 0 0; }
    .line-items tr:nth-child(n + 2) {
      margin: 2rem 0 0;
      padding: 2rem 0 0;
      border-top: 0.0625rem solid #daeaf9; }
    .line-items tr:last-child {
      margin-bottom: 2rem;
      padding: 2rem 0 !important;
      border-bottom: 1px solid #daeaf9; }
  .line-items td:nth-child(5) {
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start; }
  .line-items [class*="btn-"] {
    width: auto; } }

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

    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 1.5rem; }
    #CartEditProductFieldsForm .form-el p, #CartEditProductFieldsForm .form-el label, #CartEditProductFieldsForm .form-cr p, #CartEditProductFieldsForm .form-cr label {
      display: block;
      width: 100%;
      font-weight: 500;
      margin: 0 0 1rem;
      font-size: 0.875rem;
      color: #183552;
      margin: 0 0 0.75rem; }
    #CartEditProductFieldsForm .form-el small, #CartEditProductFieldsForm .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #3F78B4; }
  #CartEditProductFieldsForm [class*="set-"] label {
    font-weight: normal; }
  #CartEditProductFieldsForm [class*="set-"] .options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row wrap; }
  #CartEditProductFieldsForm input:not([type="checkbox"]):not([type="radio"]) {
    padding: 0.5rem 0.75rem;
    width: 100%;
    max-width: 18.75rem;
    border: 0.125rem solid #9ebcd7; }
    #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: #2c5783; }
  #CartEditProductFieldsForm .productOptions-list {
    border: 1px solid #000;
    list-style: none;
    margin: 0;
    max-height: 400px;
    overflow-y: auto; }
  #CartEditProductFieldsForm .productOptions-list-item {
    padding: 10px; }
    #CartEditProductFieldsForm .productOptions-list-item + .productOptions-list-item {
      border-top: 1px solid #000; }
    #CartEditProductFieldsForm .productOptions-list-item .form-label {
      text-align: left;
      top: -2px; }
  #CartEditProductFieldsForm .productOptions-list-item-figure,
  #CartEditProductFieldsForm .productOptions-list-item-content {
    display: table-cell;
    vertical-align: middle; }
  #CartEditProductFieldsForm .productOptions-list-item-figure {
    width: auto; }
  #CartEditProductFieldsForm .productOptions-list-item-content {
    padding-left: 10px; }
  #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 #9ebcd7; }
    #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: #2c5783;
      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 #9ebcd7;
      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: #9ebcd7;
        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: #2c5783;
        border-color: #2c5783;
        color: #fff; }
  #CartEditProductFieldsForm select {
    padding: 0.5rem 0.75rem;
    width: 100%;
    max-width: 18.75rem;
    -webkit-appearance: none;
    border: 0.125rem solid #9ebcd7;
    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; }
    #CartEditProductFieldsForm select:disabled, #CartEditProductFieldsForm select.unavailable {
      background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
      opacity: 0.5; }
    #CartEditProductFieldsForm select:hover, #CartEditProductFieldsForm select:focus {
      border-color: #2c5783; }
  #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 #daeaf9;
    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: 1.125rem;
  margin-bottom: 0;
  border-top: 0.0625rem solid #daeaf9; }
  @media (max-width: 767.9px) {
    .totals {
      margin: 1.5rem 0 0; } }
  .totals dt, .totals dd {
    width: 50%;
    padding: 1rem 0;
    margin: 0;
    color: #183552; }
    .totals dt:nth-of-type(n + 2), .totals dd:nth-of-type(n + 2) {
      border-top: 0.0625rem solid #daeaf9; }
    .totals dt:last-of-type, .totals dd:last-of-type {
      font-weight: 500;
      color: #2c5783;
      padding: 1.5rem 0; }
  .totals dt {
    text-align: left;
    font-weight: 500; }
  .totals dd {
    text-align: right; }
    .totals dd.full {
      width: 100%; }
    .totals dd > button {
      color: #9ebcd7; }

/*  --------------------------------------------------------------------------  *\
    CATALOG COMPONENTS
\*  --------------------------------------------------------------------------  */
.layout-brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .layout-brands {
      grid-template-columns: repeat(3, 1fr);
      column-gap: 1.5rem;
      row-gap: 1.5rem; } }
  @media (min-width: 992px) {
    .layout-brands {
      grid-template-columns: repeat(4, 1fr);
      column-gap: 2rem;
      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 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    row-gap: 0.5rem; }
    .card .cta .actions {
      align-self: start;
      height: 2.625rem; }
      .card .cta .actions .form {
        margin-bottom: 0; }
    @media (max-width: 767.9px) {
      .card .cta .actions {
        width: 100%; } }
    @media (min-width: 992px) {
      .card .cta {
        flex-direction: row;
        align-items: flex-end; } }
    .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 .condition {
    position: absolute;
    z-index: 1;
    padding: 1.0625rem;
    background-color: #2c5783;
    clip-path: polygon(100% 0, 0 0, 0 100%); }
    .card .condition .text {
      font-size: 0.875rem;
      color: #fff;
      text-transform: capitalize;
      transform: translate(-10px, -10px) rotate(-45deg); }
  .card .img {
    position: relative;
    padding: 100% 0 0;
    border: 0.0625rem solid #daeaf9;
    overflow: hidden; }
    .card .img picture, .card .img > a > img {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      overflow: hidden;
      width: 100%;
      display: block; }
      .card .img picture.default, .card .img > a > img.default {
        background-color: #f8f8f8; }
    .card .img img {
      display: block;
      width: 100%;
      height: 100%;
      height: auto; }
  .card h3 {
    font-size: 0.875rem;
    font-weight: 700;
    margin: 1rem 0 0.25rem;
    margin: 1rem 0 0.25rem; }
    @media (min-width: 768px) {
      .card h3 {
        margin: 1.5rem 0 0.75rem;
        font-size: 1.125rem; } }
    @media (min-width: 992px) {
      .card h3 {
        font-size: 1rem; } }
    .card h3 a {
      color: #393939;
      font-weight: 500;
      display: -webkit-box !important;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden; }
      .card h3 a:hover, .card h3 a:focus {
        text-decoration: underline; }
    .card h3 small {
      display: block;
      font-size: .75em;
      margin: 0 0 .3333em;
      min-height: 1em; }
  .card .wine-info {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    margin-bottom: 1.5rem; }
    @media (min-width: 992px) {
      .card .wine-info {
        letter-spacing: 2px;
        font-size: 0.875rem; } }
  .card .bulk-pricing--plp {
    font-size: 1rem;
    color: #3F78B4;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    margin-bottom: 1rem;
    font-style: normal; }
    .card .bulk-pricing--plp i {
      font-size: 1.25rem;
      margin-right: 0.5rem; }
  .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 {
    font-size: 0.875rem;
    font-weight: 500; }
    .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; }
    @media (min-width: 992px) {
      .card .price {
        font-size: 1rem;
        padding-right: 0.9375rem; } }
  @media (min-width: 992px) {
    .card .cta.old-prices {
      justify-content: flex-start;
      flex-direction: column; }
      .card .cta.old-prices .price-section {
        border-right: none; }
      .card .cta.old-prices .actions {
        padding: 0; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper {
      border-right: none;
      display: flex;
      flex-direction: row;
      width: 100%;
      margin: 0 0 0.5rem; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper .main-price {
      border-right: none; } }
  .card .cta.old-prices .price-wrapper .main-price .price {
    color: #393939;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.125rem;
    margin: 0 0 0.5rem;
    display: block; }
    @media (min-width: 992px) {
      .card .cta.old-prices .price-wrapper .main-price .price {
        font-size: 1rem;
        line-height: 1.5rem;
        padding-right: 0.9375rem;
        margin: 0; } }
  @media (min-width: 992px) {
    .card .cta.old-prices .price-wrapper .old-price {
      display: flex;
      flex-direction: row;
      align-items: center;
      padding-left: 1rem; } }
  .card .cta.old-prices .price-wrapper .old-price .price-section {
    color: #3F78B4;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 0.75rem;
    margin: 0 0 0.5rem;
    border-right: none; }
    @media (min-width: 992px) {
      .card .cta.old-prices .price-wrapper .old-price .price-section {
        line-height: 1.5rem;
        margin: 0 0.5rem 0 0; }
        .card .cta.old-prices .price-wrapper .old-price .price-section:last-child {
          margin: 0; } }
    .card .cta.old-prices .price-wrapper .old-price .price-section:last-child {
      margin: 0; }
    .card .cta.old-prices .price-wrapper .old-price .price-section span {
      margin: 0;
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 0.75rem;
      position: relative;
      padding: 0; }
      .card .cta.old-prices .price-wrapper .old-price .price-section span:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(0deg);
        height: 0.5px;
        width: 102%;
        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; }
  @media (min-width: 992px) {
    .card .actions {
      padding-left: 0.9375rem; } }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }

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

    CATEGORY - LAYOUT

\*  --------------------------------------------------------------------------  */
.layout-category {
  margin-top: 1.5rem; }
  @media (min-width: 992px) {
    .layout-category {
      margin-top: 3rem; } }
  .layout-category aside nav {
    position: relative;
    position: -webkit-sticky;
    position: sticky; }
    @supports (position: -webkit-sticky) {
      .layout-category aside nav {
        top: 5rem; } }
    @supports (position: sticky) {
      .layout-category aside nav {
        top: 5rem; } }
    @media (min-width: 992px) {
      .layout-category aside nav {
        position: relative;
        position: -webkit-sticky;
        position: sticky; }
        @supports (position: -webkit-sticky) {
          .layout-category aside nav {
            top: 9.375rem; } }
        @supports (position: sticky) {
          .layout-category aside nav {
            top: 9.375rem; } } }
  @media (min-width: 992px) {
    .layout-category {
      display: grid;
      grid-template-columns: .7fr 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 - LANDING

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

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

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

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

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

    DETAIL

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

    @import 'detail/description';

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

    DETAIL - HEADER

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

    DETAIL - LAYOUT

\*  --------------------------------------------------------------------------  */
.product-view, .productView {
  display: grid;
  row-gap: 0;
  column-gap: 0;
  margin-top: 3rem;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-template-areas: "gallery" "title" "details"; }
  .product-view .gallery, .productView .gallery {
    grid-area: gallery; }
    .product-view .gallery img, .productView .gallery img {
      border: 0.0625rem solid #daeaf9; }
    .product-view .gallery .gallery-main, .productView .gallery .gallery-main {
      display: block; }
  .product-view .title, .productView .title {
    grid-area: title; }
  .product-view .details, .productView .details {
    grid-area: details; }
  .product-view #stamped-main-widget #stamped-reviews-tab, .product-view #stamped-main-widget #stamped-reviews-filter, .product-view #stamped-main-widget .stamped-summary-text, .product-view #stamped-main-widget .stamped-tabs, .productView #stamped-main-widget #stamped-reviews-tab, .productView #stamped-main-widget #stamped-reviews-filter, .productView #stamped-main-widget .stamped-summary-text, .productView #stamped-main-widget .stamped-tabs {
    display: none !important; }
  @media (min-width: 768px) {
    .product-view, .productView {
      grid-template-columns: 50% 1fr;
      grid-template-rows: auto 1fr;
      grid-template-areas: "gallery title" "gallery details";
      row-gap: 1.5rem;
      column-gap: 1.1875rem; }
      .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 {
      grid-template-columns: 40% 1fr;
      column-gap: 1.9375rem;
      margin-bottom: 4.5rem; } }
  .product-view .bulk-pricing--title, .productView .bulk-pricing--title {
    color: #183552;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row;
    margin-bottom: 1rem; }
    .product-view .bulk-pricing--title i, .productView .bulk-pricing--title i {
      color: #3F78B4;
      font-size: 1.25rem;
      margin-right: 0.5rem; }
  .product-view .bulk-pricing--table, .productView .bulk-pricing--table {
    background: #f7f9fb;
    border: 1px solid #9ebcd7;
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem; }
    @media (min-width: 1200px) {
      .product-view .bulk-pricing--table, .productView .bulk-pricing--table {
        width: 65%; } }
    .product-view .bulk-pricing--table li, .productView .bulk-pricing--table li {
      padding: 0 0.5rem;
      font-weight: 500;
      line-height: 1.5rem;
      color: #2c5783; }
      .product-view .bulk-pricing--table li::before, .productView .bulk-pricing--table li::before {
        display: none; }
      .product-view .bulk-pricing--table li + li, .productView .bulk-pricing--table li + li {
        border-top: 1px solid #9ebcd7;
        padding-top: 0.5rem; }

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

    DETAIL - HEADER - TITLE

\*  --------------------------------------------------------------------------  */
.title h4 {
  font-weight: 500;
  letter-spacing: normal;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  color: #3F78B4; }
  @media (min-width: 992px) {
    .title h4 {
      font-size: 1rem; } }

.title h1 {
  font-size: 1.125rem;
  margin: 0 0 1rem;
  font-weight: 500; }
  @media (min-width: 992px) {
    .title h1 {
      font-size: 1.75rem; } }
  .title h1 small {
    display: block;
    margin: 0 0 0.25rem;
    font-size: 0.75rem; }
    @media (min-width: 768px) {
      .title h1 small {
        font-size: 0.875rem; } }

.title .review-text {
  text-decoration: underline; }

.details .more a {
  text-decoration: underline; }

.details .more .morecontent span {
  display: none;
  font-weight: normal !important; }

.details .more .morelink {
  display: inline;
  text-decoration: underline; }

.details .note {
  font-weight: 500; }

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

    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: sticky;
  top: 6.25rem;
  margin-bottom: 1.25rem; }
  @media (min-width: 992px) {
    .gallery-wrap {
      top: 10rem; } }

.gallery img {
  width: 100%; }

.gallery .gallery-main {
  max-width: 15.625rem;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .gallery .gallery-main {
      max-width: 100%;
      height: auto; } }
  .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; }
  @media (min-width: 768px) {
    .gallery .gallery-thumbs {
      padding: 1.25rem 3.125rem; }
      .gallery .gallery-thumbs > div div {
        max-height: 6.25rem; } }
  .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 img {
      padding: 0.125rem; }
  .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 #daeaf9; }
        .gallery .gallery-thumbs a.is-active {
          border: 1px solid #daeaf9; } }
  .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: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: row nowrap; }
  .rating span + span {
    margin: 0 0 0 0.25rem; }

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

    CATALOG - DETAIL - HEADER - PRICE

\*  --------------------------------------------------------------------------  */
.review-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-flow: row;
  column-gap: 1rem;
  margin-bottom: 2rem;
  align-items: flex-start; }
  .review-wrap .productView-reviewLink {
    text-decoration: underline;
    cursor: pointer; }
  @media (min-width: 992px) {
    .review-wrap {
      margin-bottom: 1.5rem; } }
  @media (min-width: 992px) {
    .review-wrap .price-wrapper .main-price {
      border-right: none; } }
  .review-wrap .price-wrapper .main-price .price {
    color: #000;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5rem;
    margin: 0 0 0.5rem;
    display: block; }
    @media (min-width: 992px) {
      .review-wrap .price-wrapper .main-price .price {
        font-size: 1.5rem;
        line-height: 2.25rem;
        margin: 0 0 1rem; } }
  .review-wrap .price-wrapper .old-price .price-section {
    color: #3F78B4;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 0.75rem;
    margin: 0 0 0.5rem;
    border-right: none; }
    .review-wrap .price-wrapper .old-price .price-section.price-section--saving {
      color: #000; }
      .review-wrap .price-wrapper .old-price .price-section.price-section--saving span:before {
        display: none; }
    @media (min-width: 992px) {
      .review-wrap .price-wrapper .old-price .price-section {
        font-size: 1rem;
        line-height: 1rem; }
        .review-wrap .price-wrapper .old-price .price-section:last-child {
          margin: 0; } }
    .review-wrap .price-wrapper .old-price .price-section:last-child {
      margin: 0; }
    .review-wrap .price-wrapper .old-price .price-section span {
      margin: 0;
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 0.75rem;
      position: relative;
      padding: 0; }
      @media (min-width: 992px) {
        .review-wrap .price-wrapper .old-price .price-section span {
          font-size: 1rem;
          line-height: 1rem; } }
      .review-wrap .price-wrapper .old-price .price-section span:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) rotate(0deg);
        height: 0.5px;
        width: 102%;
        background: currentColor; }

.price {
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0; }
  @media (min-width: 992px) {
    .price {
      font-size: 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; }

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

    CATALOG - DETAIL - HEADER - INFO

\*  --------------------------------------------------------------------------  */
.info {
  margin: 0 0 1.5rem;
  font-size: 0.875rem; }
  .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 form {
    margin: 0; }

.add-to-cart-wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-areas: "qty social" "atc atc" "alert alert";
  column-gap: 1.5rem;
  row-gap: 1.5rem;
  align-items: center; }
  .add-to-cart-wrapper .form-increment {
    grid-area: qty;
    margin-bottom: 0; }
  .add-to-cart-wrapper .share {
    grid-area: social;
    margin: 0; }
    .add-to-cart-wrapper .share .icon-envelope {
      font-size: 1.0625rem; }
  .add-to-cart-wrapper .alertbox {
    grid-area: alert; }
  .add-to-cart-wrapper .form-action {
    grid-area: atc; }
    .add-to-cart-wrapper .form-action [class*='btn-'] {
      width: 100%; }
      @media (min-width: 768px) {
        .add-to-cart-wrapper .form-action [class*='btn-'] {
          width: 17.4375rem; } }
      @media (min-width: 992px) {
        .add-to-cart-wrapper .form-action [class*='btn-'] {
          width: auto; } }
  @media (min-width: 992px) {
    .add-to-cart-wrapper {
      display: flex;
      margin-bottom: 2.5rem; } }

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

    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 ul .socialLinks-item--email {
      display: none; }
  nav.share li {
    margin: 0 0.5rem; }
  nav.share a {
    color: #3F78B4; }
    nav.share a:hover, nav.share a:focus {
      color: #2c5783; }

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

    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 #daeaf9;
  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 {
  border: 1px solid #000;
  list-style: none;
  margin: 0;
  max-height: 400px;
  overflow-y: auto; }

.productOptions-list-item {
  padding: 10px; }
  .productOptions-list-item + .productOptions-list-item {
    border-top: 1px solid #000; }
  .productOptions-list-item .form-label {
    text-align: left;
    top: -2px; }

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

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

.productOptions-list-item-content {
  padding-left: 10px; }

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - FORM ELEMENTS

\*  --------------------------------------------------------------------------  */
.form-el, .form-cr {
  margin: 0 0 1.5rem; }
  .form-el p, .form-el label, .form-cr p, .form-cr label {
    display: block;
    width: 100%;
    font-weight: 500;
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: #183552;
    margin: 0 0 0.75rem; }
  .form-el small, .form-cr small {
    font-size: .75em;
    font-weight: normal;
    font-style: italic;
    color: #3F78B4; }

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

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

    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 #9ebcd7; }
  .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: #2c5783;
    box-shadow: inset 0 0 0 0.1875rem #fff; }

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET SELECT

\*  --------------------------------------------------------------------------  */
select {
  padding: 0.5rem 0.75rem;
  width: 100%;
  max-width: 18.75rem;
  -webkit-appearance: none;
  border: 0.125rem solid #9ebcd7;
  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; }
  select:disabled, select.unavailable {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    opacity: 0.5; }
  select:hover, select:focus {
    border-color: #2c5783; }

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */
.set-rectangle {
  margin-bottom: 1.875rem !important; }
  .set-rectangle label {
    border: 0.0625rem solid #9ebcd7;
    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: #9ebcd7;
      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: #2c5783;
      border-color: #2c5783;
      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 #daeaf9;
  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 #stamped-badge-widget {
  display: none; }

.description #stamp-product-review .header-wrapper {
  display: flex;
  column-gap: 1rem; }
  .description #stamp-product-review .header-wrapper .title {
    font-weight: 500; }
  .description #stamp-product-review .header-wrapper .rating-wrapper {
    display: flex;
    column-gap: 0.375rem; }
    .description #stamp-product-review .header-wrapper .rating-wrapper .rating {
      color: #fbb03b; }

.description #stamp-product-review .stamped-main-widget {
  margin: 0 !important; }

.description #stamp-product-review .stamped-container {
  margin: 0 !important; }
  .description #stamp-product-review .stamped-container .summary-overview, .description #stamp-product-review .stamped-container .stamped-summary-ratings {
    display: none !important; }
  .description #stamp-product-review .stamped-container .stamped-summary-actions {
    float: left !important; }
    .description #stamp-product-review .stamped-container .stamped-summary-actions .stamped-summary-actions-newreview {
      margin: 0 !important; }
  .description #stamp-product-review .stamped-container .stamped-tab-container {
    display: none !important; }
  .description #stamp-product-review .stamped-container .new-review-form.stamped-visible {
    border: none !important;
    padding: 5.3125rem 0 0 !important; }
    @media (min-width: 992px) {
      .description #stamp-product-review .stamped-container .new-review-form.stamped-visible {
        padding: 8.875rem 0 0 !important; } }

.description .accordion dt {
  margin: 0; }
  .description .accordion dt button {
    font-weight: 500;
    font-family: "futura-pt", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    color: #183552;
    border-color: #9ebcd7;
    border-bottom: 1px solid #9ebcd7;
    padding: 1rem 0; }
    .description .accordion dt button[aria-expanded="true"] {
      border-bottom-color: #fff; }
      .description .accordion dt button[aria-expanded="true"] span {
        transform: rotate(180deg); }
    @media (min-width: 992px) {
      .description .accordion dt button {
        padding: 1.5rem 0; } }
    .description .accordion dt button span {
      font-size: 1rem;
      color: #9ebcd7; }
      .description .accordion dt button span::after {
        display: none; }

.description .accordion dd {
  border-bottom: 1px solid #9ebcd7;
  padding-bottom: 1rem; }
  .description .accordion dd img {
    width: 100%;
    margin-bottom: 1.5rem; }
  .description .accordion dd p, .description .accordion dd .review-text {
    margin-bottom: 0; }
  .description .accordion dd .review-cnt {
    border: 0.0625rem solid #9ebcd7;
    padding: 1.5rem;
    border-left-width: 9px;
    border-style: solid; }
    .description .accordion dd .review-cnt .rating {
      margin-top: 1.5rem; }
      .description .accordion dd .review-cnt .rating:first-of-type {
        margin-top: 0; }
    .description .accordion dd .review-cnt .review {
      text-decoration: none; }
    .description .accordion dd .review-cnt [class*='icon-'] {
      color: #fbb03b; }
  @media (min-width: 992px) {
    .description .accordion dd {
      padding-bottom: 1.5rem; } }

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

    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 #daeaf9; }
  @media (min-width: 992px) {
    .modal-header {
      padding: 1rem; } }
  .modal-header h2 {
    margin-bottom: 0;
    font-size: 1.5rem;
    text-align: center !important; }

.modal-mini-cart {
  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);
  max-width: 80%;
  height: 100% !important;
  max-height: 100%;
  overflow: scroll;
  top: 0 !important;
  left: inherit;
  right: 0 !important;
  border-radius: 0; }
  @media (min-width: 768px) {
    .modal-mini-cart {
      max-width: 25rem; } }
  .modal-mini-cart.open {
    width: 80%;
    z-index: 100000;
    transform: translate(0, 0); }
    @media (min-width: 768px) {
      .modal-mini-cart.open {
        width: 25rem; } }
  .modal-mini-cart .modal-header {
    padding: 1.5rem;
    background: #daeaf9; }
    .modal-mini-cart .modal-header * {
      text-transform: capitalize;
      text-align: center;
      color: #183552;
      font-size: 1rem; }
    .modal-mini-cart .modal-header p {
      margin-bottom: 0.1875rem; }
    .modal-mini-cart .modal-header h2 {
      font-weight: 700; }
  .modal-mini-cart .modal-body {
    padding: 1.5rem 2.5rem; }
  .modal-mini-cart .modal-close {
    background: transparent; }
  .modal-mini-cart .previewCart {
    position: static;
    display: block;
    left: auto;
    top: auto;
    transform: none;
    background: none; }
    .modal-mini-cart .previewCart .productView {
      display: grid;
      grid-template-columns: 5rem 1fr;
      border: 1px solid #f7f9fb;
      align-items: center;
      column-gap: 1rem;
      row-gap: 0;
      padding: 0.75rem 0;
      font-size: 0.875rem;
      border-radius: 0.25rem;
      padding: 0.5rem;
      box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.08);
      margin: 2.5rem 0 0; }
      .modal-mini-cart .previewCart .productView img {
        width: 100%;
        height: auto; }
      .modal-mini-cart .previewCart .productView p {
        font-weight: 500;
        margin-bottom: 0.5rem; }
      .modal-mini-cart .previewCart .productView .name {
        margin: 0 0 0.5rem;
        font-size: 0.875rem;
        line-height: 1.3;
        white-space: normal;
        transition: .25s all ease-in-out; }
        .modal-mini-cart .previewCart .productView .name:hover {
          color: #3F78B4; }
    .modal-mini-cart .previewCart .previewCartCheckout {
      order: 1;
      margin-bottom: 1.25rem; }
      .modal-mini-cart .previewCart .previewCartCheckout [class*="btn-"] {
        width: 100%;
        margin: 0; }
        .modal-mini-cart .previewCart .previewCartCheckout [class*="btn-"] + [class*="btn-"] {
          margin: 0.5rem 0 0; }
      .modal-mini-cart .previewCart .previewCartCheckout .buttons {
        display: flex;
        flex-direction: column;
        row-gap: 0.5rem; }
        .modal-mini-cart .previewCart .previewCartCheckout .buttons a {
          font-size: 1rem;
          font-weight: 500;
          margin: 0 !important;
          width: 100%; }
        .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary:hover, .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary:focus {
          color: #183552; }
        .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-secondary {
          margin-bottom: 0.5rem; }
        .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary.invert {
          border-color: #2c5783;
          color: #183552; }
          .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary.invert:hover {
            background: #daeaf9; }
          .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary.invert:active, .modal-mini-cart .previewCart .previewCartCheckout .buttons .btn-primary.invert:focus {
            background: #f7f9fb;
            border-color: #3F78B4; }
      .modal-mini-cart .previewCart .previewCartCheckout .subtotal {
        text-transform: capitalize;
        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 1.5rem;
        color: #183552; }
        .modal-mini-cart .previewCart .previewCartCheckout .subtotal strong {
          font-weight: 700; }
      .modal-mini-cart .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; }
        .modal-mini-cart .previewCart .previewCartCheckout .CheckoutButton > p {
          display: none; }
      .modal-mini-cart .previewCart .previewCartCheckout .RemoteCheckout {
        width: 100% !important;
        margin-bottom: 1rem; }
        .modal-mini-cart .previewCart .previewCartCheckout .RemoteCheckout p {
          display: none !important; }
        .modal-mini-cart .previewCart .previewCartCheckout .RemoteCheckout div, .modal-mini-cart .previewCart .previewCartCheckout .RemoteCheckout button {
          width: 100% !important; }
      .modal-mini-cart .previewCart .previewCartCheckout p {
        font-size: 0.875rem;
        margin: 0 0 1rem; }

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

    CUSTOM ELEMENTS

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

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

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

    DETAIL - CUSTOM - CUTLIST

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

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

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

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

    FEEDS

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

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

    PRODUCT > FEEDS > STATIC

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

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

    PRODUCT > FEEDS > CAROUSEL

\*  --------------------------------------------------------------------------  */
.feeds-carousel {
  position: relative;
  padding-bottom: 3.125rem; }
  .feeds-carousel .slick-slider {
    margin: 0 -0.5rem;
    width: calc(100% + 1rem); }
    @media (min-width: 768px) {
      .feeds-carousel .slick-slider {
        margin: 0 -0.75rem;
        width: calc(100% + 1.5rem); } }
    @media (min-width: 992px) {
      .feeds-carousel .slick-slider {
        margin: 0 -1rem;
        width: calc(100% + 2rem); } }
  .feeds-carousel .slick-list {
    padding: 0.3125rem 0; }
  .feeds-carousel .slick-initialized .slick-slide {
    display: flex; }
  .feeds-carousel .slick-dots {
    width: 98%; }
  .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: 768px) {
      .feeds-carousel .carousel-heading-container {
        margin-bottom: 1.5rem; } }
    @media (min-width: 992px) {
      .feeds-carousel .carousel-heading-container {
        margin-bottom: 2rem; } }
    @media (min-width: 576px) {
      .feeds-carousel .carousel-heading-container {
        justify-content: flex-start; } }
    .feeds-carousel .carousel-heading-container h2 {
      margin-bottom: 0; }
    .feeds-carousel .carousel-heading-container .line {
      display: none;
      height: 2px;
      background: transparent;
      flex: 1;
      margin: 0 1.875rem; }
      @media (min-width: 576px) {
        .feeds-carousel .carousel-heading-container .line {
          display: block; } }
  .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
    width: 100%;
    margin: 0 0.5rem; }
    @media (min-width: 768px) {
      .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 0.75rem; } }
    @media (min-width: 992px) {
      .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 1rem; } }

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

    OPTIMIZED CHECKOUT - SUMMARY

\*  --------------------------------------------------------------------------  */
.cart-section-heading, .cartDrawer-items {
  display: none; }

.processing-fee {
  display: none; }

#applyRedeemableButton {
  width: auto; }

.paymentProviderHeader-name {
  display: inline; }

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

    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: #2c5783;
  color: #fff;
  border-color: #2c5783; }
  .button--primary:hover, .button--primary:focus, .button--action:hover, .button--action:focus {
    background: #fff;
    color: #2c5783;
    border-color: #2c5783; }

.button--tertiary {
  background: #daeaf9;
  border-color: #daeaf9;
  color: #393939; }
  .button--tertiary:hover, .button--tertiary:focus {
    background: #9ebcd7;
    border-color: #9ebcd7;
    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; } }

@media (max-width: 991.9px) {
  main#content {
    margin-top: 3.125rem; } }

.content-page div.cnt {
  grid-column: 1 / -1; }

@media (min-width: 992px) {
  .content-page div.cnt {
    grid-column: 1 / 12; } }

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

    PAGE - NAV - INTERIOR

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

nav.int a {
  color: #2c2c2c; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.product-carousel-widget .carousel-heading-container {
  justify-content: space-between; }

.product-carousel-widget .card .cnt h3 {
  color: #393939;
  font-weight: 500; }
  .product-carousel-widget .card .cnt h3 a {
    min-height: 0; }

.product-carousel-widget .card .condition {
  top: 0; }

.product-carousel-widget .card .cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column;
  row-gap: 0.5rem; }
  @media (min-width: 992px) {
    .product-carousel-widget .card .cta {
      flex-direction: row;
      align-items: center; }
      .product-carousel-widget .card .cta div:first-child {
        margin-right: 1rem;
        padding-right: 1rem; } }
  .product-carousel-widget .card .cta p {
    margin: 0; }
  .product-carousel-widget .card .cta a {
    width: auto;
    margin-top: 0.3125rem; }
    .product-carousel-widget .card .cta a input {
      margin-right: 0.3125rem; }

.product-carousel-widget .slick-dots button {
  font-size: 0; }

/*  --------------------------------------------------------------------------  *\
    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: 3rem;
  column-gap: 1rem; }
  @media (min-width: 768px) {
    .feeds-grid {
      grid-template-columns: 1fr 1fr 1fr; } }
  @media (min-width: 992px) {
    .feeds-grid {
      column-gap: 1.9375rem;
      row-gap: 3rem; } }

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

    SEARCH - ACTION BAR

\*  --------------------------------------------------------------------------  */
.action-bar {
  background: #daeaf9;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-flow: row nowrap;
  width: 100%;
  margin: 0 0 1.5rem; }
  .action-bar .form-el {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-flow: row nowrap; }
    .action-bar .form-el:only-child {
      margin: 0; }
  .action-bar select {
    font-size: 1em;
    width: auto;
    padding-right: 1.5rem; }
    .action-bar select [value="featured"], .action-bar select [value="avgcustomerreview"] {
      display: none; }
  .action-bar label {
    margin: 0 0.5rem 0 0;
    font-weight: bold;
    white-space: nowrap; }

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

    SEARCH - FACETS

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

.open-filters {
  display: none; }
  @media (min-width: 992px) {
    .open-filters {
      position: absolute; } }
  @media (max-width: 991.9px) {
    .open-filters {
      display: block;
      margin-bottom: 2rem;
      font-size: 1.125rem;
      color: #2c5783 !important; }
      .open-filters [class*="icon-"] {
        margin-left: 0.5rem; } }

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

#facetedSearch {
  background-color: #fff;
  padding: 1.25rem;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }
  @media (min-width: 992px) {
    #facetedSearch {
      padding: 0 0.625rem 1.25rem 0; } }
  #facetedSearch .close-btn {
    margin-bottom: 1.5rem;
    display: block; }
    @media (min-width: 992px) {
      #facetedSearch .close-btn {
        opacity: 0;
        height: 0;
        overflow: hidden; } }
  #facetedSearch::-webkit-scrollbar {
    display: none; }

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

dl.facets {
  /*  ----------------------------------------------------------------------  *\
        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-bottom: 1px solid #9ebcd7; }
    dl.facets dt button {
      padding: 0 0 0.5rem;
      font-weight: 500;
      font-size: 1.125rem;
      color: #2c5783; }
      dl.facets dt button [class*='icon-'] {
        color: #9ebcd7; }
    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; }
    dl.facets dt ~ dt {
      margin: 2rem 0 0; }
  dl.facets dd {
    margin-bottom: 1.25rem;
    padding: 1.625rem 0 0;
    font-size: 0.875rem; }
  dl.facets .toggleLink {
    white-space: nowrap;
    display: flex;
    text-align: right;
    flex-direction: column; }
  dl.facets ul {
    padding: 0; }
  dl.facets li {
    padding: 0; }
    dl.facets li:before {
      display: none; }
    dl.facets li + li {
      margin: 0.5rem 0 0; }
  dl.facets a {
    display: block;
    line-height: 1.1;
    position: relative;
    font-size: 1rem;
    text-transform: capitalize;
    display: grid;
    grid-template-columns: 30px 1fr auto;
    align-items: center;
    margin: 0 0 0.75rem; }
    dl.facets a:before {
      position: relative;
      top: 1px;
      display: none;
      height: 1.25rem;
      width: 1.25rem;
      border: 0.0625rem solid #9ebcd7;
      content: "";
      margin-right: 0.25rem; }
    dl.facets a:after {
      display: none;
      position: absolute;
      left: 0.6875rem;
      top: 0.6em;
      -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.6875rem;
      border-left: 0.125rem solid #2c5783;
      border-bottom: 0.125rem solid #2c5783;
      content: ""; }
    dl.facets a.is-active:before {
      background-color: #2c5783;
      border-color: #2c5783; }
    dl.facets a.is-active:after {
      display: block;
      border-color: #fff; }
  dl.facets a[rel=nofollow]:before {
    display: inline-block; }
  dl.facets .form-fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: 'min max' 'btn btn';
    column-gap: 1rem;
    row-gap: 1.5rem; }
    dl.facets .form-fieldset :first-child {
      grid-area: min; }
    dl.facets .form-fieldset :nth-child(2) {
      grid-area: max; }
    dl.facets .form-fieldset :last-child {
      grid-area: btn; }
    dl.facets .form-fieldset input {
      padding: 0.625rem 1rem;
      border-radius: 0;
      border-color: #3F78B4;
      color: #3F78B4; }
      dl.facets .form-fieldset input::placeholder {
        color: #3F78B4; }
    dl.facets .form-fieldset .form-el {
      margin-bottom: 0; }
    dl.facets .form-fieldset [class*="btn-"] {
      padding: 0.625rem 0.375rem;
      font-size: 0.875rem;
      color: #393939;
      border-color: #fbb03b;
      width: 100%; }

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

    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 h2 a {
  text-decoration: underline; }

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

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

    SEARCH - LAYOUT

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

@media (min-width: 992px) {
  .layout-search {
    display: grid;
    grid-template-columns: .7fr 3fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 2rem; } }

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

    SEARCH - SEARCH

\*  --------------------------------------------------------------------------  */
.search .form-el > div {
  border: 0.0625rem solid #9ebcd7;
  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 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 #2c5783;
          width: 0.75rem;
          height: 0.75rem;
          line-height: 0.8125rem;
          text-indent: 0;
          font-size: 0.875rem;
          text-align: center;
          color: #2c5783;
          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; } }

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

    ACCOUNT - ADDRESSES - FORMS

\*  --------------------------------------------------------------------------  */
.account form {
  margin-bottom: 0; }

.account .form-el select {
  max-width: none;
  padding: 0.75rem 3rem 0.75rem 1.5rem;
  border: 0.0625rem solid #9ebcd7;
  width: 100%;
  transition: .25s all ease-in-out;
  font-weight: 500;
  font-size: 0.875rem;
  color: #2c5783;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDE2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik03LjAwMDE4IDguMTAwMTNMOCA5TDE2IDEuNzk5NzVMMTQuMDAwNCAwTDggNS4zOTkyNEwxLjk5OTY1IDBMMCAxLjc5OTc1TDcuMDAwMTggOC4xMDAxM1oiIGZpbGw9IiM5RUJDRDciLz4KPC9zdmc+");
  background-position: calc(100% - 16px);
  background-size: 16px 19px;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none; }
  .account .form-el select:hover {
    background-color: #f7f9fb; }
  .account .form-el select:focus {
    border-color: #183552; }
  .account .form-el select::placeholder {
    color: #2c5783; }

@media (min-width: 768px) {
  .account .form-el.update-details {
    min-height: 4.8125rem;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end; }
    .account .form-el.update-details .form-actions {
      margin: 0;
      width: auto; }
      .account .form-el.update-details .form-actions .btn-primary {
        margin: 0; } }

@media (min-width: 992px) {
  .account .feeds-grid {
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr; } }

.account .form-actions.messages-fa {
  display: flex;
  flex-direction: column; }
  @media (min-width: 768px) {
    .account .form-actions.messages-fa {
      flex-direction: row; } }
  .account .form-actions.messages-fa .btn-secondary {
    background: #fff;
    color: #183552;
    margin: 1.5rem 0 0 !important; }
    @media (min-width: 768px) {
      .account .form-actions.messages-fa .btn-secondary {
        margin: 0 0 0 1.5rem !important; } }

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

    ACCOUNT - ORDERS - DETAIL

\*  --------------------------------------------------------------------------  */
.details .container > div {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media (max-width: 767.9px) {
    .details .container > div {
      flex-direction: column; } }
  .details .container > div > .cnt {
    width: 40%;
    padding: 1rem;
    display: flex;
    flex-direction: column; }
    @media (max-width: 767.9px) {
      .details .container > div > .cnt {
        width: 100%;
        order: 0; } }
    .details .container > div > .cnt .totals {
      border-top: none;
      column-gap: 0; }
      .details .container > div > .cnt .totals dd, .details .container > div > .cnt .totals dt {
        width: 100%;
        padding: 1rem 0; }
  .details .container > div > aside {
    width: 50%; }
    @media (max-width: 767.9px) {
      .details .container > div > aside {
        width: 100%;
        order: 1; } }

.details aside {
  background: #daeaf9;
  padding: 1rem;
  font-size: 0.875rem; }
  .details aside dl {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    grid-template-rows: auto;
    row-gap: 0.5rem;
    column-gap: 0.5rem; }
  .details aside .form-actions {
    justify-content: flex-start; }
    .details aside .form-actions .btn-primary {
      margin: 0;
      width: auto;
      min-width: 9.375rem; }

.details h2 {
  font-size: 1.125rem;
  padding: 0 0 0.5rem;
  margin: 0 0 0.5rem;
  border-bottom: 0.0625rem solid #9ebcd7; }
  .details h2 ~ h2 {
    margin-top: 1.5rem; }

.details .form-actions {
  flex-flow: column nowrap; }
  .details .form-actions [class*="btn-"] {
    width: 100%; }
    .details .form-actions [class*="btn-"] + [class*="btn-"] {
      margin: 1rem 0 0; }
