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

    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

\*  --------------------------------------------------------------------------  */
@font-face {
  font-family: 'Gotham Rounded';
  src: url("../fonts/GothamRounded-Medium.woff2") format("woff2"), url("../fonts/GothamRounded-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Gotham Rounded Book';
  src: url("../fonts/GothamRounded-Book.woff2") format("woff2"), url("../fonts/GothamRounded-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Gotham Rounded';
  src: url("../fonts/GothamRounded-Bold.woff2") format("woff2"), url("../fonts/GothamRounded-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

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

[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-account:before {
  content: "\f101"; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icon-trash: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.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: #588108;
  transition: transform 0.25s, background 0.25s, color 0.25s; }
  a.skip-content:focus {
    background: #588108;
    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: "Open Sans", Helvetica, Arial, sans-serif;
  cursor: pointer; }

/*  --------------------------------------------------------------------------  *\

    RESETS STYLES ON INPUT ELEMENTS FOR FORMS

\*  --------------------------------------------------------------------------  */
input, select, textarea {
  border-radius: 0px;
  font-family: "Open Sans", 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-visible,
[href]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
button:focus-visible,
details:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 1px dashed #1A1919 !important;
  border-radius: 4px;
  outline-offset: 1px !important; }

input:focus-visible + label {
  outline: 1px dashed #1A1919 !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;
  background: #E9E9E9;
  padding: 0.375rem 0.5rem; }
  .accordion dt button span {
    display: block;
    transition: all .25s linear; }
  .accordion dt button[aria-expanded="true"] span {
    transform: rotate(45deg) rotate(90deg);
    color: #A4A9A6; }

.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;
  padding: 0.5rem;
  margin: 0 0 1.5rem;
  background: #E9E9E9;
  border: 0.0625rem solid #A4A9A6; }
  .alertBox .fas {
    margin: 0 0.75rem 0 0; }
  .alertBox p {
    margin: 0;
    font-size: 0.875rem; }
  .alertBox.error {
    background: #ffe6e6;
    color: #FF0000;
    border-color: #FF0000; }
  .alertBox.success {
    background: #e6ffe6;
    color: green;
    border-color: green; }
  .alertBox.info {
    background: #ebf5ff;
    color: #004085;
    border-color: #004085; }

/*  --------------------------------------------------------------------------  *\

    Buttons

    These are used throughout the website to create a call to action for another element like
    submitting a form, linking to another page, or linking to another element on the same page.
    GENERIC BUTTON STYLES
    This sets up the base of all our styles, it's also the btn-default styles

\*  --------------------------------------------------------------------------  */
[class*="btn-"], .button {
  appearance: none;
  position: relative;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 6.25rem;
  font-size: 1rem;
  line-height: 1rem;
  height: 3rem;
  text-align: center;
  text-decoration: none;
  width: auto;
  font-family: "sofia-pro-soft", sans-serif;
  /*  ----------------------------------------------------------------------  *\

        Button Arrow Options

        @import 'icon/_icon-top';
        @import 'icon/_icon-bottom';
        @import 'icon/_icon-left';
        @import 'icon/_icon-right';

    \*  ----------------------------------------------------------------------  */ }
  [class*="btn-"] i, .button i {
    display: flex;
    padding-top: 4.5px;
    padding-left: 2.5px;
    transition: all .2s ease;
    border: 1px solid #fff;
    width: 16px;
    height: 16px;
    border-radius: 50px;
    transform: translate(8px);
    font-size: 6px; }
  [class*="btn-"].small, .button.small {
    font-size: 0.875rem;
    line-height: 0.875rem;
    height: 2.25rem;
    padding: 0 1.5rem; }
  [class*="btn-"] svg, .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  [class*="btn-"]:focus, .button:focus {
    outline: 1px solid #1A1919; }
  [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-"]: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, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go {
  background: #588108;
  border: 2px solid #588108;
  color: #fff;
  white-space: nowrap;
  transition: all .2s ease; }
  .btn-primary:hover, .btn-primary:focus, .button--primary:hover, .button--primary:focus, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus {
    background-color: #384d0f;
    border: 2px solid #384d0f;
    color: #fff; }
    .btn-primary:hover i, .btn-primary:focus i, .button--primary:hover i, .button--primary:focus i, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover i, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus i {
      transform: translate(16px);
      color: #384d0f;
      background-color: #fff; }
  .btn-primary:active, .button--primary:active, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:active {
    background-color: #192307;
    border: 2px solid #588108; }
  .btn-primary[disabled], .button--primary[disabled], #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled] {
    cursor: not-allowed;
    opacity: .3; }
    .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .button--primary[disabled]:hover, .button--primary[disabled]:focus, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:hover, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:focus {
      transform: none;
      background: #588108;
      border-color: #588108; }
      .btn-primary[disabled]:hover i, .btn-primary[disabled]:focus i, .button--primary[disabled]:hover i, .button--primary[disabled]:focus i, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:hover i, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:focus i {
        color: #fff;
        background: none;
        transform: translate(8px); }
  .invert .btn-primary:hover, .invert .btn-primary:focus, .invert .button--primary:hover, .invert .button--primary:focus, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus {
    color: #588108;
    background-color: #d9e2c6;
    border: 2px solid #d9e2c6; }
    .invert .btn-primary:hover i, .invert .btn-primary:focus i, .invert .button--primary:hover i, .invert .button--primary:focus i, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover i, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus i {
      color: #d9e2c6;
      background-color: #588108;
      border-color: #588108; }
  .invert .btn-primary:active, .invert .button--primary:active, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:active {
    background-color: #fff;
    border: 2px solid #588108; }
  .invert .btn-primary[disabled], .invert .button--primary[disabled], .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled] {
    cursor: not-allowed;
    opacity: .3;
    background: #588108;
    border-color: #588108;
    color: #fff; }
    .invert .btn-primary[disabled]:hover, .invert .btn-primary[disabled]:focus, .invert .button--primary[disabled]:hover, .invert .button--primary[disabled]:focus, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:hover, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:focus {
      transform: none; }
      .invert .btn-primary[disabled]:hover i, .invert .btn-primary[disabled]:focus i, .invert .button--primary[disabled]:hover i, .invert .button--primary[disabled]:focus i, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:hover i, .invert #storemapper #storemapper-form .storemapper-form-inner #storemapper-go[disabled]:focus i {
        border-color: #fff; }

#form-action-addToCart {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 11.875rem; }

/*  --------------------------------------------------------------------------  *\

    Button - Secondary

\*  --------------------------------------------------------------------------  */
.btn-secondary, .button--secondary {
  background: transparent;
  color: #588108;
  border: 1px solid #588108;
  transition: all .2s ease; }
  .btn-secondary i, .button--secondary i {
    border: 1px solid #588108; }
  .btn-secondary:hover, .btn-secondary:focus, .button--secondary:hover, .button--secondary:focus {
    background: #d9e2c6;
    border-color: #d9e2c6;
    color: #588108; }
    .btn-secondary:hover i, .btn-secondary:focus i, .button--secondary:hover i, .button--secondary:focus i {
      transform: translate(16px);
      color: #d9e2c6;
      background-color: #588108;
      border-color: #588108; }
  .btn-secondary:active, .button--secondary:active {
    background: #588108;
    color: #fff;
    border: 1px solid #384d0f;
    box-shadow: inset 0px 0px 0px 1px #384d0f; }
    .btn-secondary:active i, .button--secondary:active i {
      color: #588108;
      background-color: #fff;
      border-color: #fff; }
  .btn-secondary[disabled], .button--secondary[disabled] {
    cursor: not-allowed;
    opacity: .3; }
    .btn-secondary[disabled]:hover, .btn-secondary[disabled]:focus, .button--secondary[disabled]:hover, .button--secondary[disabled]:focus {
      background: #fff;
      color: #588108;
      border-color: #588108; }
      .btn-secondary[disabled]:hover i, .btn-secondary[disabled]:focus i, .button--secondary[disabled]:hover i, .button--secondary[disabled]:focus i {
        transform: translate(8px);
        background-color: #fff;
        border-color: #588108;
        color: #588108; }
  .invert .btn-secondary, .invert .button--secondary {
    border-color: #fff;
    background: transparent;
    color: #fff; }
    .invert .btn-secondary i, .invert .button--secondary i {
      border-color: #fff; }
    .invert .btn-secondary:hover, .invert .btn-secondary:focus, .invert .button--secondary:hover, .invert .button--secondary:focus {
      border-color: #8c8c8c;
      background-color: #8c8c8c;
      color: #fff; }
      .invert .btn-secondary:hover i, .invert .btn-secondary:focus i, .invert .button--secondary:hover i, .invert .button--secondary:focus i {
        background-color: white;
        color: #8c8c8c; }
    .invert .btn-secondary:active, .invert .button--secondary:active {
      background: #fff;
      border-color: #41b4e5;
      box-shadow: inset 0px 0px 0px 1px #41b4e5;
      color: #588108; }
      .invert .btn-secondary:active i, .invert .button--secondary:active i {
        color: #fff;
        background-color: #588108;
        border-color: #588108; }
    .invert .btn-secondary[disabled], .invert .button--secondary[disabled] {
      cursor: not-allowed;
      opacity: .3; }
      .invert .btn-secondary[disabled]:hover, .invert .btn-secondary[disabled]:focus, .invert .button--secondary[disabled]:hover, .invert .button--secondary[disabled]:focus {
        border-color: #fff;
        background: transparent;
        color: #fff; }
        .invert .btn-secondary[disabled]:hover i, .invert .btn-secondary[disabled]:focus i, .invert .button--secondary[disabled]:hover i, .invert .button--secondary[disabled]:focus i {
          background-color: transparent;
          border-color: #fff;
          color: #fff; }

/*  --------------------------------------------------------------------------  *\

    Button - Tertiary

\*  --------------------------------------------------------------------------  */
.btn-tertiary, .button--tertiary {
  background: none;
  border: 0;
  color: #588108;
  height: auto;
  padding: 0;
  position: relative; }
  .btn-tertiary i, .button--tertiary i {
    border-color: #588108; }
  .btn-tertiary:hover, .btn-tertiary:focus, .button--tertiary:hover, .button--tertiary:focus {
    color: #384d0f; }
    .btn-tertiary:hover i, .btn-tertiary:focus i, .button--tertiary:hover i, .button--tertiary:focus i {
      transform: translate(12px);
      border-color: #384d0f;
      background-color: #384d0f;
      color: #fff; }
  .btn-tertiary:active, .button--tertiary:active {
    color: #588108; }
    .btn-tertiary:active i, .button--tertiary:active i {
      background-color: #588108;
      border-color: #588108; }

/*  --------------------------------------------------------------------------  *\

    Button - Text

\*  --------------------------------------------------------------------------  */
.btn-txt {
  background: none;
  border: none;
  padding: 0;
  color: #588108;
  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: #588108; }
    .btn-txt.alt svg {
      fill: currentColor; }
    .btn-txt.alt:hover, .btn-txt.alt:focus {
      color: #588108; }
  .btn-txt:hover, .btn-txt:focus {
    color: #588108;
    background: none; }
    .btn-txt:hover.ico-chevron-right:after, .btn-txt:focus.ico-chevron-right:after {
      border-right-color: #588108;
      border-bottom-color: #588108; }
  .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 #588108;
    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 #588108;
        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: #588108;
        color: #fff; }
  .btn-dropdown [class*="btn-"][aria-expanded="true"] {
    border-radius: 1.4375rem 1.4375rem 0 0; }
    .btn-dropdown [class*="btn-"][aria-expanded="true"] + ul {
      display: block; }

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

    CAROUSEL STYLING

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

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

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

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

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

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

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

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

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

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

    CAROUSEL EXTRAS

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

    CAROUSEL > ARROWS

\*  --------------------------------------------------------------------------  */
.slick-arrow, .scroll-arrow {
  height: 2.9375rem;
  width: 2.9375rem;
  border-radius: 2.9375rem;
  font-size: 1.0625rem;
  background: #588108;
  color: #fff;
  transition: background .25s linear;
  z-index: 1;
  position: relative;
  right: auto;
  left: auto;
  flex-shrink: 1;
  order: 4; }
  @media (min-width: 992px) {
    .slick-arrow, .scroll-arrow {
      height: 3.75rem;
      width: 3.75rem;
      font-size: 1.5rem; } }
  .slick-arrow:hover, .scroll-arrow:hover {
    background: #384d0f;
    color: #fff; }
  .slick-arrow:active, .scroll-arrow:active {
    background: #000;
    border: 2px solid #588108; }
  .slick-arrow.slick-hidden, .scroll-arrow.slick-hidden {
    display: none; }
  .slick-arrow.slick-prev, .scroll-arrow.slick-prev {
    margin-right: 0.5rem; }

.slick-disabled {
  opacity: 0.3; }
  .slick-disabled .carousel-tooltip {
    display: none; }
  .slick-disabled:hover {
    cursor: not-allowed; }

.arrows-pos-side .slick-arrow, .arrows-pos-side .scroll-arrow {
  position: absolute; }
  .arrows-pos-side .slick-arrow.scroll-left, .arrows-pos-side .scroll-arrow.scroll-left {
    left: -2rem; }
  .arrows-pos-side .slick-arrow.scroll-right, .arrows-pos-side .scroll-arrow.scroll-right {
    right: -2rem; }

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

    CAROUSEL > DOTS

\*  --------------------------------------------------------------------------  */
.slick-dots {
  padding-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap; }
  @media (min-width: 992px) {
    .slick-dots {
      padding-top: 2rem; } }
  .slick-dots li {
    margin: 0 0.25rem;
    padding: 0; }
    .slick-dots li button {
      display: block;
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 0.5rem;
      background: #658C1B;
      opacity: 50%; }
      .slick-dots li button:hover {
        background: #4B5950; }
    .slick-dots li:before {
      display: none; }
    .slick-dots li.slick-active button {
      background: #588108;
      opacity: 1; }

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

.compare-container {
  position: absolute;
  bottom: -140px;
  width: 100%;
  padding: 1.5rem 0;
  text-align: center;
  z-index: 1000;
  transition: bottom 0.5s cubic-bezier(0.3, -0.01, 0.49, 1);
  background-color: #FFD100;
  pointer-events: none;
  font-family: "sofia-pro-soft", sans-serif;
  font-weight: 400;
  font-size: 18px;
  opacity: 0; }
  @media (min-width: 768px) {
    .compare-container {
      padding: 1.25rem 0; } }
  .compare-container.show {
    opacity: 1;
    position: sticky;
    display: block;
    background-color: #FFD100;
    pointer-events: inherit;
    bottom: 0; }
    .compare-container.show .btn-primary {
      margin-top: 1.5rem; }
      @media (min-width: 768px) {
        .compare-container.show .btn-primary {
          margin-top: 0; } }
    @media (min-width: 768px) {
      .compare-container.show .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative; } }
    @media (min-width: 768px) {
      .compare-container.show .text {
        display: flex;
        margin-left: 13.75rem; } }
  .compare-container .stickman {
    display: none; }
    @media (min-width: 768px) {
      .compare-container .stickman {
        display: block;
        position: absolute; } }
    @media (min-width: 768px) {
      .compare-container .stickman.left {
        background: no-repeat url("../img/stickman-compare.png");
        background-size: contain;
        width: 2.25rem;
        height: 4.125rem;
        left: 3rem;
        bottom: 0; } }
    @media (min-width: 768px) {
      .compare-container .stickman.right {
        background: no-repeat url("../img/stickgirl.png");
        background-size: contain;
        width: 1.5rem;
        height: 2.875rem;
        left: 9.375rem;
        bottom: 0; } }
  .compare-container .stickwoman {
    display: none; }
    @media (min-width: 768px) {
      .compare-container .stickwoman {
        display: block;
        position: absolute;
        width: 3.25rem;
        height: 5.75rem; } }
    @media (min-width: 768px) {
      .compare-container .stickwoman.left {
        background: no-repeat url("../img/stickwoman.png");
        background-size: contain;
        left: 6rem;
        bottom: -0.5rem; } }

.countPill {
  display: none; }

.countPill--positive {
  display: inline-block;
  margin-right: 0.25rem; }

.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 #E9E9E9; }
  .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: #588108;
    background-color: #E9E9E9;
    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: #588108;
      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 {
  overflow-x: hidden;
  color: #1A1919;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6875rem;
  background: #fff;
  font-weight: 300; }

strong, b {
  font-weight: 600; }

.invert p {
  color: #fff; }

/*  --------------------------------------------------------------------------  *\

    COPY - BASIC LINK STYLES

    BUTTONS are located in the Components > Basic > Button file.

\*  --------------------------------------------------------------------------  */
a {
  color: #588108;
  text-decoration: none;
  font-weight: 400; }
  a:hover, a:focus {
    color: #FFD100;
    text-decoration: underline; }
  address a, a[href*="tel:"] {
    text-decoration: none; }
  .invert a {
    color: #fff; }

p > a, span > a, em > a, article li > a {
  text-decoration: underline; }

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

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

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

/*  --------------------------------------------------------------------------  *\

    COPY - BODY STYLES

\*  --------------------------------------------------------------------------  */
h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  color: #1A1919;
  font-family: "sofia-pro-soft", sans-serif;
  font-weight: 700;
  margin-bottom: 1rem; }
  @media (min-width: 992px) {
    h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
      margin-bottom: 1.5rem; } }
  .invert h1, .invert .h1, .invert h2, .invert .h2, .invert h3, .invert .h3, .invert h4, .invert .h4 {
    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 {
    padding: 2rem 0; }

h5, .h5, h6, .h6 {
  color: #1A1919;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 500; }
  .invert h5, .invert .h5, .invert h6, .invert .h6 {
    color: #fff; }
  h5.pad-extra, .h5.pad-extra, h6.pad-extra, .h6.pad-extra {
    padding: 2rem 0; }

h1, .h1 {
  font-size: 2.25rem;
  line-height: 2.875rem; }
  @media (min-width: 992px) {
    h1, .h1 {
      font-size: 3rem;
      line-height: 3.5rem;
      margin-bottom: 1rem; } }

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

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

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

h5, .h5, h6, .h6 {
  font-size: 1rem;
  line-height: 1.6875rem;
  font-weight: 600; }
  @media (min-width: 992px) {
    h5, .h5, h6, .h6 {
      font-size: 1.125rem;
      line-height: 1.6875rem; } }
  h5.upper, .h5.upper, h6.upper, .h6.upper {
    text-transform: uppercase; }

.marquee {
  position: absolute;
  font-family: "sofia-pro-soft", sans-serif;
  font-size: 3rem;
  white-space: nowrap;
  top: 0.3125rem;
  height: 100px;
  line-height: 1;
  z-index: -1;
  width: 100%;
  overflow: hidden; }
  @media (min-width: 992px) {
    .marquee {
      font-size: 7.5rem; } }

.scrolling {
  animation: marquee 60s linear infinite;
  color: #FFFFFF;
  display: inline-block; }

@keyframes marquee {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

/*  --------------------------------------------------------------------------  *\

    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: 13.5em;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
    ul li + li, ol li + li {
      margin: 0.625rem 0 0; }
  ul ul, ul ol, ol ul, ol ol {
    margin-bottom: 0; }
  nav ul li, nav ol li {
    padding: 0;
    margin: 0; }
    nav ul li:before, nav ol li:before {
      display: none; }

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

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

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

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

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

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

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

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

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

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

    FOOTER

\*  --------------------------------------------------------------------------  */
body > footer {
  background: #FFD100;
  color: #4B5950;
  font-size: 0.875rem;
  overflow: hidden;
  /*  ----------------------------------------------------------------------  *\
        FOOTER LAYOUTS
    \*  ----------------------------------------------------------------------  */
  /*  --------------------------------------------------------------------------  *\

    FOOTER - LAYOUT - TOP

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

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

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

    FOOTER - LAYOUT - MIDDLE

    DEFINES THE MIDDLE PORTION OF THE FOOTER.

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

    FOOTER - LAYOUT - BOTTOM

    DEFINES THE BOTTOM PORTION OF THE FOOTER.

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

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

    FOOTER - NAV - SOCIAL

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

    FOOTER - NAV - LEGAL

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

    FOOTER - NAVS - HOT LINKS

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

    FOOTER - NAVS - CATEGORY

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

    FOOTER - LOGO

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

    FOOTER - COPYRIGHT

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

    FOOTER - LOCATION

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

    FOOTER - NEWSLETTER

\*  --------------------------------------------------------------------------  */ }
  body > footer a:focus {
    outline: 1px solid white; }
  @media (min-width: 1200px) {
    body > footer {
      position: relative;
      z-index: 0; } }
  body > footer > .container {
    padding-left: 0 !important;
    padding-right: 0 !important; }
    @media (min-width: 768px) {
      body > footer > .container {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: "middle top" "bottom bottom"; }
        body > footer > .container .footer-top {
          grid-area: top; }
        body > footer > .container .footer-middle {
          grid-area: middle; }
        body > footer > .container .footer-bottom {
          grid-area: bottom; } }
    @media (min-width: 992px) {
      body > footer > .container {
        grid-template-columns: 75% 25%; } }
  body > footer > div .container {
    padding-top: 1rem;
    padding-bottom: 1rem; }
  body > footer a {
    color: #A4A9A6; }
    body > footer a:hover, body > footer a:focus {
      color: #588108; }
  body > footer .footer-top {
    background: #588108;
    position: relative;
    overflow: hidden; }
    @media (min-width: 768px) {
      body > footer .footer-top {
        display: flex; } }
    @media (min-width: 1200px) {
      body > footer .footer-top {
        overflow: unset; }
        body > footer .footer-top:before {
          content: "";
          background: #588108;
          position: absolute;
          left: 0;
          width: 5000px;
          height: 100%;
          z-index: -1; } }
    body > footer .footer-top .footer-pop {
      position: absolute;
      opacity: 0.3; }
      body > footer .footer-top .footer-pop.pop-1 {
        top: -22px;
        left: -36px;
        width: 89px; }
      body > footer .footer-top .footer-pop.pop-2 {
        width: 210px;
        top: -34px;
        right: -80px; }
      body > footer .footer-top .footer-pop.pop-3 {
        width: 128px;
        bottom: -98px;
        left: -36px; }
    body > footer .footer-top .container {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: column nowrap; }
      @media (min-width: 768px) {
        body > footer .footer-top .container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-flow: row nowrap; } }
      @media (min-width: 992px) {
        body > footer .footer-top .container {
          justify-content: center;
          max-width: 21.875rem;
          margin-left: 0 !important; } }
  body > footer .footer-middle {
    position: relative; }
    body > footer .footer-middle h5, body > footer .footer-middle h6, body > footer .footer-middle li > a {
      color: #fff; }
    body > footer .footer-middle li {
      padding: 0; }
    body > footer .footer-middle h6 {
      margin-bottom: 0.75rem; }
    body > footer .footer-middle li > a {
      font-weight: 400; }
    @media (min-width: 992px) {
      body > footer .footer-middle h6 {
        font-size: 1rem; }
      body > footer .footer-middle li > a {
        font-size: 0.875rem; } }
    @media (min-width: 1200px) {
      body > footer .footer-middle {
        position: relative;
        z-index: 1;
        background: transparent !important; }
        body > footer .footer-middle:before {
          content: "";
          background: repeating-linear-gradient(45deg, #2C4017, #2C4017 10px, #263A11 10px, #263A11 20px);
          position: absolute;
          right: 0;
          width: 5000px;
          height: 100%;
          z-index: -1; } }
    body > footer .footer-middle .footer-peeps {
      position: absolute;
      bottom: -6px;
      right: 1rem; }
      @media (min-width: 768px) {
        body > footer .footer-middle .footer-peeps {
          right: 4rem; } }
      @media (min-width: 992px) {
        body > footer .footer-middle .footer-peeps {
          transform: scale(1.5);
          transform-origin: bottom; } }
    body > footer .footer-middle .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      padding-top: 2rem;
      padding-bottom: 2rem;
      column-gap: 1.375rem;
      row-gap: 1.5rem; }
      @media (min-width: 992px) {
        body > footer .footer-middle .container {
          grid-template-columns: auto auto auto 1fr;
          column-gap: 5rem;
          padding-bottom: 6.25rem;
          padding-top: 2.5rem;
          margin-right: 0; } }
  body > footer .footer-bottom {
    font-size: 0.75rem;
    text-align: center;
    background: #FFD100;
    color: #fff; }
    @media (min-width: 768px) {
      body > footer .footer-bottom .container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-flow: row nowrap; } }
  @media (min-width: 768px) {
    body > footer .social {
      margin: 0; } }
  body > footer .social h5 {
    font-size: 1rem;
    color: #fff;
    font-weight: 600;
    line-height: 24px;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    margin-bottom: 1rem;
    text-align: center; }
    @media (min-width: 992px) {
      body > footer .social h5 {
        margin-bottom: 1.125rem; } }
  body > footer .social ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
  body > footer .social li {
    margin: 0 0.75rem; }
    @media (min-width: 992px) {
      body > footer .social li {
        margin: 0 0.75rem;
        padding: 0.25rem; }
        body > footer .social li:active {
          border: 1px solid #EDAA00;
          border-radius: 4px; } }
  body > footer .social a {
    font-size: 2.5rem;
    line-height: 1;
    color: #fff;
    height: 40px; }
    body > footer .social a:hover, body > footer .social a:focus {
      color: #FFD100; }
    body > footer .social a:active {
      color: #EDAA00; }
  body > footer .social svg {
    display: block;
    height: 1.25rem;
    width: 1.25rem; }
  body > footer .legal ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap; }
  body > footer .legal li {
    margin: 0 0.5rem 0 0;
    padding: 0 0.5rem 0 0;
    border-right: 0.0625rem solid #4B5950; }
    body > footer .legal li:nth-last-child(1) {
      border: 0; }
  body > footer nav.hot-links li + li {
    margin: 0.875rem 0 0; }
  body > footer nav.category li + li {
    margin: 0.875rem 0 0; }
  body > footer .logo {
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    display: block;
    width: 12.5rem;
    margin: 1.5rem 0 1.25rem;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    /*  ----------------------------------------------------------------------  *\
        INCLUDE A TAGLINE
        @include flex(flex-start, center, null, row nowrap);
        color: $primary;
        text-decoration: none;
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        IMAGE BASED LOGO
        > img {
            display: block;
            width: 6rem;
            height: auto;
        }
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    body > footer .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #fff; }
    body > footer .logo:hover, body > footer .logo:focus {
      color: #FFD100; }
  body > footer .copyright {
    color: #1A1919;
    font-weight: normal;
    font-size: 14px;
    line-height: 21px;
    text-align: left; }
    body > footer .copyright .container {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
    body > footer .copyright a {
      text-decoration: underline;
      font-weight: 600;
      color: #1A1919;
      cursor: pointer; }
      body > footer .copyright a:hover, body > footer .copyright a:focus {
        color: #588108; }
    @media (min-width: 768px) {
      body > footer .copyright {
        margin: 0 1rem 0 0; } }
  body > footer .location address {
    margin: 0 0 1em; }
  body > footer .location address, body > footer .location p {
    position: relative;
    padding: 0 0 0 1.5rem; }
    body > footer .location address span, body > footer .location p span {
      position: absolute;
      left: 0;
      top: 0.75em;
      -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
      transform: translate(0, -50%); }
  body > footer .newsletter {
    text-align: center; }
    @media (min-width: 992px) {
      body > footer .newsletter {
        text-align: left; }
        body > footer .newsletter p:nth-child(3) {
          margin-bottom: 0; } }
    body > footer .newsletter h3 {
      color: #fff;
      margin-bottom: 0; }
    body > footer .newsletter form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: column nowrap;
      margin: 0 auto; }
      @media (min-width: 768px) {
        body > footer .newsletter form {
          flex-direction: row;
          max-width: 28.125rem; }
          body > footer .newsletter form .form-el {
            margin: 0; }
            body > footer .newsletter form .form-el input {
              width: 100%; }
            body > footer .newsletter form .form-el:last-of-type {
              width: auto; } }
      @media (min-width: 992px) {
        body > footer .newsletter form {
          margin: 0 0 0 auto; } }
      body > footer .newsletter form > div {
        width: 100%; }
    body > footer .newsletter .newsletter-form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: column nowrap; }
      @media (min-width: 992px) {
        body > footer .newsletter .newsletter-form {
          flex-direction: row; } }
      body > footer .newsletter .newsletter-form > div {
        width: 100%; }
        @media (min-width: 992px) {
          body > footer .newsletter .newsletter-form > div {
            width: 50%; } }
      body > footer .newsletter .newsletter-form .btn {
        height: 2.375rem;
        padding: 0 0.375rem 0 1rem;
        border-radius: 0.25rem;
        color: #fff; }
        body > footer .newsletter .newsletter-form .btn:hover {
          background: #FFD100; }
        @media (min-width: 768px) {
          body > footer .newsletter .newsletter-form .btn {
            position: relative;
            left: -0.0625rem;
            border-radius: 0 0.25rem 0.25rem 0;
            border: 1px solid #588108;
            border-left: 0; } }
    body > footer .newsletter .form-input {
      font-style: italic;
      text-align: center;
      border-radius: 0.25rem; }
      @media (min-width: 768px) {
        body > footer .newsletter .form-input {
          text-align: left;
          border-radius: 0.25rem 0 0 0.25rem; } }
  @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, .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, .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, .form.form-rows .form-el, .form.form-rows .form-field, .form .form-row .form-el, .form .form-row .form-field {
        -webkit-box-flex: 0 0 auto;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: calc(50% - 1rem); } }
  form .form-el, form .form-cr, .form .form-el, .form .form-cr {
    margin: 0 0 0.75rem; }
  form hr, .form hr {
    width: 100%; }
  form fieldset, .form fieldset {
    border: none;
    padding: 1rem 0 0; }
  form legend, .form legend {
    font-size: 1.25rem; }
  form label, form .label, .form label, .form .label {
    margin: 0 0 0.5rem; }
    form label small, form .label small, .form label small, .form .label small {
      font-size: .75em;
      color: #FF0000;
      font-style: italic;
      margin: 0 0 0 0.25rem; }
      form label small:before, form .label small:before, .form label small:before, .form .label small:before {
        content: "-";
        margin: 0 0.25rem 0 0; }
  form select, .form select {
    padding: 0.625rem 0.75rem;
    width: 100%;
    -webkit-appearance: none;
    border: 0.0625rem solid #A4A9A6;
    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;
    border-radius: 4px; }
    form select:disabled, form select.unavailable, .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, .form select:hover, .form select:focus {
      border-color: #588108; }
  form input, form .form-input, .form input, .form .form-input {
    padding: 0.625rem 0.75rem;
    border: 0.0625rem solid #588108;
    width: 100%;
    border-radius: 4px; }
  form textarea, .form textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 0.0625rem solid #588108;
    height: calc(7.5em + 1rem); }
  form .form-cr input[type="checkbox"] + label:before, .form .form-cr input[type="checkbox"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #4B5950; }
  form .form-cr input[type="checkbox"] + label:after, .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, .form .form-cr input[type="checkbox"]:checked + label:after {
    border-left-color: #4B5950;
    border-bottom-color: #4B5950; }
  form .form-cr input[type="radio"] + label:last-child, .form .form-cr input[type="radio"] + label:last-child {
    display: block; }
  form .form-cr input[type="radio"] + label:before, .form .form-cr input[type="radio"] + label:before {
    content: "";
    height: 0.75rem;
    width: 0.75rem;
    border: 0.0625rem solid #4B5950;
    border-radius: 100%; }
  form .form-cr input[type="radio"]:checked + label:before, .form .form-cr input[type="radio"]:checked + label:before {
    background: #4B5950;
    box-shadow: inset 0 0 0 0.125rem #fff; }
  form .form-actions, .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, .form .g-recaptcha {
    width: 100%; }
  form .form-inlineMessage, .form .form-inlineMessage {
    color: #FF0000;
    display: block;
    font-size: .75em;
    font-style: italic;
    margin: 0.5rem 0 0; }

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - INCREMENT

\*  --------------------------------------------------------------------------  */
.form-increment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: row nowrap;
  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: #E9E9E9;
    border: 0.125rem solid #E9E9E9; }
  .form-increment button {
    width: 2rem;
    height: 2rem;
    background: #E9E9E9;
    font-size: 0.75rem; }
  .form-increment input {
    padding: 0.25rem;
    background: #fff;
    border: none;
    text-align: center;
    width: 4rem;
    font-size: 1rem; }

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

    CONTAINER

\*  --------------------------------------------------------------------------  */
.container {
  margin: 0 auto;
  padding: 0 1rem;
  max-width: 1400px;
  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 2.5rem; } }

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

    HEADER

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

body {
  transition: 0.05s ease-in; }
  body.scroll-down, body.scroll-up {
    transition-duration: 0.25s; }

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

    HEADER - POTIION

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

    HEADER - LAYOUT

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

    HEADER - LOGO

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

    HEADER - SEARCH

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

    HEADER - SEARCH > TOGGLE

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

    HEADER - NAVIGATIONS

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

    HEADER - CART

\*  --------------------------------------------------------------------------  */ }
  body > header a, body > header label, body > header button {
    display: block;
    font-size: 1rem;
    white-space: nowrap;
    text-decoration: none; }
    @media (min-width: 992px) {
      body > header a.location, body > header label.location, body > header button.location {
        display: none !important; } }
    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: #FFD100; }
  body > header a, body > header li {
    color: #fff; }
  @media (min-width: 992px) {
    body > header .container > .logo {
      display: none; } }
  @media print {
    body > header {
      display: none; } }
  body > header {
    width: 100%;
    /*  ----------------------------------------------------------------------  *\
        RELATIVE
        @include position(relative, 1000);
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        ABSOLUTE TOP
        @include position(absolute, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        FIXED TOP
        @include position(fixed, 1000, (left, top), (0, 0));
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        STICKY TOP   
    \*  ----------------------------------------------------------------------  */ }
    @media (max-width: 991.9px) {
      body > header {
        position: relative;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000; }
        @supports (position: -webkit-sticky) {
          body > header {
            top: 0;
            left: 0; } }
        @supports (position: sticky) {
          body > header {
            top: 0;
            left: 0; } } }
    @media (min-width: 992px) {
      body > header {
        position: relative;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000; }
        @supports (position: -webkit-sticky) {
          body > header {
            top: 0; } }
        @supports (position: sticky) {
          body > header {
            top: 0; } } }
  body > header .promo-bar {
    display: block;
    color: #fff;
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 0.375rem 1rem; }
    body > header .promo-bar .promo a {
      font-weight: 600;
      text-transform: uppercase;
      display: inline-block;
      font-size: 0.875rem; }
    @media (min-width: 992px) {
      body > header .promo-bar {
        display: none; } }
  @media (max-width: 991.9px) {
    body > header {
      height: auto; }
      body > header .promo-bar {
        height: 3.75rem;
        display: flex;
        align-items: center; }
      body > header nav .promo-bar {
        margin-top: 2.5rem;
        height: 0;
        padding: 0; } }
  @media (min-width: 768px) {
    body > header .promo-bar {
      padding-top: 0; } }
  @media (min-width: 992px) {
    body > header {
      background: #588108; }
      body > header > .promo-bar {
        display: none; } }
  body > header .container {
    /*
         @include borderTest();
         @include borderTest(".logo");
         @include borderTest(".promo");
         @include borderTest(".search-bar");
         @include borderTest("nav");
         @include borderTest(".toggle-search");
         @include borderTest(".mobile-cart");
         @include borderTest(".toggle-trigger");
         @include borderTest(".main");
         @include borderTest(".user");
         @include borderTest(".utility");
         //*/ }
    @media (max-width: 991.9px) {
      body > header .container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        flex-flow: row nowrap;
        padding: 0.5rem 0.75rem 0.5rem 1rem;
        position: relative; }
        body > header .container .toggle-search {
          flex-grow: 1;
          text-align: right;
          display: none; }
        body > header .container .logo {
          height: 3.25rem;
          margin-left: 20px; }
        body > header .container .location {
          margin-top: 0.5rem; }
        body > header .container .icon-icon-location {
          color: #FFD100;
          font-size: 1.375rem; }
        body > header .container nav {
          z-index: -1;
          background: transparent;
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-start;
          align-items: stretch;
          flex-flow: column nowrap; }
          body > header .container nav .main {
            order: 1; }
          body > header .container nav .user {
            order: 2; }
          body > header .container nav .utility {
            order: 3; }
            body > header .container nav .utility .promo-bar {
              display: none; }
          body > header .container nav .search-bar {
            display: none; } }
    @media (min-width: 992px) {
      body > header .container nav {
        display: grid;
        grid-template-columns: 267px 1fr;
        grid-template-rows: 44px auto;
        align-items: center;
        padding: 0;
        grid-template-areas: "logo util" "logo main"; }
        body > header .container nav .logo {
          grid-area: logo;
          padding: 0.75rem 0;
          height: 6.0625rem; }
          body > header .container nav .logo .site-logo {
            height: 100%; }
        body > header .container nav .user {
          grid-area: user; }
        body > header .container nav .main {
          grid-area: main;
          position: relative; }
          body > header .container nav .main:before {
            content: "";
            background: #FFD100;
            position: absolute;
            left: 0;
            width: 5000px;
            height: 100%;
            z-index: -10; }
        body > header .container nav .utility {
          grid-area: util;
          position: relative; }
          body > header .container nav .utility:before {
            content: "";
            background: repeating-linear-gradient(45deg, #2C4017, #2C4017 10px, #263A11 10px, #263A11 20px);
            position: absolute;
            left: 0;
            width: 5000px;
            height: 100%;
            z-index: -10; }
          body > header .container nav .utility .promo-bar {
            display: block;
            padding-top: 0;
            padding-left: 1rem; }
          body > header .container nav .utility li:nth-child(2), body > header .container nav .utility li:nth-child(3), body > header .container nav .utility li > a {
            color: #FFD100;
            font-weight: 500;
            font-size: 14px;
            line-height: 14px;
            font-family: "sofia-pro-soft", sans-serif; }
        body > header .container nav .search-bar {
          grid-area: search;
          width: 100%;
          display: none; } }
  body > header .logo {
    display: block;
    /*  ----------------------------------------------------------------------  *\
        IMAGE OR SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE A TAGLINE
        @include flex(flex-start, center, null, row nowrap);
        color: $primary;
        text-decoration: none;
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        IMAGE BASED LOGO
        > img {
            display: block;
            width: 6rem;
            height: auto;
        }
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        SVG BASED LOGO
    \*  ----------------------------------------------------------------------  */
    /*  ----------------------------------------------------------------------  *\
        INCLUDE TAGLINE

    
        > small {
            margin: 0 0 0 0.75rem;
            font-size: 1.4rem;
            font-weight: bold;
        }
    \*  ----------------------------------------------------------------------  */ }
    body > header .logo .site-logo {
      position: relative;
      top: 0;
      z-index: -1;
      width: 14.625rem;
      height: 4.5625rem;
      object-fit: contain; }
      @media (max-width: 991.9px) {
        body > header .logo .site-logo {
          width: 10.5rem;
          height: 3.25rem;
          top: 0; } }
    body > header .logo svg {
      display: block;
      width: 100%;
      height: auto;
      fill: #fff; }
    body > header .logo:hover, body > header .logo:focus {
      color: #FFD100; }
  body > header .toggle-search {
    display: block;
    padding: 0.4375rem; }
    body > header .toggle-search i {
      font-size: 1.25rem;
      color: #588108; }
    @media (min-width: 992px) {
      body > header .toggle-search {
        display: none; } }
  body > header .search-bar {
    position: relative;
    /*  --------------------------------------------------------------------------  *\

    HEADER - SEARCH - FORM

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

    HEADER - SEARCH - RESULTS

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

    HEADER - QUICK SEARCH RESULTS BOX

\*  --------------------------------------------------------------------------  */ }
    body > header .search-bar .quick-search-loading {
      position: absolute;
      right: 3.125rem;
      height: 2.5rem;
      display: none; }
    @media (max-width: 991.9px) {
      body > header .search-bar {
        width: 100%;
        padding: 1rem 1rem 0.75rem;
        transition: all 0.25s linear; }
        #headerToggleSearch:checked ~ body > header .search-bar {
          top: 100%;
          transform: translate(-100%, 0); } }
    @media (min-width: 992px) {
      body > header .search-bar:focus-within .results:not(:empty) {
        display: block; } }
    body > header .search-bar .form {
      margin: 0; }
      body > header .search-bar .form .form-el {
        position: relative;
        margin: 0; }
      body > header .search-bar .form input {
        width: 100%;
        font-size: 0.875rem;
        -webkit-box-flex: 0 1 auto;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        border-radius: 0.25rem 0 0 0.25rem; }
        body > header .search-bar .form input:focus {
          border-color: #4B5950; }
        body > header .search-bar .form input::placeholder {
          color: #588108;
          font-weight: 400;
          font-style: italic; }
      body > header .search-bar .form button {
        position: absolute;
        z-index: 100;
        right: -0.25rem;
        top: 0;
        height: 2.4375rem;
        max-width: 2.5rem;
        padding: 0 0.375rem 0 1rem;
        border-radius: 0 0.25rem 0.25rem 0;
        border: 1px solid #588108;
        border-left: 0;
        color: #fff; }
        body > header .search-bar .form button:hover, body > header .search-bar .form button:active, body > header .search-bar .form button:focus {
          background: #FFD100; }
    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 #E24402; } }
    body > header .search-bar #quickSearch {
      display: none;
      position: absolute;
      background-color: #E9E9E9;
      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: #588108; }
        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: #1A1919; }
            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: 2.375rem;
    height: 2.375rem;
    float: left;
    margin: 0;
    z-index: 2; }
    body > header .toggle-trigger .bar {
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      height: 0.25rem;
      width: 1.5rem;
      background: #1A1919;
      border-radius: 100px;
      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 .toggle:checked ~ .yellow-pop {
      animation: popInOut cubic-bezier(0.3, -0.01, 0.49, 1) 750ms forwards; }
  body > header nav {
    /*  ----------------------------------------------------------------------  *\
        MAIN NAVIGATION OPTIONS
        Choose from the following files, which best fits your needs
        @import 'navs/mega-menu'; // dropdown includes children and ads
        @import 'navs/mega-menu'; // dropdown includes children
        @import 'navs/root-only-menu'; // does not have a dropdown
    \*  ----------------------------------------------------------------------  */
    /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU

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

    HEADER - NAVIGATION - HORIZONTAL - ACCOUNT NAV

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

    HEADER - NAVIGATION - HORIZONTAL - UTILITY NAV

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

    HEADER - NAVIGATION - MEGA MENU - DROPDOWN STYLING

\*  --------------------------------------------------------------------------  */ }
      @media (max-width: 991.9px) {
        body > header nav {
          position: fixed;
          left: 0;
          top: 3.75rem;
          background: #E9E9E9;
          width: 100%;
          height: calc(200vh);
          padding-bottom: 12.5rem;
          overflow-x: hidden;
          opacity: 0;
          pointer-events: none;
          /*  --------------------------------------------------------------------------  *\

    HEADER - NAVIGATION - MEGA MENU - TOGGLE HEADER

\*  --------------------------------------------------------------------------  */ }
          body > header nav .logo {
            display: none; }
          body > header nav .main {
            margin: 0;
            position: relative;
            padding-top: 5rem; }
            body > header nav .main li {
              position: relative;
              padding: 0;
              margin: 0;
              z-index: 0;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              justify-content: space-between;
              align-items: stretch;
              align-content: stretch;
              flex-flow: row nowrap; }
              body > header nav .main li.locations {
                z-index: 1; }
            body > header nav .main a {
              display: none;
              width: 100%;
              padding: 1rem;
              -webkit-box-flex: 0 1 auto;
              -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
              flex: 0 1 auto;
              font-size: 1.3125rem; }
              body > header nav .main a:only-child {
                display: block; }
            body > header nav .main label {
              display: block;
              width: 100%;
              padding: 1.25rem;
              height: auto;
              position: relative;
              cursor: pointer;
              color: #1A1919;
              font-size: 1.3125rem; }
              body > header nav .main label:after {
                position: absolute;
                right: 1.25rem;
                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: #588108;
                border-top-color: #588108;
                content: ""; }
              body > header nav .main label span {
                display: none; }
              body > header nav .main label:only-child {
                padding: 1.25rem;
                margin-left: 1.25rem;
                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: -70px;
              transition: transform .25s linear;
              width: 100%;
              height: 100vh;
              background: white;
              z-index: 1000; }
              body > header nav .main div li a {
                font-size: 1.3125rem;
                display: flex !important;
                justify-content: space-between; }
              body > header nav .main div li span, body > header nav .main div li i {
                font-size: 0.875rem;
                color: #588108; }
            body > header nav .main .card {
              display: none; }
            body > header nav .main input[type="checkbox"]:checked ~ div {
              transform: translate(-100%, 0);
              top: -4.375rem; }
            nav body > header nav .main input[type="checkbox"]:checked {
              opacity: 0; } }
      @media (min-width: 768px) {
        body > header nav {
          top: 2.625rem; } }
      body > header nav .main {
        font-family: "sofia-pro-soft", sans-serif; }
        body > header nav .main a {
          color: #1A1919; }
          body > header nav .main a:hover, body > header nav .main a:focus {
            text-decoration: none;
            background-color: rgba(255, 255, 255, 0.5);
            border-radius: 6.25rem; }
          body > header nav .main a:active {
            text-decoration: none;
            background-color: #fff;
            border-radius: 6.25rem; }
        @media (min-width: 992px) {
          body > header nav .main {
            background: #FFD100;
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            flex-flow: row wrap;
            height: 100%; }
            body > header nav .main a {
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              justify-content: space-between;
              align-items: center;
              flex-flow: row wrap;
              padding: 0.375rem 0.75rem;
              column-gap: 0.5rem;
              margin-left: 1.5rem;
              transition: .4s ease;
              transition-property: background-color, border-radius; }
            body > header nav .main label {
              display: none; }
            body > header nav .main > li {
              position: relative;
              margin: 0;
              padding: 0;
              color: #1A1919; }
              body > header nav .main > li:last-child a {
                margin-right: -20px; }
              body > header nav .main > li.locations span {
                font-size: 0.75rem; }
              body > header nav .main > li.locations:hover > a {
                background: transparent; }
              body > header nav .main > li > a {
                color: #1A1919;
                font-family: "sofia-pro-soft", sans-serif;
                font-style: normal;
                font-weight: 500;
                font-size: 16px;
                line-height: 16px; }
              body > header nav .main > li span {
                transition: .25s all ease-in-out; }
              body > header nav .main > li > div {
                position: absolute;
                left: 0%;
                top: 2.5rem;
                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: 11.25rem;
                z-index: 10000;
                background: none;
                transition: .4s 0s ease-in-out; }
                body > header nav .main > li > div:before {
                  position: absolute;
                  left: 0%;
                  height: 100%;
                  background: #FFD100;
                  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: 1400px;
                  width: 100%;
                  padding: 1.5rem 0.875rem;
                  column-count: 3;
                  column-gap: 3.125rem;
                  display: flex;
                  flex-direction: column; } }
        @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 a {
                    column-gap: 0.5rem;
                    margin: 0;
                    justify-content: start; }
                    body > header nav .main > li > div > ul li a i {
                      font-size: 0.75rem; }
              body > header nav .main > li:hover > div {
                transition: opacity .2s ease;
                visibility: visible;
                opacity: 1 !important;
                background: #FFD100; }
              body > header nav .main > li:hover span {
                transform: rotate(180deg); }
            body > header nav .main input[type="checkbox"]:focus ~ label {
              display: block;
              background: #588108;
              color: #fff;
              padding: 0.625rem;
              position: absolute; }
            body > header nav .main input[type="checkbox"]:checked ~ label {
              display: none; }
            body > header nav .main input[type="checkbox"]:checked ~ div {
              visibility: visible;
              opacity: 1; } }
      body > header nav input[type="checkbox"] {
        position: absolute;
        width: 1px !important;
        height: 1px;
        padding: 0;
        margin: -1px;
        border: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0); }
    body > header nav .user {
      height: 100%;
      position: relative;
      z-index: 100;
      font-family: "sofia-pro-soft", sans-serif; }
      body > header nav .user li {
        padding: 0;
        margin: 0; }
      body > header nav .user li.promo-bar {
        color: #588108;
        flex-grow: 1; }
      @media (max-width: 991.9px) {
        body > header nav .user a {
          padding: 1.25rem;
          font-size: 1.5rem; }
          body > header nav .user a i {
            display: none;
            font-size: 1.25rem;
            color: #fff; }
          body > header nav .user a span {
            display: inline-block;
            margin-left: 0; } }
      @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;
          align-content: center;
          flex-flow: row nowrap;
          background-color: #fff; }
          body > header nav .user li:hover > ul {
            display: block; }
          body > header nav .user a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            justify-content: center;
            align-items: center;
            align-content: center;
            flex-flow: row nowrap;
            padding: 0.375rem 0.75rem;
            height: 2rem;
            color: #588108;
            transition: all .4s ease;
            margin-left: 0.5rem; }
            body > header nav .user a i {
              display: flex;
              font-size: 1.25rem; }
            body > header nav .user a span {
              padding-top: 2px;
              padding-left: 0.5rem; }
            body > header nav .user a:hover, body > header nav .user a:focus {
              text-decoration: none;
              color: #588108;
              background-color: rgba(88, 129, 8, 0.25);
              border-radius: 6.25rem; }
          body > header nav .user ul {
            display: none;
            position: absolute;
            z-index: 1000;
            left: 50%;
            top: 100%;
            -webkit-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
            background: #1A1919;
            padding: 0.5rem; }
            body > header nav .user ul a {
              color: #fff; }
              body > header nav .user ul a:hover, body > header nav .user ul a:focus {
                background: none;
                color: #588108; }
            body > header nav .user ul li {
              margin: 0; }
              body > header nav .user ul li:last-child {
                margin: 0; } }
    body > header nav .utility {
      height: 100%; }
      body > header nav .utility li {
        padding: 0;
        margin: 0; }
        body > header nav .utility li:last-child a {
          margin-right: -20px; }
      @media (min-width: 992px) {
        body > header nav .utility > li a {
          padding: 0.375rem 0.75rem;
          transition: ease .4s;
          transition-property: background-color,border-radius; } }
      body > header nav .utility > li a:hover, body > header nav .utility > li a:focus {
        text-decoration: none;
        background-color: rgba(255, 255, 255, 0.5);
        border-radius: 6.25rem;
        color: #000; }
      body > header nav .utility > li a:active {
        text-decoration: none;
        background-color: #fff;
        border-radius: 6.25rem; }
      @media (max-width: 991.9px) {
        body > header nav .utility {
          background: transparent !important; }
          body > header nav .utility a {
            padding: 1rem;
            color: #1A1919;
            font-family: "sofia-pro-soft", sans-serif;
            font-size: 1.3125rem; }
          body > header nav .utility span {
            display: inline-block;
            margin-left: 0.75rem; } }
      @media (min-width: 992px) {
        body > header nav .utility {
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          justify-content: flex-end;
          align-items: center;
          flex-flow: row nowrap;
          display: grid;
          grid-template-columns: 1fr auto auto; }
          body > header nav .utility li:hover > ul {
            display: block; }
          body > header nav .utility a i {
            font-size: 1.25rem;
            color: #fff; }
          body > header nav .utility a span {
            padding-left: 0.625rem; }
          body > header nav .utility a:hover, body > header nav .utility a:focus {
            text-decoration: none;
            color: #FFD100; }
          body > header nav .utility ul {
            display: none;
            position: absolute;
            z-index: 1000;
            left: 50%;
            top: 100%;
            -webkit-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
            background: #1A1919;
            padding: 0.5rem; }
            body > header nav .utility ul a {
              color: #fff; }
              body > header nav .utility ul a:hover, body > header nav .utility ul a:focus {
                background: none;
                color: #588108; }
            body > header nav .utility ul li {
              margin: 0; }
              body > header nav .utility ul li:last-child {
                margin: 0; } }
    @media (max-width: 991.9px) {
      body > header nav .header-pop {
        position: absolute;
        transform: translateY(-100%);
        top: 0; }
      body > header nav .pop-1 {
        width: 267px;
        left: 168px; }
      body > header nav .pop-2 {
        width: 76px;
        left: 13.875rem; }
      body > header nav .pop-3 {
        width: 205px;
        left: -3.375rem; } }
    @media (min-width: 768px) {
      body > header nav .pop-1 {
        width: 350px;
        left: 400px; }
      body > header nav .pop-2 {
        width: 100px;
        left: 20.125rem; }
      body > header nav .pop-3 {
        width: 300px;
        left: -3.75rem; } }
    @media (min-width: 992px) {
      body > header nav .header-pop {
        display: none; } }
  @media (max-width: 991.9px) {
    body > header #headerToggleNav:checked ~ nav {
      z-index: 1;
      opacity: 1;
      pointer-events: inherit; }
      body > header #headerToggleNav:checked ~ nav .header-pop {
        animation: popIn linear 750ms infinite forwards;
        animation-delay: 500ms;
        z-index: -1; }
        body > header #headerToggleNav:checked ~ nav .header-pop.pop-1 {
          animation-duration: 6s; }
        body > header #headerToggleNav:checked ~ nav .header-pop.pop-2 {
          animation-duration: 4.5s; }
        body > header #headerToggleNav:checked ~ nav .header-pop.pop-3 {
          animation-duration: 4s; }
      body > header #headerToggleNav:checked ~ nav .main > li {
        animation: navIn cubic-bezier(0.3, -0.01, 0.49, 1) 750ms forwards;
        opacity: 0; }
        body > header #headerToggleNav:checked ~ nav .main > li:nth-child(1) {
          animation-delay: 100ms; }
        body > header #headerToggleNav:checked ~ nav .main > li:nth-child(2) {
          animation-delay: 200ms; }
        body > header #headerToggleNav:checked ~ nav .main > li:nth-child(3) {
          animation-delay: 300ms; }
        body > header #headerToggleNav:checked ~ nav .main > li:nth-child(4) {
          animation-delay: 400ms; }
        body > header #headerToggleNav:checked ~ nav .main > li:nth-child(5) {
          animation-delay: 500ms; }
      body > header #headerToggleNav:checked ~ nav .utility > li {
        animation: navIn cubic-bezier(0.3, -0.01, 0.49, 1) 750ms forwards;
        opacity: 0; }
        body > header #headerToggleNav:checked ~ nav .utility > li:nth-child(2) {
          animation-delay: 600ms; }
        body > header #headerToggleNav:checked ~ nav .utility > li:nth-child(3) {
          animation-delay: 700ms; } }
  body > header .mobile-cart {
    display: flex;
    margin-left: 1rem; }
    body > header .mobile-cart i {
      font-size: 2rem; }
    @media (min-width: 992px) {
      body > header .mobile-cart {
        position: absolute;
        right: 1rem;
        top: 2.25rem;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        display: none; } }
  @media (max-width: 991.9px) {
    body > header .desktop-cart {
      display: none; } }
  body > header [data-cart-preview] {
    position: relative;
    display: flex; }
    @media (max-width: 991.9px) {
      body > header [data-cart-preview] {
        display: none; } }
  body > header .cart-quantity {
    display: none;
    background: #d8282e;
    color: #fff;
    padding: 0.375rem !important;
    font-size: 0.625rem;
    line-height: .5em;
    margin-left: 0.125rem;
    border-radius: 2.5rem;
    align-self: center;
    position: relative; }
    body > header .cart-quantity.is-empty {
      display: none; }
    body > header .cart-quantity.has-quantity {
      display: flex;
      align-items: center; }
  body > header .cart-dropdown {
    display: block;
    position: fixed;
    z-index: 2000;
    right: 0;
    top: 0;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    background: #fff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    height: 100%;
    overflow: scroll;
    transform: translate(100%, 0);
    transition: all 0.4s ease; }
    body > header .cart-dropdown.is-loading {
      min-width: 25rem; }
    body > header .cart-dropdown.is-visible {
      width: 25rem;
      transform: translate(0, 0); }
    body > header .cart-dropdown > h5 {
      padding: 1rem;
      font-size: 1rem;
      font-weight: bold;
      background-color: #E9E9E9; }
    body > header .cart-dropdown .content {
      padding: 1rem; }
    body > header .cart-dropdown dl {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      column-gap: 0.625rem;
      row-gap: 0.25rem;
      padding: 0;
      margin: 0;
      border-top: 1px solid #E9E9E9;
      margin: 0.3125rem 0 0.3125rem 0;
      padding: 0.625rem 0 0.625rem 0; }
    body > header .cart-dropdown dd, body > header .cart-dropdown dt {
      margin: 0;
      padding: 0;
      font-size: .8em; }
    body > header .cart-dropdown .products {
      position: static;
      display: block;
      left: auto;
      top: auto;
      transform: none;
      background: none;
      padding: 1.25rem 0; }
      body > header .cart-dropdown .products p {
        margin: 0;
        color: #000; }
      body > header .cart-dropdown .products li {
        display: grid;
        grid-template-columns: 1fr 4fr;
        grid-template-rows: auto;
        column-gap: 1rem;
        padding: 0.75rem 0;
        font-size: 0.875rem;
        border: 1px solid #A4A9A6;
        border-radius: 0.25rem;
        padding: 0.625rem;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
        margin-bottom: 1.25rem; }
      body > header .cart-dropdown .products .name {
        margin: 0 0 0.5rem;
        font-size: 1rem; }
        body > header .cart-dropdown .products .name small {
          font-size: 0.75rem;
          font-weight: 700;
          margin: 0 0 0.25rem;
          display: block; }
      body > header .cart-dropdown .products img {
        width: 100%;
        height: auto; }
    body > header .cart-dropdown .subtotal {
      font-size: 1rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 0 1rem; }
    body > header .cart-dropdown .buttons {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-flow: row nowrap; }
      body > header .cart-dropdown .buttons a {
        padding: 0.625rem; }
      body > header .cart-dropdown .buttons [class*="btn-"] {
        margin: 0 0 0 0; }

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

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

    MODAL

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

    MODAL - BACKGROUND

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

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

    MODAL - BASIC

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

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

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

\*  --------------------------------------------------------------------------  */
.modal {
  position: fixed;
  z-index: 15001;
  left: 50%;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 0.25rem;
  width: 90%;
  max-width: 75rem;
  min-width: 20rem;
  min-height: remCal(240);
  max-height: 90vh;
  display: none;
  visibility: hidden;
  opacity: 0; }
  .modal .modal-window {
    padding: 2.625rem;
    max-height: 90vh;
    overflow-y: scroll; }
  .modal .modal-body {
    padding: 2.5rem;
    overflow: auto; }
  .modal .modal-close {
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    display: block;
    background: #fff;
    border: 0.125rem solid #1A1919;
    color: #1A1919;
    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 #FFD100 transparent; }
    .modal .modal-close:after {
      content: attr(title);
      padding: 0.25rem 0.375rem;
      background-color: #FFD100;
      color: #000;
      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 #E9E9E9;
    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;
  position: relative;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 6.25rem;
  font-size: 1rem;
  line-height: 1rem;
  height: 3rem;
  text-align: center;
  text-decoration: none;
  width: auto;
  font-family: "sofia-pro-soft", sans-serif; }
  .button i {
    display: flex;
    padding-top: 4.5px;
    padding-left: 2.5px;
    transition: all .2s ease;
    border: 1px solid #fff;
    width: 16px;
    height: 16px;
    border-radius: 50px;
    transform: translate(8px);
    font-size: 6px; }
  .button.small {
    font-size: 0.875rem;
    line-height: 0.875rem;
    height: 2.25rem;
    padding: 0 1.5rem; }
  .button svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  .button:focus {
    outline: 1px solid #1A1919; }
  .button:hover, .button:focus {
    text-decoration: none; }
  .button + .button {
    margin: 0 0 0 0.75rem; }
  .button.swal2-confirm {
    border-color: #588108;
    background: #588108;
    color: #fff; }
    .button.swal2-confirm:hover, .button.swal2-confirm:focus {
      background: #fff;
      color: #588108; }
  .button.swal2-cancel {
    border-color: #E9E9E9; }
    .button.swal2-cancel:hover, .button.swal2-cancel:focus {
      color: #588108; }

.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 #588108;
    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: #588108 #588108 #FFD100 #FFD100;
    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;
  display: none;
  font-weight: 400; }
  @media (min-width: 992px) {
    nav.breadcrumbs {
      display: block;
      width: auto; }
      nav.breadcrumbs .container {
        position: relative; }
        nav.breadcrumbs .container > ol {
          z-index: 3;
          position: absolute;
          top: 1rem; } }
  nav.breadcrumbs a {
    color: #4B5950; }
  nav.breadcrumbs ol {
    display: grid;
    grid-template-columns: 1fr auto auto;
    background: #FFD100;
    padding: 0.25rem 1rem;
    border-radius: 6.25rem; }
    nav.breadcrumbs ol li {
      font-size: 14px;
      line-height: 21px;
      display: flex;
      flex-wrap: nowrap; }
      nav.breadcrumbs ol li a {
        color: #4B5950;
        white-space: nowrap; }
      nav.breadcrumbs ol li .icon {
        display: none; }
      nav.breadcrumbs ol li + li .icon {
        display: block;
        padding: 0 0.25rem;
        color: #4B5950; }
      nav.breadcrumbs ol li.is-active a {
        color: #1A1919; }

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

    NAVS - PAGINATION

\*  --------------------------------------------------------------------------  */
nav.pagination {
  background: #E9E9E9;
  padding: 1rem 0;
  margin: 1.5rem 0 0;
  border-radius: 0.5rem; }
  @media (min-width: 768px) {
    nav.pagination {
      padding-right: 0.5rem; } }
  @media (min-width: 992px) {
    nav.pagination {
      margin: 2rem 0 0; } }
  nav.pagination li a {
    color: #4B5950;
    font-weight: 600; }
  nav.pagination .active {
    color: #588108;
    font-weight: 600; }
    nav.pagination .active > a {
      color: #588108;
      font-weight: 600; }
  nav.pagination .disabled {
    color: #A4A9A6;
    font-weight: 600; }
  nav.pagination ul, nav.pagination ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap;
    margin: 0;
    padding: 0; }
    @media (min-width: 768px) {
      nav.pagination ul, nav.pagination ol {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-flow: row nowrap; } }
  nav.pagination li {
    margin: 0 0.75rem; }
  nav.pagination a {
    display: block;
    padding: 0.25rem;
    color: #1A1919; }

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

header {
  overflow: hidden; }

section {
  margin: 3rem 0; }
  @media (min-width: 768px) {
    section {
      margin: 3.5rem 0; } }
  @media (min-width: 992px) {
    section {
      margin: 5rem 0; } }
  section.bg-color {
    padding: 2rem 0; }
    @media (min-width: 768px) {
      section.bg-color {
        padding: 3rem 0; } }
    @media (min-width: 992px) {
      section.bg-color {
        padding: 4.5rem 0; } }
  section.location {
    margin: 0 !important; }
  section.reduced-spacing {
    margin-top: 1.5rem; }
    @media (min-width: 992px) {
      section.reduced-spacing {
        margin-top: 2.5rem; } }

.home_delivery section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 3rem; }
  @media (min-width: 768px) {
    .home_delivery section:last-of-type {
      padding-bottom: 3.5rem; } }
  @media (min-width: 992px) {
    .home_delivery section:last-of-type {
      padding-bottom: 5rem; } }

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

    OPTIONAL INCLUDES

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

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

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

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

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

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

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

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

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

/* line 44, cookie-consent.scss */
.cookie-consent-modal .modal-content-wrap .modal-content .modal-body {
  padding: 1rem 1rem;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  color: #1A1919;
  font-size: 1rem;
  line-height: 1.3; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*# sourceMappingURL=cookie-consent.css.map */
.cky-consent-container .cky-notice-btn-wrapper {
  border: none !important;
  height: auto !important; }

.cky-prefrence-btn-wrapper {
  border: none !important;
  height: auto !important; }
  .cky-prefrence-btn-wrapper button {
    height: auto !important; }

.cky-modal li::before {
  display: none; }

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

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

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

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

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

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

    AUTH - LOGIN

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

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

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

    AUTH - RESET

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

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

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

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

    AUTH - RESET

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

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

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

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

    BLOG - CARD

\*  --------------------------------------------------------------------------  */
.card-blog .color-bar {
  height: 0.5rem; }

.card-blog .color-bar-small {
  width: 1.5rem;
  height: 0.1875rem;
  border-radius: 0.625rem; }

.card-blog .title-link:hover {
  color: #263a11; }

.card-blog h4 {
  margin-top: 1rem;
  color: #1A1919;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  /* autoprefixer: off */
  overflow: hidden;
  min-height: 3.75rem; }

.card-blog .cnt {
  padding: 1.5rem;
  border-right: 1px solid #E9E9E9;
  border-left: 1px solid #E9E9E9;
  border-bottom: 1px solid #E9E9E9;
  border-radius: 0 0 0.5rem 0.5rem; }

.card-blog .img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem 0.5rem 0 0;
  height: 180px; }
  @media (min-width: 992px) {
    .card-blog .img img {
      height: 264px; } }

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

    BLOG - FEED - FEATURED/RECENT

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

    BLOG - LAYOUT

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

@media (max-width: 767.9px) {
  .layout-blog .card-blog h4 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: auto !important;
    min-height: 0 !important; } }

.layout-blog .card-blog h4 {
  margin-bottom: 1.25rem; }

@media (min-width: 992px) {
  .layout-blog .blog-detail {
    padding: 0 15%; } }

.blog-hero {
  background: #F0F4E8; }
  @media (min-width: 768px) {
    .blog-hero {
      display: flex; } }
  @media (min-width: 992px) {
    .blog-hero {
      display: grid;
      grid-template-columns: 0 1fr 1fr; } }
  @media (min-width: 992px) {
    .blog-hero .container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-flow: column; } }
  .blog-hero img {
    max-height: 200px;
    width: 100%;
    object-fit: cover; }
    @media (min-width: 768px) {
      .blog-hero img {
        max-height: none;
        height: 100%;
        width: 50%; } }
    @media (min-width: 992px) {
      .blog-hero img {
        width: 100%;
        max-height: 23.625rem; } }
  @media (min-width: 768px) {
    .blog-hero picture {
      width: 50%; } }
  .blog-hero h1 {
    text-align: left;
    margin: 0 0 2rem; }
    @media (min-width: 768px) {
      .blog-hero h1 {
        margin: 0 0 1.5rem; } }
    @media (min-width: 992px) {
      .blog-hero h1 {
        margin: 0 0 5rem; } }
  @media (min-width: 768px) {
    .blog-hero .container {
      padding-left: 2.5rem; } }
  @media (min-width: 992px) {
    .blog-hero .container {
      padding: 0 4rem; } }
  .blog-hero .content-overlay {
    padding: 2rem 0; }
    @media (min-width: 768px) {
      .blog-hero .content-overlay {
        padding: 4rem 0; } }
  .blog-hero nav.share {
    display: flex; }
    .blog-hero nav.share span {
      font-weight: 600; }
    .blog-hero nav.share > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row no-wrap; }
      .blog-hero nav.share > ul li {
        margin-left: 1.5rem; }
        .blog-hero nav.share > ul li:nth-child(5), .blog-hero nav.share > ul li:nth-child(4) {
          display: none; }

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

    CART - ACTIONS

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

    CART - LAYOUT

\*  --------------------------------------------------------------------------  */
.cart .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: 'aside aside' 'cnt cnt';
  column-gap: 2rem;
  row-gap: 2rem; }
  @media (min-width: 992px) {
    .cart .container {
      grid-template-columns: 2fr 1fr;
      grid-template-areas: 'cnt aside';
      column-gap: 4rem; } }
  @media (min-width: 1200px) {
    .cart .container {
      grid-template-columns: 3fr 1fr; } }

.cart .cnt {
  grid-area: cnt; }

.cart aside {
  grid-area: aside;
  text-align: center; }

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

    CART - LINE ITEMS

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

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

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

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

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

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

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

.line-items thead {
  display: none; }

.line-items tr {
  display: grid;
  grid-template-rows: auto;
  border: 1px solid #A4A9A6;
  border-radius: 0.25rem;
  padding: 0.625rem;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05);
  grid-template-columns: 6.25rem auto;
  grid-template-areas: 'image name name'  'image price remove' 'image quantity remove' 'image total remove' 'image details details';
  column-gap: 1rem;
  row-gap: 0.5rem; }
  .line-items tr:hover, .line-items tr:focus {
    border: 1px solid #588108; }
  .line-items tr:nth-child(n + 2) {
    margin: 1rem 0 0; }
  @media (min-width: 768px) {
    .line-items tr {
      padding: 1.25rem; } }

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

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

.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: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
  .line-items td:nth-child(4) {
    grid-area: quantity;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
  .line-items td:nth-child(5) {
    grid-area: total;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
  .line-items td:nth-child(6) {
    grid-area: remove;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-flow: row nowrap; }
    .line-items td:nth-child(6):empty {
      display: none; }
    .line-items td:nth-child(6) button {
      background: #A4A9A6;
      color: #fff;
      border-radius: 100%;
      width: 1.5rem;
      height: 1.5rem; }
      .line-items td:nth-child(6) button:hover, .line-items td:nth-child(6) button:focus {
        background-color: #b40000; }
      .line-items td:nth-child(6) button span {
        position: relative;
        right: -5px;
        top: 3px; }
  .line-items td:nth-child(7) {
    grid-area: details; }

@media (min-width: 576px) {
  .line-items table, .line-items tbody {
    display: block; }
  .line-items thead {
    display: none; }
  .line-items tr {
    grid-template-columns: 6.25rem 1fr;
    grid-template-areas: 'image name name name name'  'image price quantity total remove'  'image details details details details';
    column-gap: 1rem;
    row-gap: 0.5rem; }
  .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 0.75rem; }
    #CartEditProductFieldsForm .form-el p, #CartEditProductFieldsForm .form-el label, #CartEditProductFieldsForm .form-cr p, #CartEditProductFieldsForm .form-cr label {
      display: block;
      width: 100%;
      font-weight: bold;
      margin: 0 0 0.5rem; }
    #CartEditProductFieldsForm .form-el small, #CartEditProductFieldsForm .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #FF0000; }
  #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 #A4A9A6; }
    #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: #588108; }
  #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 #A4A9A6; }
    #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: #588108;
      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 #A4A9A6;
      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: #A4A9A6;
        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: #588108;
        border-color: #588108;
        color: #fff; }
  #CartEditProductFieldsForm select {
    max-width: 18.75rem;
    margin: 0.3125rem 0; }
    #CartEditProductFieldsForm select:disabled, #CartEditProductFieldsForm select.unavailable {
      background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
      opacity: 0.5; }
    #CartEditProductFieldsForm select:hover, #CartEditProductFieldsForm select:focus {
      border-color: #588108; }
  #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 #E9E9E9;
    box-shadow: inset 0 0 0 3px #fff; }
    #CartEditProductFieldsForm .set-swatch label.unavailable {
      pointer-events: none;
      opacity: .5; }
      #CartEditProductFieldsForm .set-swatch label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    #CartEditProductFieldsForm .set-swatch label span:not(.sr-only) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: 0;
      align-items: 1;
      align-content: auto;
      flex-flow: row wrap;
      width: 100%;
      display: block;
      height: 2.5rem;
      position: relative;
      z-index: -1; }
  #CartEditProductFieldsForm .set-swatch input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    #CartEditProductFieldsForm .set-swatch input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }

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

    CART - TOTALS

\*  --------------------------------------------------------------------------  */
.totals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: row wrap;
  font-size: 0.875rem; }
  @media (max-width: 767.9px) {
    .totals {
      margin: 1.5rem 0 0; } }
  @media (max-width: 991.9px) {
    .totals {
      border-top: 0.0625rem solid #A4A9A6; } }
  .totals dt, .totals dd {
    width: 50%;
    padding: 0.5rem 0;
    margin: 0; }
    .totals dt:nth-of-type(n + 2), .totals dd:nth-of-type(n + 2) {
      border-top: 0.0625rem solid #A4A9A6; }
    .totals dt:last-of-type, .totals dd:last-of-type {
      font-weight: bold; }
  .totals dt {
    text-align: left; }
  .totals dd {
    text-align: right; }
    .totals dd.full {
      width: 100%; }
    .totals dd > button {
      border-bottom: 0.0625rem dotted #4B5950; }
      .totals dd > button:hover {
        border-bottom-color: #1A1919;
        border-bottom-style: solid; }

/*  --------------------------------------------------------------------------  *\
    CATALOG COMPONENTS
\*  --------------------------------------------------------------------------  */
.layout-brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.25rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .layout-brands {
      grid-template-columns: repeat(3, 1fr);
      column-gap: 2rem;
      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 {
  /*
    @include borderTest();
    @include borderTest(".img-container");
    @include borderTest(".img");
    @include borderTest(".cnt");
    @include borderTest(".cta");
    //*/
  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: transparent;
  padding: 0;
  /*  --------------------------------------------------------------------------  *\

    PRODUCT CARD > IMAGE

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

    PRODUCT CARD > TITLE

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

    PRODUCT CARD > RATING

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

    PRODUCT CARD > PRICE

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

    PRODUCT CARD > ACTIONS

\*  --------------------------------------------------------------------------  */ }
  .card .cnt {
    flex-grow: 1; }
  .card .cta {
    text-align: center;
    padding-bottom: 1rem; }
    @media (min-width: 768px) {
      .card .cta {
        padding-bottom: 1.5rem; } }
    .card .cta .compare-btn input {
      margin-right: 0.5rem; }
    .card .cta .compare-btn.btn-txt {
      font-size: 0.875rem;
      height: auto; }
  .card .color-holder {
    position: relative;
    top: -87px;
    z-index: -2;
    height: 87px;
    margin-bottom: -87px !important;
    border-radius: 0.5rem 0.5rem 0 0; }
  .card .color-holder-lighter {
    position: relative;
    top: -10px;
    z-index: -1;
    height: 10px;
    margin-bottom: -10px !important;
    background: rgba(255, 255, 255, 0.5); }
  .card .cnt, .card .cta {
    border-right: 1px solid #E9E9E9;
    border-left: 1px solid #E9E9E9; }
  .card .cnt {
    padding-top: 20px; }
  .card .cta {
    border-bottom: 1px solid #E9E9E9;
    border-radius: 0 0 0.5rem 0.5rem; }
  .card h3 {
    transition: all 0s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .card h3 a:hover, .card h3 a:focus {
      color: #588108;
      text-decoration: none; }
  .card .img-container {
    position: relative;
    top: 24px;
    margin-top: -24px;
    padding-bottom: 0;
    transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
    padding: 0 1.25rem; }
    @media (min-width: 768px) {
      .card .img-container {
        padding: 0 2rem; } }
    @media (min-width: 992px) {
      .card .img-container {
        padding: 0 2rem; } }
  .card .img {
    aspect-ratio: 1;
    max-width: 16.25rem;
    margin: 0 auto; }
    .card .img img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .card h3 {
    font-size: 0.875rem;
    text-align: center;
    margin: 1rem 0 0 0; }
    @media (min-width: 768px) {
      .card h3 {
        font-size: 1.125rem; } }
    @media (min-width: 992px) {
      .card h3 {
        font-size: 1.25rem; } }
    .card h3 a {
      color: #4B5950;
      display: -webkit-box !important;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      /* autoprefixer: off */
      overflow: hidden;
      min-height: 2.125rem;
      padding: 0 0.75rem;
      line-height: 1.125rem; }
  .card .rating {
    font-size: 0.875rem;
    margin: 0 0 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap; }
    .card .rating span + span {
      margin: 0 0 0 0.25rem; }
  .card .price-wrapper {
    margin-bottom: 0.875rem; }
  .card .price {
    font-size: 0.875rem;
    font-weight: bold; }
    .card .price--non-sale {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      .card .price--non-sale:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(2.5deg);
        -ms-transform: translate(-50%, -50%) rotate(2.5deg);
        transform: translate(-50%, -50%) rotate(2.5deg);
        height: 0.125rem;
        width: 110%;
        background: currentColor; }
  .card .actions .btn-tertiary {
    font-size: 0.875rem; }
  .card .actions-quickadd {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s .25s linear; }
  .card .img:hover .actions-quickadd {
    visibility: visible;
    opacity: 1; }
  .card:hover .cnt, .card:hover .cta {
    border-right: 1px solid #A4A9A6;
    border-left: 1px solid #A4A9A6; }
  .card:hover .cta {
    border-bottom: 1px solid #A4A9A6; }
  .card:hover .img-container {
    animation: shake .2s;
    z-index: 999;
    transform-origin: bottom center;
    transform: scale(1.05); }
    .card:hover .img-container .img {
      animation: float 2s ease-in-out infinite;
      animation-play-state: running;
      position: relative;
      z-index: 2; }
    @media (min-width: 768px) {
      .card:hover .img-container {
        transform: scale(1.1); } }

@keyframes float {
  0% {
    transform: translatey(0); }
  50% {
    transform: translatey(-5px); }
  100% {
    transform: translatey(0); } }

@keyframes shake {
  0% {
    transform-origin: center bottom;
    transform: rotate(4deg); }
  50% {
    transform-origin: center bottom;
    transform: rotate(-4deg); }
  100% {
    transform-origin: center bottom;
    transform: rotate(0deg); } }

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

    CATEGORY - LAYOUT

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

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

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

.header-hero {
  position: relative;
  text-align: center; }

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

    DETAIL

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

    @import 'detail/description';

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

    DETAIL - HEADER

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

    DETAIL - LAYOUT

\*  --------------------------------------------------------------------------  */
header.pdp .container {
  padding: 0; }

header.pdp .title, header.pdp .gallery, header.pdp .details {
  padding: 0 1rem; }
  @media (min-width: 768px) {
    header.pdp .title, header.pdp .gallery, header.pdp .details {
      padding: 0 3rem; } }
  @media (min-width: 992px) {
    header.pdp .title, header.pdp .gallery, header.pdp .details {
      padding: 0 5rem; } }

header.pdp .breadcrumbs .container {
  padding-left: 1.5rem; }

@media (min-width: 1200px) {
  header.pdp {
    overflow: hidden; } }

.product-view, .productView {
  display: grid;
  row-gap: 0;
  column-gap: 0;
  height: 100%;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-template-areas: "gallery" "title" "details"; }
  @media (max-width: 767.9px) {
    .product-view, .productView {
      padding-top: 1rem; } }
  @media (min-width: 992px) {
    .product-view:before, .productView:before {
      content: "";
      position: absolute;
      right: 0;
      width: 100px;
      height: 100%;
      z-index: -1; } }
  .product-view .gallery, .productView .gallery {
    grid-area: gallery;
    background: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.85) 50%); }
    @media (min-width: 768px) {
      .product-view .gallery, .productView .gallery {
        background: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.5) 50%); } }
    @media (min-width: 1200px) {
      .product-view .gallery, .productView .gallery {
        position: relative; } }
    .product-view .gallery:before, .productView .gallery:before {
      content: "";
      background: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.5) 50%);
      position: absolute;
      right: 100%;
      width: 5000px;
      height: 100%;
      z-index: 0; }
    .product-view .gallery .slick-dots, .productView .gallery .slick-dots {
      padding-top: 1rem; }
  .product-view .title, .productView .title {
    grid-area: title; }
  .product-view .details, .productView .details {
    grid-area: details;
    background: rgba(255, 255, 255, 0.85); }
    @media (min-width: 768px) {
      .product-view .details, .productView .details {
        margin-top: 0; } }
  @media (min-width: 768px) {
    .product-view, .productView {
      grid-template-columns: 50% 1fr;
      grid-template-rows: auto 1fr;
      grid-template-areas: "gallery title" "gallery title"; }
      .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; } } }

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

    DETAIL - HEADER - TITLE

\*  --------------------------------------------------------------------------  */
.title {
  position: relative;
  background-image: url("../img/pop-50.svg"), url("../img/pop-50.svg"), url("../img/pop-50.svg"), url("../img/pop-50.svg");
  background-repeat: no-repeat;
  background-position: -2% 0%, 92% 18%, -10% 75%, 110% 80%;
  background-size: 5.625rem, 3.75rem, 8.75rem, 7.25rem;
  background-color: rgba(255, 255, 255, 0.85); }
  @media (min-width: 768px) {
    .title {
      background-position: 3% -10%, 92% 18%, -10% 75%, 110% 80%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-flow: column nowrap; } }
  @media (min-width: 992px) {
    .title {
      background-size: 10rem, 6.75rem, 16.25rem, 13.25rem;
      background-position: -3% -10%, 92% 18%, -15% 90%, 112% 80%;
      padding: 0 4rem !important; } }
  @media (min-width: 1200px) {
    .title {
      background-position: -3% -10%, 92% 18%, -15% 90%, 100% 80%; }
      .title:before {
        content: "";
        background-color: rgba(255, 255, 255, 0.85);
        position: absolute;
        left: 100%;
        width: 5000px;
        height: 100%;
        z-index: 0; } }
  .title > div {
    display: flex;
    flex-direction: column; }
  .title .btn-primary {
    margin-bottom: 1rem; }
    @media (min-width: 768px) {
      .title .btn-primary {
        margin-bottom: 0.625rem;
        width: auto; } }
    @media (min-width: 992px) {
      .title .btn-primary {
        margin-bottom: 1rem; } }
  .title .btn-secondary {
    margin-bottom: 3rem; }
    @media (min-width: 768px) {
      .title .btn-secondary {
        width: auto;
        margin-bottom: 3.5rem; } }
  .title h1 {
    margin: 2rem 0 1rem;
    text-align: center; }
    @media (min-width: 768px) {
      .title h1 {
        text-align: left;
        margin-top: 3.5rem; } }
    @media (min-width: 992px) {
      .title h1 {
        margin-bottom: 2.5rem;
        font-size: 3rem; } }
    .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 p {
    text-align: center;
    font-weight: 600;
    font-size: 1.125rem; }
    @media (min-width: 768px) {
      .title p {
        text-align: left;
        margin-bottom: 1rem; } }
    @media (min-width: 992px) {
      .title p {
        margin-bottom: 2.5rem;
        font-size: 1.3125rem;
        line-height: 1.875rem; } }

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

    Load the Gallery that is right for your site

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

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

    DETAIL - GALLERIES - EASYZOOM

    Settings for Easy Zoom functionality.

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

    DETAIL - GALLERIES - STACKED

    This will present the image stacked directly 
    above the thumbnails.

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

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

    SHARE

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

        Load additional components used in the Detail - Header

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

    CATALOG - DETAIL - HEADER - RATING

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

    CATALOG - DETAIL - HEADER - PRICE

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

    CATALOG - DETAIL - HEADER - INFO

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

    CATALOG - DETAIL - HEADER - COMPONENTS - FORM

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

    DETAIL - SHARE

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

        Load form elements used in the Detail - Header

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - TEXTAREA

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - PRODUCT LIST

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - FORM ELEMENTS

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET RADIO

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - SET SELECT

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

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

    CATALOG - DETAIL - HEADER - FORM ELEMENTS - RECTANGLE

\*  --------------------------------------------------------------------------  */ }
  .product-view .gallery .easyzoom-flyout {
    display: none; }
  .product-view .modal .modal-window {
    padding: 0;
    overflow: hidden; }
  .product-view .video-fullscreen {
    padding: 56.25% 0 0;
    position: relative;
    overflow: hidden; }
    .product-view .video-fullscreen iframe {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100%;
      width: 100%; }
  .product-view .gallery-thumbs {
    display: flex;
    justify-content: center; }
    @media (min-width: 768px) {
      .product-view .gallery-thumbs {
        position: absolute !important;
        bottom: 0; } }
    .product-view .gallery-thumbs .thumb a.image {
      display: inline-flex; }
    .product-view .gallery-thumbs img {
      border-radius: 50%; }
  .product-view .gallery-wrap {
    position: relative;
    position: -webkit-sticky;
    position: sticky; }
    @supports (position: -webkit-sticky) {
      .product-view .gallery-wrap {
        top: 6.25rem; } }
    @supports (position: sticky) {
      .product-view .gallery-wrap {
        top: 6.25rem; } }
    @media (min-width: 768px) {
      .product-view .gallery-wrap {
        padding-top: 1.75rem;
        padding-bottom: 3.75rem; } }
    @media (min-width: 992px) {
      .product-view .gallery-wrap {
        padding-top: 8.75rem;
        padding-bottom: 0; } }
  .product-view .gallery .thumbnail {
    text-align: center; }
    @media (min-width: 768px) {
      .product-view .gallery .thumbnail {
        display: inline-flex;
        margin-right: 1rem; }
        .product-view .gallery .thumbnail:first-child {
          justify-content: flex-end; } }
    .product-view .gallery .thumbnail .image {
      border: 1px solid transparent;
      border-radius: 50px; }
      .product-view .gallery .thumbnail .image:hover {
        border: 1px solid #e9e9e9; }
  .product-view .gallery img {
    max-width: 100%; }
  .product-view .gallery .thumbnail img {
    max-width: 100%;
    /* or any custom size */
    max-height: 100%;
    object-fit: contain;
    width: 12.5rem;
    height: 12.5rem;
    padding: 4px;
    position: relative; }
    @media (min-width: 768px) {
      .product-view .gallery .thumbnail img {
        width: 2.625rem;
        height: 2.625rem;
        border-radius: 50px; } }
    @media (min-width: 992px) {
      .product-view .gallery .thumbnail img {
        width: 5.25rem;
        height: 5.25rem; } }
  .product-view .gallery .gallery-main {
    display: none;
    position: relative;
    max-height: 500px; }
    @media (min-width: 768px) {
      .product-view .gallery .gallery-main {
        display: block; } }
    .product-view .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; }
  .product-view .gallery .gallery-thumbs {
    grid-area: gallery-thumbs;
    position: relative; }
    @media (min-width: 768px) {
      .product-view .gallery .gallery-thumbs {
        padding: 1.25rem 3.125rem; } }
    @media (min-width: 992px) {
      .product-view .gallery .gallery-thumbs {
        padding-bottom: 3.25rem; } }
    .product-view .gallery .gallery-thumbs .thumb {
      position: relative; }
      .product-view .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); }
      .product-view .gallery .gallery-thumbs .thumb img {
        padding: 0.25rem; }
        @media (min-width: 768px) {
          .product-view .gallery .gallery-thumbs .thumb img {
            border-radius: 50px; } }
    .product-view .gallery .gallery-thumbs a {
      display: block; }
      @media (min-width: 768px) {
        .product-view .gallery .gallery-thumbs a {
          border: 1px solid transparent;
          border-radius: 3rem;
          overflow: hidden; }
          .product-view .gallery .gallery-thumbs a:hover, .product-view .gallery .gallery-thumbs a:focus {
            border: 1px solid #E9E9E9; }
          .product-view .gallery .gallery-thumbs a.is-active {
            border: 1px solid #E9E9E9; } }
    .product-view .gallery .gallery-thumbs .slick-list {
      width: calc(100% + 8px); }
    @media (min-width: 768px) {
      .product-view .gallery .gallery-thumbs .slick-slide {
        margin-right: 0.5rem; } }
    .product-view .gallery .gallery-thumbs .slick-slider {
      width: 100% !important;
      margin: 0 !important; }
    .product-view .gallery .gallery-thumbs .slick-prev, .product-view .gallery .gallery-thumbs .slick-next {
      display: none; }
      @media (min-width: 768px) {
        .product-view .gallery .gallery-thumbs .slick-prev, .product-view .gallery .gallery-thumbs .slick-next {
          display: block; } }
      .product-view .gallery .gallery-thumbs .slick-prev.slick-disabled, .product-view .gallery .gallery-thumbs .slick-next.slick-disabled {
        opacity: 0.5; }
      .product-view .gallery .gallery-thumbs .slick-prev.slick-hidden, .product-view .gallery .gallery-thumbs .slick-next.slick-hidden {
        display: none; }
    .product-view .gallery .gallery-thumbs .slick-prev {
      transform: translate(20px, -50%); }
    .product-view .gallery .gallery-thumbs .slick-next {
      transform: translate(-20px, -50%); }
  .product-view .share {
    margin: 0;
    grid-area: share; }
  .product-view .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; }
    .product-view .rating span + span {
      margin: 0 0 0 0.25rem; }
  .product-view .price {
    font-size: 1rem;
    font-weight: bold;
    margin: 0; }
    .product-view .price .original {
      position: relative;
      font-weight: normal;
      margin: 0 0.5rem 0 0; }
      .product-view .price .original:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(2.5deg);
        -ms-transform: translate(-50%, -50%) rotate(2.5deg);
        transform: translate(-50%, -50%) rotate(2.5deg);
        height: 0.125rem;
        width: 110%;
        background: currentColor; }
  .product-view .info {
    margin: 0 0 1.5rem;
    font-size: 0.875rem; }
    .product-view .info:before, .product-view .info:after {
      display: block;
      height: 0;
      width: 100%;
      content: "";
      clear: both; }
    .product-view .info dt {
      float: left;
      margin: 0 0.5rem 0 0; }
      .product-view .info dt ~ dt {
        clear: both; }
    .product-view .info dd {
      float: left;
      width: auto;
      padding: 0; }
    .product-view .info dt:nth-of-type(n + 2), .product-view .info dd:nth-of-type(n + 2) {
      margin-top: 0.5rem; }
  .product-view .product-options {
    margin: 0 0 2rem; }
  .product-view nav.share {
    font-size: 1.25rem;
    margin: 1rem 0 0; }
    @media (min-width: 768px) {
      .product-view nav.share {
        margin: 1.25rem 0 0; } }
    @media (min-width: 992px) {
      .product-view nav.share {
        margin: 1.5rem 0 0; } }
    .product-view nav.share ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 -0.5rem; }
    .product-view nav.share li {
      margin: 0 0.5rem; }
    .product-view nav.share a {
      color: #FFD100; }
      .product-view nav.share a:hover, .product-view nav.share a:focus {
        color: #588108; }
  .product-view .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 #E9E9E9;
    box-shadow: inset 0 0 0 3px #fff; }
    .product-view .set-swatch label.unavailable {
      pointer-events: none;
      opacity: .5; }
      .product-view .set-swatch label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    .product-view .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; }
  .product-view .set-swatch input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-swatch input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }
  .product-view .productOptions-list {
    border: 1px solid #000;
    list-style: none;
    margin: 0;
    max-height: 400px;
    overflow-y: auto; }
  .product-view .productOptions-list-item {
    padding: 10px; }
    .product-view .productOptions-list-item + .productOptions-list-item {
      border-top: 1px solid #000; }
    .product-view .productOptions-list-item .form-label {
      text-align: left;
      top: -2px; }
  .product-view .productOptions-list-item-figure,
  .product-view .productOptions-list-item-content {
    display: table-cell;
    vertical-align: middle; }
  .product-view .productOptions-list-item-figure {
    width: auto; }
  .product-view .productOptions-list-item-content {
    padding-left: 10px; }
  .product-view .form-el, .product-view .form-cr {
    margin: 0 0 0.75rem; }
    .product-view .form-el p, .product-view .form-el label, .product-view .form-cr p, .product-view .form-cr label {
      display: block;
      width: 100%;
      font-weight: bold;
      margin: 0 0 0.5rem; }
    .product-view .form-el small, .product-view .form-cr small {
      font-size: .75em;
      font-weight: normal;
      font-style: italic;
      color: #FF0000; }
  .product-view [class*="set-"] label {
    font-weight: normal; }
  .product-view [class*="set-"] .options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: row wrap; }
  .product-view .set-radio label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row nowrap;
    margin: 0 0.5rem;
    width: auto; }
    .product-view .set-radio label:before {
      content: "";
      display: block;
      width: 0.75rem;
      height: 0.75rem;
      margin: 0 0.5rem 0 0;
      border-radius: 100%;
      border: 0.125rem solid #A4A9A6; }
    .product-view .set-radio label.unavailable {
      pointer-events: none;
      opacity: .5; }
  .product-view .set-radio input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-radio input:checked + label:before {
      background: #588108;
      box-shadow: inset 0 0 0 0.1875rem #fff; }
  .product-view select {
    max-width: 18.75rem;
    margin: 0.3125rem 0; }
    .product-view select:disabled, .product-view select.unavailable {
      background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
      opacity: 0.5; }
    .product-view select:hover, .product-view select:focus {
      border-color: #588108; }
  .product-view .set-rectangle {
    margin-bottom: 1.875rem !important; }
    .product-view .set-rectangle label {
      border: 0.0625rem solid #A4A9A6;
      padding: 0.25rem 0.75rem;
      font-size: 0.875rem;
      margin: 0.25rem 0.25rem 0 0;
      transition: all .25s linear;
      width: auto; }
      .product-view .set-rectangle label.unavailable {
        pointer-events: none;
        background: #A4A9A6;
        opacity: .5; }
    .product-view .set-rectangle input {
      position: absolute;
      width: 1px !important;
      height: 1px;
      padding: 0;
      margin: -1px;
      border: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0); }
      .product-view .set-rectangle input:checked + label {
        background: #588108;
        border-color: #588108;
        color: #fff; }
  .product-view .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 #E9E9E9;
    box-shadow: inset 0 0 0 3px #fff; }
    .product-view .set-swatch label.unavailable {
      pointer-events: none;
      opacity: .5; }
      .product-view .set-swatch label.unavailable ::before {
        background-color: #000;
        content: "";
        height: 2px;
        left: -5px;
        position: absolute;
        top: 11px;
        transform: rotate(-45deg);
        width: 141%; }
    .product-view .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; }
  .product-view .set-swatch input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }
    .product-view .set-swatch input:checked + label {
      border: 1px solid #000;
      box-shadow: inset 0 0 0 3px #fff;
      color: #fff; }

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

    DETAIL - DESCRIPTION TABS

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

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

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

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

    CART PREVIEW

    This controls the modal that appears after clicking add to cart

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

    DETAIL - CART PREVIEW

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

.previewCart {
  display: grid; }
  @media (min-width: 992px) {
    .previewCart {
      grid-template-columns: 3fr 1fr;
      column-gap: 1.5rem;
      align-items: top; } }
  @media (min-width: 992px) {
    .previewCart {
      column-gap: 2rem; } }
  .previewCart .productView {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.5rem;
    order: 2; }
    @media (min-width: 992px) {
      .previewCart .productView {
        column-gap: 2rem;
        order: 1; } }
    .previewCart .productView picture, .previewCart .productView img {
      width: 100%; }
    .previewCart .productView h2 {
      font-size: 1rem;
      line-height: 1.5rem;
      margin-bottom: 0.5rem; }
      .previewCart .productView h2 small {
        font-size: .5em;
        margin: 0 0 0.25rem; }
    .previewCart .productView dl {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto;
      column-gap: 0.5rem;
      row-gap: 0.5rem;
      max-width: 30rem;
      font-size: 0.875rem; }
      .previewCart .productView dl dt ~ dt {
        margin: 0; }
  .previewCart .previewCartCheckout {
    padding: 1rem;
    border: 0.0625rem solid #E9E9E9;
    border-radius: 0.25rem;
    background-color: transparent;
    order: 1;
    margin-bottom: 1.25rem; }
    .previewCart .previewCartCheckout [class*="btn-"] {
      width: 100%;
      margin: 0; }
      .previewCart .previewCartCheckout [class*="btn-"] + [class*="btn-"] {
        margin: 0.5rem 0 0; }
    .previewCart .previewCartCheckout .CheckoutButton {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row nowrap;
      margin: 0 0 1rem; }
      .previewCart .previewCartCheckout .CheckoutButton > p {
        display: none; }
    .previewCart .previewCartCheckout .RemoteCheckout {
      width: 100% !important;
      margin-bottom: 1rem; }
      .previewCart .previewCartCheckout .RemoteCheckout p {
        display: none !important; }
      .previewCart .previewCartCheckout .RemoteCheckout div, .previewCart .previewCartCheckout .RemoteCheckout button {
        width: 100% !important; }
    .previewCart .previewCartCheckout .subtotal {
      border: none;
      padding: 0.5rem 0;
      margin: 0.5rem 0;
      text-align: center; }
      .previewCart .previewCartCheckout .subtotal h3 {
        font-family: "Open Sans", Helvetica, Arial, sans-serif;
        text-transform: capitalize;
        font-weight: normal;
        font-size: 0.875rem;
        margin-bottom: 0.5rem; }
      .previewCart .previewCartCheckout .subtotal strong {
        font-size: 1.5rem;
        font-weight: 500;
        font-family: "sofia-pro-soft", sans-serif; }
    .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: #E9E9E9; }

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

    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: 1.25rem;
  row-gap: 1rem; }
  @media (min-width: 768px) {
    .feeds-static > div {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 2rem;
      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; }
  .feeds-carousel h2 {
    margin-bottom: 0; }
  .feeds-carousel .card {
    padding-top: 30px; }
  .feeds-carousel img {
    aspect-ratio: 1 / 1; }
  .feeds-carousel .slick-slider {
    margin: 0 -0.625rem;
    width: calc(100% + 1.25rem); }
    @media (min-width: 768px) {
      .feeds-carousel .slick-slider {
        margin: 0 -1rem;
        width: calc(100% + 2rem); } }
    @media (min-width: 992px) {
      .feeds-carousel .slick-slider {
        margin: 0 -1rem;
        width: calc(100% + 2rem); } }
  .feeds-carousel .slick-list {
    padding: 1.5rem 3rem 0 3rem !important; }
    @media (min-width: 768px) {
      .feeds-carousel .slick-list {
        padding: 1.5rem 0 0 0 !important; } }
  .feeds-carousel .slick-initialized .slick-slide {
    display: flex; }
  .feeds-carousel .carousel-heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
    @media (min-width: 576px) {
      .feeds-carousel .carousel-heading-container {
        justify-content: center; } }
    .feeds-carousel .carousel-heading-container h2 {
      position: relative; }
    .feeds-carousel .carousel-heading-container h2::after {
      content: url("../img/butter-splash-right.svg");
      display: block;
      position: absolute;
      top: -16px;
      right: -20px;
      width: 27px;
      height: 25px; }
    .feeds-carousel .carousel-heading-container h2.left::after {
      content: url("../img/butter-splash.svg");
      left: -20px;
      top: -24px; }
  .feeds-carousel .card-blog, .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
    width: 100%;
    margin: 0 0.5rem; }
    @media (min-width: 768px) {
      .feeds-carousel .card-blog, .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 0.5rem; } }
    @media (min-width: 992px) {
      .feeds-carousel .card-blog, .feeds-carousel .card, .feeds-carousel .thumbnails .thumbs {
        margin: 0 0.75rem; } }

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

    PRODUCT > FEEDS > CAROUSEL

\*  --------------------------------------------------------------------------  */
.carousel-centered {
  position: relative; }
  .carousel-centered h2 {
    margin-bottom: 0;
    color: #588108; }
  @media (min-width: 992px) {
    .carousel-centered .slick-slider {
      margin: 0;
      width: 100%; } }
  .carousel-centered .slick-list {
    padding-top: 2.125rem !important; }
    @media (min-width: 992px) {
      .carousel-centered .slick-list {
        padding-top: 4rem !important; } }
  .carousel-centered .slick-initialized .slick-slide {
    display: flex; }
  .carousel-centered .carousel-heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap; }
  .carousel-centered .card {
    width: 100%;
    margin: 0; }

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

    GIFT CERTIFICATE - PURCHASE

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

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

    ORDER CONFIRMATION - SUMMARY

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

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

    ORDER CONFIRMATION - MESSAGES

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

.button--primary, .button--action {
  background: #588108;
  color: #fff;
  border-color: #588108; }
  .button--primary:hover, .button--primary:focus, .button--action:hover, .button--action:focus {
    background: #fff;
    color: #588108;
    border-color: #588108; }

.button--tertiary {
  background: #E9E9E9;
  border-color: #E9E9E9;
  color: #1A1919; }
  .button--tertiary:hover, .button--tertiary:focus {
    background: #A4A9A6;
    border-color: #A4A9A6;
    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; } }

.home_delivery, .popcorn_delivery {
  background: #F0F4E8; }

.heading-copy {
  border-radius: 8px 8px 0 0; }

.cards {
  border-radius: 0 0 8px 8px; }

.heading-copy, .cards {
  background: white;
  padding: 0 1rem; }
  @media (min-width: 768px) {
    .heading-copy, .cards {
      padding: 0 2.5rem; } }
  @media (min-width: 992px) {
    .heading-copy, .cards {
      padding: 0 3rem; } }

.heading-copy h2 {
  padding: 3rem 1rem 1rem;
  margin: 0;
  text-align: center; }
  @media (min-width: 768px) {
    .heading-copy h2 {
      padding-top: 2.5rem; } }
  @media (min-width: 992px) {
    .heading-copy h2 {
      padding-top: 5rem; } }

.heading-copy p {
  padding: 0 0 2rem;
  font-weight: 600;
  font-size: 16px;
  line-height: 27px;
  text-align: center;
  margin: 0; }
  @media (min-width: 992px) {
    .heading-copy p {
      padding: 0 0 2.5rem; } }

.cards {
  padding-bottom: 3rem; }
  @media (min-width: 768px) {
    .cards {
      padding-bottom: 2.5rem; } }
  @media (min-width: 992px) {
    .cards {
      padding-bottom: 5rem; } }

.delivery-regions {
  margin-top: 0; }
  .delivery-regions .heading-copy {
    border-radius: 8px 8px 0 0; }
  .delivery-regions .cards {
    border-radius: 0 0 8px 8px; }
  .delivery-regions .heading-copy h2 {
    padding: 3rem 1rem 1rem;
    margin: 0;
    text-align: center; }
    @media (min-width: 768px) {
      .delivery-regions .heading-copy h2 {
        padding-top: remcalc(40); } }
    @media (min-width: 992px) {
      .delivery-regions .heading-copy h2 {
        padding-top: 5rem; } }
  .delivery-regions .heading-copy p {
    padding: 0 0 2rem;
    font-weight: 600;
    font-size: 16px;
    line-height: 27px;
    text-align: center;
    margin: 0; }
    @media (min-width: 992px) {
      .delivery-regions .heading-copy p {
        padding: 0 0 2.5rem; } }
  .delivery-regions .cards {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1.5rem; }
    @media (min-width: 768px) {
      .delivery-regions .cards {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem;
        row-gap: 2rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 992px) {
      .delivery-regions .cards {
        grid-template-columns: 1fr 1fr 1fr;
        row-gap: 2.5rem;
        column-gap: 1.5rem;
        padding-bottom: 5rem; } }
    .delivery-regions .cards .region-card {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: column nowrap; }
    .delivery-regions .cards img {
      margin: 0 0 1rem; }
    .delivery-regions .cards h3 {
      margin: 0 0 1rem; }
    .delivery-regions .cards a {
      margin: 0 0 1.5rem; }
    .delivery-regions .cards p {
      margin: 0;
      text-align: center; }
    @media (min-width: 992px) {
      .delivery-regions .cards img {
        margin: 0 0 1.5rem; } }
    .delivery-regions .cards a:last-child {
      margin: 0; }
  .delivery-regions .container {
    position: relative; }
  .delivery-regions .stickman {
    display: none; }
    @media (min-width: 992px) {
      .delivery-regions .stickman {
        display: block;
        position: absolute;
        width: 3.75rem;
        height: 7.5rem;
        background: no-repeat url("../img/stickman-6.png");
        background-size: contain;
        right: 3.75rem;
        bottom: -0.75rem; } }

.order-widget-size .size-card {
  display: grid;
  -ms-grid-rows: 176px 30px auto;
  grid-template-rows: 176px 30px auto;
  template-rows: 176px 30px auto; }
  .order-widget-size .size-card .h4 {
    text-align: center; }
  .order-widget-size .size-card img {
    justify-self: center;
    align-self: end; }

.order-widget-flavors .size-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: column nowrap; }

.order-widget-size .size-card img, .order-widget-flavors .size-card img {
  margin: 0 0 1rem; }

.order-widget-size .size-card h3, .order-widget-flavors .size-card h3 {
  margin: 0 0 0.5rem; }

.order-widget-size .size-card .h4, .order-widget-flavors .size-card .h4 {
  text-align: center; }

.order-widget-size .size-card p, .order-widget-flavors .size-card p {
  margin: 0;
  padding: 0 1rem;
  text-align: center;
  font-weight: 600; }

@media (min-width: 768px) {
  .order-widget-size .size-card, .order-widget-flavors .size-card {
    justify-self: center; }
    .order-widget-size .size-card img, .order-widget-flavors .size-card img {
      margin: 0 0 1.5rem; }
    .order-widget-size .size-card p, .order-widget-flavors .size-card p {
      padding: 0; } }

.order-widget-size .slick-slider, .order-widget-flavors .slick-slider {
  margin: 0;
  width: auto; }

@media (min-width: 450px) {
  .order-widget-size .slick-track, .order-widget-flavors .slick-track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 2rem; }
    .order-widget-size .slick-track:before, .order-widget-size .slick-track:after, .order-widget-flavors .slick-track:before, .order-widget-flavors .slick-track:after {
      content: none; } }

@media (min-width: 992px) {
  .order-widget-size .slick-track, .order-widget-flavors .slick-track {
    grid-template-columns: 1fr 1fr 1fr 1fr; } }

@media (min-width: 768px) and (max-width: 991.9px) {
  .order-widget-size .cards, .order-widget-flavors .cards {
    padding-top: 2rem; } }

.order-widget-size .container, .order-widget-flavors .container {
  position: relative; }

.order-widget-size .stick-woman, .order-widget-flavors .stick-woman {
  display: none; }
  @media (min-width: 992px) {
    .order-widget-size .stick-woman, .order-widget-flavors .stick-woman {
      display: block;
      position: absolute;
      width: 3.75rem;
      height: 7.5rem;
      background: no-repeat url("../img/stickwoman.png");
      background-size: contain;
      left: 2.5rem;
      bottom: -1rem; } }

.order-widget-size .stick-kid, .order-widget-flavors .stick-kid {
  display: none; }
  @media (min-width: 992px) {
    .order-widget-size .stick-kid, .order-widget-flavors .stick-kid {
      display: block;
      position: absolute;
      width: 2rem;
      height: 3.625rem;
      background: no-repeat url("../img/stickgirl.png");
      background-size: contain;
      right: 3.75rem;
      bottom: -1rem; } }

.order-widget-size .stick-man, .order-widget-flavors .stick-man {
  display: none; }
  @media (min-width: 992px) {
    .order-widget-size .stick-man, .order-widget-flavors .stick-man {
      display: block;
      position: absolute;
      width: 2.8125rem;
      height: 7rem;
      background: no-repeat url("../img/stickman-right.png");
      background-size: contain;
      right: 1.25rem;
      bottom: -1rem; } }

@media (min-width: 768px) {
  .order-widget-flavors .size-card img {
    margin: 0 0 1rem; } }

@media (min-width: 992px) {
  .order-widget-flavors .size-card img {
    margin: 0 0 0.875rem; } }

.testimonials {
  background: #FFD100;
  margin-bottom: 0; }
  .testimonials .container {
    position: relative;
    background-image: url(../img/pop-25.svg), url(../img/pop-25.svg), url(../img/pop-25.svg), url(../img/pop-25.svg);
    background-repeat: no-repeat;
    background-position: -0% -10%, 103% -4%, -5% 105%, 105% 100%;
    background-size: 5.625rem, 3.75rem, 8.75rem, 7.25rem;
    padding: 3rem 1rem; }
    @media (min-width: 768px) {
      .testimonials .container {
        padding: 3.5rem 3rem; } }
    @media (min-width: 992px) {
      .testimonials .container {
        padding: 5rem 2.5rem;
        background-position: 10% -20%, 80% 5%, 0% 200%, 100% 130%;
        background-size: 11.25rem, 6.875rem, 17.75rem, 15.375rem; } }
  .testimonials .slick-prev, .testimonials .slick-next {
    display: none !important;
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 768px) {
      .testimonials .slick-prev, .testimonials .slick-next {
        display: inline-block !important; } }
  .testimonials .slick-next {
    left: unset;
    right: 1rem; }
  .testimonials .slick-slider {
    margin: 0;
    width: auto; }
  @media (min-width: 768px) {
    .testimonials .slick-dots {
      padding-top: 2rem; } }
  .testimonials h2, .testimonials h3, .testimonials p {
    text-align: center; }
    @media (min-width: 992px) {
      .testimonials h2, .testimonials h3, .testimonials p {
        max-width: 46.125rem;
        margin-left: auto;
        margin-right: auto; } }
  .testimonials h2 {
    margin-bottom: 2rem; }
    @media (min-width: 768px) {
      .testimonials h2 {
        margin-bottom: 1.5rem; } }
    @media (min-width: 992px) {
      .testimonials h2 {
        margin-bottom: 2rem; } }
  .testimonials h3 {
    margin-bottom: 1.5rem; }
  .testimonials p {
    font-weight: 600; }

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

    PAGE - NAV - INTERIOR

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

nav.int a {
  color: #4B5950; }

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

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

    SEARCH - GRID

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

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

    SEARCH - ACTION BAR

\*  --------------------------------------------------------------------------  */
.action-bar {
  background: #E9E9E9;
  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; }
  .action-bar label {
    margin: 0 0.5rem 0 0;
    font-weight: bold;
    white-space: nowrap; }

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

    SEARCH - FACETS

\*  --------------------------------------------------------------------------  */
#facetedSearch {
  max-height: calc(100vh - 12.5rem);
  overflow-y: scroll;
  padding: 0 0.625rem 1.25rem 0; }

.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 button {
    font-weight: bold;
    font-size: 0.875rem; }
  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: 0.5rem 0 0; }
  dl.facets dd {
    margin-bottom: 1.25rem;
    padding: 0.5rem 0 0;
    font-size: 0.875rem; }
  dl.facets ul {
    padding: 0.25rem 0 0 0.5rem; }
  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;
    position: relative; }
    dl.facets a:before {
      position: relative;
      top: 1px;
      display: none;
      height: 0.625rem;
      width: 0.625rem;
      border: 0.0625rem solid #588108;
      content: "";
      margin-right: 0.25rem;
      border-radius: 0.125rem; }
    dl.facets a:after {
      display: none;
      position: absolute;
      left: 0.375rem;
      top: 0.4em;
      -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg);
      height: 0.125rem;
      width: 0.3125rem;
      border-left: 0.125rem solid #588108;
      border-bottom: 0.125rem solid #588108;
      content: ""; }
    dl.facets a.is-active:after {
      display: block; }
  dl.facets a[rel=nofollow]:before {
    display: inline-block; }
  dl.facets .form-fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: row nowrap;
    gap: 10px; }
    dl.facets .form-fieldset input {
      padding: 0.375rem;
      border-radius: 0.25rem; }
    dl.facets .form-fieldset [class*="btn-"] {
      padding: 0.3125rem 0.375rem;
      font-size: 0.875rem; }

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

    SEARCH - HERO

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

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

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

    SEARCH - LAYOUT

\*  --------------------------------------------------------------------------  */
@media (min-width: 768px) {
  .layout-search {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto;
    column-gap: 2rem;
    row-gap: 2rem; }
    .layout-search aside nav {
      position: relative;
      position: -webkit-sticky;
      position: sticky; }
      @supports (position: -webkit-sticky) {
        .layout-search aside nav {
          top: 7.75rem; } }
      @supports (position: sticky) {
        .layout-search aside nav {
          top: 7.75rem; } } }

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

    SEARCH - SEARCH

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

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

    WIDGETS

    This loads all widget styling on the website.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@keyframes popInOut {
  0% {
    transform: scale(1); }
  25% {
    transform: scale(0.5); }
  100% {
    transform: scale(15); } }

@keyframes popOutIn {
  0% {
    transform: scale(13); }
  100% {
    transform: scale(1); } }

@keyframes popIn {
  0% {
    transform: translateY(); }
  100% {
    transform: translateY(100vh); } }

@keyframes navIn {
  0% {
    opacity: 0;
    transform: translateX(-200px); }
  75% {
    opacity: .2; }
  100% {
    opacity: 1;
    transform: translateX(0%); } }

@keyframes navOut {
  0% {
    opacity: 1;
    transform: translateX(0%); }
  75% {
    opacity: 0; }
  100% {
    opacity: 0;
    transform: translateX(100%); } }

/* -------------------------------------------------------------------------- */
/*                           HOMEPAGE HERO CAROUSEL                           */
/* -------------------------------------------------------------------------- */
.homepage-hero {
  position: relative;
  margin-top: 0;
  --animationDistance: 10px; }
  @media (min-width: 768px) and (max-width: 991.9px) {
    .homepage-hero .animated {
      text-align: left; } }
  .homepage-hero .carousel-tooltip {
    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) {
      .homepage-hero .carousel-tooltip {
        top: 30px; } }
  .homepage-hero h1 {
    color: #fff;
    transition: all .3s ease;
    margin-top: 1.5rem;
    margin-bottom: 1rem; }
    @media (min-width: 992px) {
      .homepage-hero h1 {
        margin-top: 7.375rem; } }
  .homepage-hero p {
    transition: all .3s ease;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 600; }
    @media (min-width: 992px) {
      .homepage-hero p {
        font-size: 1.125rem;
        margin: 0 0 2rem; } }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .homepage-hero p {
        max-width: 50%; } }
  .homepage-hero .arrows-none .scroll-arrow {
    display: none; }
  @media (min-width: 992px) {
    .homepage-hero > .container {
      position: relative; } }
  .homepage-hero .container {
    display: grid;
    grid-template-columns: 1fr; }
    @media (min-width: 992px) {
      .homepage-hero .container {
        grid-template-columns: repeat(12, 1fr); }
        .homepage-hero .container div {
          grid-column-start: 2;
          grid-column-end: 12;
          max-width: 28.125rem; } }
  .homepage-hero .custom-dot-holder {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .homepage-hero .custom-dot-holder {
        left: 3rem;
        transform: unset;
        bottom: 2.5rem; } }
    @media (min-width: 992px) {
      .homepage-hero .custom-dot-holder {
        left: 15%; } }
  .homepage-hero .dots {
    padding: 0 0 1.5rem 0; }
    .homepage-hero .dots .dot {
      background: rgba(255, 255, 255, 0.5); }
    @media (min-width: 992px) {
      .homepage-hero .dots {
        z-index: 2;
        justify-content: left;
        padding: 0;
        position: absolute; }
        .homepage-hero .dots .dot {
          position: relative;
          top: 3.25rem; }
        .homepage-hero .dots .dot {
          margin: 0 0.75rem 0 0; }
        .homepage-hero .dots button.dot {
          width: 3.75rem;
          height: 3.75rem;
          border-radius: 3.75rem;
          opacity: 100%; } }
  @media (min-width: 992px) {
    .homepage-hero .dot--active::before {
      content: '';
      display: block;
      border-radius: 100%;
      opacity: .75;
      background-color: #FFD100;
      width: 100%;
      height: 100%; }
    .homepage-hero .dot--active::after {
      content: url("../img/butter-splash.svg");
      display: block;
      position: absolute;
      top: 0px;
      left: -10px;
      width: 27px;
      height: 25px; } }
  .homepage-hero--slide {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    text-align: center;
    height: 30rem; }
    @media (min-width: 992px) {
      .homepage-hero--slide {
        justify-content: flex-start; } }
    .homepage-hero--slide .container {
      visibility: visible;
      animation-delay: 50ms;
      animation-name: fadeInUp;
      animation-duration: 1.3s; }
    @media (max-width: 767.9px) {
      .homepage-hero--slide {
        padding-bottom: 0 !important; }
        .homepage-hero--slide .animated {
          margin: 0 -16px;
          background: #588108;
          padding: 0 1rem; }
        .homepage-hero--slide .container {
          height: auto; }
        .homepage-hero--slide .btn-primary {
          margin-bottom: 5rem;
          background: #fff;
          color: #588108;
          font-size: 1rem; }
          .homepage-hero--slide .btn-primary i {
            border-color: #588108; } }
    @media (min-width: 992px) {
      .homepage-hero--slide {
        height: 32.5rem;
        text-align: left; } }
    .homepage-hero--slide.gradient {
      background: linear-gradient(180deg, rgba(26, 25, 25, 0) 0%, rgba(26, 25, 25, 0.473619) 28.35%, rgba(26, 25, 25, 0.75) 100%); }
      @media (min-width: 768px) {
        .homepage-hero--slide.gradient {
          background: linear-gradient(90deg, rgba(38, 28, 27, 0.75) -2.29%, rgba(38, 28, 27, 0.5) 21.63%, rgba(38, 28, 27, 0) 50%); } }
  .homepage-hero .carousel-grid .dots {
    padding: 0 0 1.5rem; }
    .homepage-hero .carousel-grid .dots .dot {
      background: rgba(255, 255, 255, 0.5);
      border: none; }
    .homepage-hero .carousel-grid .dots .dot--active {
      background: #ffd100; }
  .homepage-hero picture {
    height: auto; }
    .homepage-hero picture img {
      position: absolute;
      width: 100vw;
      object-fit: cover;
      z-index: -1;
      top: 0;
      height: 100%;
      display: block; }

.widget-side-by-side {
  padding-top: 3.375rem;
  overflow: hidden;
  padding-bottom: 3.125rem; }
  @media (min-width: 768px) {
    .widget-side-by-side {
      padding-top: 0; } }
  @media (min-width: 768px) {
    .widget-side-by-side {
      padding-bottom: 1.25rem; } }
  @media (min-width: 992px) {
    .widget-side-by-side {
      padding-top: 4rem;
      padding-bottom: 3.375rem; } }
  .widget-side-by-side a {
    text-decoration: underline;
    color: #4E7507;
    border-color: #4E7507; }
  .widget-side-by-side .btn-secondary {
    color: #4E7507;
    border-color: #4E7507; }
  .widget-side-by-side .btn-primary {
    color: white; }
  .widget-side-by-side .container {
    position: relative; }
    .widget-side-by-side .container > .widget-imageRight.real-popcorn {
      position: absolute; }
      .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-5 {
        display: none; }
      .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-1 {
        width: 110px;
        bottom: -45px;
        left: 0; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-1 {
            display: block;
            width: 95px;
            left: -25px;
            bottom: -20px; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-1 {
            width: 152px;
            left: 0;
            bottom: -55px; } }
      .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-4 {
        display: none; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-4 {
            display: block;
            width: 58px;
            left: 0 !important;
            top: 0; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-4 {
            width: 98px;
            left: 74px !important;
            top: -60px; } }
      .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-3 {
        width: 77px;
        bottom: -25px;
        right: -15px; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-3 {
            bottom: -20px; } }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageRight.real-popcorn.k-3 {
            display: block;
            width: 73px;
            right: 0; } }
    .widget-side-by-side .container > .widget-imageLeft.real-popcorn {
      position: absolute; }
      .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-3 {
        display: none; }
      .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-1 {
        left: -30px;
        width: 108px;
        bottom: -35px; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-1 {
            left: 0;
            bottom: -20px; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-1 {
            display: none; } }
      .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-5 {
        right: -30px;
        width: 108px;
        bottom: -50px; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-5 {
            right: 0;
            bottom: -20px; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-5 {
            width: 160px;
            bottom: -55px;
            right: -45px; } }
      .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-4 {
        top: 300px;
        width: 86px;
        right: -30px; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-4 {
            display: none; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > .widget-imageLeft.real-popcorn.k-4 {
            display: block;
            top: -65px;
            right: 0;
            width: 122px;
            transform: rotateX(180deg); } }
    .widget-side-by-side .container > div {
      background: #F0F4E8;
      border-radius: 0.5rem;
      position: relative;
      display: grid;
      grid-template-columns: 1fr;
      justify-items: center;
      text-align: center; }
      .widget-side-by-side .container > div .img {
        width: 100%;
        position: relative;
        top: -3.375rem;
        text-align: center; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div .img {
            top: 0; } }
        .widget-side-by-side .container > div .img img {
          display: block;
          border-radius: 0.5rem;
          width: 21.8125rem;
          height: 18.625rem;
          aspect-ratio: auto 349 / 298;
          max-width: 100%;
          height: 100%;
          margin: 0 auto; }
          @media (min-width: 992px) {
            .widget-side-by-side .container > div .img img {
              width: 39.25rem;
              height: 33.5rem;
              aspect-ratio: auto 628 / 536; } }
        .widget-side-by-side .container > div .img .stickman {
          position: absolute;
          display: block; }
          .widget-side-by-side .container > div .img .stickman.imageRight {
            background: no-repeat url("../img/stickman-right.png");
            background-size: contain;
            width: 1.8125rem;
            height: 3.6875rem;
            right: 3.25rem;
            bottom: 0; }
            @media (min-width: 768px) {
              .widget-side-by-side .container > div .img .stickman.imageRight {
                width: 1.6875rem;
                height: 4.125rem;
                right: 3.375rem;
                bottom: 1.25rem; } }
            @media (min-width: 992px) {
              .widget-side-by-side .container > div .img .stickman.imageRight {
                width: 2.8125rem;
                height: 7.1875rem;
                right: 4.5rem;
                bottom: -2.625rem; } }
          .widget-side-by-side .container > div .img .stickman.imageLeft {
            background: no-repeat url("../img/stickman-left.png");
            background-size: contain;
            width: 1.375rem;
            height: 3.5rem;
            left: 3.25rem;
            bottom: 0; }
            @media (min-width: 768px) {
              .widget-side-by-side .container > div .img .stickman.imageLeft {
                width: 2rem;
                height: 4.0625rem;
                left: 3.375rem;
                bottom: 1.25rem; } }
            @media (min-width: 992px) {
              .widget-side-by-side .container > div .img .stickman.imageLeft {
                width: 3.6875rem;
                height: 7.5625rem;
                left: 4.5rem;
                bottom: -2.625rem; } }
      .widget-side-by-side .container > div.imageLeft .img, .widget-side-by-side .container > div.imageRight .img {
        order: 1; }
      .widget-side-by-side .container > div.imageLeft .content, .widget-side-by-side .container > div.imageRight .content {
        order: 2;
        position: relative;
        top: -3rem; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div.imageLeft .content, .widget-side-by-side .container > div.imageRight .content {
            top: 0; } }
      .widget-side-by-side .container > div.imageRight .img {
        padding: 0 1rem 1rem 1rem; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div.imageRight .img {
            padding: 2rem 2rem 2rem 0; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > div.imageRight .img {
            padding: 0 2rem 0 0;
            top: -2rem; } }
      .widget-side-by-side .container > div.imageRight .content {
        padding: 1rem 1rem 0 1rem; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div.imageRight .content {
            padding: 2rem; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > div.imageRight .content {
            padding: 2rem 4rem 2rem 5rem; } }
      .widget-side-by-side .container > div.imageLeft .img {
        padding: 0 1rem 1rem 1rem; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div.imageLeft .img {
            padding: 2rem 0 2rem 2rem; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > div.imageLeft .img {
            padding: 0 0 0 2rem;
            top: -2rem; } }
      .widget-side-by-side .container > div.imageLeft .content {
        padding: 1rem 1rem 0 1rem; }
        @media (min-width: 768px) {
          .widget-side-by-side .container > div.imageLeft .content {
            padding: 2rem; } }
        @media (min-width: 992px) {
          .widget-side-by-side .container > div.imageLeft .content {
            padding: 2rem 5rem 2rem 4rem; } }
      @media (min-width: 768px) {
        .widget-side-by-side .container > div {
          grid-template-columns: 1fr 1fr;
          align-items: center;
          text-align: left; }
          .widget-side-by-side .container > div.imageRight .img {
            order: 2; }
          .widget-side-by-side .container > div.imageRight .content {
            order: 1; } }
  .widget-side-by-side.sbs-af {
    margin-bottom: 0;
    background: no-repeat url("../img/Cloud-Background.svg");
    background-size: 550px;
    background-position: bottom;
    position: relative;
    overflow: hidden;
    padding-bottom: 0; }
    @media (min-width: 768px) {
      .widget-side-by-side.sbs-af {
        background-size: 90%;
        background-position: center bottom; } }
    @media (min-width: 992px) {
      .widget-side-by-side.sbs-af {
        background-size: contain;
        background-position: center bottom; }
        .widget-side-by-side.sbs-af .container {
          position: relative; } }
    @media (max-width: 767.9px) {
      .widget-side-by-side.sbs-af {
        padding-top: 0 !important; } }
    .widget-side-by-side.sbs-af .imageLeft, .widget-side-by-side.sbs-af .imageRight {
      background: none; }
      @media (min-width: 768px) {
        .widget-side-by-side.sbs-af .imageLeft, .widget-side-by-side.sbs-af .imageRight {
          position: static; } }
      .widget-side-by-side.sbs-af .imageLeft .content, .widget-side-by-side.sbs-af .imageRight .content {
        grid-row-start: 1;
        top: 0 !important;
        padding-bottom: 12.5rem !important; }
        @media (min-width: 768px) and (max-width: 991.9px) {
          .widget-side-by-side.sbs-af .imageLeft .content, .widget-side-by-side.sbs-af .imageRight .content {
            padding-top: 0 !important; } }
        @media (max-width: 767.9px) {
          .widget-side-by-side.sbs-af .imageLeft .content, .widget-side-by-side.sbs-af .imageRight .content {
            padding-top: 0 !important; } }
        @media (min-width: 768px) {
          .widget-side-by-side.sbs-af .imageLeft .content, .widget-side-by-side.sbs-af .imageRight .content {
            grid-column-start: 2;
            padding-bottom: 3.5rem !important; } }
        @media (min-width: 992px) {
          .widget-side-by-side.sbs-af .imageLeft .content, .widget-side-by-side.sbs-af .imageRight .content {
            padding-bottom: 5rem !important; } }
      .widget-side-by-side.sbs-af .imageLeft .img, .widget-side-by-side.sbs-af .imageRight .img {
        top: unset !important;
        bottom: 0;
        left: 0;
        padding: 0 1.25rem !important;
        position: absolute;
        overflow: hidden; }
        .widget-side-by-side.sbs-af .imageLeft .img img, .widget-side-by-side.sbs-af .imageRight .img img {
          max-width: 250px;
          height: 100%;
          margin: 0 auto;
          z-index: 5; }
        @media (min-width: 768px) {
          .widget-side-by-side.sbs-af .imageLeft .img, .widget-side-by-side.sbs-af .imageRight .img {
            grid-column-start: 1;
            bottom: 0 !important;
            top: unset;
            left: -250px;
            position: absolute;
            width: auto; }
            .widget-side-by-side.sbs-af .imageLeft .img img, .widget-side-by-side.sbs-af .imageRight .img img {
              width: 600px;
              max-width: none;
              margin: 0; } }
        @media (min-width: 992px) {
          .widget-side-by-side.sbs-af .imageLeft .img, .widget-side-by-side.sbs-af .imageRight .img {
            left: -150px; } }
    @media (min-width: 768px) and (max-width: 991.9px) {
      .widget-side-by-side.sbs-af .k-1 {
        display: none; } }
    .widget-side-by-side.sbs-af .k-5 {
      display: none; }
      @media (min-width: 992px) {
        .widget-side-by-side.sbs-af .k-5 {
          display: block;
          position: absolute;
          right: -10px;
          bottom: -70px; } }
    .widget-side-by-side.sbs-af .k-4 {
      left: unset !important;
      right: 2% !important;
      width: 100px !important;
      top: 65% !important; }
      @media (min-width: 768px) {
        .widget-side-by-side.sbs-af .k-4 {
          right: 10% !important; } }

.hero-widget {
  text-align: center;
  background-color: rgba(0, 0, 0, 0.25); }
  .hero-widget .btn-secondary {
    color: #4E7507;
    border-color: #4E7507; }
  .hero-widget.bg-img {
    padding: 3rem 0; }
    @media (min-width: 768px) {
      .hero-widget.bg-img {
        padding: 3.5rem 0; } }
    @media (min-width: 992px) {
      .hero-widget.bg-img {
        padding: 5rem 0; } }
    .hero-widget.bg-img img {
      position: absolute;
      width: 100vw;
      object-fit: cover;
      z-index: -1;
      top: 0;
      height: 100%;
      display: block;
      max-width: 100%; }
    .hero-widget.bg-img .content-overlay {
      background: #fff;
      opacity: 0.85;
      border-radius: 0.5rem;
      padding: 2rem 1.5rem; }
      @media (min-width: 768px) {
        .hero-widget.bg-img .content-overlay {
          padding: 2rem 3rem; } }
      @media (min-width: 992px) {
        .hero-widget.bg-img .content-overlay {
          max-width: 52.5rem;
          left: 0;
          right: 0;
          margin-left: auto;
          margin-right: auto;
          padding: 3rem 4.75rem; } }
  .hero-widget .content-overlay {
    position: relative; }
    .hero-widget .content-overlay p {
      margin: 0; }
  .hero-widget p, .hero-widget ol, .hero-widget li {
    font-weight: 600;
    font-size: 1rem; }
  .hero-widget li:before {
    position: static;
    font-size: 1rem; }
  .hero-widget ol {
    margin: 2rem 0 1.5rem; }
    .hero-widget ol li {
      margin-top: 0; }
  .hero-widget label {
    width: 100%; }
    @media (min-width: 768px) {
      .hero-widget label {
        width: auto; } }
    .hero-widget label:first-of-type {
      margin-bottom: 1rem; }
      @media (min-width: 768px) {
        .hero-widget label:first-of-type {
          margin-bottom: 0;
          margin-right: 0.75rem; } }
  .hero-widget.no-bg-image {
    background: #F0F4E8;
    position: relative; }
    .hero-widget.no-bg-image .content-overlay {
      padding: 3rem 0; }
      @media (min-width: 768px) {
        .hero-widget.no-bg-image .content-overlay {
          padding: 3.5rem 0; } }
      @media (min-width: 992px) {
        .hero-widget.no-bg-image .content-overlay {
          padding: 5rem 0; } }
    .hero-widget.no-bg-image .real-popcorn {
      display: none; }
      @media (min-width: 992px) {
        .hero-widget.no-bg-image .real-popcorn {
          display: block;
          position: absolute; }
          .hero-widget.no-bg-image .real-popcorn.k-1 {
            width: 160px;
            bottom: 1.25rem;
            right: 1.25rem; }
          .hero-widget.no-bg-image .real-popcorn.k-2 {
            width: 77px;
            bottom: 55%;
            right: -15px;
            filter: blur(2px);
            transform: rotate(180deg); }
          .hero-widget.no-bg-image .real-popcorn.k-3 {
            width: 136px;
            top: -20px;
            right: 40px;
            transform: rotate(270deg); }
          .hero-widget.no-bg-image .real-popcorn.k-4 {
            width: 58px;
            left: 0;
            bottom: 4.375rem; }
          .hero-widget.no-bg-image .real-popcorn.k-5 {
            width: 141px;
            left: -80px;
            top: 40px;
            transform: rotate(180deg); } }
  .hero-widget .stickman {
    display: none; }
    @media (min-width: 992px) {
      .hero-widget .stickman {
        display: block;
        position: absolute;
        width: 3.75rem;
        height: 7.5rem; } }
    @media (min-width: 992px) {
      .hero-widget .stickman.left {
        background: no-repeat url("../img/stickman-left.png");
        background-size: contain;
        left: -1.75rem;
        bottom: -0.25rem; } }
    @media (min-width: 992px) {
      .hero-widget .stickman.right {
        background: no-repeat url("../img/stickman-right.png");
        background-size: contain;
        right: -1.75rem;
        bottom: -0.25rem; } }
  .hero-widget .stickwoman {
    display: none; }
    @media (min-width: 992px) {
      .hero-widget .stickwoman {
        display: block;
        position: absolute;
        width: 3.75rem;
        height: 7.5rem; } }
    @media (min-width: 992px) {
      .hero-widget .stickwoman.left {
        background: no-repeat url("../img/stickwoman.png");
        background-size: contain;
        left: -0.75rem;
        bottom: -1rem; } }

.no-widget h1 {
  padding-top: 3rem; }
  @media (min-width: 768px) {
    .no-widget h1 {
      padding-top: 3.5rem; } }
  @media (min-width: 992px) {
    .no-widget h1 {
      padding-top: 9.25rem; } }

.nutrition-widget {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 400; }
  @media print {
    .nutrition-widget {
      background-color: white;
      height: 100%;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0;
      margin: 0;
      padding: 15px;
      font-size: 14px;
      line-height: 18px; } }
  .nutrition-widget a {
    font-weight: 600;
    font-family: "sofia-pro-soft", sans-serif; }
  .nutrition-widget p > a {
    text-decoration: underline; }
  .nutrition-widget p {
    margin: 0; }
  .nutrition-widget ul > li {
    padding: 0; }
  .nutrition-widget ul {
    margin-bottom: 0.75rem; }
  .nutrition-widget li + li {
    margin-top: 0.75rem; }
  .nutrition-widget li.first-block + li {
    margin: 0; }
  .nutrition-widget hr {
    background: #E9E9E9;
    height: 1px;
    margin: 0.75rem 0; }
  .nutrition-widget h5, .nutrition-widget h6 {
    text-transform: uppercase;
    font-size: 0.875rem;
    line-height: 1.3125rem; }
  .nutrition-widget h6 {
    margin-bottom: 0.5rem; }
  .nutrition-widget .grid-container {
    border: 1px solid #E9E9E9;
    border-radius: 0.625rem; }
    .nutrition-widget .grid-container .header > p {
      display: none; }
    @media (min-width: 768px) {
      .nutrition-widget .grid-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem; }
        .nutrition-widget .grid-container .header {
          grid-column: 1 / span 2; } }
    @media (min-width: 992px) {
      .nutrition-widget .grid-container {
        column-gap: 7.25rem; } }
  .nutrition-widget .ingredient-heading {
    margin-bottom: 0.75rem; }
  .nutrition-widget .item {
    display: grid;
    grid-template-columns: 1fr auto; }
  .nutrition-widget .nutrition, .nutrition-widget .allergen {
    padding: 1.5rem 1rem 0; }
  @media (min-width: 768px) {
    .nutrition-widget .nutrition {
      padding: 1.5rem 0 3rem 1.5rem; } }
  @media (min-width: 992px) {
    .nutrition-widget .nutrition {
      padding: 3rem 0 3rem 3rem; }
      .nutrition-widget .nutrition ul {
        margin-bottom: 2rem; } }
  .nutrition-widget .header {
    background: #F0F4E8;
    color: #1A1919;
    border-radius: 10px 10px 0px 0px;
    padding: 1rem;
    border-bottom: 1px solid #E9E9E9; }
    .nutrition-widget .header .print-btn {
      color: #1A1919;
      background: #F0F4E8; }
      .nutrition-widget .header .print-btn span {
        color: #1A1919;
        background: #F0F4E8; }
    .nutrition-widget .header .print-btn {
      display: none; }
    @media (min-width: 768px) {
      .nutrition-widget .header .print-btn {
        display: block; } }
    @media (min-width: 768px) {
      .nutrition-widget .header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row nowrap;
        padding: 1rem 1.5rem; } }
    @media (min-width: 992px) {
      .nutrition-widget .header {
        padding: 1rem 3rem; } }
  .nutrition-widget .allergen {
    position: relative; }
    @media (min-width: 768px) {
      .nutrition-widget .allergen {
        padding: 1.5rem 1.5rem 0 0; } }
    @media (min-width: 992px) {
      .nutrition-widget .allergen {
        padding: 3rem 3rem 0 0; } }
    .nutrition-widget .allergen h5 {
      margin-bottom: 1.5rem; }
    .nutrition-widget .allergen .allergy-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: column wrap;
      margin-right: 0.25rem; }
      .nutrition-widget .allergen .allergy-icon .label {
        text-align: center;
        text-transform: uppercase; }
    .nutrition-widget .allergen .flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: row nowrap;
      margin-bottom: 1.5rem; }
    .nutrition-widget .allergen .note {
      font-style: italic;
      margin-bottom: 1.5rem; }
    .nutrition-widget .allergen .logo {
      position: relative;
      width: 5rem;
      bottom: -0.75rem;
      left: 80%; }
      @media (min-width: 768px) {
        .nutrition-widget .allergen .logo {
          position: absolute;
          left: 50%;
          width: 7rem; } }
      @media (min-width: 992px) {
        .nutrition-widget .allergen .logo {
          width: 8.25rem;
          left: 60%; } }

#storemapper {
  flex-direction: column !important;
  display: flex; }
  @media (min-width: 992px) {
    #storemapper {
      flex-direction: row !important;
      flex-wrap: nowrap; } }
  #storemapper .storemapper_btn-wrap {
    border: none; }
  #storemapper #storemapper-right {
    order: 2;
    width: 100%; }
    @media (min-width: 992px) {
      #storemapper #storemapper-right {
        position: sticky !important;
        overflow: hidden;
        left: 0;
        width: 80%;
        top: 0;
        height: 1200px !important; } }
    #storemapper #storemapper-right .storemapper-popup h4.storemapper-popup-name {
      font-family: 'Open Sans';
      font-weight: 600;
      font-size: 1.125rem;
      line-height: 1.6875rem;
      margin-bottom: 1rem; }
    #storemapper #storemapper-right .storemapper-popup p.storemapper-popup-address {
      font-family: 'Open Sans';
      font-size: 1rem;
      line-height: 1.6875rem;
      font-weight: 300;
      margin-bottom: 1rem; }
      #storemapper #storemapper-right .storemapper-popup p.storemapper-popup-address svg {
        fill: #588108;
        margin: 0;
        top: 4px; }
    #storemapper #storemapper-right .storemapper-popup p.storemapper-popup-phone {
      display: none; }
    #storemapper #storemapper-right .storemapper-popup p .btn {
      appearance: none;
      position: relative;
      display: inline-flex;
      flex-flow: row nowrap;
      justify-content: center;
      align-items: center;
      padding: 0 2rem;
      margin: 0;
      border: 0.0625rem solid currentColor;
      border-radius: 6.25rem;
      font-size: 1rem;
      line-height: 1rem;
      height: 3rem;
      text-align: center;
      text-decoration: none;
      width: auto;
      font-family: "sofia-pro-soft", sans-serif;
      display: flex !important;
      border-color: #588108;
      color: #588108; }
      #storemapper #storemapper-right .storemapper-popup p .btn i {
        display: flex;
        padding-top: 4.5px;
        padding-left: 2.5px;
        transition: all .2s ease;
        border: 1px solid #fff;
        width: 16px;
        height: 16px;
        border-radius: 50px;
        transform: translate(8px);
        font-size: 6px; }
      #storemapper #storemapper-right .storemapper-popup p .btn.small {
        font-size: 0.875rem;
        line-height: 0.875rem;
        height: 2.25rem;
        padding: 0 1.5rem; }
      #storemapper #storemapper-right .storemapper-popup p .btn svg {
        display: inline-block;
        width: 1.25rem;
        height: 1rem;
        fill: currentColor; }
      #storemapper #storemapper-right .storemapper-popup p .btn:focus {
        outline: 1px solid #1A1919; }
      #storemapper #storemapper-right .storemapper-popup p .btn:hover, #storemapper #storemapper-right .storemapper-popup p .btn:focus {
        text-decoration: none; }
      #storemapper #storemapper-right .storemapper-popup p .btn:hover, #storemapper #storemapper-right .storemapper-popup p .btn:focus {
        cursor: ss; }
  #storemapper #storemapper-left {
    order: 1;
    width: 100%;
    height: auto !important; }
    #storemapper #storemapper-left .storemapper-categories.storemapper-dropdown {
      display: none !important; }
    @media (min-width: 992px) {
      #storemapper #storemapper-left {
        max-width: 420px; } }
    @media (min-width: 1200px) {
      #storemapper #storemapper-left {
        max-width: 500px; } }
  #storemapper #storemapper-form {
    padding: 0 1rem 1rem !important;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.06); }
    @media (min-width: 992px) {
      #storemapper #storemapper-form {
        padding: 1.875rem 2.5rem 2.5rem !important; } }
  #storemapper ul#storemapper-list {
    background-color: #F0F4E8;
    padding: 1rem !important; }
    #storemapper ul#storemapper-list .storemapper_view, #storemapper ul#storemapper-list .storemapper_directions {
      width: 100% !important; }
      #storemapper ul#storemapper-list .storemapper_view > a, #storemapper ul#storemapper-list .storemapper_directions > a {
        width: 100% !important; }
    #storemapper ul#storemapper-list .storemapper_view a, #storemapper ul#storemapper-list .storemapper_directions a {
      background: #588108 !important;
      color: white !important; }
    #storemapper ul#storemapper-list li.storemapper-selected .storemapper_view a, #storemapper ul#storemapper-list li.storemapper-selected .storemapper_directions a {
      background: #588108;
      color: white; }
    #storemapper ul#storemapper-list:empty {
      display: none; }
    @media (min-width: 768px) and (max-width: 991.9px) {
      #storemapper ul#storemapper-list {
        padding: 1rem 6.25rem !important; } }
    @media (min-width: 992px) {
      #storemapper ul#storemapper-list {
        margin: 0;
        padding: 1.875rem 2.5rem 2.5rem !important; } }
    #storemapper ul#storemapper-list li.tier {
      background-color: white;
      color: #1A1919;
      box-shadow: unset;
      border: none;
      border-radius: 8px;
      padding: 1rem;
      margin: 0 0 1rem; }
      #storemapper ul#storemapper-list li.tier .storemapper-custom-1 {
        display: none; }
      #storemapper ul#storemapper-list li.tier .storemapper-url {
        display: none; }
      #storemapper ul#storemapper-list li.tier .btn-primary {
        color: White !important;
        width: 100%; }
        @media (min-width: 768px) and (max-width: 991.9px) {
          #storemapper ul#storemapper-list li.tier .btn-primary {
            width: auto; } }
      #storemapper ul#storemapper-list li.tier h4.storemapper-title {
        font-family: 'Open Sans';
        font-weight: 600;
        font-size: 1rem;
        line-height: 1.6875rem;
        margin-bottom: 1rem; }
      #storemapper ul#storemapper-list li.tier p {
        font-size: 0.875rem !important; }
      #storemapper ul#storemapper-list li.tier p.storemapper-distance {
        font-family: 'Open Sans';
        font-weight: 600;
        font-size: 1rem;
        line-height: 1.6875rem;
        color: #1A1919; }
      #storemapper ul#storemapper-list li.tier p.storemapper-address, #storemapper ul#storemapper-list li.tier p.storemapper-phone {
        padding-left: 0;
        margin: 0 0 1rem;
        color: #1A1919; }
        #storemapper ul#storemapper-list li.tier p.storemapper-address svg, #storemapper ul#storemapper-list li.tier p.storemapper-phone svg {
          display: none; }
        #storemapper ul#storemapper-list li.tier p.storemapper-address a, #storemapper ul#storemapper-list li.tier p.storemapper-phone a {
          color: #1A1919; }
      #storemapper ul#storemapper-list li.tier p.storemapper-phone {
        margin: 0 0 1.5rem; }
      #storemapper ul#storemapper-list li.tier p.storemapper-email {
        display: none; }
      #storemapper ul#storemapper-list li.tier .storemapper_btn-wrap {
        border: none;
        padding: 0;
        display: flex;
        justify-content: space-between; }
      #storemapper ul#storemapper-list li.tier .storemapper_directions, #storemapper ul#storemapper-list li.tier .storemapper_view {
        display: block;
        margin: 0; }
        #storemapper ul#storemapper-list li.tier .storemapper_directions > a, #storemapper ul#storemapper-list li.tier .storemapper_view > a {
          appearance: none;
          position: relative;
          display: inline-flex;
          flex-flow: row nowrap;
          justify-content: center;
          align-items: center;
          padding: 0 2rem;
          margin: 0;
          border: 0.0625rem solid currentColor;
          border-radius: 6.25rem;
          font-size: 1rem;
          line-height: 1rem;
          height: 3rem;
          text-align: center;
          text-decoration: none;
          width: auto;
          font-family: "sofia-pro-soft", sans-serif; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a i, #storemapper ul#storemapper-list li.tier .storemapper_view > a i {
            display: flex;
            padding-top: 4.5px;
            padding-left: 2.5px;
            transition: all .2s ease;
            border: 1px solid #fff;
            width: 16px;
            height: 16px;
            border-radius: 50px;
            transform: translate(8px);
            font-size: 6px; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a.small, #storemapper ul#storemapper-list li.tier .storemapper_view > a.small {
            font-size: 0.875rem;
            line-height: 0.875rem;
            height: 2.25rem;
            padding: 0 1.5rem; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a svg, #storemapper ul#storemapper-list li.tier .storemapper_view > a svg {
            display: inline-block;
            width: 1.25rem;
            height: 1rem;
            fill: currentColor; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a:focus, #storemapper ul#storemapper-list li.tier .storemapper_view > a:focus {
            outline: 1px solid #1A1919; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a:hover, #storemapper ul#storemapper-list li.tier .storemapper_directions > a:focus, #storemapper ul#storemapper-list li.tier .storemapper_view > a:hover, #storemapper ul#storemapper-list li.tier .storemapper_view > a:focus {
            text-decoration: none; }
          #storemapper ul#storemapper-list li.tier .storemapper_directions > a:hover, #storemapper ul#storemapper-list li.tier .storemapper_directions > a:focus, #storemapper ul#storemapper-list li.tier .storemapper_view > a:hover, #storemapper ul#storemapper-list li.tier .storemapper_view > a:focus {
            cursor: pointer; }
      @media (min-width: 768px) and (max-width: 991.9px) {
        #storemapper ul#storemapper-list li.tier {
          padding: 1.5rem; }
          #storemapper ul#storemapper-list li.tier p.storemapper-address {
            margin: 0 0 0.5rem; }
          #storemapper ul#storemapper-list li.tier p.storemapper-phone {
            margin: 0 0 1rem; }
          #storemapper ul#storemapper-list li.tier .storemapper-distance {
            top: 1.5rem;
            right: 1.5rem; }
          #storemapper ul#storemapper-list li.tier .btn-primary {
            width: 16rem; } }

@media (min-width: 768px) and (max-width: 991.9px) {
  #storemapper #storemapper-form .storemapper-form-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem; }
    #storemapper #storemapper-form .storemapper-form-inner #storemapper-zip {
      grid-row: 2 / span 1; }
    #storemapper #storemapper-form .storemapper-form-inner #storemapper-go {
      width: auto !important;
      justify-self: start; }
    #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance {
      grid-row: 1 / span 2; }
    #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn {
      margin-top: 2.625rem !important; } }

#storemapper #storemapper-form .storemapper-form-inner label[for=storemapper-zip] {
  display: block;
  font-family: 'Open Sans';
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.6875rem;
  color: #001338; }

#storemapper #storemapper-form .storemapper-form-inner #storemapper-zip, #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn {
  background: #FFFFFF;
  border: 1px solid #A4A9A6;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  height: 48px; }

#storemapper #storemapper-form .storemapper-form-inner #storemapper-filter {
  display: none !important; }

#storemapper #storemapper-form .storemapper-form-inner #storemapper-zip {
  margin-bottom: 1rem; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-zip::placeholder {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.3125rem;
    color: #A4A9A6; }

#storemapper #storemapper-form .storemapper-form-inner #storemapper-go {
  appearance: none;
  position: relative;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  margin: 0;
  border: 0.0625rem solid currentColor;
  border-radius: 6.25rem;
  font-size: 1rem;
  line-height: 1rem;
  height: 3rem;
  text-align: center;
  text-decoration: none;
  width: auto;
  font-family: "sofia-pro-soft", sans-serif;
  font-weight: normal;
  text-transform: capitalize;
  font-size: 1rem;
  width: 100%; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go i {
    display: flex;
    padding-top: 4.5px;
    padding-left: 2.5px;
    transition: all .2s ease;
    border: 1px solid #fff;
    width: 16px;
    height: 16px;
    border-radius: 50px;
    transform: translate(8px);
    font-size: 6px; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go.small {
    font-size: 0.875rem;
    line-height: 0.875rem;
    height: 2.25rem;
    padding: 0 1.5rem; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go svg {
    display: inline-block;
    width: 1.25rem;
    height: 1rem;
    fill: currentColor; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus {
    outline: 1px solid #1A1919; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus {
    text-decoration: none; }
  #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:hover, #storemapper #storemapper-form .storemapper-form-inner #storemapper-go:focus {
    cursor: pointer; }
  @media (min-width: 768px) and (max-width: 991.9px) {
    #storemapper #storemapper-form .storemapper-form-inner #storemapper-go {
      grid-row-start: 3;
      grid-column-start: 1; } }

#storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn, #storemapper #storemapper-form .storemapper-form-inner .button-group, #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance {
  width: 100%; }

#storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 1rem;
  padding-right: 1rem !important;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.267424 0.270362C0.62399 -0.0901213 1.2021 -0.0901213 1.55866 0.270362L7 5.77149L12.4413 0.270362C12.7979 -0.0901218 13.376 -0.0901219 13.7326 0.270362C14.0891 0.630846 14.0891 1.21531 13.7326 1.57579L7.64562 7.72964C7.28905 8.09012 6.71095 8.09012 6.35438 7.72964L0.267424 1.57579C-0.0891417 1.21531 -0.0891417 0.630847 0.267424 0.270362Z' fill='%23658C1B'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 97% center;
  margin-top: 27px; }
  #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn .value:not(.selected) {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.3125rem;
    color: #A4A9A6; }
  #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn:before {
    content: "Radius";
    position: absolute;
    top: -32px;
    left: 0;
    font-size: 1rem;
    line-height: 1.6875rem;
    color: #001338; }
  #storemapper #storemapper-form .storemapper-form-inner .storemapper-distance-btn .caret {
    display: none; }

@media (min-width: 768px) {
  .location-page > .container, .location-page div > .container {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 4.5rem; } }

@media (min-width: 992px) {
  .location-page > .container, .location-page div > .container {
    column-gap: 9.25rem; } }

.location-page .info {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.75rem;
  row-gap: 1rem;
  margin: 0 0 1.5rem; }
  .location-page .info > span {
    color: #588108;
    text-align: center;
    font-size: 1.25rem; }

.location-page .content {
  margin: 0 0 3rem;
  padding: 2rem 0 0; }

@media (min-width: 768px) {
  .location-page .map-container {
    padding-top: 2rem; } }

@media (min-width: 992px) {
  .location-page .content, .location-page .map-container {
    padding-top: 7.375rem; } }

.location-page img {
  max-width: 100%;
  border-radius: 0.5rem; }

.location-page p {
  margin: 0;
  font-weight: 600; }

.location-page .map-container iframe {
  width: 100%;
  height: 250px;
  border-radius: 8px; }
  @media (min-width: 992px) {
    .location-page .map-container iframe {
      height: 320px; } }

.location hr {
  margin: 3rem 0;
  height: 1.5px;
  background: #E9E9E9; }
  @media (min-width: 768px) {
    .location hr {
      margin: 3.5rem 0; } }
  @media (min-width: 992px) {
    .location hr {
      margin: 5rem 0; } }

.location-carousel .slick-track {
  column-gap: 1rem; }
  @media (min-width: 992px) {
    .location-carousel .slick-track {
      column-gap: 1.5rem; } }

.location-carousel .image-card {
  height: auto;
  display: block;
  width: 100%; }
  .location-carousel .image-card img {
    border-radius: 0.5rem;
    width: 100%;
    max-height: 20rem;
    object-fit: cover; }

.international-locations-header .content-overlay {
  background: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important; }

.international-locations-header .stickwoman {
  bottom: 5rem !important; }

.international-locations-header p {
  margin-bottom: 1.5rem !important; }

.international-locations-header .form {
  margin: 0 auto;
  max-width: 22.5rem; }

.international-locations-header select {
  height: 3rem;
  border-color: #A4A9A6;
  color: #A4A9A6;
  background-color: white !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.267424 0.270362C0.62399 -0.0901213 1.2021 -0.0901213 1.55866 0.270362L7 5.77149L12.4413 0.270362C12.7979 -0.0901218 13.376 -0.0901219 13.7326 0.270362C14.0891 0.630846 14.0891 1.21531 13.7326 1.57579L7.64562 7.72964C7.28905 8.09012 6.71095 8.09012 6.35438 7.72964L0.267424 1.57579C-0.0891417 1.21531 -0.0891417 0.630847 0.267424 0.270362Z' fill='%23658C1B'/%3E%3C/svg%3E"); }

.international-locations .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column;
  row-gap: 1.5rem; }
  .international-locations .container > div {
    width: 100%; }

.international-locations .location-header h3 {
  border-bottom: 1px solid #A4A9A6;
  padding-bottom: 0.75rem;
  margin-bottom: 0; }

.international-locations .row {
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-flow: column;
  row-gap: 1.5rem; }
  .international-locations .row + .row {
    border-top: 1px solid #A4A9A6; }
  @media (min-width: 768px) {
    .international-locations .row {
      flex-direction: row;
      justify-content: space-between; } }
  @media (min-width: 992px) {
    .international-locations .row {
      padding: 1.5rem 0; } }
  .international-locations .row p {
    margin: 0; }
  .international-locations .row address {
    font-style: normal;
    margin-bottom: 0; }
  .international-locations .row a {
    color: #4E7507;
    font-weight: 600;
    text-decoration: underline; }
    .international-locations .row a.tel {
      font-weight: 300;
      color: #1A1919; }
  .international-locations .row .links {
    width: 12.5rem; }

.widget-bullets {
  text-align: center; }
  .widget-bullets h2 {
    text-align: left;
    margin-bottom: 2rem;
    padding: 0 1rem;
    position: relative;
    display: inline-block; }
    .widget-bullets h2:after {
      content: url("../img/butter-splash-right.svg");
      display: block;
      position: absolute;
      top: -16px;
      right: -20px;
      width: 27px;
      height: 25px; }
    .widget-bullets h2.three::after {
      content: url("../img/butter-splash.svg");
      left: -20px;
      top: -24px; }
    @media (min-width: 768px) {
      .widget-bullets h2 {
        text-align: center; } }
    @media (min-width: 992px) {
      .widget-bullets h2 {
        margin-bottom: 3rem; } }
  .widget-bullets .container {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1rem;
    text-align: left;
    counter-reset: item; }
    @media (min-width: 768px) {
      .widget-bullets .container {
        grid-template-columns: 1fr 1fr;
        column-gap: 1rem;
        row-gap: 1.5rem; } }
    @media (min-width: 992px) {
      .widget-bullets .container {
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 1.5rem;
        row-gap: 2rem; }
        .widget-bullets .container.four {
          grid-template-columns: 1fr 1fr 1fr 1fr; } }
    .widget-bullets .container p {
      margin-bottom: 0.5rem; }
    .widget-bullets .container div {
      position: relative;
      padding-top: 0.375rem;
      padding-left: 4rem;
      background: url("../img/bullet-pops.png") no-repeat left top;
      background-size: 2.5625rem; }
      @media (min-width: 768px) {
        .widget-bullets .container div {
          padding-left: 4.5rem; } }
      .widget-bullets .container div::before {
        position: absolute;
        top: 0.4375rem;
        left: 0.9375rem;
        content: counter(item) "  ";
        counter-increment: item;
        font-weight: 500; }
        @media (min-width: 768px) {
          .widget-bullets .container div::before {
            top: 0.8125rem;
            left: 1.4375rem; } }
      @media (min-width: 768px) {
        .widget-bullets .container div {
          background-size: 3.5rem; } }

.widget-text-intro h3 {
  position: relative;
  display: inline-block; }
  .widget-text-intro h3:after {
    content: url("../img/butter-splash-right.svg");
    display: block;
    position: absolute;
    top: -16px;
    right: -20px;
    width: 27px;
    height: 25px; }

.widget-text-intro .container {
  display: grid;
  grid-template-areas: "img" "cnt";
  grid-template-columns: 1fr; }
  @media (min-width: 992px) {
    .widget-text-intro .container {
      grid-template-areas: "img . cnt .";
      grid-template-columns: 4fr 1fr 6fr 1fr; } }
  @media (min-width: 1200px) {
    .widget-text-intro .container {
      grid-template-areas: "img cnt .";
      grid-template-columns: 5fr 6fr 1fr; } }
  .widget-text-intro .container .cnt {
    grid-area: cnt; }
  .widget-text-intro .container img {
    grid-area: img;
    max-width: 200px; }
    @media (min-width: 992px) {
      .widget-text-intro .container img {
        max-width: none;
        margin: 0 auto; } }

.nutrition-print {
  display: grid; }
  .nutrition-print .container {
    border: 3px solid black;
    padding: 0 1rem 1rem; }
  @media (min-width: 768px) {
    .nutrition-print {
      grid-template-columns: repeat(2, 1fr);
      row-gap: 1.25rem;
      column-gap: 0.5rem; } }
  @media (min-width: 992px) {
    .nutrition-print {
      grid-template-columns: repeat(3, 1fr); } }
  @media print {
    .nutrition-print {
      grid-template-columns: repeat(3, 1fr);
      row-gap: 1.25rem;
      column-gap: 0.5rem; } }
  .nutrition-print .item {
    display: grid;
    grid-template-columns: 1fr auto; }
    .nutrition-print .item.first-block:nth-child(3) {
      margin-bottom: 0.75rem; }
  .nutrition-print .print-heading {
    display: block !important;
    font-family: 'Open Sans';
    font-size: 1.5rem;
    border-bottom: 3px solid black;
    margin: 0 0 0.75rem; }
  .nutrition-print .header {
    display: none; }
  .nutrition-print .nutrition > hr {
    display: none; }
  .nutrition-print .nutrition > ul > hr {
    margin: 0.25rem 0 0.75rem;
    height: 3px;
    background-color: black; }
    .nutrition-print .nutrition > ul > hr:nth-of-type(1), .nutrition-print .nutrition > ul > hr:nth-of-type(4), .nutrition-print .nutrition > ul > hr:nth-of-type(5) {
      display: none; }
  .nutrition-print .nutrition {
    font-size: 0.875rem;
    line-height: 1.125rem; }
  .nutrition-print li {
    padding: 0 !important; }
    .nutrition-print li + li {
      margin-top: 0.25rem; }
  .nutrition-print .allergen {
    display: none; }

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

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

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

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

.green-stripes {
  background: repeating-linear-gradient(45deg, #2C4017, #2C4017 10px, #263A11 10px, #263A11 20px) !important; }

.yellow-pop {
  transition: transform 0.5s cubic-bezier(0.3, -0.01, 0.49, 1);
  transform-origin: top left;
  transform: scale(1);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0; }
  @media (min-width: 992px) {
    .yellow-pop {
      display: none; } }

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

.no-print {
  overflow-x: hidden; }
  @media print {
    .no-print {
      display: none; } }

.doc_popcorn_catering h4 {
  margin-bottom: 12px; }

.doc_popcorn_catering h3 {
  margin-bottom: 2rem; }

@media (min-width: 768px) {
  .doc_popcorn_catering .pure-g {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3.75rem; } }

@media (min-width: 992px) {
  .contact_us .form {
    width: 50%; } }

.cnt form label small {
  color: #CC0B00; }

textarea {
  border: 1px solid #1A1919; }
