@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap");
input:focus,
button:focus,
textarea:focus,
select:focus,
details:focus,
[href]:focus,
[tabindex]:not([tabindex="-1"]):focus,
[contenteditable="true"]:focus {
  outline: 2px solid #0f7fff !important;
  outline-offset: 1px !important; }

input:focus + label {
  outline: 2px solid #0f7fff !important;
  outline-offset: 1px !important; }

meta.foundation-version {
  font-family: "/5.5.3/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 551px)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:551px)/";
  width: 551px; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:551px) and (max-width:801px)/";
  width: 551px; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:801px)/";
  width: 801px; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:801px) and (max-width:1261px)/";
  width: 801px; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:1261px)/";
  width: 1261px; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:1261px) and (max-width:1681px)/";
  width: 1261px; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:1681px)/";
  width: 1681px; }

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

.u-block {
  display: block !important; }

.u-inlineBlock {
  display: inline-block !important;
  max-width: 100% !important; }

.u-hidden {
  display: none !important; }

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

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

.u-textAlignCenter {
  text-align: center !important; }

.u-textAlignLeft {
  text-align: left !important; }

.u-textAlignRight {
  text-align: right !important; }

.u-textBreak {
  word-wrap: break-word !important; }

.u-textInheritColor {
  color: inherit !important; }

.u-textKern {
  text-rendering: optimizeLegibility !important;
  font-feature-settings: "kern" 1 !important;
  font-kerning: normal !important; }

.u-textLead {
  line-height: 1.6 !important;
  font-size: 1.1em !important; }

.u-textNoWrap {
  white-space: nowrap !important; }

.u-textTruncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-wrap: normal !important; }

.u-fontSmoothing {
  -moz-osx-font-smoothing: grayscale !important;
  -webkit-font-smoothing: antialiased !important; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

*,
*:before,
*:after {
  box-sizing: border-box; }

html,
body {
  height: 100%; }

body {
  background: white;
  color: #333333;
  cursor: auto;
  margin: 0;
  padding: 0;
  position: relative; }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

a:hover {
  cursor: pointer; }

figure {
  margin: 0 0 1.5rem; }

img {
  display: inline-block;
  height: auto;
  max-width: 100%;
  vertical-align: middle; }

img {
  -ms-interpolation-mode: bicubic; }

button {
  background: none;
  border: 0; }
  button:active, button:focus {
    box-shadow: none;
    outline: none; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

html {
  font-size: 14px; }
  @media (min-width: 551px) {
    html {
      font-size: 14px; } }
  @media (min-width: 801px) {
    html {
      font-size: 14px; } }
  @media (min-width: 1261px) {
    html {
      font-size: 14px; } }

body {
  font-family: "Karla", Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: 1.5; }

a {
  color: #333333;
  line-height: inherit;
  text-decoration: underline; }
  a:hover, a:focus {
    color: #757575; }

p {
  margin-bottom: 1.5rem; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #444444;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-weight: 400;
  letter-spacing: 0.25px;
  margin-bottom: 0.78571rem; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #757575;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 28px; }

h2 {
  font-size: 25px; }

h3 {
  font-size: 22px; }

h4 {
  font-size: 20px; }

h5 {
  font-size: 15px; }

h6 {
  font-size: 13px; }

.subheader {
  font-weight: 400;
  line-height: 24px;
  margin-bottom: 0.78571rem; }

hr {
  border: solid #e5e5e5;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 2rem 0 1.92857rem; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: 700;
  line-height: inherit; }

small {
  font-size: 60%;
  line-height: inherit; }

ul,
ol,
dl {
  list-style-position: outside;
  margin-bottom: 1.5rem; }

ul ul,
ul ol,
ol ul,
ol ol {
  margin-left: 1.2rem;
  margin-bottom: 0; }

ul {
  margin-left: 1.15rem; }

ol {
  margin-left: 1.15rem; }

dl dt {
  font-weight: 700;
  margin-bottom: 0.35714rem; }

dl dd {
  margin-bottom: 1.5rem; }

abbr,
acronym {
  border-bottom: 1px dotted #cccccc;
  color: #333333;
  cursor: help;
  font-size: 90%;
  text-transform: uppercase; }

abbr {
  text-transform: none; }

blockquote { }

blockquote,
blockquote p {
  font-size: 22px;
  line-height: 29px; }

cite {
  color: #999999;
  display: block;
  font-size: 1rem; }

.icon {
  height: 1.14286rem;
  width: 1.14286rem;
  display: inline-block;
  vertical-align: middle; }
  .icon svg {
    display: inline-block;
    fill: #757575;
    height: 100%;
    vertical-align: top;
    width: 100%; }

/*doc
---
title: Lists
name: lists
category: Elements
---

*/
/*doc
---
title: Inline List
name: inline_list
category: Elements
parent: lists
---


```html_example
<ul class="inlineList">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link 4</a></li>
    <li><a href="#">Link 5</a></li>
</ul>
```
##### Inline list settings
```sass_file_example
src/settings/foundation/inlineList/_settings.scss
```

*/
.inlineList {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.21429rem;
  margin-left: -1.57143rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0; }
  .inlineList > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.57143rem; }
    .inlineList > li > * {
      display: block; }

/*doc
---
title: Tables
name: tables
category: Elements
---


```html_example
<table class="table">
    <thead class="table-thead">
        <tr>
            <th>Table Header</th>
            <th>Table Header</th>
            <th class="table-header--numericData" scope="column">Totals</th>
        </tr>
    </thead>
    <tbody class="table-tbody">
        <tr>
            <td>Content Goes Here</td>
            <td>This is longer content Donec id elit non mi porta gravida at eget metus.</td>
            <td class="table-cell--numericData">$10</td>
        </tr>
    </tbody>
    <tfoot class="table-tfoot">
        <tr>
            <td class="table-cell--numericData" colspan="2">Subtotal:</td>
            <td class="table-cell--numericData"><strong>$60</strong></td>
        </tr>
    </tfoot>
</table>
```
##### Tables settings
```sass_file_example
src/settings/foundation/tables/_settings.scss
```

*/
.table {
  border: solid 1px #e5e5e5;
  margin-bottom: 2rem;
  table-layout: auto;
  width: 100%; }
  .table thead {
    background: #e5e5e5; }
    .table thead tr th,
    .table thead tr td {
      font-size: 1rem;
      font-weight: 700;
      padding: 0.78571rem 1.5rem; }
  .table tr th,
  .table tr td {
    padding: 0.78571rem 1.5rem;
    text-align: left; }
  .table thead tr th,
  .table tfoot tr th,
  .table tfoot tr td,
  .table tbody tr th,
  .table tbody tr td,
  .table tr td {
    display: table-cell; }
  .table th.table-header--numericData,
  .table td.table-cell--numericData {
    text-align: right; }

.table-thead {
  border: 1px solid #e5e5e5; }

.table-tfoot {
  border: 1px solid #e5e5e5; }

.table-tbody tr {
  border-bottom: 1px solid #e5e5e5; }
  .table-tbody tr:last-child {
    border-bottom: 0; }

/*doc
---
title: Buttons
name: button
category: Components
---

These are all the button

```sass_file_example
src/settings/foundation/buttons/_settings.scss
```

```html_example
<button class="button">Button</button>

<input type="submit" class="button" value="Button">

<a class="button" role="button" href="#">Button</a>
```

*/
.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 1px;
  cursor: pointer;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-weight: 400;
  line-height: normal;
  margin: 0 0 1rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  background-color: transparent;
  border-color: #8f8f8f;
  color: #666666;
  font-size: 1rem;
  padding: 0.85714rem 2.28571rem;
  border-radius: 4px;
  outline: none;
  vertical-align: middle; }
  .button:hover, .button:focus, .button.is-active, .button.active {
    background-color: transparent;
    border-color: #474747;
    color: #333333; }
  .button:active {
    background-color: transparent;
    border: 1px solid #757575;
    color: black; }
  .button:focus, .button.is-active, .button.active {
    outline: none; }
  @media (min-width: 481px) {
    .button + .button {
      margin-left: 0.78571rem; } }

/*doc
---
title: Button states
name: button_states
category: Components
parent: button
---

```html_example
<button class="button button--primary">Primary Button</button>

<button class="button">Secondary / Default Button</button>

<button class="button button--tertiary">Tertiary Button</button>

<button class="button button--action">Call-to-Action Button</button>
```
    */
.button--primary {
  background-color: #444444;
  border-color: #444444;
  color: white; }
  .button--primary:hover, .button--primary:focus, .button--primary.is-active, .button--primary.active {
    background-color: #666666;
    border-color: #666666;
    color: white; }
  .button--primary:active {
    background-color: black;
    border: 1px solid black;
    color: white; }

.button[disabled] {
  background-color: #cccccc;
  border-color: rgba(0, 0, 255, 0);
  color: white;
  cursor: default; }

/*doc
---
title: Button sizes
name: button_sizes
category: Components
parent: button
---

```html_example
<button class="button button--large">Large</button>

<button class="button">Default</button>

<button class="button button--small">Small</button>

<button class="button button--tiny">Tiny</button>
```

And a special case, slab, which takes the full width of it's container and any
size modifier

```html_example
<button class="button button--slab">Slab</button>

<button class="button button--slab button--large">Slab</button>
```

*/
.button--large {
  font-size: 15px; }

.button--small {
  font-size: 13px;
  padding: 0.57143rem 1.5rem; }

.button--tiny { }

.button--slab {
  display: block;
  width: 100%; }
  .button + .button--slab {
    margin-left: 0; }

.button--icon {
  font-size: 1rem;
  padding: 0.78571rem 0.78571rem; }
  .button--icon svg {
    fill: #757575; }

/*doc
---
title: Button Groups
name: button_groups
category: Components
parent: button
---


```html_example
<div class="buttonGroup">
    <button class="button">Button1</button>
    <button class="button">Button2</button>
    <button class="button">Button3</button>
</div>
```
##### Button group settings
```sass_file_example
src/settings/bigcommerce/buttonGroup/_settings.scss
```

*/
.buttonGroup {
  display: inline-block; }
  .buttonGroup > .button {
    border-radius: 0;
    border-right-width: 0;
    float: left;
    margin-left: 0; }
    .buttonGroup > .button:first-child {
      border-bottom-left-radius: 4px;
      border-top-left-radius: 4px; }
    .buttonGroup > .button:last-child {
      border-bottom-right-radius: 4px;
      border-right-width: 1px;
      border-top-right-radius: 4px; }

/*doc
---
title: Dropdowns
name: dropdown
category: Components
---

Dropdowns are simple lists that can appear next to any element that can trigger a click event.
They can be used by buttons, icons, links and other similar items.

```sass_file_example
src/settings/foundation/dropdown/_settings.scss
```
```html_example
<ul class="dropdown-menu" style="display:block; left: 0;">
    <li class="dropdown-menu-item"><a href="#" ng-click="$event.preventDefault()">One</a></li>
    <li class="dropdown-menu-item"><a href="#" ng-click="$event.preventDefault()">Two</a></li>
    <li class="dropdown-menu-item"><a href="#" ng-click="$event.preventDefault()">Three</a></li>
</ul>
```
*/
.dropdown-menu {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #e5e5e5;
  font-size: 1rem;
  height: auto;
  width: 100%;
  z-index: 89;
  max-width: 200px; }
  .dropdown-menu.open {
    display: block; }
  .dropdown-menu > *:first-child {
    margin-top: 0; }
  .dropdown-menu > *:last-child {
    margin-bottom: 0; }

.dropdown-menu--content {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #e5e5e5;
  font-size: 1rem;
  height: auto;
  padding: 0.78571rem;
  width: 100%;
  z-index: 89;
  max-width: 200px; }
  .dropdown-menu--content.open {
    display: block; }
  .dropdown-menu--content > *:first-child {
    margin-top: 0; }
  .dropdown-menu--content > *:last-child {
    margin-bottom: 0; }

.dropdown-menu-item {
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  padding: 0.35714rem 0.71429rem; }
  .dropdown-menu-item a {
    display: block;
    padding: 0.35714rem; }
  .dropdown-menu-item a {
    margin: -0.35714rem; }

/*doc
---
title: Forms
name: forms
category: Forms
---

##### Foundation Forms settings
```sass_file_example
src/settings/foundation/forms/_settings.scss
```

##### Citadel Forms settings
```sass_file_example
src/settings/foundation/forms/_settings.scss
```

*/
/*doc
---
title: Form basics
name: 01forms_basics
category: Forms
parent: forms
---

Citadel comes with styling for most form input types and some custom ones. To start
things off a basic, semantic mark-up structure should be adhered too, including
the `form`, `fieldset` and `legend` elements where ever possible.

```html_example
<form action="#" class="form">
    <fieldset class="form-fieldset">
        <legend class="form-legend">Form legend</legend>
    </fieldset>
</form>
```

*/
.form {
  margin: 0 0 1.5rem; }

.form-fieldset {
  border-width: 0;
  margin: 0;
  padding: 0; }

.form-legend {
  background: transparent;
  border: solid #999999;
  border-width: 0 0 1px;
  display: block;
  line-height: 32px;
  margin-bottom: 0.78571rem;
  padding: 0;
  width: 100%; }

/*doc
---
title: Form labels and inputs
name: 03forms_basics
category: Forms
parent: forms
---

Inputs of all types should be associated with a label which has a `for` attribute

```html_example
<div class="form-field">
    <label class="form-label" for="input1">Input Label</label>
    <input class="form-input" id="input1" type="text" placeholder="Placeholder text">
</div>
<div class="form-field">
    <label class="form-label" for="input2">Number Label</label>
    <input class="form-input" id="input2" type="number" placeholder="Number input">
</div>
<div class="form-field">
    <label class="form-label" for="input3">Textarea Label <small>additional context</small></label>
    <textarea class="form-input" id="input3" placeholder="Placeholder text" rows="3"></textarea>
</div>
```
*/
.form-label {
  color: #666666;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.5rem; }
  .form-label small {
    color: #757575;
    font-size: 0.71429rem;
    text-transform: uppercase;
    vertical-align: bottom; }

.form-input {
  appearance: none;
  background-color: white;
  border-color: #8f8f8f;
  border-style: solid;
  border-width: 1px;
  border-radius: 4px;
  color: #666666;
  display: block;
  font-family: inherit;
  font-size: 1rem;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  height: 3rem;
  margin: 0;
  padding: 0.75rem 1rem;
  transition: border-color 100ms ease-out;
  width: 100%;
  /*doc
---
title: Disabled inputs
name: 04forms_basics
category: Forms
parent: forms
---

```html_example
<div class="form-field">
    <label class="form-label" for="disabled_input1">Input Label</label>
    <input class="form-input" id="disabled_input1" disabled type="text" value="Disabled text">
</div>

<div class="form-field">
    <label class="form-label" for="disabled_input2">Input Label</label>
    <input class="form-input" id="disabled_input2" readonly type="text" value="Readonly text">
</div>
```
*/ }
  .form-input:disabled {
    background-color: white;
    color: #999999;
    cursor: not-allowed; }
  .form-input[readonly] {
    background-color: #e5e5e5;
    border-color: #999999;
    color: #757575;
    cursor: text; }
  .form-input:focus {
    border-color: #474747;
    outline: none; }
  .form-input[rows] {
    height: auto; }
  .form-input[type="search"] {
    box-sizing: border-box; }
  .form-input::-webkit-input-placeholder {
    color: #999999; }
  .form-input::-ms-clear {
    height: 0;
    width: 0; }
  .form-input::-moz-placeholder {
    color: #999999; }
  .form-input:-ms-input-placeholder {
    color: #999999; }

/*doc
---
title: Selects
name: 05forms_basics
category: Forms
parent: forms
---

```html_example
<div class="form-field">
    <label class="form-label" for="select1">Native Select label</label>
    <select class="form-select" name="select1" id="select1">
        <option>Please select a value</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
</div>
```
*/
.form-select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: white;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #8f8f8f;
  color: #666666;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  padding: 0.75rem;
  border-radius: 0;
  cursor: pointer;
  height: 3rem;
  margin: 0;
  outline: 0; }
  .form-select::-ms-expand {
    display: none; }
  .form-select.radius {
    border-radius: 4px; }
  .form-select:focus {
    border-color: #474747; }
  .form-select:disabled {
    background-color: white;
    cursor: not-allowed; }
  .form-select:focus {
    border-color: #474747; }

/*doc
---
title: Form Panels and Layouts
name: 13forms_layouts
category: Forms
parent: forms
---

We provide a couple of component styles to layout forms.

The more `form-field` components you place in the `form-row`, the smaller the columns gets.
Columns are equal length, and calculated automatically by Flexbox by default.

It's the same mark-up but depending on your browser support needs, you can switch
between a flexbox layout or a more traditional grid based layout by setting
`$formRow-modernBrowsers` to `false`.

The grid based layout of `form-feilds` will require the use of modifiers to calculate
the correct widths. We support `form-field--half`, `form-field--third` and
`form-field--quarter`

```html_example
<form action="#" class="form">
    <fieldset class="form-fieldset">
        <legend class="form-legend">Form legend</legend>
        <div class="form-body">
            <div class="form-row">
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
            </div>
            <div class="form-row">
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
                <div class="form-field">
                    <label class="form-label" for="input4">Prefixed Label</label>
                    <div class="form-prefixPostfix">
                        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">KG</span>
                        <input class="form-input form-prefixPostfix-input" id="input4" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
                    </div>
                </div>
            </div>
            <div class="form-row">
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
                <div class="form-field">
                    <label class="form-label" for="input4">Prefixed Label</label>
                    <div class="form-prefixPostfix">
                        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">KG</span>
                        <input class="form-input form-prefixPostfix-input" id="input4" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
                    </div>
                </div>
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
            </div>
            <div class="form-row">
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
                <div class="form-field">
                    <label class="form-label" for="input4">Prefixed Label</label>
                    <div class="form-prefixPostfix">
                        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">KG</span>
                        <input class="form-input form-prefixPostfix-input" id="input4" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
                    </div>
                </div>
                <div class="form-field">
                    <label class="form-label" for="input12">Input Label</label>
                    <input class="form-input" id="input12" type="text" placeholder="Placeholder text">
                </div>
                <div class="form-field">
                    <label class="form-label" for="input4">Prefixed Label</label>
                    <div class="form-prefixPostfix">
                        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">KG</span>
                        <input class="form-input form-prefixPostfix-input" id="input4" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
                    </div>
                </div>
            </div>
        </div>
    </fieldset>
</form>
```
*/
.form-body {
  background-color: white;
  border: 1px solid #999999;
  box-shadow: 0 1px 2px rgba(255, 255, 255, 0.13);
  margin-bottom: 1.5rem;
  max-width: none;
  padding: 1.5rem; }

.form-row {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto; }
  .form-row:before, .form-row:after {
    content: " ";
    display: table; }
  .form-row:after {
    clear: both; }
  .form-row .form-field {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%;
    float: left;
    max-width: none; }
  @media (min-width: 551px) {
    .form-row--half .form-field {
      width: 50%; }
    .form-row--third .form-field {
      width: 33.33333%; }
    .form-row--quarter .form-field {
      width: 25%; } }

/*doc
---
title: Form Fields
name: 02forms_basics
category: Forms
parent: forms
---

Each form input should be wrapped in a `form-field`

```html_example
<div class="form-field">
</div>
```
*/
.form-field {
  display: block;
  margin: 0 0 2rem;
  max-width: none; }
  .form-field:before, .form-field:after {
    content: " ";
    display: table; }
  .form-field:after {
    clear: both; }

/*doc
---
title: Selects [multiple]
name: 06forms_basics
category: Forms
parent: forms
---

Styling of the select element with the multiple attribute

```html_example
<div class="form-field">
    <label class="form-label" for="multiselect1">Native Select Multiple label</label>
    <select class="form-select" multiple name="multiselect1" id="multiselect1">
        <option>Please select a value</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
        <option value="4">Option 4</option>
    </select>
</div>
```
*/
.form-select[multiple] {
  height: auto; }
  .form-select[multiple] option {
    padding: 5px; }

/*doc
---
title: Radios and Checkbox
name: 07forms_basics
category: Forms
parent: forms
---

```html_example
<div class="form-field">
    <label class="form-label">Field label</label>
    <input class="form-checkbox" type="checkbox" id="check1">
    <label class="form-label" for="check1">Checkbox 1 label</label>
    <input class="form-checkbox" type="checkbox" id="check2">
    <label class="form-label" for="check2">Checkbox 2 label</label>
</div>
```

```html_example
<div class="form-field">
    <label class="form-label">Field label</label>
    <input class="form-radio" type="radio" name="radio_example" id="radio1">
    <label class="form-label" for="radio1">Radio 1 label</label>
    <input class="form-radio" type="radio" name="radio_example" id="radio2">
    <label class="form-label" for="radio2">Radio 2 label</label>
</div>
```
*/
.form-checkbox,
.form-radio {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .form-checkbox + .form-label,
  .form-radio + .form-label {
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 0.35714rem;
    padding-left: 1.85714rem;
    position: relative;
    vertical-align: baseline;
    width: 100%; }
    .form-checkbox + .form-label::before, .form-checkbox + .form-label::after,
    .form-radio + .form-label::before,
    .form-radio + .form-label::after {
      content: "";
      display: block;
      position: absolute;
      transition: all 50ms ease-out; }
    .form-checkbox + .form-label::before,
    .form-radio + .form-label::before {
      background-color: white;
      border: solid #8f8f8f;
      border-width: 1px;
      height: 1.14286rem;
      left: 0;
      top: 0;
      width: 1.14286rem; }
    .form-checkbox + .form-label::after,
    .form-radio + .form-label::after {
      height: 1rem;
      left: 1px;
      opacity: 0;
      top: 1px;
      transform: scale(0);
      width: 1rem; }

.form-checkbox:checked + .form-label::after,
.form-radio:checked + .form-label::after {
  opacity: 1;
  transform: scale(1); }

.form-checkbox[disabled] + .form-label,
.form-radio[disabled] + .form-label {
  cursor: default; }
  .form-checkbox[disabled] + .form-label::before,
  .form-radio[disabled] + .form-label::before {
    background-color: white; }

.form-checkbox + .form-label::before {
  border-radius: 4px; }

.form-checkbox + .form-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z' fill='rgba(51, 51, 51, 0.999)' /%3E%3C/svg%3E");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 100%;
  color: rgba(51, 51, 51, 0.999);
  content: "";
  font-size: 1rem;
  line-height: 1;
  text-align: center; }

.form-radio + .form-label::before {
  border-radius: 50%; }

.form-radio + .form-label::after {
  background: rgba(51, 51, 51, 0.999);
  border: 3px solid white;
  border-radius: 1rem; }

/*doc
---
title: Inputs with Extras
name: 08forms_inputextras
category: Forms
parent: forms
---

Sometimes inputs need inline actions. An inline button for a search box for example.

```html_example
<div class="form-field">
    <label class="form-label" for="input9">Input with action</label>
    <input class="form-input has-action" type="search" id="input9">
    <button class="button button--icon button--inputAction">
        <span class="u-hiddenVisually">Search</span>
        <icon glyph="ic-search" class="icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg></icon>
    </button>
</div>
```
*/
.form-input.has-action {
  float: left;
  padding-right: 2.85714rem; }
  .form-input.has-action + .button--inputAction {
    background: transparent;
    border: 0;
    border-radius: 0 0 0 0;
    float: left;
    height: 2.85714rem;
    margin: 0.07143rem 0 0 -2.92857rem;
    width: 2.85714rem; }

/*doc
---
title: Inputs with Icons
name: 09forms_inputicons
category: Forms
parent: forms
---

Sometimes inputs need to display an informative icon to convey a certain meaning, like secure.

```html_example
<div class="form-field">
    <label class="form-label" for="input99">Input with icon</label>
    <input class="form-input has-icon" type="search" id="input9">
    <icon glyph="ic-lock" class="icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></svg></icon>
</div>
```
*/
.form-input.has-icon {
  float: left;
  padding-right: 2.57143rem; }
  .form-input.has-icon + .icon {
    height: 3rem;
    margin-left: -2.57143rem;
    width: 1.42857rem; }

/*doc
---
title: Form PrefixPostfix
name: 10forms_prefixpostfix
category: Forms
parent: forms
---

PrefixPostfix

```html_example
<div class="form-field">
    <label class="form-label" for="input4">Prefixed Label <small>(Inc. tax)</small></label>
    <div class="form-prefixPostfix">
        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">AUD $</span>
        <input class="form-input form-prefixPostfix-input" id="input4" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
    </div>
</div>

<div class="form-field">
    <label class="form-label" for="input5">Postfixed Label</label>
    <div class="form-prefixPostfix">
        <input class="form-input form-prefixPostfix-input" id="input5" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc2">
        <span class="form-prefixPostfix-label form-prefixPostfix-label--postfix" id="prefixDesc2">KG</span>
    </div>
</div>
```

### PrefixPostfix with a button

```html_example
<div class="form-field">
    <label class="form-label" for="input6">Prefixed Button</label>
    <div class="form-prefixPostfix">
        <input class="button form-prefixPostfix-button--prefix" type="submit" value="Save">
        <input class="form-input" id="input6" type="text" placeholder="Placeholder text">
    </div>
</div>

<div class="form-field">
    <label class="form-label" for="input7">Postfixed Button</label>
    <div class="form-prefixPostfix">
        <input class="form-input" id="input7" type="text" placeholder="Placeholder text">
        <input class="button form-prefixPostfix-button--postfix" type="submit" value="Save">
    </div>
</div>
```
*/
.form-prefixPostfix {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; }
  .form-prefixPostfix .form-input {
    flex: 1; }
  .form-prefixPostfix .button {
    height: 3rem; }

.form-prefixPostfix-input {
  border-radius: 0 0 0 0; }

.form-prefixPostfix-label {
  background-color: white;
  border: solid #999999;
  border-width: 1px;
  flex: 1;
  font-weight: 300;
  height: 3rem;
  line-height: normal;
  max-width: 6.42857rem;
  padding: 0.75rem;
  text-align: center; }

.form-prefixPostfix-label--prefix {
  border-radius: 0 0 0 0;
  border-width: 1px 0 1px 1px; }
  .form-prefixPostfix-label--prefix + .form-input {
    border-radius: 0 0 0 0; }

.form-prefixPostfix-label--postfix {
  border-radius: 0 0 0 0;
  border-width: 1px 1px 1px 0; }

.form-prefixPostfix-button--prefix {
  margin: 0 0.75rem 0 0; }

.form-prefixPostfix-button--postfix {
  margin: 0 0 0 0.75rem; }

/*doc
---
title: Form Switch
name: 11forms_switch
category: Forms
parent: forms
---

Switch

```html_example
<div class="form-field">
    <switch>
        <div class="switch">
            <input class="switch-checkbox" type="checkbox" id="switch-1" aria-describedby="switch-ariaDescription-2">
            <label class="switch-toggle" for="switch-1">
            </label>
            <span id="switch-ariaDescription-2" class="switch-ariaDescription">
                Switching this setting off will...
            </span>
        </div>
    </switch>
</div>

<div class="form-field">
    <switch>
        <div class="switch switch--checked">
            <input class="switch-checkbox" type="checkbox" id="switch-1" aria-describedby="switch-ariaDescription-2">
            <label class="switch-toggle" for="switch-1">
            </label>
            <span id="switch-ariaDescription-2" class="switch-ariaDescription">
                Switching this setting off will...
            </span>
        </div>
    </switch>
</div>

<div class="form-field">
    <switch>
        <div class="switch switch--checked">
            <input class="switch-checkbox" type="checkbox" id="switch-3" aria-describedby="switch-ariaDescription-4">
            <label class="switch-toggle" for="switch-3">
                <span class="switch-label">On</span>
            </label>
            <span id="switch-ariaDescription-4" class="switch-ariaDescription">
                Switching this setting off will...
            </span>
        </div>
    </switch>
</div>

<div class="form-field">
    <switch>
        <div class="switch">
            <input class="switch-checkbox" type="checkbox" id="switch-3" aria-describedby="switch-ariaDescription-4">
            <label class="switch-toggle" for="switch-3">
                <span class="switch-label">Off</span>
            </label>
            <span id="switch-ariaDescription-4" class="switch-ariaDescription">
                Switching this setting off will...
            </span>
        </div>
    </switch>
</div>

<div class="form-field">
    <switch>
        <div class="switch switch--important">
            <span class="switch-description--off">Down for Maintenance</span>
            <input class="switch-checkbox" type="checkbox" id="switch-7" aria-describedby="switch-ariaDescription-8">
            <label class="switch-toggle" for="switch-7">
            </label>
            <span class="switch-description--on">Open</span>
            <span id="switch-ariaDescription-8" class="switch-ariaDescription">
                Switching this setting to off will enter your store into maintenance mode.
            </span>
        </div>
    </switch>
</div>

<div class="form-field">
    <switch>
        <div class="switch switch--important switch--checked">
            <span class="switch-description--off">Down for Maintenance</span>
            <input class="switch-checkbox" type="checkbox" id="switch-7" aria-describedby="switch-ariaDescription-8">
            <label class="switch-toggle" for="switch-7">
            </label>
            <span class="switch-description--on">Open</span>
            <span id="switch-ariaDescription-8" class="switch-ariaDescription">
                Switching this setting to off will enter your store into maintenance mode.
            </span>
        </div>
    </switch>
</div>
```
*/
.switch-checkbox {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .switch-checkbox:focus + .switch-toggle {
    border-color: #757575;
    box-shadow: 0 0 4px rgba(117, 117, 117, 0.4); }

.switch-toggle {
  background-color: #757575;
  border: 1px solid #757575;
  border-radius: 2rem;
  cursor: pointer;
  display: inline-block;
  height: 2rem;
  position: relative;
  transition: all 100ms ease-out;
  vertical-align: middle;
  width: 4.28571rem; }
  .switch--important .switch-toggle {
    background-color: #f1a500;
    border-color: #f1a500; }
  .switch--checked .switch-toggle {
    background-color: #008a06;
    border-color: #008a06; }
  .switch--disabled .switch-toggle {
    background-color: #e5e5e5;
    border-color: #999999;
    cursor: default; }

.switch-toggle::before {
  background: white;
  border-radius: 1.4286rem;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  content: "";
  height: 1.4286rem;
  left: 0.21427rem;
  position: absolute;
  top: 0.21427rem;
  transition: all 100ms ease-out;
  width: 1.4286rem; }
  .switch--checked .switch-toggle::before {
    left: 2.49999rem; }

.switch-label {
  color: white;
  height: 26px;
  line-height: 1.92857;
  position: absolute;
  right: 0.42857rem;
  text-transform: uppercase;
  transition: all 100ms ease-out; }
  .switch--checked .switch-label {
    font-weight: 600;
    left: 0.42857rem;
    right: auto; }
  .switch--disabled .switch-label {
    color: #757575; }

.switch-label--icon.icon {
  height: 1.85714rem;
  width: 1.85714rem; }
  .switch-label--icon.icon svg {
    height: 1.85714rem;
    width: 1.85714rem;
    fill: white; }
    .switch--disabled .switch-label--icon.icon svg {
      fill: #757575; }

.switch-description--off {
  color: black;
  margin-right: 5px; }
  .switch--checked .switch-description--off {
    color: #757575; }

.switch-description--on {
  color: #757575;
  margin-left: 5px; }
  .switch--checked .switch-description--on {
    color: black; }

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

/*doc
---
title: Form Actions
name: 14forms_actions
category: Forms
parent: forms
---

Forms require actions to submit or cancel (or what ever action a user should perform).
Form actions come in 2 flavours; normal and fixed.

```html_example
<div class="form-actions">
    <a href="#">Cancel</a>
    <button class="button">Reset</button>
    <button class="button button--primary">Submit</button>
</div>
```

### Form Actions --fixed

```html_example
<div class="form-actions form-actions--fixed">
    <a href="#">Cancel</a>
    <button class="button">Reset</button>
    <button class="button button--primary">Submit</button>
</div>
```
*/
.form-actions {
  background: none;
  border: 0;
  text-align: center; }
  @media (min-width: 481px) {
    .form-actions {
      text-align: left; } }

.form-actions > * {
  display: inline-block;
  margin-bottom: 1rem;
  width: 100%; }
  @media (min-width: 481px) {
    .form-actions > * {
      vertical-align: baseline;
      width: auto; } }

@media (min-width: 481px) {
  .form-actions--fixed {
    background: white;
    border-top: 1px solid #999999;
    bottom: 0;
    left: 0;
    padding: 1.5rem 2rem;
    position: fixed;
    right: 0;
    text-align: right;
    z-index: 20; } }

/*doc
---
title: Form Errors
name: 12forms_errors
category: Forms
parent: forms
---

Form inline errors

```html_example
<div class="form-field form-field--success">
    <label class="form-label" for="valid_simple">Valid field</label>
    <input class="form-input" id="valid_simple" type="text" value="Some Valid text">
    <icon class="form-input-indicator icon ng-isolate-scope" glyph="ic-check-circle" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path></svg></icon>
</div>

<div class="form-field form-field--error">
    <label class="form-label" for="invalid_simple">Invalid field</label>
    <input class="form-input" id="invalid_simple" type="text" value="Some Invalid text">
    <icon class="form-input-indicator icon ng-isolate-scope" glyph="ic-error" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg></icon>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_simple">
                This is not a valid email address
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--warning">
    <label class="form-label" for="warning_simple">Warning field</label>
    <input class="form-input" id="warning_simple" type="text" value="Text that generated a Warning">
    <icon class="form-input-indicator icon ng-isolate-scope" glyph="ic-error" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg></icon>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="warning_simple">
                Did you mean…
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label" for="invalid_select">Select label</label>
    <select class="form-select" name="invalid_select" id="invalid_select">
        <option value="Please select a value">Please select a value</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_select">
                You must select a value
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label">Checkbox label</label>
    <input class="form-checkbox" type="checkbox" id="invalid_check1">
    <label class="form-label" for="invalid_check1">Checkbox 1 label</label>
    <input class="form-checkbox" type="checkbox" id="invalid_check2">
    <label class="form-label" for="invalid_check2">Checkbox 2 label</label>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage">
                Please select one or more
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label">Radio label</label>
    <input class="form-radio" type="radio" name="invalid_radio_example" id="invalid_radio1">
    <label class="form-label" for="invalid_radio1">Radio 1 label</label>
    <input class="form-radio" type="radio" name="invalid_radio_example" id="invalid_radio2">
    <label class="form-label" for="invalid_radio2">Radio 2 label</label>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage">
                Please select an option
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label" for="invalid_prefix">Prefixed Label <small>(Inc. tax)</small></label>
    <div class="form-prefixPostfix">
        <span class="form-prefixPostfix-label form-prefixPostfix-label--prefix" id="prefixDesc1">AUD $</span>
        <input class="form-input form-prefixPostfix-input" id="invalid_prefix" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc1">
        <icon class="form-input-indicator icon ng-isolate-scope" glyph="ic-error" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"></path></svg></icon>
    </div>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_prefix">
                Please input a dollar amount
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label" for="invalid_postfix">Postfixed Label</label>
    <div class="form-prefixPostfix">
        <input class="form-input form-prefixPostfix-input" id="invalid_postfix" type="text" placeholder="Placeholder text" aria-describedby="prefixDesc2">
        <span class="form-prefixPostfix-label form-prefixPostfix-label--postfix" id="prefixDesc2">KG</span>
    </div>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_postfix">
                Please enter the weight in kilograms
            </label>
        </li>
    </ul>
</div>

<div class="form-field form-field--error">
    <label class="form-label" for="invalid_postfix_button">Postfixed Button</label>
    <div class="form-prefixPostfix">
        <input class="form-input" id="invalid_postfix_button" type="text" placeholder="Placeholder text">
        <input class="button form-prefixPostfix-button--postfix" type="submit" value="Save">
    </div>
    <ul class="form-field-errors">
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_postfix_button">
                This is a really long error message to give alot
                more detail to the user about what is wrong with this field.
            </label>
        </li>
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_postfix_button">
                Something else was wrong
            </label>
        </li>
        <li class="form-field-error">
            <label class="form-inlineMessage" for="invalid_postfix_button">
                You really messed up here
            </label>
        </li>
    </ul>
</div>
```
*/
.form-input-indicator {
  height: 1.57143rem;
  width: 1.57143rem;
  float: left;
  margin: 0 0 0 -2.14286rem;
  position: relative;
  top: 0.71429rem; }
  .form-prefixPostfix .form-input-indicator {
    top: 0; }
  .form-input-indicator > svg {
    fill: #008a06; }

.form-field-errors {
  list-style: none;
  margin-left: 0;
  margin-left: 0;
  clear: both;
  margin-bottom: 0;
  margin-top: 0.21429rem; }
  .form-field-errors ul,
  .form-field-errors ol {
    list-style: none;
    margin-bottom: 0; }

.form-inlineMessage {
  display: inline-block;
  line-height: 24px;
  margin: 0.35714rem 0 -0.5rem;
  width: 100%; }

.form-field--success .form-input,
.form-field--error .form-input,
.form-field--warning .form-input {
  float: left; }

.form-field--success .form-input,
.form-field--success .form-select,
.form-field--success .form-checkbox + .form-label::before,
.form-field--success .form-radio + .form-label::before,
.form-field--success .form-prefixPostfix-label {
  border-color: #008a06; }

.form-field--success .form-field-error,
.form-field--success .form-inlineMessage {
  color: #008a06; }

.form-field--success .form-input-indicator > svg {
  fill: #008a06; }

.form-field--error .form-input,
.form-field--error .form-select,
.form-field--error .form-checkbox + .form-label::before,
.form-field--error .form-radio + .form-label::before,
.form-field--error .form-prefixPostfix-label {
  border-color: #cc4749; }

.form-field--error .form-field-error,
.form-field--error .form-inlineMessage {
  color: #cc4749; }

.form-field--error .form-input-indicator > svg {
  fill: #cc4749; }

.form-field--warning .form-input,
.form-field--warning .form-select,
.form-field--warning .form-checkbox + .form-label::before,
.form-field--warning .form-radio + .form-label::before,
.form-field--warning .form-prefixPostfix-label {
  border-color: #f1a500; }

.form-field--warning .form-field-error,
.form-field--warning .form-inlineMessage {
  color: #f1a500; }

.form-field--warning .form-input-indicator > svg {
  fill: #f1a500; }

/*doc
---
title: Panels
name: panel
category: Components
---

Panels are a simple container which is relatively positioned within the document which helps you section
your content. Panels may also have a header, which contains a related title to describe the contents.

```sass_file_example
src/settings/foundation/panels/_settings.scss
```
```html_example
<div class="panel">
    <div class="panel-header">
        <h2 class="panel-title">Panel Title</h2>
    </div>
    <div class="panel-body">
        <h2>Some Panel Content</h2>
        <p>Should be able to handle any type of content.</p>
    </div>
</div>
```
*/
.panel {
  position: relative; }

.panel-header {
  background-color: #e5e5e5;
  margin: 0;
  padding: 1.5rem 2rem 0; }

.panel-title {
  line-height: 1.5;
  margin: 0; }

.panel-body {
  margin-bottom: 1.5rem;
  padding: 1rem 2rem 1.5rem;
  background: #e5e5e5; }
  .panel-body > :first-child {
    margin-top: 0; }
  .panel-body > :last-child {
    margin-bottom: 0; }
  .panel-body > :last-child {
    margin-bottom: 0; }

.breadcrumbs {
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden; }

.breadcrumb {
  color: #757575;
  float: left;
  font-size: 13px;
  line-height: 13px;
  margin: 0;
  line-height: 1.5; }
  .breadcrumb a {
    color: #757575; }
  .breadcrumb.current {
    color: #757575;
    cursor: default; }
    .breadcrumb.current a {
      color: #757575;
      cursor: default; }
    .breadcrumb.current:hover, .breadcrumb.current:hover a, .breadcrumb.current:focus, .breadcrumb.current:focus a {
      text-decoration: none; }
  .breadcrumb.unavailable {
    color: #999999; }
    .breadcrumb.unavailable a {
      color: #999999; }
    .breadcrumb.unavailable:hover,
    .breadcrumb.unavailable:hover a, .breadcrumb.unavailable:focus,
    .breadcrumb.unavailable a:focus {
      color: #999999;
      cursor: not-allowed;
      text-decoration: none; }
  .breadcrumb:before {
    color: #757575;
    content: "/";
    margin: 0;
    position: relative;
    top: 1px; }
  .breadcrumb:first-child:before {
    content: " ";
    margin: 0; }
  .breadcrumb::before {
    margin: 0 0.5rem; }
    @media (min-width: 481px) {
      .breadcrumb::before {
        margin: 0 0.5rem; } }

.breadcrumb-label {
  cursor: pointer; }
  .breadcrumb-label:hover {
    color: #333333;
    text-decoration: none; }
  .breadcrumb.is-active > .breadcrumb-label {
    color: #757575;
    cursor: default; }
  .breadcrumb.is-unavailable > .breadcrumb-label {
    color: #999999;
    cursor: default; }

.tabs {
  border-bottom: 1px solid #e5e5e5;
  margin: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }

.tab {
  border-bottom: white;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative; }
  @media (min-width: 551px) {
    .tab {
      float: left; } }

.tab-title {
  color: #757575;
  display: block;
  font-size: 15px;
  padding: 0.78571rem 1.57143rem; }
  .tab-title:hover {
    color: #333333; }

.tab.is-active .tab-title {
  color: #333333;
  font-weight: 700; }

@media (min-width: 551px) {
  .tabs--vertical {
    border-bottom: 0;
    float: left;
    margin: 0 0 1.5rem;
    max-width: 20%;
    width: 20%; } }

.tabs--vertical .tab {
  float: none; }

.tabs-contents {
  margin-bottom: 1.5rem; }
  .tabs-contents:before, .tabs-contents:after {
    content: " ";
    display: table; }
  .tabs-contents:after {
    clear: both; }

@media (min-width: 551px) {
  .tabs-contents--vertical {
    float: left;
    max-width: 80%;
    padding-left: 1.5rem;
    width: 80%; }
    .tabs-contents--vertical > .tab-content {
      padding: 0 1.5rem; } }

.tab-content {
  display: none;
  padding: 1.5rem 0; }
  .tab-content.is-active {
    display: block; }

.no-js .tab-content {
  display: block;
  float: none; }

/*doc
---
title: Navigation
name: nav
category: Components
---

The navigation pattern holds a list of links wrapped in a navigation element. The links can help you navigate
the document, or the information architecture. Each link should modify the URL in some way.

```sass_file_example
src/settings/bigcommerce/nav/_settings.scss
```
We generate our own navigation abstractions through a `nav()` mixin. The mixin works as follows:

```scss_example
nav($style: "navBar", $wrapper: "nav")
```
Where:

 - `$style` - The type of navigation (a bar or list)
 - `$wrapper` - The wrapper of the navigation (usually nav, ul or ol)

There is also a `nav-action()` mixin, which when used will set the styles for any actionable items in your navigation list.

```scss_example
nav-action($color, $fontFamily, $fontSize, $padding)
```

*/
/*doc
---
title: Navigation Bar
name: navBar
parent: nav
category: Components
---

The Navigation Bar is a horizontal navigation component, useful for page navigation or any other primary content navigation.

```html_example
<nav class="navBar navBar--internal">
    <ul class="navBar-section">
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 1</a>
        </li>
        <li class="navBar-item is-active">
            <a class="navBar-action" href="#">Item 2</a>
        </li>
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 3</a>
        </li>
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 4</a>
        </li>
    </ul>
    <ul class="navBar-section navBar-section--alt">
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 5</a>
        </li>
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 6</a>
        </li>
        <li class="navBar-item">
            <a class="navBar-action" href="#">Item 7</a>
        </li>
    </ul>
</nav>
```

You can create a navigation bar abstraction with the following mixin:

```scss_example
.pageNavigation {
    @include nav("navBar", "nav");
    @include nav-action($navBar-action-color, $navBar-action-fontFamily, $navBar-action-fontSize, $navBar-action-padding);
}
```

*/
.navBar:before, .navBar:after {
  content: " ";
  display: table; }

.navBar:after {
  clear: both; }

.navBar ul,
.navBar ol {
  list-style: none;
  margin-left: 0;
  margin: 0;
  padding: 0; }
  .navBar ul ul,
  .navBar ul ol,
  .navBar ol ul,
  .navBar ol ol {
    list-style: none;
    margin-bottom: 0; }
  .navBar ul li,
  .navBar ol li {
    margin: 0;
    padding: 0; }

.navBar-section {
  float: left; }
  .navBar-section:before, .navBar-section:after {
    content: " ";
    display: table; }
  .navBar-section:after {
    clear: both; }

.navBar-section--alt {
  float: right;
  margin-left: 1.5rem; }

.navBar-section + .navBar-section {
  margin-left: 1.5rem; }

@media (min-width: 551px) {
  .navBar-item {
    float: left; } }

.navBar-item, .navBar-action {
  display: block; }

.navBar-action {
  color: black;
  font-size: 15px;
  padding: 0.78571rem; }

/*doc
---
title: Navigation List
name: navList
parent: nav
category: Components
---

The Navigation List is a vertical navigation component, useful for secondary navigation like a list of child pages.

```html_example
<nav class="navList navList--aside">
    <ul class="navList-section">
        <li class="navList-item">
            <a class="navList-action" href="#">Item 1</a>
        </li>
        <li class="navList-item is-active">
            <a class="navList-action" href="#">Item 2</a>
            <ul class="navList-subSection">
                <li class="navList-item">
                    <a class="navList-action" href="#">Sub-item 1</a>
                </li>
                <li class="navList-item is-active">
                    <a class="navList-action" href="#">Sub-item 2</a>
                </li>
                <li class="navList-item">
                    <a class="navList-action" href="#">Sub-item 3</a>
                </li>
                <li class="navList-item">
                    <a class="navList-action" href="#">Sub-item 4</a>
                </li>
            </ul>
        </li>
        <li class="navList-item">
            <a class="navList-action" href="#">Sub-item 3</a>
        </li>
        <li class="navList-item">
            <a class="navList-action" href="#">Sub-item 4</a>
        </li>
    </ul>
</nav>
```

You can create a navigation list abstraction with the following mixin:

```scss_example
.subPagesList {
    @include nav("navList", "ul");
    @include nav-action($navBar-action-color, $navBar-action-fontFamily, $navBar-action-fontSize, $navBar-action-padding);
}
```

*/
.navList:before, .navList:after {
  content: " ";
  display: table; }

.navList:after {
  clear: both; }

.navList ul,
.navList ol {
  list-style: none;
  margin-left: 0;
  margin: 0;
  padding: 0; }
  .navList ul ul,
  .navList ul ol,
  .navList ol ul,
  .navList ol ol {
    list-style: none;
    margin-bottom: 0; }
  .navList ul li,
  .navList ol li {
    margin: 0;
    padding: 0; }

.navList-section:before, .navList-section:after {
  content: " ";
  display: table; }

.navList-section:after {
  clear: both; }

.navList-section--alt {
  float: right;
  margin-left: 1.5rem; }

.navList-section + .navList-section {
  margin-top: 1.5rem; }

.navList-item, .navList-action {
  display: block; }

.navList-action {
  color: #333333;
  font-size: 15px;
  padding: 0.21429rem 0; }

.pagination-list {
  display: block;
  margin-left: 0; }
  .pagination-list li {
    color: #757575;
    font-size: 1rem;
    margin-left: 0.35714rem; }
    .pagination-list li a, .pagination-list li button {
      border-radius: 4px;
      transition: background-color 300ms ease-out;
      background: none;
      color: #757575;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.28571rem 0.5rem; }
  .pagination-list li {
    display: block; }

li.pagination-item {
  cursor: pointer; }
  li.pagination-item:first-child {
    margin-left: 0; }
  li.pagination-item a:hover {
    color: #333333; }

li.pagination-item--current a, li.pagination-item--current button {
  color: #333333;
  cursor: default; }

/*doc
---
title: Alerts
name: alerts
category: Components
---

Alerts can be used to inform users about the actions they perform, whether it's a successful message, a warning, error, or just information.
They can be displayed at a page level or inside a specific container. They will take the full width of their containers.

```sass_file_example
src/settings/foundation/alerts/_settings.scss
```

The alert box consists of three `alertBox-column`s: The `alertBox-icon` which contains the icon for the type of alert,
the `alertBox-message` which can contain the heading and text for the alert message, and `alertBox-close` which holds the close button.
You can set the vertical alignment of the columns in the setting variables.

```html_example
<div class="alertBox">
    <div class="alertBox-column alertBox-icon">
        <icon class="icon" aria-hidden="true">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
                <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path>
            </svg>
        </icon>
    </div>
    <div class="alertBox-column alertBox-message">
        <span>Generic alert</span>
    </div>
    <a class="alertBox-column alertBox-close" tabindex="0" href="#">
        <icon glyph="ic-close" class="icon" aria-hidden="true">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
                <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
            </svg>
        </icon>
    </a>
</div>
```
*/
.alertBox {
  border-style: none;
  display: block;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0.78571rem;
  padding: 0.78571rem 1.14286rem 0.78571rem 1.14286rem;
  position: relative;
  transition: opacity 300ms ease-out;
  background-color: #e5e5e5;
  border-color: #e5e5e5;
  color: white; }
  .alertBox .icon {
    height: 1.42857rem;
    width: 1.42857rem; }
  .alertBox .button {
    margin: 0 0 0 0.78571rem; }

.alertBox--info {
  background-color: #666666;
  border-color: #666666;
  color: #333333; }
  .alertBox--info svg {
    fill: #dfdfdf; }

.alertBox--success {
  background-color: #d5ffd8;
  border-color: #d5ffd8;
  color: white; }
  .alertBox--success svg {
    fill: #008a06; }

.alertBox--warning {
  background-color: #fffdea;
  border-color: #fffdea;
  color: white; }
  .alertBox--warning svg {
    fill: #f1a500; }

.alertBox--error {
  background-color: #ffdddd;
  border-color: #ffdddd;
  color: white; }
  .alertBox--error svg {
    fill: #cc4749; }

.alertBox-column {
  display: table-cell;
  text-align: center;
  vertical-align: middle; }

.alertBox-icon {
  padding-right: 1.14286rem; }

.alertBox-message {
  margin: 0;
  text-align: left;
  width: 100%; }

.alertBox-heading {
  margin: 0; }

.alertBox-close {
  cursor: pointer;
  padding-left: 1.14286rem; }
  .alertBox-close .icon {
    height: 1.42857rem;
    width: 1.42857rem; }
  .alertBox-close svg {
    fill: #999999; }

/*doc
---
title: Accordion
name: accordion
category: Components
---
```html_example
<section class="accordion">
    <article heading="Dynamic Group Header - 1" class="is-open">
        <h2 class="accordion-navigation is-open">
            <a href="javascript:void(0)" class="accordion-title">
                Dynamic Group Header - 1
                <icon class="accordion-indicator icon" glyph="ic-remove" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13H5v-2h14v2z"></path></svg></icon>
            </a>
        </h2>
        <div class="accordion-content is-open">
            Dynamic Group Body - 1
        </div>
    </article>
    <article heading="Dynamic Group Header - 2">
        <h2 class="accordion-navigation">
            <a href="javascript:void(0)" class="accordion-title">
                Dynamic Group Header - 2
                <icon class="accordion-indicator icon" glyph="ic-remove" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13H5v-2h14v2z"></path></svg></icon>
            </a>
        </h2>
    </article>
<article heading="Dynamic Group Header - 3">
        <h2 class="accordion-navigation accordion-navigation--error">
            <a href="javascript:void(0)" class="accordion-title">
                Dynamic Group Header - 3
                <icon class="accordion-indicator icon" glyph="ic-remove" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13H5v-2h14v2z"></path></svg></icon>
            </a>
        </h2>
    </article>
</section>
```

```sass_file_example
src/settings/foundation/accordion/_settings.scss
```
*/
.accordion {
  margin-bottom: 0;
  border: #e5e5e5 solid;
  border-width: 1px;
  box-shadow: 0 1px 2px rgba(255, 255, 255, 0.13);
  margin: 0 0 1.5rem; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }

.accordion-navigation {
  display: block;
  margin-bottom: 0 !important;
  border: #e5e5e5 solid;
  border-width: 1px 0;
  cursor: pointer; }
  .accordion-navigation.is-open > a {
    background: white;
    color: black; }
  .accordion-navigation > a {
    background: white;
    color: #333333;
    padding: 1.85714rem;
    display: block;
    font-family: "Karla", Arial, Helvetica, sans-serif;
    font-size: 1rem; }
    .accordion-navigation > a:hover {
      background: #e5e5e5; }
  .accordion-navigation .accordion-title {
    padding: 1.5rem 1.85714rem; }

.accordion-title {
  font-weight: 700;
  line-height: 24px; }

.accordion-content {
  display: none;
  padding: 2rem;
  border: #e5e5e5 solid;
  border-width: 0 0 1px; }
  .accordion-content.is-open {
    display: block; }

.accordion-navigation--success .accordion-title,
.accordion-navigation--success.is-open > a {
  color: #008a06; }

.accordion-navigation--error .accordion-title,
.accordion-navigation--error.is-open > a {
  color: #cc4749; }

.accordion-navigation--warning .accordion-title,
.accordion-navigation--warning.is-open > a {
  color: #f1a500; }

body.has-activeModal {
  overflow: hidden; }

.modal-background {
  background: black;
  background: rgba(51, 51, 51, 0.95);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }
  .has-activeModal .modal-background {
    display: block; }

.modal {
  border-radius: 0;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: white;
  padding: 2.25rem 2.25rem;
  border: solid 0 #e5e5e5;
  box-shadow: none;
  max-height: 80%;
  overflow: auto;
  position: fixed; }
  @media only screen and (max-width: 551px) {
    .modal {
      min-height: 100vh; } }
  .modal .column, .modal .columns {
    min-width: 0; }
  .modal > :first-child {
    margin-top: 0; }
  .modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 551px) {
    .modal {
      left: 0;
      margin: 0 auto;
      max-width: 80%;
      right: 0;
      width: 900px; } }
  @media only screen and (min-width: 551px) {
    .modal {
      top: 50% !important; } }
  @media (min-width: 551px) {
    .modal {
      transform: translateY(-50%); } }

.modal--large {
  max-height: 90%;
  width: 1280px; }

.modal--small {
  width: 500px; }

.modal-header {
  border-bottom: 1px solid #e5e5e5;
  padding: 1rem 0;
  position: relative; }

.modal-header-title {
  margin: 0; }

.modal-body {
  padding: 3rem 0; }
  .modal-body > :last-child {
    margin-bottom: 0; }

.modal-footer {
  border-top: 1px solid #e5e5e5;
  padding: 0.78571rem 1.5rem;
  text-align: center; }
  @media (min-width: 481px) {
    .modal-footer {
      text-align: right; } }
  .modal-footer .button {
    display: block; }
    @media (min-width: 481px) {
      .modal-footer .button {
        display: inline-block;
        margin-bottom: 0; } }

.modal-footer-link {
  display: inline-block;
  font-size: 15px;
  margin: 0 0 0.78571rem; }
  @media (min-width: 481px) {
    .modal-footer-link {
      display: inline;
      margin: 1.5rem; } }

.modal-close {
  color: #666666;
  cursor: pointer;
  font-size: 25px;
  font-weight: normal;
  line-height: 1;
  position: absolute;
  top: 1.05rem;
  right: 0.75rem;
  transform: translateY(none); }
  .modal-close .icon {
    height: 1.42857rem;
    width: 1.42857rem; }

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

.loadingNotification {
  left: 50%;
  position: fixed;
  text-align: center;
  top: 3rem;
  transform: translateX(-50%);
  transform-style: preserve-3d;
  transition: all 200ms ease-out;
  z-index: 500; }
  .loadingNotification.ng-hide-remove, .loadingNotification.ng-hide-add-active {
    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: #666666;
  border-radius: 4px;
  color: white;
  display: inline-block;
  font-size: 15px;
  padding: 0.35714rem 0.78571rem; }

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

.loadingOverlay {
  background: rgba(51, 51, 51, 0.9);
  bottom: 0;
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 250ms ease-out;
  width: 100%; }
  .loadingOverlay::before {
    height: 2.85714rem;
    width: 2.85714rem;
    border-radius: 2.85714rem;
    border: solid 2px;
    border-color: white white #999999 #999999;
    content: "";
    display: block;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transform-style: preserve-3d;
    animation: spin 500ms infinite cubic-bezier(0.69, 0.31, 0.56, 0.83); }
  .loadingOverlay.ng-enter, .loadingOverlay.ng-leave.ng-leave-active {
    opacity: 0; }
  .loadingOverlay.ng-leave, .loadingOverlay.ng-enter.ng-enter-active {
    opacity: 1; }

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

/*doc
---
title: ActionBar
name: action_bar
category: Patterns
---
```html_example
<div class="actionBar">
    <div class="actionBar-section">
        <fieldset class="form-fieldset">
            <div class="actionBar-item form-field">
                <input class="form-input has-action" type="search" placeholder="Search">
                <button class="button button--icon button--inputAction">
                    <span class="is-srOnly">Search</span>
                    <icon glyph="ic-search"></icon>
                </button>
            </div>
            <a href="#" class="actionBar-item">Advanced</a>
        </fieldset>
    </div>
    <div class="actionBar-section actionBar-section--alt">
        <fieldset class="form-fieldset">
            <div class="actionBar-item form-field">
                <div class="buttonGroup">
                    <button class="button">
                        All
                    </button>
                    <button class="button">
                        Free
                    </button>
                    <button class="button">
                        Paid
                    </button>
                </div>
            </div>
            <div class="actionBar-item form-field">
                <label class="form-label" for="select1">Sort by</label>
                <select class="form-select" name="select1" id="select1">
                    <option value="1">Popular</option>
                    <option value="2">Newest</option>
                </select>
            </div>
        </fieldset>
    </div>
</div>
```

```sass_file_example
src/settings/bigcommerce/actionBar/_settings.scss
```
*/
.actionBar {
  margin: 1.5rem 0; }
  .actionBar:before, .actionBar:after {
    content: " ";
    display: table; }
  .actionBar:after {
    clear: both; }
  .actionBar .button {
    margin-bottom: 0; }
  .actionBar .buttonGroup {
    vertical-align: middle; }

.actionBar-link {
  display: block;
  padding: 0.78571rem 0; }

.actionBar-section:before, .actionBar-section:after {
  content: " ";
  display: table; }

.actionBar-section:after {
  clear: both; }

@media (min-width: 551px) {
  .actionBar-section {
    float: left; }
    .actionBar-section .form-label {
      display: inline-block;
      margin: 0 0.35714rem 0 0; }
    .actionBar-section .form-select,
    .actionBar-section .form-input {
      display: inline-block;
      width: 14.28571rem; } }

@media (min-width: 551px) {
  .actionBar-section--alt {
    float: right; } }

.actionBar-item {
  margin-bottom: 1.5rem; }
  @media (min-width: 551px) {
    .actionBar-item {
      display: inline-block;
      margin-bottom: 0;
      margin-right: 1.5rem;
      vertical-align: middle; }
      .actionBar-item:last-child {
        margin-right: 0; } }

/*doc
---
title: Cards
name: cards
category: Components
---

Cards are a typical component consisting of a figure and a short snippet of descriptive text.
This could include a heading and a caption or definition, and perhaps a call to action
or other actionable functions.

```sass_file_example
src/settings/bigcommerce/cards/_settings.scss
```
```html_example
<article class="card">
    <figure class="card-figure">
        <img class="card-image" src="http://lorempixel.com/960/360/sports/" alt="Example card image">
        <figcaption class="card-figcaption">
            <a class="card-figcaption-action" href="#">
                <div class="card-figcaption-body">
                    <span class="button card-figcaption-button">Learn more</span>
                </div>
            </a>
        </figcaption>
    </figure>
    <div class="card-body">
        <h2 class="card-title">20% Off First Design Project</h2>
        <h3 class="card-subTitle">Custom Designs</h3>
        <p class="card-text">
            Be seen by customers at the very moment that
            they are searching on Google for the things you offer.
        </p>
    </div>
</article>
```
*/
.card {
  background-color: transparent;
  margin-bottom: 3rem;
  padding: 0 0; }

.card-figure {
  background-color: white;
  margin-bottom: 0;
  padding: 0 0;
  position: relative; }

.card-image {
  border: 1px solid #999999;
  width: 100%; }

.card-figcaption {
  bottom: 0;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0; }
  .card-figcaption:hover {
    opacity: 1; }

.card-figcaption-action {
  display: block;
  height: 100%; }

.card-figcaption-body {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  transform-style: preserve-3d; }
  .card-figcaption-body > :first-child {
    margin-top: 0; }
  .card-figcaption-body > :last-child {
    margin-bottom: 0; }
  .card-figcaption-body .card-text {
    color: #757575; }

.card-figcaption-button {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333333; }
  .card-figcaption-button:hover {
    background-color: white;
    color: #333333; }

.card-body {
  padding: 0.78571rem 0 0; }
  .card-body > :first-child {
    margin-top: 0; }
  .card-body > :last-child {
    margin-bottom: 0; }
  .card-body .card-text {
    color: #757575; }

.card-surTitle {
  float: right;
  margin-left: 1.5rem;
  max-width: 40%;
  text-align: right; }

.card-footer {
  background-color: transparent;
  margin: 0; }
  .card-footer:before, .card-footer:after {
    content: " ";
    display: table; }
  .card-footer:after {
    clear: both; }

.card-button {
  margin-bottom: 0; }

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

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .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); }

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

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 0.8; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.6; }
  .slick-prev:before,
  .slick-next:before {
    font-family: inherit;
    font-size: 20px;
    line-height: 1;
    color: #8f8f8f;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 0.8; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 20px;
        height: 20px;
        font-family: inherit;
        font-size: 60px;
        line-height: 20px;
        text-align: center;
        color: #333333;
        opacity: 0.6;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #757575;
      opacity: 1; }

.slick-next,
.slick-prev {
  background-color: white;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid white;
  height: 4.35714rem;
  margin-top: -1.07143rem;
  padding: 0.71429rem;
  width: 2.85714rem;
  z-index: 1; }
  .slick-next::before,
  .slick-prev::before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    height: 2.92857rem;
    width: 1.42857rem; }
  .slick-next:hover, .slick-next:focus,
  .slick-prev:hover,
  .slick-prev:focus {
    background-color: white;
    background-color: rgba(255, 255, 255, 0.9);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%; }

.slick-next {
  right: -5px; }
  @media (min-width: 1261px) {
    .slick-next {
      right: -3.35714rem; } }
  .slick-next::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M1.45679 1.00746147l21 20.02482143L1.50885 41.0074615' stroke='%238f8f8f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); }
  .slick-next:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M1.45679 1.00746147l21 20.02482143L1.50885 41.0074615' stroke='%23474747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); }

.slick-prev {
  left: -5px; }
  @media (min-width: 1261px) {
    .slick-prev {
      left: -3.35714rem; } }
  .slick-prev::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M22.4572074 1.00746147l-21 20.02482143 20.9479397 19.9751786' stroke='%238f8f8f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); }
  .slick-prev:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M22.4572074 1.00746147l-21 20.02482143 20.9479397 19.9751786' stroke='%23474747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); }

.slick-slide img {
  display: block;
  width: 100%; }

.slick-dots {
  margin: 0; }
  .slick-dots li {
    height: 2.28571rem;
    width: 2.28571rem;
    margin: 0;
    padding: 0.35714rem; }
    .slick-dots li button,
    .slick-dots li button::before {
      height: 1.07143rem;
      width: 1.07143rem;
      border-radius: 50%; }
    .slick-dots li button {
      border: 1px solid #333333;
      display: inline-block;
      margin: 0;
      padding: 0;
      position: relative;
      text-align: center;
      vertical-align: middle; }
      .slick-dots li button:hover::before {
        background: #333333; }
    .slick-dots li button::before {
      display: block;
      left: -1px;
      top: -1px;
      transition: background 100ms ease-out; }
    .slick-dots li.slick-active button::before {
      background: #757575; }

.productView .slick-dots {
  position: relative; }

.slick-disabled {
  cursor: default;
  opacity: 0.1; }

.slick-track {
  backface-visibility: hidden;
  perspective: 1000px; }

div.slick-slider {
  min-width: 100%;
  width: 1px;
  *width: 100%; }

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

.carousel-tooltip {
  display: none;
  height: 1px;
  margin-top: 10px;
  position: relative; }
  .carousel-tooltip::before {
    border-color: transparent transparent #313440 transparent;
    border-style: solid;
    border-width: 0.71429rem;
    content: " ";
    position: absolute;
    right: 0;
    top: 50%; }
  .carousel-tooltip::after {
    background-color: #313440;
    border-radius: 0.57143rem;
    color: white;
    content: attr(aria-label);
    cursor: default;
    font-size: 1rem;
    padding: 0.28571rem 0.42857rem;
    position: absolute;
    right: 0;
    top: 100%;
    white-space: nowrap; }
  .carousel-tooltip::before, .carousel-tooltip::after {
    display: none; }
  .carousel-tooltip:focus::before, .carousel-tooltip:focus::after {
    display: block; }
  @media (min-width: 551px) {
    .carousel-tooltip {
      display: block; } }
  .carousel-tooltip::after {
    padding: 15px 10px;
    top: 10px; }
  .slick-prev:focus .carousel-tooltip::before, .slick-prev:focus .carousel-tooltip::after,
  .slick-next:focus .carousel-tooltip::before,
  .slick-next:focus .carousel-tooltip::after,
  .slick-dots button:focus .carousel-tooltip::before,
  .slick-dots button:focus .carousel-tooltip::after {
    display: block; }
  .slick-prev .carousel-tooltip::before,
  .slick-next .carousel-tooltip::before {
    top: -7px; }
  .slick-prev .carousel-tooltip::before {
    right: -2px; }
  .slick-prev .carousel-tooltip::after {
    left: -5px;
    right: auto; }
  .slick-next .carousel-tooltip::after {
    right: -5px; }
  .slick-dots button .carousel-tooltip {
    margin-top: 25px; }
    .slick-dots button .carousel-tooltip::before, .slick-dots button .carousel-tooltip::after {
      right: 50%;
      transform: translateX(50%); }
    .slick-dots button .carousel-tooltip::before {
      top: -7px; }

.carousel-play-pause-button {
  background-color: white;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid white;
  bottom: 0.5rem;
  color: #8f8f8f;
  display: none;
  font-size: 14px;
  font-weight: 700;
  height: 32px;
  left: 15px;
  line-height: 1.25;
  max-width: 60px;
  min-width: 60px;
  overflow: hidden;
  position: absolute;
  text-overflow: ellipsis;
  transition: color 100ms ease-out;
  white-space: nowrap;
  z-index: 5; }
  @media (min-width: 551px) {
    .carousel-play-pause-button {
      font-size: 18px;
      max-width: 150px; } }
  @media (min-width: 801px) {
    .carousel-play-pause-button {
      bottom: 1.5rem;
      left: 25px; } }
  .carousel-play-pause-button:hover {
    color: #474747; }
  @media (min-width: 375px) {
    .carousel-play-pause-button {
      max-width: 90px;
      min-width: 80px; } }

html,
body {
  height: auto; }

body {
  padding-top: 55px; }
  @media (min-width: 801px) {
    body {
      padding-top: 0; } }

figure {
  margin-bottom: 2rem;
  margin-top: 2rem; }
  figure > figcaption {
    margin-bottom: -0.5rem; }

figcaption {
  color: #999999;
  margin-top: 0.78571rem; }

body {
  font-size: 1rem;
  font-weight: 400; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin-top: 2.28571rem; }

h5,
h6 {
  text-transform: uppercase; }

a {
  transition: color 0.15s ease; }

cite {
  line-height: 1.5;
  margin: 0.5rem 0 0; }

.page-heading {
  margin: 0 0 3rem;
  text-align: center; }

h1 {
  font-size: 28px; }

h2 {
  font-size: 25px; }

h3 {
  font-size: 22px; }

h4 {
  font-size: 20px; }

h5 {
  font-size: 15px; }

h6 {
  font-size: 13px; }

.definitionList:before, .definitionList:after {
  content: " ";
  display: table; }

.definitionList:after {
  clear: both; }

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

.definitionList-value {
  margin: 0; }

.form-select {
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z' fill='rgba(117, 117, 117, 0.999)' /%3E%3C/svg%3E");
  background-position: right 0.57143rem top 0.71429rem;
  border-radius: 4px;
  padding: 0.75rem 3rem 0.75rem 1rem; }

.form-label small {
  float: right;
  margin-top: 0.35714rem; }

.form-label--inlineSmall small {
  color: #757575;
  float: none;
  font-size: inherit;
  font-weight: 400;
  margin-left: 0.35714rem;
  text-transform: none; }

.table {
  margin-top: 2rem; }
  .table td + td {
    border-left: 1px solid #e5e5e5; }
  .table .table-alignCenter {
    text-align: center; }
  .table .table-alignRight {
    text-align: right; }

.table-actions {
  margin: 1.5rem;
  text-align: center; }
  .table-actions .form {
    margin-bottom: 0; }
  .table-actions .button {
    display: block;
    margin-left: 0;
    margin-right: 0;
    width: 100%; }
    @media (min-width: 551px) {
      .table-actions .button {
        display: inline-block;
        margin-bottom: 0;
        width: auto; } }
    @media (min-width: 551px) {
      .table-actions .button + .button {
        margin-left: 0.35714rem; } }

.table--line {
  border-color: #e5e5e5;
  border-width: 0 0 1px; }
  .table--line .table-thead {
    background-color: white;
    border-color: #e5e5e5;
    border-width: 0 0 1px; }
    .table--line .table-thead tr th {
      padding-left: 0;
      padding-right: 0; }
      @media (min-width: 551px) {
        .table--line .table-thead tr th {
          text-align: center; }
          .table--line .table-thead tr th:first-child {
            text-align: left; }
          .table--line .table-thead tr th:last-child {
            text-align: right; } }
      .table--line .table-thead tr th + th {
        padding-left: 1.5rem; }
  .table--line tr {
    border-color: 1px solid #e5e5e5; }
    .table--line tr td {
      display: block;
      padding-left: 0;
      padding-right: 0; }
      @media (min-width: 551px) {
        .table--line tr td {
          text-align: center; }
          .table--line tr td:first-child {
            text-align: left; }
          .table--line tr td:last-child {
            text-align: right; } }
      .table--line tr td + td {
        padding-left: 1.5rem; }
  .table--line td + td {
    border-left: 0; }

.dropdown {
  left: -9999px;
  outline: none;
  position: absolute; }

.dropdown-menu {
  z-index: 5; }
  .dropdown-menu.is-loading .loadingOverlay {
    background: none;
    padding: 4.5rem 0;
    position: relative; }
  .dropdown-menu.is-open {
    display: block; }
  .dropdown-menu .button:focus {
    z-index: 5; }

.dropdown-menu-item {
  text-align: left; }
  .dropdown-menu-item:first-child > a {
    padding-top: 0.78571rem; }
  .dropdown-menu-item:last-child > a {
    padding-bottom: 1rem; }
  .dropdown-menu-item > a {
    margin: 0;
    padding: 0.28571rem 1.14286rem;
    text-decoration: none; }

.form-wishlist {
  position: relative; }
  @media (min-width: 551px) {
    .form-wishlist {
      float: left;
      padding: 0 0.71429rem;
      width: 50%; } }
  @media (min-width: 801px) {
    .form-wishlist {
      padding: 0;
      width: auto; } }
  @media (min-width: 1261px) {
    .form-wishlist {
      display: inline-block;
      margin-top: 1rem; } }
  .form-wishlist .button {
    width: 100%; }
    @media (min-width: 801px) {
      .form-wishlist .button {
        width: auto; } }
    @media (min-width: 1261px) {
      .form-wishlist .button {
        margin-right: 0.78571rem; } }

.dropdown-menu-button {
  width: 100%; }
  .dropdown-menu-button.is-open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
  .dropdown-menu-button .icon {
    float: right;
    margin-left: 10px; }
  .dropdown-menu-button:focus {
    z-index: 10; }

#wishlist-dropdown.is-open {
  background: transparent;
  left: auto !important;
  max-width: none !important;
  width: 100% !important; }
  @media (min-width: 551px) {
    #wishlist-dropdown.is-open {
      padding-right: 20px; } }
  @media (min-width: 801px) {
    #wishlist-dropdown.is-open {
      padding-right: 0; } }
  @media (min-width: 1261px) {
    #wishlist-dropdown.is-open {
      padding-right: 11px; } }
  #wishlist-dropdown.is-open:focus {
    outline: none; }
  #wishlist-dropdown.is-open [data-wishlist] {
    border-top: 0;
    margin-bottom: 0;
    width: 100%; }
  #wishlist-dropdown.is-open .button {
    background-color: white;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    width: 100%; }
  #wishlist-dropdown.is-open .button--has-items {
    font-weight: 700; }
  #wishlist-dropdown.is-open li:not(:last-child) .button {
    border-bottom: 0;
    border-radius: 0;
    border-top: 0;
    margin-bottom: 0; }

.modal {
  left: 50%;
  margin: 0;
  max-height: 90%;
  max-width: 95%;
  min-height: 240px;
  outline: none;
  overflow: hidden;
  padding: 0;
  top: 50% !important;
  transform: translate(-50%, -50%); }
  .modal .form-field {
    position: relative; }

@media (min-width: 1261px) {
  .modal--large {
    width: 1280px; } }

.modal-header {
  padding-left: 2.25rem;
  padding-right: 3.03571rem; }

.modal-header-title {
  font-size: 22px;
  text-align: center; }
  @media (min-width: 801px) {
    .modal-header-title {
      font-size: 25px; } }

.modal-close {
  height: 2.28571rem;
  width: 2.28571rem;
  color: #757575;
  font-size: 26px;
  line-height: 2.28571rem;
  padding: 0;
  position: absolute;
  text-align: center;
  text-decoration: none;
  z-index: 50; }
  .modal-close::before {
    border-color: transparent transparent #313440 transparent;
    border-style: solid;
    border-width: 0.71429rem;
    content: " ";
    position: absolute;
    right: 0;
    top: 50%; }
  .modal-close::after {
    background-color: #313440;
    border-radius: 0.57143rem;
    color: white;
    content: attr(title);
    cursor: default;
    font-size: 1rem;
    padding: 0.28571rem 0.42857rem;
    position: absolute;
    right: 0;
    top: 100%;
    white-space: nowrap; }
  .modal-close::before, .modal-close::after {
    display: none; }
  .modal-close:focus::before, .modal-close:focus::after {
    display: block; }
  @media (min-width: 801px) {
    .modal-close {
      font-size: 32px; } }
  .modal-close:hover {
    color: #999999; }
  .modal-close::before {
    right: 50%;
    transform: translateX(50%); }
  .modal-close::after {
    right: 50%;
    transform: translateX(0.71429rem); }

.modal-body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2.25rem 2.25rem; }

.modal--alert {
  background-color: white !important;
  border-radius: 4px;
  font-family: "Karla", Arial, Helvetica, sans-serif;
  padding: 40px 20px 20px;
  text-align: center; }
  .modal--alert .alert-icon {
    border: 0.25em solid transparent;
    border-radius: 50%;
    box-sizing: content-box;
    cursor: default;
    display: flex;
    font-family: inherit;
    height: 5em;
    justify-content: center;
    line-height: 5em;
    margin: 1.25em auto 1.875em;
    position: relative;
    user-select: none;
    width: 5em; }
  .modal--alert .error-icon {
    animation: animate-icon 0.5s;
    border-color: #f27474;
    color: #f27474; }
    .modal--alert .error-icon .icon-content {
      animation: animate-icon-content 0.5s;
      flex-grow: 1;
      position: relative; }
      .modal--alert .error-icon .icon-content .line {
        background-color: #f27474;
        border-radius: 0.125em;
        display: block;
        height: 0.3125em;
        position: absolute;
        top: 2.3125em;
        width: 2.9375em; }
        .modal--alert .error-icon .icon-content .line-left {
          left: 1.0625em;
          transform: rotate(45deg); }
        .modal--alert .error-icon .icon-content .line-right {
          right: 1em;
          transform: rotate(-45deg); }
  .modal--alert .warning-icon {
    animation: animate-icon 0.5s;
    border-color: #facea8;
    color: #f8bb86; }
    .modal--alert .warning-icon .icon-content {
      align-items: center;
      animation: animate-icon-content 0.5s;
      display: flex;
      font-size: 3.75em; }
  .modal--alert .modal-content {
    color: #333333;
    font-size: 1.14286rem; }
  .modal--alert .button-container {
    margin: 25px 0 0; }
    .modal--alert .button-container .confirm {
      background-color: #444444;
      border-color: #444444;
      color: white; }
    .modal--alert .button-container .confirm:focus,
    .modal--alert .button-container .confirm:hover {
      background-color: #666666;
      border-color: #666666;
      color: white; }
    .modal--alert .button-container .confirm:active {
      background-color: black;
      border-color: black;
      color: white; }

.hide-content {
  opacity: 0; }

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

@keyframes animate-icon-content {
  0% {
    margin-top: 1.625em;
    opacity: 0;
    transform: scale(0.4); }
  50% {
    margin-top: 1.625em;
    opacity: 0;
    transform: scale(0.4); }
  80% {
    margin-top: -0.375em;
    transform: scale(1.15); }
  100% {
    margin-top: 0;
    opacity: 1;
    transform: scale(1); } }

ol.breadcrumbs {
  display: none;
  font-size: 0;
  overflow: visible;
  text-align: center; }
  @media (min-width: 551px) {
    ol.breadcrumbs {
      display: block; } }

.breadcrumb {
  display: inline-block;
  float: none;
  margin-right: 0.25rem; }
  .breadcrumb.is-active > .breadcrumb-label {
    cursor: pointer;
    font-weight: 700; }
  .breadcrumb:not(:first-child)::before {
    border-right: 0.1em solid #757575;
    content: "";
    display: inline-block;
    height: 0.8em;
    margin: 0 0.25rem;
    transform: rotate(15deg); }

.panel-title {
  font-size: 20px; }

.panel--large .panel-body {
  margin-bottom: 2rem;
  padding: 2rem; }

.pagination-list {
  font-size: 0;
  margin-bottom: 1.5rem;
  text-align: center; }
  .pagination-list:before, .pagination-list:after {
    content: " ";
    display: table; }
  .pagination-list:after {
    clear: both; }
  .pagination-list .pagination-item {
    display: inline-block; }

.pagination-item {
  border: 1px solid transparent;
  line-height: 1; }
  .pagination-item .pagination-link {
    text-decoration: none;
    transition: all 0.2s ease; }
    .pagination-item .pagination-link:hover {
      color: #333333; }
  .pagination-item.pagination-item--current {
    border-color: #e5e5e5;
    border-radius: 4px;
    margin: 0 0.35714rem 0 0.78571rem; }
  .pagination-item.pagination-item--previous > a, .pagination-item.pagination-item--next > a {
    color: #333333; }
    .pagination-item.pagination-item--previous > a:hover, .pagination-item.pagination-item--next > a:hover {
      color: #757575; }
      .pagination-item.pagination-item--previous > a:hover .icon > svg, .pagination-item.pagination-item--next > a:hover .icon > svg {
        fill: #757575; }

.pagination-item--previous .icon,
.pagination-item--next .icon {
  height: 1.42857rem;
  margin-top: -0.14286rem;
  width: 1.42857rem; }

.pagination-item--previous {
  float: left; }
  .pagination-item--previous .icon {
    margin-left: -0.85714rem; }

.pagination-item--next {
  float: right; }
  .pagination-item--next .icon {
    margin-right: -0.85714rem; }

.pagination-list--small {
  position: relative; }
  .pagination-list--small .pagination-item {
    color: #757575;
    cursor: inherit;
    line-height: 1.5; }
  .pagination-list--small .pagination-link {
    padding: 0 0.35714rem; }
  .pagination-list--small .pagination-item--previous,
  .pagination-list--small .pagination-item--next {
    position: absolute;
    top: 0; }
  .pagination-list--small .pagination-item--previous {
    left: 0; }
  .pagination-list--small .pagination-item--next {
    right: 0; }

.button {
  line-height: 1rem;
  transition: all 0.15s ease; }
  .button + .button {
    margin-left: 0; }
    @media (min-width: 801px) {
      .button + .button {
        margin-left: 0.78571rem; } }

.button[disabled] {
  cursor: not-allowed; }

.button--icon svg {
  fill: #757575; }

.tab {
  border-top: 1px solid #e5e5e5;
  float: none; }
  @media (min-width: 801px) {
    .tab {
      border-top-color: white;
      float: left; } }
  .tab.is-active {
    border-left-color: white;
    border-right-color: white; }
    @media (min-width: 551px) {
      .tab.is-active {
        margin-bottom: -1px; } }
    @media (min-width: 801px) {
      .tab.is-active {
        border: 1px solid #e5e5e5;
        border-bottom: 1px solid white; } }

.tab-title {
  padding: 1.14286rem 0;
  text-align: center;
  text-decoration: none; }
  @media (min-width: 551px) {
    .tab-title {
      text-align: left; } }
  @media (min-width: 801px) {
    .tab-title {
      padding: 0.78571rem 1.5rem; } }
  @media (min-width: 1261px) {
    .tab-title {
      padding: 0.78571rem 1.28571rem; } }

.tab-content.has-jsContent {
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden; }
  .tab-content.has-jsContent.is-active {
    height: auto;
    overflow: visible;
    padding: 1.5rem 0;
    visibility: visible; }

@media (min-width: 551px) {
  .tab-content .productReview {
    width: 50%; } }

@media (min-width: 801px) {
  .tab-content .productReview {
    width: 33.33333%; } }

@media (min-width: 1261px) {
  .tab-content .productReview {
    width: 50%; } }

.tab-content .productReviews {
  border-top: 0; }

.accordion {
  border-radius: 4px;
  box-shadow: none; }
  .accordion .navList {
    margin-bottom: 0; }

.accordion-content {
  border: 0; }
  .accordion-content .form:only-child {
    margin-bottom: 0; }

.accordion-title {
  color: #444444;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 1.07143rem;
  margin: 0; }

.accordion-navigation {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-right: 1rem;
  position: relative;
  text-decoration: none;
  width: 100%; }

@media (min-width: 801px) {
  .accordion--navList {
    border: 0; } }

@media (min-width: 801px) {
  .sidebarBlock + .accordion--navList {
    margin-top: 2rem; } }

@media (min-width: 801px) {
  .accordion--navList .accordion-block {
    margin-top: 2rem; } }

.accordion--navList .accordion-content {
  padding: 1rem; }
  @media (min-width: 801px) {
    .accordion--navList .accordion-content {
      padding: 0; } }

@media (min-width: 801px) {
  .accordion--navList .accordion-navigation {
    background-position: right 0 top 50%;
    border: 0;
    margin-bottom: 0.78571rem !important;
    padding: 0; } }

.accordion--navList .accordion-title {
  font-weight: normal;
  padding: 1rem;
  text-decoration: none;
  text-transform: inherit; }
  @media (min-width: 801px) {
    .accordion--navList .accordion-title {
      padding: 0; } }

.accordion--navList .accordion-indicator {
  fill: #999999; }

.accordion-block:first-child {
  margin-top: 0; }
  .accordion-block:first-child .accordion-navigation {
    border-radius: 4px 4px 0 0; }

.accordion-block:last-child .accordion-navigation,
.accordion-block:last-child .accordion-content {
  border-radius: 0 0 4px 4px; }

.accordion-block:last-child .accordion-navigation {
  border-bottom-width: 0; }
  .accordion-block:last-child .accordion-navigation.is-open {
    border-bottom-width: 1px;
    border-radius: 0; }

.accordion-nav-clear-holder {
  position: relative; }

.facetedSearch-clearLink {
  color: #757575;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%); }
  @media (min-width: 801px) {
    .facetedSearch-clearLink {
      right: 20px;
      top: 3px;
      transform: none; } }
  .facetedSearch-clearLink:hover {
    color: #333333; }

ul.inlineList {
  overflow: visible; }
  ul.inlineList:before, ul.inlineList:after {
    content: " ";
    display: table; }
  ul.inlineList:after {
    clear: both; }

.inlineList--labels {
  margin-bottom: 0;
  margin-left: -0.78571rem; }
  .inlineList--labels > li {
    margin-bottom: 0.78571rem;
    margin-left: 0.78571rem; }

.alertBox {
  border-radius: 4px;
  color: #333333; }

.alertBox-icon .icon {
  height: 1.78571rem;
  width: 1.78571rem; }

.alertBox--info {
  background-color: #707070;
  color: white; }
  .alertBox--info .alertBox-close svg {
    fill: #dfdfdf; }

.form--hiddenLabels .form-label {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.form-inlineMessage {
  display: block; }

.form-field--error .form-input {
  float: none; }

.form-field--error .form-inlineMessage::before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z' fill='rgba(204, 71, 73, 0.999)' /%3E%3C/svg%3E") no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 1rem;
  left: -0.14286rem;
  margin-right: 0.07143rem;
  position: relative;
  top: 0.21429rem;
  width: 1rem; }

.form-field--success .form-input[type="text"] {
  padding-right: 3rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z' fill='rgba(0, 138, 6, 0.999)' /%3E%3C/svg%3E");
  background-position: right 0.71429rem center;
  background-repeat: no-repeat; }

.form-field--success .form-input[name="credit_card_number"] {
  background-position: right 2.28571rem center; }

.form-field--success .form-input[name="cvv"] {
  background-position: right 2.28571rem center; }

.form-checkbox + .form-label:last-child,
.form-radio + .form-label:last-child {
  display: block;
  margin-bottom: -0.28571rem; }

.form-checkbox + .form-label::after,
.form-radio + .form-label::after {
  top: 0.28571rem; }

.form-checkbox + .form-label::before,
.form-radio + .form-label::before {
  top: 0.21429rem; }

.form-option-wrapper {
  display: inline-block;
  position: relative; }
  .form-option-wrapper .form-radio,
  .form-option-wrapper .form-checkbox {
    bottom: 0.5rem;
    left: 0.5rem; }

.form-actions {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%;
  display: block;
  text-align: center; }
  .form-actions:before, .form-actions:after {
    content: " ";
    display: table; }
  .form-actions:after {
    clear: both; }
  @media (min-width: 551px) {
    .form-actions {
      margin-top: 1.5rem; } }
  .form-actions .button,
  .form-actions input,
  .form-actions a {
    vertical-align: top;
    width: 100%; }
    @media (min-width: 551px) {
      .form-actions .button,
      .form-actions input,
      .form-actions a {
        margin-bottom: 0;
        width: auto; } }
    .form-actions .button + .button,
    .form-actions .button + input,
    .form-actions .button + a,
    .form-actions input + .button,
    .form-actions input + input,
    .form-actions input + a,
    .form-actions a + .button,
    .form-actions a + input,
    .form-actions a + a {
      margin-top: 0.78571rem; }
      @media (min-width: 551px) {
        .form-actions .button + .button,
        .form-actions .button + input,
        .form-actions .button + a,
        .form-actions input + .button,
        .form-actions input + input,
        .form-actions input + a,
        .form-actions a + .button,
        .form-actions a + input,
        .form-actions a + a {
          margin: 0 0 0 0.78571rem; } }

.form-label--alternate {
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 13px;
  margin-bottom: 0.78571rem; }

.form-select--date {
  width: initial; }
  .form-select--date + .form-select--date {
    margin-left: 0.35714rem; }

.form-select--small,
.form-select--date {
  background-position: right 0.5rem top 0.5rem;
  background-size: 1.28571rem;
  font-size: 13px;
  height: 2.28571rem;
  line-height: 1rem;
  max-width: 20rem;
  padding: 0.57143rem 0.78571rem;
  padding-right: 2rem; }

.form-select--short {
  max-width: 6rem;
  width: 4.5rem; }

.form-file {
  margin-bottom: 0.5rem; }

.form-fileDescription {
  color: #999999;
  font-size: 13px; }

.form-field-group {
  border: 1px solid #8f8f8f;
  border-radius: 4px;
  padding: 1.5rem; }

.form-column {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }
  @media (min-width: 551px) {
    .form-column {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 50%;
      float: left; } }

.form-prefixPostfix.wrap {
  flex-wrap: wrap; }

.form-prefixPostfix .form-input,
.form-prefixPostfix .button {
  display: block;
  width: 100%; }

@media (min-width: 1261px) {
  .form-prefixPostfix .form-input {
    width: auto; } }

.form-prefixPostfix .form-input::-webkit-input-placeholder {
  color: #666666; }

.form-prefixPostfix .form-input::-moz-placeholder {
  color: #666666; }

.form-prefixPostfix .form-input:-ms-input-placeholder {
  color: #666666; }

@media (min-width: 1261px) {
  .form-prefixPostfix .button {
    width: auto; } }

.form-prefixPostfix .form-inlineMessage {
  margin-bottom: 0.35714rem; }
  @media (min-width: 1261px) {
    .form-prefixPostfix .form-inlineMessage {
      margin-bottom: 0; } }

.form-prefixPostfix--centeredColumn.wrap {
  flex-direction: column; }

.form-prefixPostfix--centeredColumn .g-recaptcha {
  margin: 2em auto 0; }

@media (min-width: 1261px) {
  .form-prefixPostfix--centeredColumn .form-prefixPostfix-button--postfix {
    margin: 1em 0 0.78571rem; } }

.form-prefixPostfix-button--postfix {
  margin: 0.78571rem 0 0;
  order: 1; }
  @media (min-width: 1261px) {
    .form-prefixPostfix-button--postfix {
      margin: 0 0 0 0.78571rem;
      order: 0; } }

.form-increment .button {
  margin: 0;
  padding: 0.21429rem 0.35714rem; }

.form-input--incrementTotal {
  border: 0;
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  height: auto;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  width: 2.5rem; }
  .form-field--success .form-input--incrementTotal {
    float: none; }

.form-option {
  border: 1px solid #8f8f8f;
  color: #666666;
  cursor: pointer;
  display: inline-block;
  font-size: 0;
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
  padding: 1px;
  transition: all 0.15s ease; }
  .form-option:hover {
    border-color: #474747; }
  .form-radio:checked + .form-option {
    border-color: #333333;
    box-shadow: 0 0 0 1px #333333; }

.form-option-variant {
  display: inline-block;
  font-size: 1rem;
  min-width: 2.71429rem;
  padding: 1px 0.35714rem;
  pointer-events: none;
  text-align: center; }

.form-option-variant--color,
.form-option-variant--pattern {
  height: 1.57143rem;
  width: 1.57143rem;
  min-width: initial;
  padding: 0; }
  @media (min-width: 551px) {
    .form-option-variant--color,
    .form-option-variant--pattern {
      pointer-events: inherit; } }

.form-option-variant--pattern {
  background-position: center;
  background-repeat: no-repeat; }

.form-input--small {
  font-size: 13px;
  height: 2.28571rem;
  line-height: 1rem;
  padding: 0.57143rem 0.78571rem; }

.form-minMaxRow {
  margin-left: -0.375rem;
  margin-right: -0.375rem; }
  .form-minMaxRow:before, .form-minMaxRow:after {
    content: " ";
    display: table; }
  .form-minMaxRow:after {
    clear: both; }
  .form-minMaxRow .form-field {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 33.33333%;
    float: left;
    margin-bottom: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem; }
  .form-minMaxRow .button {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%; }

@media (min-width: 551px) {
  .form-row--half > .form-field:nth-child(odd) {
    clear: left; } }

[data-product-attribute] .form-option {
  overflow: hidden;
  position: relative; }
  [data-product-attribute] .form-option.unavailable {
    background-color: #ddd;
    opacity: 0.3; }
    [data-product-attribute] .form-option.unavailable::before {
      background-color: #000;
      content: "";
      height: 2px;
      left: -5px;
      position: absolute;
      top: 11px;
      transform: rotate(-45deg);
      width: 141%; }

[data-product-attribute="set-radio"] .unavailable,
[data-product-attribute="product-list"] .unavailable {
  opacity: 0.6;
  text-decoration: line-through; }

.card:focus-within .card-figcaption {
  opacity: 1; }

.card.focus-within .card-figcaption {
  opacity: 1; }

.card-figure {
  margin-top: 0;
  overflow: hidden;
  padding: 3px;
  position: relative; }
  .card-figure:hover .card-figcaption {
    opacity: 1; }
  .card-figure__link {
    display: block;
    position: relative; }

.card-img-container {
  max-width: 500px; }
  .card-img-container::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 131.8%;
    width: 100%; }

.card-figcaption {
  display: none;
  margin: 0;
  pointer-events: none; }
  @media (min-width: 801px) {
    .card-figcaption {
      display: block; } }

.card-figcaption-body {
  display: inline-block;
  pointer-events: all;
  transform: translate3d(0, -50%, 0); }

.card-image {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
  /* Object-fit polyfill */
  font-family: "object-fit: contain;";
  max-height: 100%;
  object-fit: contain;
  width: 100%; }

.card-title {
  font-size: 15px;
  margin: 0 0 0.28571rem; }
  .card-title > a {
    color: #333333;
    display: block;
    text-decoration: none; }
    .card-title > a:hover {
      color: #757575; }

.card-text {
  margin-bottom: 0.21429rem; }
  .card-text abbr {
    border: 0;
    color: inherit;
    font-size: inherit; }

.card-figcaption-button {
  border: none;
  display: block;
  margin: 0.35714rem 0 0; }
  .card-figcaption-button:active {
    background-color: white;
    border: none; }
  .card-figcaption-body .card-figcaption-button:focus {
    background-color: white;
    outline: revert; }
  .card-figcaption-button + .card-figcaption-button {
    margin: 0.35714rem 0 0; }

.card-body {
  text-align: center; }
  @media (min-width: 551px) {
    .card-body {
      text-align: left; } }

.card--alternate {
  border: 3px solid white;
  transition: all 0.15s ease; }
  .card--alternate .card-body {
    background-color: white;
    padding: 0.78571rem;
    transition: all 0.15s ease; }
    @media (min-width: 551px) {
      .card--alternate .card-body {
        padding: 1.5rem; } }
  .card--alternate:hover {
    border-color: #757575; }
    .card--alternate:hover .card-body {
      background-color: #757575; }
      .card--alternate:hover .card-body .card-text {
        color: white; }
    .card--alternate:hover .card-title > a {
      color: white; }

.navList,
.navBar {
  margin-left: 0; }

.navList-action,
.navBar-action {
  text-decoration: none; }

.navList-action.is-active {
  font-weight: 700; }

.navList-action--checkbox {
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0.35714rem;
  padding-left: 1.85714rem;
  position: relative;
  vertical-align: baseline;
  width: 100%; }
  .navList-action--checkbox::before, .navList-action--checkbox::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 50ms ease-out; }
  .navList-action--checkbox::before {
    background-color: white;
    border: solid #8f8f8f;
    border-width: 1px;
    height: 1.14286rem;
    left: 0;
    top: 0;
    width: 1.14286rem; }
  .navList-action--checkbox::after {
    height: 1rem;
    left: 1px;
    opacity: 0;
    top: 1px;
    transform: scale(0);
    width: 1rem; }
  .navList-action--checkbox::before {
    border-radius: 4px; }
  .navList-action--checkbox::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z' fill='rgba(51, 51, 51, 0.999)' /%3E%3C/svg%3E");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100%;
    color: rgba(51, 51, 51, 0.999);
    content: "";
    font-size: 1rem;
    line-height: 1;
    text-align: center; }
  .navList-action--checkbox::before, .navList-action--checkbox::after {
    top: 50%; }
  .navList-action--checkbox::before {
    margin-top: -0.57143rem; }
  .navList-action--checkbox::after {
    margin-top: -0.5rem; }
  .navList-action--checkbox.is-disabled {
    cursor: default; }
    .navList-action--checkbox.is-disabled::before {
      background-color: white; }
  .navList-action--checkbox.is-checked::after, .navList-action--checkbox.is-selected::after {
    opacity: 1;
    transform: scale(1); }

.navList-action-close {
  background: #e5e5e5;
  border-radius: 100%;
  display: inline-block;
  float: right;
  line-height: 0;
  opacity: 0;
  padding: 0.28571rem;
  transition: opacity 0.3s ease;
  visibility: hidden; }
  .navList-action-close .icon {
    height: 0.92857rem;
    width: 0.92857rem;
    fill: #333333; }
  .navList-action.is-selected:hover .navList-action-close {
    opacity: 1;
    visibility: visible; }

.navBar--sub {
  margin-bottom: 4.5rem;
  text-align: center; }
  .navBar--sub .navBar-section {
    float: none; }
  .navBar--sub .navBar-item {
    float: none;
    margin: 0 0.78571rem; }
    @media (min-width: 801px) {
      .navBar--sub .navBar-item {
        display: inline-block; } }
    @media (min-width: 801px) {
      .navBar--sub .navBar-item.is-active {
        border-bottom: 1px solid #333333; } }
    .navBar--sub .navBar-item.is-active > .navBar-action {
      color: #666666; }
    @media (min-width: 801px) {
      .navBar--sub .navBar-item.navBar-item--separate {
        border-left: 1px solid #757575;
        margin: 0;
        padding-left: 0.78571rem; } }
  .navBar--sub .navBar-action {
    color: #757575;
    font-size: 1rem;
    padding: 0; }
    .navBar--sub .navBar-action:hover {
      color: #333333; }

.loadingOverlay {
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  z-index: 20; }

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

.icon,
.icon svg {
  transition: all 0.15s ease; }

.actionBar-section .form-field {
  background-color: white;
  border: 1px solid #8f8f8f;
  border-radius: 4px; }
  .actionBar-section .form-field:hover {
    border-color: #474747; }

.actionBar-section .form-label {
  color: #757575;
  font-size: 13px;
  line-height: 2.14286rem;
  margin-bottom: 0;
  padding-left: 0.78571rem; }

.actionBar-section .form-input,
.actionBar-section .form-select {
  border: 0;
  padding-left: 0.21429rem;
  width: auto; }

.actionBar-section .form-label,
.actionBar-section .form-input,
.actionBar-section .form-select {
  display: inline-block; }

.actionBar-section .form-select {
  color: #333333;
  height: 2.14286rem; }

.has-ribbon {
  position: relative; }

.ribbon {
  background-color: #333333;
  color: white;
  cursor: default;
  font-weight: 700;
  margin: -0.78571rem -0.78571rem 0 0;
  padding: 0.07143rem 1rem;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  top: 0;
  z-index: 1; }

.navUser {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  top: 26px;
  width: 100%;
  z-index: 5; }
  .navUser:before, .navUser:after {
    content: " ";
    display: table; }
  .navUser:after {
    clear: both; }
  .navUser ul,
  .navUser ol {
    list-style: none;
    margin-left: 0;
    margin: 0;
    padding: 0; }
    .navUser ul ul,
    .navUser ul ol,
    .navUser ol ul,
    .navUser ol ol {
      list-style: none;
      margin-bottom: 0; }
    .navUser ul li,
    .navUser ol li {
      margin: 0;
      padding: 0; }
  .navUser-section {
    float: left; }
    .navUser-section:before, .navUser-section:after {
      content: " ";
      display: table; }
    .navUser-section:after {
      clear: both; }
  .navUser-section--alt {
    float: right;
    margin-left: 1.5rem; }
  .navUser-section + .navUser-section {
    margin-left: 1.5rem; }
  @media (min-width: 551px) {
    .navUser-item {
      float: left; } }
  .navUser-item, .navUser-action {
    display: block; }
  @media (min-width: 801px) {
    .navUser {
      padding: 0 1.5rem;
      position: relative;
      right: auto;
      top: auto;
      transform: none;
      z-index: 50; } }
  .navUser .dropdown-menu {
    background-color: white;
    border: 1px solid #cccccc;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.13);
    position: absolute; }
    .navUser .dropdown-menu.is-open::before {
      border: inset 10px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent #cccccc transparent;
      border-bottom-style: solid;
      bottom: 100%;
      left: 0.78571rem;
      position: absolute; }
    .navUser .dropdown-menu.is-open::after {
      border: inset 8px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent white transparent;
      border-bottom-style: solid;
      bottom: 100%;
      left: 0.92857rem;
      position: absolute; }

@media (min-width: 801px) {
  .navUser-section {
    position: relative; } }

.navUser-action {
  color: #333333;
  font-weight: 700;
  padding: 1rem 0.78571rem;
  text-decoration: none;
  text-transform: uppercase; }
  .navUser-action:hover, .navUser-action.is-open {
    color: #757575; }
    .navUser-action:hover svg, .navUser-action.is-open svg {
      fill: #757575;
      stroke: #757575; }
  .navUser-action .icon {
    height: 0.57143rem;
    width: 0.57143rem;
    margin: -1px 0 0 0.21429rem; }
  .navUser-action svg {
    fill: #333333;
    stroke: #333333;
    transition: all 0.15s ease; }

.navUser-action--currencySelector + .dropdown-menu::before {
  left: auto !important;
  right: 0.78571rem; }

.navUser-action--currencySelector + .dropdown-menu::after {
  left: auto !important;
  right: 0.92857rem; }

.navUser-action--storeCredit + .dropdown-menu {
  max-width: 21.42857rem;
  padding: 1.5rem; }
  .navUser-action--storeCredit + .dropdown-menu::before {
    left: 10rem !important; }
  .navUser-action--storeCredit + .dropdown-menu::after {
    left: 10.14286rem !important; }

.navUser-action-divider {
  border-right: 1px solid #e5e5e5;
  color: #757575;
  display: inline-block;
  padding: 0 1.42857rem 0 0;
  text-decoration: none; }

.navUser-item {
  display: none; }
  @media (min-width: 801px) {
    .navUser-item {
      display: block; }
      .navUser-item.navUser-item--social {
        margin-top: 0.35714rem;
        padding-right: 0.35714rem; }
      .navUser-item.navUser-item--divider {
        font-size: 1.78571rem;
        margin-top: 0.57143rem;
        padding-left: 0.14286rem; } }

.navUser-item--cart {
  display: block; }
  @media (max-width: 551px) {
    .navUser-item--cart__hidden-s {
      display: none; } }
  .navUser-item--cart .navUser-action {
    color: #333333; }
    .navUser-item--cart .navUser-action:hover, .navUser-item--cart .navUser-action.is-open {
      color: #757575; }
  .navUser-item--cart .dropdown-menu {
    max-width: 22.85714rem; }
    .navUser-item--cart .dropdown-menu.is-open {
      left: auto !important;
      right: 0.35714rem;
      top: auto !important; }
      @media (min-width: 801px) {
        .navUser-item--cart .dropdown-menu.is-open {
          right: 0; } }
      .navUser-item--cart .dropdown-menu.is-open::before, .navUser-item--cart .dropdown-menu.is-open::after {
        left: auto; }
      .navUser-item--cart .dropdown-menu.is-open::before {
        right: 0.42857rem; }
        @media (min-width: 801px) {
          .navUser-item--cart .dropdown-menu.is-open::before {
            right: 0.78571rem; } }
      .navUser-item--cart .dropdown-menu.is-open::after {
        right: 0.57143rem; }
        @media (min-width: 801px) {
          .navUser-item--cart .dropdown-menu.is-open::after {
            right: 0.92857rem; } }

.navUser-item-cartLabel {
  display: none; }
  @media (min-width: 551px) {
    .navUser-item-cartLabel {
      display: inline; } }

.navUser-item--compare {
  display: none; }
  .navUser-item--compare.show {
    display: block; }

.navUser-item--account .navUser-or + .navUser-action {
  margin-right: -0.5rem; }

.navUser-item--account .navUser-action {
  display: inline-block; }

.navUser-or {
  color: #333333;
  cursor: default;
  display: inline-block;
  margin: 0 -0.85714rem;
  padding: 0 2px;
  position: relative;
  z-index: 1; }

.navUser-action--quickSearch.is-open {
  position: relative; }
  .navUser-action--quickSearch.is-open::before {
    border: inset 10px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #e5e5e5 transparent;
    border-bottom-style: solid;
    bottom: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%); }

.dropdown--quickSearch {
  background-color: #e5e5e5;
  display: none;
  padding: 1.5rem 0; }
  @media (min-width: 551px) {
    .dropdown--quickSearch {
      padding: 3rem; } }
  .dropdown--quickSearch.is-open {
    display: block;
    left: 0 !important;
    outline: none;
    right: 0 !important;
    width: 100% !important;
    z-index: 50; }
  .dropdown--quickSearch .form {
    margin: auto;
    max-width: 30rem; }
  .dropdown--quickSearch .form,
  .dropdown--quickSearch .form-field {
    margin-bottom: 0; }
  .dropdown--quickSearch .form-input {
    font-size: 20px;
    height: unset; }
  .dropdown--quickSearch .productGrid {
    padding: 1.5rem 0 0; }
    @media (min-width: 551px) {
      .dropdown--quickSearch .productGrid {
        padding: 3rem 0 0; } }

.countPill {
  background-color: #333333;
  border-radius: 50%;
  color: white;
  display: none;
  font-size: 12px;
  font-weight: 700;
  height: 20px;
  line-height: 20px;
  margin-left: 0.21429rem;
  text-align: center;
  width: 20px; }

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

.countPill--alt {
  background-color: #cccccc;
  color: #333333; }

.navPages .navPage-subMenu-list, .navPage-childList {
  border-left: 1px solid #cccccc;
  margin: 0.35714rem 0.78571rem;
  padding-left: 0.78571rem; }

.has-activeNavPages {
  overflow: hidden;
  -webkit-overflow-scrolling: auto; }

.navPages-container {
  bottom: 0;
  display: none;
  height: 100%;
  left: 0;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  right: 0;
  z-index: 10; }
  @media (min-width: 801px) {
    .navPages-container {
      background: transparent;
      display: block;
      height: auto;
      padding: 0;
      position: relative; } }
  .navPages-container.is-open {
    display: block;
    padding-top: 55px;
    z-index: 0; }

.navPages {
  background-color: #e5e5e5;
  height: 100%;
  overflow-y: auto;
  padding: 1.5rem; }
  @media (min-width: 801px) {
    .navPages {
      margin: 0 auto;
      max-width: 85.71429rem;
      width: 100%;
      background: none;
      font-size: 0;
      overflow-y: visible;
      padding: 0;
      text-align: center; }
      .navPages:before, .navPages:after {
        content: " ";
        display: table; }
      .navPages:after {
        clear: both; }
      .navPages:before, .navPages:after {
        content: " ";
        display: table; }
      .navPages:after {
        clear: both; }
      .navPages ul,
      .navPages ol {
        list-style: none;
        margin-left: 0;
        margin: 0;
        padding: 0; }
        .navPages ul ul,
        .navPages ul ol,
        .navPages ol ul,
        .navPages ol ol {
          list-style: none;
          margin-bottom: 0; }
        .navPages ul li,
        .navPages ol li {
          margin: 0;
          padding: 0; }
      .navPages-section {
        float: left; }
        .navPages-section:before, .navPages-section:after {
          content: " ";
          display: table; }
        .navPages-section:after {
          clear: both; }
      .navPages-section--alt {
        float: right;
        margin-left: 1.5rem; }
      .navPages-section + .navPages-section {
        margin-left: 1.5rem; } }
  @media (min-width: 801px) and (min-width: 551px) {
    .navPages-item {
      float: left; } }
  @media (min-width: 801px) {
      .navPages-item, .navPages-action {
        display: block; } }
  .navPages ul {
    list-style: none; }
  .navPages .navPage-subMenu-list {
    border-left: 0;
    list-style: none;
    margin-left: 0;
    padding-left: 0; }
    @media (min-width: 801px) {
      .navPages .navPage-subMenu-list {
        margin: 0 auto;
        max-width: 85.71429rem;
        width: 100%;
        border-left: 0;
        margin: auto;
        padding-left: 0; }
        .navPages .navPage-subMenu-list:before, .navPages .navPage-subMenu-list:after {
          content: " ";
          display: table; }
        .navPages .navPage-subMenu-list:after {
          clear: both; } }

.navPages-list {
  margin: 0; }
  @media (min-width: 801px) {
    .navPages-list {
      display: inline-block;
      float: none; } }
  .navPages-list + .navPages-list {
    border-top: 1px solid #cccccc;
    margin-top: 0.78571rem;
    padding-top: 0.78571rem; }

.navPages-list-depth-max.subMenu-is-open .is-hidden {
  display: none; }
  @media (min-width: 801px) {
    .navPages-list-depth-max.subMenu-is-open .is-hidden {
      display: inline-block; } }

.navPages-list-depth-max.subMenu-is-open .navPages-item-page {
  display: none; }
  @media (min-width: 801px) {
    .navPages-list-depth-max.subMenu-is-open .navPages-item-page {
      display: inline-block; } }

@media (min-width: 801px) {
  .navPages-action-depth-max.has-subMenu.is-root.is-open .navPages-action-moreIcon {
    transform: rotate(0); } }

.navPages-action-depth-max.has-subMenu.is-open {
  border-bottom: 1px solid #cccccc;
  text-align: center; }
  @media (min-width: 801px) {
    .navPages-action-depth-max.has-subMenu.is-open {
      border-bottom: 0;
      text-align: left; } }
  .navPages-action-depth-max.has-subMenu.is-open .navPages-action-moreIcon {
    border: solid 1px #d6cdc0;
    border-radius: 4px;
    float: left;
    height: 35px;
    margin-top: -10px;
    padding: 11.7px;
    transform: rotate(90deg);
    width: 35px; }
    @media (min-width: 801px) {
      .navPages-action-depth-max.has-subMenu.is-open .navPages-action-moreIcon {
        height: 0.57143rem;
        width: 0.57143rem;
        border: 0;
        border-radius: 0;
        float: none;
        margin-top: 0;
        padding: 0;
        transform: rotate(-90deg); } }
  .navPages-action-depth-max.has-subMenu.is-open svg {
    height: 9.6px;
    width: 9.6px; }
    @media (min-width: 801px) {
      .navPages-action-depth-max.has-subMenu.is-open svg {
        height: 100%;
        width: 100%; } }

.navPages-action {
  color: #333333;
  display: block;
  font-size: 15px;
  font-weight: 700;
  padding: 0.78571rem 0;
  text-decoration: none;
  text-transform: uppercase; }
  @media (min-width: 801px) {
    .navPages-action {
      display: inline-block;
      padding: 0.78571rem 1.14286rem 1.14286rem; }
      .navPages-action.is-open {
        background-color: #e5e5e5; } }
  .navPages-list:not(.navPages-list-depth-max) .navPages-action.has-subMenu {
    align-items: center;
    display: flex;
    justify-content: space-between; }
  .navPages-action.is-open svg,
  .navPages-action .collapsible-icon-wrapper.is-open svg {
    fill: #757575;
    stroke: #757575; }
  .navPages-action:hover, .navPages-action.activePage {
    color: #757575; }
    .navPages-action:hover svg, .navPages-action.activePage svg {
      fill: #757575;
      stroke: #757575; }
  .navPages-action svg {
    fill: #333333;
    stroke: #333333;
    transition: all 0.15s ease; }

.navPages-action--storeCredit {
  color: #757575; }

.navPages-action--compare {
  display: none; }
  .navPages-action--compare.show {
    display: block; }

.navPages-action-moreIcon {
  height: 0.57143rem;
  width: 0.57143rem;
  margin-left: 0.78571rem;
  transform: rotate(-90deg); }
  @media (min-width: 801px) {
    .navPages-action-moreIcon {
      transform: none; } }
  .has-subMenu.is-open .navPages-action-moreIcon,
  .collapsible-icon-wrapper.is-open .navPages-action-moreIcon {
    transform: rotate(0); }
  .navPages-list:not(.navPages-list-depth-max) .navPages-action-moreIcon {
    height: 0.78571rem;
    width: 0.78571rem;
    margin: 0 1.5rem; }
    @media (min-width: 801px) {
      .navPages-list:not(.navPages-list-depth-max) .navPages-action-moreIcon {
        height: 0.57143rem;
        width: 0.57143rem;
        margin: 0 0 0 0.78571rem; } }

.navPage-childList {
  display: none; }
  @media (min-width: 801px) {
    .navPage-childList {
      border: 0;
      display: block; } }
  .navPage-childList.is-open {
    display: block; }
  .navPage-subMenu-action:not(.navPages-action-depth-max) + .navPage-childList {
    margin-left: 3rem; }
    @media (min-width: 801px) {
      .navPage-subMenu-action:not(.navPages-action-depth-max) + .navPage-childList {
        margin-left: 0; } }

.navPage-subMenu {
  display: none;
  outline: 0; }
  @media (min-width: 801px) {
    .navPage-subMenu {
      background-color: #e5e5e5;
      padding: 1.5rem 1.5rem 2.28571rem !important;
      position: absolute;
      text-align: left; }
      .navPage-subMenu.is-open {
        display: block;
        left: 0;
        width: 100%; }
      .navPage-subMenu .navPages-action-moreIcon {
        display: none; } }
  .navPage-subMenu.is-open {
    display: block; }
  .navPages-list:not(.navPages-list-depth-max) .navPages-action.has-subMenu + .navPage-subMenu .navPage-subMenu-list {
    margin-right: 0; }
    @media (min-width: 801px) {
      .navPages-list:not(.navPages-list-depth-max) .navPages-action.has-subMenu + .navPage-subMenu .navPage-subMenu-list {
        margin-right: auto; } }

@media (min-width: 801px) {
  .has-subMenu.is-root + .navPage-subMenu-horizontal {
    border-left: 0;
    height: auto;
    left: inherit;
    margin: auto;
    top: inherit;
    width: 15.35714rem; } }

@media (min-width: 801px) {
  .navPage-subMenu-horizontal.is-open {
    border-left: 1px solid #cccccc;
    display: inherit;
    height: auto;
    margin-left: 15.35714rem;
    padding: 0 !important;
    top: 0;
    width: 16.35714rem; } }

@media (min-width: 801px) {
  .navPage-subMenu-horizontal .navPages-action-moreIcon {
    display: inline-block;
    transform: rotate(-90deg); } }

.navPage-subMenu-item {
  padding: 0.78571rem 0; }
  @media (min-width: 801px) {
    .navPage-subMenu-item {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 25%;
      float: left;
      padding: 0 0.75rem !important; }
      .navPage-subMenu-item .navPages-action {
        text-transform: none;
        width: 100%; }
      .navPage-subMenu-item > .navPage-subMenu-action {
        border-bottom: 1px solid #cccccc;
        margin-bottom: 1.14286rem; } }

.navPage-subMenu-item-child,
.navPage-subMenu-item-parent {
  width: 100%; }
  @media (min-width: 801px) {
    .navPage-subMenu-item-child .navPage-subMenu-action,
    .navPage-subMenu-item-parent .navPage-subMenu-action {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      width: 100%; } }

.navPage-subMenu-action {
  padding: 0.78571rem 0; }
  @media (min-width: 801px) {
    .navPage-subMenu-action {
      padding: 0.78571rem 0 1.14286rem; } }
  .navPages-list:not(.navPages-list-depth-max) .navPage-subMenu-action {
    padding: 0 0 0 1.5rem; }
    @media (min-width: 801px) {
      .navPages-list:not(.navPages-list-depth-max) .navPage-subMenu-action {
        padding: 0.78571rem 0 1.14286rem; } }
  .navPage-subMenu-action .collapsible-icon-wrapper {
    box-sizing: content-box;
    display: inline-block;
    height: 100%;
    text-align: right;
    width: 100%; }
    @media (min-width: 801px) {
      .navPage-subMenu-action .collapsible-icon-wrapper {
        display: none; } }

.navPage-childList-action {
  font-weight: 400;
  padding: 0 0 0.35714rem; }

.navPages-quickSearch {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 0.78571rem; }
  @media (min-width: 801px) {
    .navPages-quickSearch {
      display: none; } }
  .navPages-quickSearch > .container {
    padding: 0; }
  .navPages-quickSearch .form {
    margin: 0; }
  .navPages-quickSearch .form-field {
    margin-bottom: 0; }

@media (min-width: 801px) {
  .navPages-list--user {
    display: none; } }

.navPages-list--user #currencySelection2 {
  background-color: white;
  border: 1px solid #e5e5e5; }
  .navPages-list--user #currencySelection2 .dropdown-menu-item {
    padding: 0; }
    .navPages-list--user #currencySelection2 .dropdown-menu-item:not(:last-child) {
      border-bottom: 1px solid #e5e5e5; }
  .navPages-list--user #currencySelection2 a {
    padding: 0.78571rem 1.5rem; }

.tags {
  list-style: none;
  margin-left: 0;
  font-size: 0;
  text-align: center; }
  .tags ul,
  .tags ol {
    list-style: none;
    margin-bottom: 0; }

.tag {
  display: inline-block;
  font-size: 1rem; }
  .tag a {
    color: #757575;
    display: inline-block;
    padding: 0.35714rem 0.5rem;
    text-decoration: none; }
    .tag a:hover {
      color: #333333; }

.socialLinks {
  list-style: none;
  margin-left: 0;
  margin: 0;
  padding: 0;
  line-height: 37px; }
  .socialLinks:before, .socialLinks:after {
    content: " ";
    display: table; }
  .socialLinks:after {
    clear: both; }
  .socialLinks ul,
  .socialLinks ol {
    list-style: none;
    margin-bottom: 0; }
  .socialLinks li {
    margin: 0;
    padding: 0; }
  .socialLinks .icon {
    height: 1.42857rem;
    width: 1.42857rem;
    margin: 0;
    text-decoration: none; }
    .socialLinks .icon:hover svg {
      fill: #999999; }
    .socialLinks .icon svg {
      fill: #757575;
      transition: all 0.15s ease; }

.socialLinks-item--pinterest {
  width: 25px; }

.pin_it_iframe_widget {
  display: none; }

.socialLinks-item {
  display: inline-block;
  font-size: 0; }
  .socialLinks .socialLinks-item {
    margin-bottom: 0.35714rem;
    margin-right: 0.78571rem; }
    .socialLinks .socialLinks-item:last-child {
      margin-right: 0; }
  .socialLinks-item .socialLinks__link {
    height: 2rem;
    position: relative; }
    .socialLinks-item .socialLinks__link::before {
      border-color: transparent transparent #313440 transparent;
      border-style: solid;
      border-width: 0.71429rem;
      content: " ";
      position: absolute;
      right: 0;
      top: 50%; }
    .socialLinks-item .socialLinks__link::after {
      background-color: #313440;
      border-radius: 0.57143rem;
      color: white;
      content: attr(title);
      cursor: default;
      font-size: 1rem;
      padding: 0.28571rem 0.42857rem;
      position: absolute;
      right: 0;
      top: 100%;
      white-space: nowrap; }
    .socialLinks-item .socialLinks__link::before, .socialLinks-item .socialLinks__link::after {
      display: none; }
    .socialLinks-item .socialLinks__link:focus::before, .socialLinks-item .socialLinks__link:focus::after {
      display: block; }
    .socialLinks-item .socialLinks__link:focus::after {
      left: 0;
      right: auto;
      z-index: 20; }

.socialLinks--alt .icon {
  height: 1.5rem;
  width: 1.5rem; }

.socialLinks--alt svg {
  fill: #757575; }

.heroCarousel {
  margin-bottom: 4.5rem;
  margin-top: -1.5rem;
  min-width: 100%;
  width: 1px; }
  @media (min-width: 801px) {
    .heroCarousel {
      margin-top: -2.5rem; } }
  @media (min-width: 551px) {
    .heroCarousel.slick-initialized {
      max-height: 28.57143rem; } }
  @media (min-width: 801px) {
    .heroCarousel.slick-initialized {
      max-height: 42.85714rem; } }
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .heroCarousel {
      opacity: 0; }
      .heroCarousel.slick-initialized {
        opacity: 1; } }
  .heroCarousel:not(.slick-initialized) :not(.heroCarousel-slide--first).heroCarousel-slide {
    display: none; }
  .heroCarousel a {
    text-decoration: none; }
  .heroCarousel .slick-next,
  .heroCarousel .slick-prev {
    margin: 0;
    top: 50%;
    transform: translateY(-50%); }
  .heroCarousel .slick-next {
    right: 15px; }
    @media (min-width: 801px) {
      .heroCarousel .slick-next {
        right: 25px; } }
  .heroCarousel .slick-prev {
    left: 15px; }
    @media (min-width: 801px) {
      .heroCarousel .slick-prev {
        left: 25px; } }
  .heroCarousel .slick-dots {
    bottom: 0.5rem; }
    @media (min-width: 801px) {
      .heroCarousel .slick-dots {
        bottom: 1.5rem; } }
    .heroCarousel .slick-dots li {
      background-color: white;
      background-color: rgba(255, 255, 255, 0.9); }
  .heroCarousel .slick-slide.is-square-image-type .heroCarousel-image-wrapper {
    height: 100vw; }
  .heroCarousel .slick-slide.is-vertical-image-type .heroCarousel-image-wrapper {
    height: 110vw; }
  @media (min-width: 551px) {
    .heroCarousel .slick-slide.is-square-image-type .heroCarousel-image-wrapper, .heroCarousel .slick-slide.is-vertical-image-type .heroCarousel-image-wrapper {
      height: 56.25vw; } }
  .heroCarousel .slick-slide.is-image-error .heroCarousel-image-wrapper {
    background: url("../img/hero-carousel-image-load-error.svg") center center no-repeat;
    background-size: contain; }

.heroCarousel-slide {
  position: relative; }
  .heroCarousel-slide a {
    text-decoration: none; }
  .heroCarousel-slide .heroCarousel-image {
    height: 100%;
    object-fit: contain;
    object-position: 50% 0%;
    width: 100%; }
    @media (min-width: 551px) {
      .heroCarousel-slide .heroCarousel-image {
        object-position: 50% 50%; } }
  .heroCarousel-slide.stretch .heroCarousel-image {
    object-fit: cover;
    object-position: 50% 50%; }
  .heroCarousel-slide.stretch.compat-object-fit .heroCarousel-image {
    height: 100%;
    width: 100%; }
  .heroCarousel-slide.compat-object-fit {
    overflow: hidden; }
    .heroCarousel-slide.compat-object-fit .heroCarousel-image {
      width: auto; }
  .heroCarousel-slide .heroCarousel-image-wrapper {
    align-items: flex-start;
    display: flex;
    height: 56.25vw;
    justify-content: center;
    max-height: 100vh;
    transition: height 0.3s ease; }
    @media (min-width: 551px) {
      .heroCarousel-slide .heroCarousel-image-wrapper {
        max-height: 28.57143rem; } }
    @media (min-width: 801px) {
      .heroCarousel-slide .heroCarousel-image-wrapper {
        max-height: 42.85714rem; } }

.heroCarousel-content {
  background-color: white;
  padding: 0.78571rem 1.5rem 3rem;
  text-align: center; }
  @media (min-width: 551px) {
    .heroCarousel-content {
      background-color: white;
      background-color: rgba(255, 255, 255, 0.9);
      background-color: rgba(255, 255, 255, 0.83);
      left: 0;
      margin: 0 auto;
      max-height: 80%;
      overflow: auto;
      padding: 2.25rem;
      padding: 1.5rem;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 50rem;
      width: 70%; }
      .heroCarousel-content.heroCarousel-content--empty {
        background-color: transparent;
        left: 50%;
        overflow: visible;
        padding: 0;
        right: auto;
        transform: translateX(-50%) translateY(-50%);
        width: auto; } }

.heroCarousel-title {
  color: #444444;
  font-size: 20px;
  margin: 0; }
  @media (min-width: 801px) {
    .heroCarousel-title {
      font-size: 50px; } }

.heroCarousel-description {
  color: #333333;
  font-size: 12px;
  margin: 0; }
  @media (min-width: 551px) {
    .heroCarousel-description {
      font-size: 13px; } }
  @media (min-width: 801px) {
    .heroCarousel-description {
      font-size: 15px; } }

.heroCarousel-action {
  margin: 1.5rem 0 0; }

@media (min-width: 801px) {
  .writeReview-productDetails {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
    float: left; } }

.writeReview-productDetails .product-brand {
  color: #999999;
  margin: 0; }

.writeReview-productDetails .product-title {
  margin-top: 0; }

@media (min-width: 801px) {
  .writeReview-form {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
    float: left; } }

.writeReview-productImage-container {
  position: relative; }
  .writeReview-productImage-container::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 131.8%;
    width: 100%; }
  .writeReview-productImage-container img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    /* Object-fit polyfill */
    font-family: "object-fit: contain;";
    height: 100%;
    object-fit: contain; }

.account--addReturn .table {
  display: block;
  margin-bottom: 3rem; }
  @media (min-width: 551px) {
    .account--addReturn .table {
      display: table;
      margin-bottom: 6rem; } }
  .account--addReturn .table tr {
    display: block;
    padding: 1.5rem 0; }
    @media (min-width: 551px) {
      .account--addReturn .table tr {
        display: table-row;
        padding: 0; } }
  .account--addReturn .table th,
  .account--addReturn .table td {
    display: block;
    padding: 0; }
    @media (min-width: 551px) {
      .account--addReturn .table th,
      .account--addReturn .table td {
        display: table-cell;
        padding-bottom: 0.78571rem;
        padding-top: 0.78571rem; } }
    .account--addReturn .table th + th,
    .account--addReturn .table th + td,
    .account--addReturn .table td + th,
    .account--addReturn .table td + td {
      padding-left: 0; }
      @media (min-width: 551px) {
        .account--addReturn .table th + th,
        .account--addReturn .table th + td,
        .account--addReturn .table td + th,
        .account--addReturn .table td + td {
          padding-left: 1.5rem; } }
  .account--addReturn .table .return-itemTitle + .definitionList {
    margin-top: 0.21429rem; }
  @media (min-width: 551px) {
    .account--addReturn .table .return-itemPrice {
      text-align: center; } }
  @media (min-width: 551px) {
    .account--addReturn .table .return-itemQuantity {
      text-align: right; } }

.account--addReturn .table-thead {
  display: none; }
  @media (min-width: 551px) {
    .account--addReturn .table-thead {
      display: table-header-group; } }
  .account--addReturn .table-thead th {
    font-size: 15px; }
  .account--addReturn .table-thead th:first-child {
    width: 60%; }

.account--addReturn .table-tbody {
  display: block; }
  @media (min-width: 551px) {
    .account--addReturn .table-tbody {
      display: table-row-group; } }

.return-itemName {
  font-size: 15px;
  font-weight: 700; }
  @media (min-width: 551px) {
    .return-itemName {
      font-size: 1rem;
      font-weight: 400; } }

.return-itemPrice {
  color: #999999;
  margin-bottom: 0.35714rem; }
  @media (min-width: 551px) {
    .return-itemPrice {
      color: inherit;
      margin-bottom: 0;
      text-align: center; } }

.return-itemQuantity .form-label {
  display: inline;
  margin-right: 0.35714rem; }
  @media (min-width: 551px) {
    .return-itemQuantity .form-label {
      border: 0;
      clip: rect(1px, 1px, 1px, 1px);
      height: 1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; } }

.account--addReturn-row {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  margin: 0 -1rem; }
  .account--addReturn-row:before, .account--addReturn-row:after {
    content: " ";
    display: table; }
  .account--addReturn-row:after {
    clear: both; }

.account--addReturn-column {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  padding: 0 1rem; }
  @media (min-width: 551px) {
    .account--addReturn-column {
      width: 50%; } }

.productCarousel {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  min-width: 100%;
  position: relative;
  width: 1px; }
  .productCarousel:before, .productCarousel:after {
    content: " ";
    display: table; }
  .productCarousel:after {
    clear: both; }

.productCarousel-slide {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 50%;
  float: left; }
  @media (min-width: 551px) {
    .productCarousel-slide {
      width: 33.33333%; } }
  @media (min-width: 801px) {
    .productCarousel-slide {
      width: 25%; } }
  @media (min-width: 1261px) {
    .productCarousel-slide {
      width: 16.66667%; } }
  .productCarousel-slide .card {
    margin-bottom: 0; }
    .productCarousel-slide .card .card-title {
      overflow-wrap: break-word; }

.quickView:before, .quickView:after {
  content: " ";
  display: table; }

.quickView:after {
  clear: both; }

.productReviews-list {
  list-style: none;
  margin-left: 0;
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  font-size: 0; }
  .productReviews-list ul,
  .productReviews-list ol {
    list-style: none;
    margin-bottom: 0; }
  .productReviews-list:before, .productReviews-list:after {
    content: " ";
    display: table; }
  .productReviews-list:after {
    clear: both; }

.productReview {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  display: inline-block;
  float: none;
  font-size: 1rem;
  vertical-align: top; }
  @media (min-width: 801px) {
    .productReview {
      width: 50%; } }
  @media (min-width: 1261px) {
    .productReview {
      width: 33.33333%; } }

.productReview-title {
  margin: 0;
  text-transform: none; }

.productReview-author {
  color: #757575;
  margin-bottom: 1rem; }

.productReview-rating {
  display: inline-block;
  margin-bottom: 0.35714rem; }

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

.productView {
  padding-top: 1rem; }

.productView-images {
  margin-bottom: 3rem; }

.productView-image {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: auto;
  position: relative; }
  @media (min-width: 801px) {
    .productView-image {
      min-height: 366px;
      min-width: inherit; } }
  .productView-image + .productView-thumbnails {
    margin-top: 0.78571rem; }
  @media (min-width: 320px) and (max-width: 801px) {
    .productView-image {
      pointer-events: none; } }

.productView-img-container {
  margin: auto;
  max-width: 500px;
  position: relative;
  width: 100%; }
  .productView-img-container::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 131.8%;
    width: 100%; }
  .productView-img-container img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    /* Object-fit polyfill */
    font-family: "object-fit: contain;";
    height: 100%;
    object-fit: contain;
    width: 100%; }

.productView-thumbnails {
  list-style: none;
  margin-left: 0;
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  margin-left: -0.35714rem;
  margin-right: -0.35714rem; }
  .productView-thumbnails ul,
  .productView-thumbnails ol {
    list-style: none;
    margin-bottom: 0; }
  .productView-thumbnails:before, .productView-thumbnails:after {
    content: " ";
    display: table; }
  .productView-thumbnails:after {
    clear: both; }
  .productView-thumbnails[data-slick] {
    opacity: 0; }
    .productView-thumbnails[data-slick].slick-initialized {
      opacity: 1; }
  .productView-thumbnails .slick-list {
    margin-left: 2.85714rem;
    margin-right: 2.85714rem; }
  .productView-thumbnails .slick-next {
    right: 0; }
  .productView-thumbnails .slick-prev {
    left: 0; }
  .productView-thumbnails img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    /* Object-fit polyfill */
    font-family: "object-fit: contain;";
    margin: 0;
    object-fit: contain;
    position: relative;
    width: 50px; }

.productView-thumbnail {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 25%;
  float: left;
  padding: 0.35714rem;
  text-align: center; }
  @media (min-width: 1261px) {
    .productView-thumbnail {
      width: 20%; } }

.productView-thumbnail-link {
  border: 1px solid #e5e5e5;
  box-sizing: content-box;
  display: flex;
  height: 67px;
  justify-content: center;
  max-width: 75px;
  padding: 2px;
  position: relative;
  width: 100%; }
  .productView-thumbnail-link:hover, .productView-thumbnail-link.is-active {
    border-color: #333333; }

.productView-details {
  padding-bottom: 2rem; }

@media (min-width: 801px) {
  .productView-product {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 2rem; } }

.productView-product > :last-child {
  margin-bottom: 0; }

.productView-title {
  font-size: 20px;
  margin: -0.78571rem 0 0.35714rem; }
  @media (min-width: 801px) {
    .productView-title {
      margin-top: 1.5rem; } }
  @media (min-width: 1261px) {
    .productView-title {
      font-size: 28px; } }

.productView-brand {
  color: #757575;
  font-size: 15px;
  margin: 0 0 0.78571rem; }
  @media (min-width: 1261px) {
    .productView-brand {
      font-size: 20px;
      margin: -0.21429rem 0 1rem; } }
  .productView-brand a {
    color: #757575; }
    .productView-brand a:hover {
      color: #333333; }

.productView-price {
  font-size: 15px;
  margin-bottom: 0.5rem; }
  @media (min-width: 801px) {
    .productView-price {
      font-size: 25px;
      margin-bottom: 1rem; } }
  .productView-price .price-section--saving {
    font-size: 15px; }
  .productView-price abbr {
    border: 0;
    color: inherit;
    font-size: inherit; }

.productView-reviewLink {
  color: #757575;
  display: inline-block;
  margin-left: 0.35714rem;
  vertical-align: middle; }
  .productView-reviewLink:hover {
    color: #333333; }
  .productView-reviewLink--new {
    padding: 0; }

.productView-info {
  margin-top: 0.78571rem; }
  .productView-info:before, .productView-info:after {
    content: " ";
    display: table; }
  .productView-info:after {
    clear: both; }
  @media (min-width: 551px) {
    .productView-info {
      margin-top: 0; } }
  @media (min-width: 551px) {
    .productView-info > :first-child {
      margin-top: 1.5rem; } }
  .productView-info > :last-child {
    margin-bottom: 0; }

.productView-info-name,
.productView-info-value {
  float: left; }
  @media (min-width: 551px) {
    .productView-info-name,
    .productView-info-value {
      float: none; } }

.productView-info-name {
  clear: both;
  margin-bottom: 0.21429rem;
  margin-right: 0.35714rem; }
  @media (min-width: 551px) {
    .productView-info-name {
      font-family: "Montserrat", Arial, Helvetica, sans-serif;
      font-size: 13px;
      font-weight: 400; } }

.productView-info-value {
  margin-bottom: 0.35714rem; }
  @media (min-width: 551px) {
    .productView-info-value {
      margin-bottom: 1rem; } }

.productView-options {
  margin-bottom: 1.5rem;
  text-align: center; }
  .productView-options:before, .productView-options:after {
    content: " ";
    display: table; }
  .productView-options:after {
    clear: both; }
  @media (min-width: 551px) {
    .productView-options {
      text-align: left; } }
  @media (min-width: 551px) {
    .productView-options .form-input[type="number"] {
      width: 16.66667%; } }
  .productView-options .form {
    display: inline; }
    .productView-options .form .add-to-cart-wrapper {
      display: inline; }
  .productView-options input[type="file"] {
    font-size: 13px; }
  .productView-options .form-field {
    font-size: 0;
    margin-bottom: 2rem; }
    .productView-options .form-field--error > .form-inlineMessage {
      font-size: 1rem; }
    .productView-options .form-field > .form-checkbox + .form-label {
      display: inline-block;
      margin-left: 1.5rem;
      width: auto; }
      @media (min-width: 551px) {
        .productView-options .form-field > .form-checkbox + .form-label {
          margin-left: 0;
          width: 100%; } }
    .productView-options .form-field > .form-radio + .form-label {
      display: inline-block;
      text-align: justify; }
    .productView-options .form-field > .form-label:nth-of-type(2) {
      margin-left: 0; }
  .productView-options .add-to-cart-buttons {
    display: inline-grid;
    float: left;
    margin-bottom: 1rem;
    width: 100%; }
    @media (min-width: 551px) {
      .productView-options .add-to-cart-buttons {
        padding: 0 0.71429rem;
        width: 50%; } }
    @media (min-width: 801px) {
      .productView-options .add-to-cart-buttons {
        padding-right: 0.78571rem;
        width: 50%; } }
    @media (min-width: 1261px) {
      .productView-options .add-to-cart-buttons {
        display: inline-block;
        margin-top: 1rem;
        padding-right: 0.78571rem;
        width: 50%; } }
    .productView-options .add-to-cart-buttons .button {
      margin: 0;
      width: 100%; }
  .productView-options .add-to-cart-wallet-buttons {
    margin-top: 0.78571rem; }
    .productView-options .add-to-cart-wallet-buttons div[data-smart-button-container-id] {
      line-height: 0;
      margin-top: 6px; }
      .productView-options .add-to-cart-wallet-buttons div[data-smart-button-container-id] button,
      .productView-options .add-to-cart-wallet-buttons div[data-smart-button-container-id] div {
        width: 100%; }
    .productView-options .add-to-cart-wallet-buttons button.show-more-button {
      color: #757575;
      display: block;
      margin-top: 0.35714rem;
      padding: 0.35714rem 0;
      text-align: center;
      text-decoration: underline;
      vertical-align: middle;
      width: 100%; }
      .productView-options .add-to-cart-wallet-buttons button.show-more-button:hover {
        color: #333333; }

.productOptions-list {
  border: 1px solid #8f8f8f;
  list-style: none;
  margin: 0;
  max-height: 400px;
  overflow-y: auto; }

.productOptions-list-item {
  padding: 1.5rem; }
  .productOptions-list-item + .productOptions-list-item {
    border-top: 1px solid #8f8f8f; }
  .productOptions-list-item .form-label {
    text-align: left;
    top: -2px; }

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

.productOptions-list-item-figure {
  width: 3rem; }

.productOptions-list-item-content {
  padding-left: 1.28571rem; }

.shareProduct {
  text-align: center; }

.productView-image .easyzoom-flyout {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%; }
  .productView-image .easyzoom-flyout img {
    max-width: none;
    width: auto; }

.price--rrp,
.price--non-sale,
.price--discounted {
  text-decoration: line-through; }

.price-section--minor {
  color: #999999; }

.compareTable {
  border-top: 1px solid #e5e5e5;
  table-layout: fixed;
  width: 100%; }

.compareTable-row {
  vertical-align: top; }
  .compareTable-row + .compareTable-row .compareTable-heading,
  .compareTable-row + .compareTable-row .compareTable-item {
    border-top: 1px solid #e5e5e5; }
  .compareTable-row + .compareTable-row .compareTable-heading:empty {
    border-top: 0; }

.compareTable-heading {
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 400;
  padding: 1.28571rem 1rem;
  position: relative;
  text-align: right;
  width: 0; }
  @media (min-width: 801px) {
    .compareTable-heading {
      width: 25%; } }

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

.compareTable-item {
  padding: 3.28571rem 1rem 1.28571rem; }
  @media (min-width: 801px) {
    .compareTable-item {
      padding-top: 1.28571rem; } }

.compareTable-removeProduct {
  background-color: #e5e5e5;
  border-radius: 50%;
  height: 2.5rem;
  position: absolute;
  right: -1rem;
  top: -1rem;
  transition: background-color 0.15s ease;
  width: 2.5rem; }
  .compareTable-removeProduct .icon {
    fill: #757575;
    height: 1.5rem;
    margin-top: 0.5rem;
    width: 1.5rem; }

.compareTable-product {
  font-weight: 400;
  padding: 2rem 1rem 1.28571rem; }
  .compareTable-product .card {
    margin-bottom: 0; }
  .compareTable-product .card-body {
    min-height: 6rem;
    padding-top: 1rem; }
  .compareTable-product .card-figure {
    overflow: visible; }

.compareTable-action {
  padding: 0 1rem 1rem; }
  .compareTable-action .button {
    display: block;
    padding-left: 0.78571rem;
    padding-right: 0.78571rem;
    width: 100%; }

.blocker {
  background: rgba(255, 255, 255, 0.5);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 500; }

.blocker-container {
  position: relative; }

.textTruncate {
  padding-bottom: 1.5rem;
  position: relative;
  transition: max-height 100ms ease-out; }

.js .textTruncate {
  max-height: 110px;
  overflow: hidden; }

.js .textTruncate--visible {
  max-height: 71.42857rem; }

.textTruncate-viewMore {
  background-color: white;
  bottom: 0;
  padding-top: 10px;
  position: absolute;
  width: 100%; }

.toggle {
  border-top: 1px solid #e5e5e5;
  margin-bottom: 2.28571rem; }
  .toggle:last-of-type {
    margin-bottom: 4.57143rem; }

.toggle-title {
  margin-bottom: 2.28571rem; }

.toggleLink {
  color: #757575; }
  .toggleLink:hover {
    color: #333333; }
  .toggle-title .toggleLink {
    float: right;
    line-height: 24px; }

.toggleLink-text {
  font-size: 13px;
  font-weight: 400; }

.toggleLink-text--off {
  display: inline-block; }
  .toggleLink.is-open .toggleLink-text--off {
    display: none; }

.toggleLink-text--on {
  display: none; }
  .toggleLink.is-open .toggleLink-text--on {
    display: inline-block; }

.toggle-content {
  display: none; }
  .toggle-content.is-open {
    display: block; }

.facetedSearch-toggle {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%;
  border: #e5e5e5 solid;
  border-radius: 4px;
  border-width: 1px;
  display: block;
  margin-bottom: 2rem;
  padding: 1rem; }
  .facetedSearch-toggle:before, .facetedSearch-toggle:after {
    content: " ";
    display: table; }
  .facetedSearch-toggle:after {
    clear: both; }
  @media (min-width: 801px) {
    .facetedSearch-toggle {
      display: none !important; } }
  .facetedSearch-toggle.is-open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0; }

.facetedSearch-toggle-text,
.facetedSearch-toggle-indicator {
  display: block;
  font-weight: normal; }

.facetedSearch-toggle-text {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 58.33333%;
  float: left;
  padding: 0;
  text-align: left; }

.facetedSearch-toggle-indicator {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 41.66667%;
  float: left;
  font-weight: bold;
  padding: 0;
  text-align: right; }

.facetedSearch-navList {
  display: none; }
  @media (min-width: 801px) {
    .facetedSearch-navList {
      display: block !important; } }
  .facetedSearch-navList.is-open {
    display: block; }
    .facetedSearch-navList.is-open .accordion--navList,
    .facetedSearch-navList.is-open .accordion-block:first-child .accordion-navigation {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
  .facetedSearch-toggle + .facetedSearch-navList,
  .sidebarBlock + .facetedSearch-navList {
    margin-top: 2rem; }
  .facetedSearch-toggle + .facetedSearch-navList.is-open,
  .sidebarBlock + .facetedSearch-navList.is-open {
    margin-top: -1px; }
    @media (min-width: 801px) {
      .facetedSearch-toggle + .facetedSearch-navList.is-open,
      .sidebarBlock + .facetedSearch-navList.is-open {
        margin-top: 2rem; } }
  .facetedSearch-navList .navList--inner {
    margin-left: 1.5rem; }

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

.facetedSearch-optionColumns {
  column-count: 3;
  column-gap: 20px; }

.facetedSearch-refineFilters {
  display: none; }
  @media (min-width: 801px) {
    .facetedSearch-refineFilters {
      display: block; } }

.facetedSearch-content--rating .is-selected {
  font-weight: bold; }

.banners {
  background-color: #757575;
  color: white;
  padding: 0.78571rem 0;
  text-align: center; }
  .banners p:last-child {
    margin-bottom: 0; }
  .banners a {
    color: white; }

.banner {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%; }
  .banner:before, .banner:after {
    content: " ";
    display: table; }
  .banner:after {
    clear: both; }
  .banner + .banner {
    margin-top: 1.5rem; }

.facetLabel {
  background: #e5e5e5;
  border-radius: 4px;
  padding: 0.21429rem 0.5rem 0.21429rem 0.71429rem;
  text-decoration: none; }
  .facetLabel .icon {
    height: 0.85714rem;
    width: 0.85714rem;
    display: inline-block;
    fill: #757575;
    position: relative;
    top: -1px; }

.cart-additionalCheckoutButtons:before, .previewCart-additionalCheckoutButtons:before, .cart-additionalCheckoutButtons:after, .previewCart-additionalCheckoutButtons:after {
  content: " ";
  display: table; }

.cart-additionalCheckoutButtons:after, .previewCart-additionalCheckoutButtons:after {
  clear: both; }

.cart-additionalCheckoutButtons .FloatRight:before, .previewCart-additionalCheckoutButtons .FloatRight:before, .cart-additionalCheckoutButtons .FloatRight:after, .previewCart-additionalCheckoutButtons .FloatRight:after {
  content: " ";
  display: table; }

.cart-additionalCheckoutButtons .FloatRight:after, .previewCart-additionalCheckoutButtons .FloatRight:after {
  clear: both; }

.cart-additionalCheckoutButtons .FloatRight p, .previewCart-additionalCheckoutButtons .FloatRight p {
  float: none !important;
  margin: 0.5rem 0;
  text-align: right; }

.cart-additionalCheckoutButtons .FloatRight div, .previewCart-additionalCheckoutButtons .FloatRight div {
  float: right; }

.cart {
  display: block;
  margin-bottom: 1.5rem;
  width: 100%; }
  @media (min-width: 801px) {
    .cart {
      display: table; } }

.cart-header {
  display: none; }
  @media (min-width: 801px) {
    .cart-header {
      display: table-header-group;
      text-align: left; } }

.cart-header-item {
  padding-bottom: 1rem; }
  .cart-header-item:last-child {
    text-align: right; }

.cart-list {
  border-top: 1px solid #e5e5e5;
  display: block; }
  @media (min-width: 801px) {
    .cart-list {
      display: table-row-group; } }

.cart-item {
  border-bottom: 1px solid #e5e5e5;
  clear: both;
  display: block;
  padding: 1.5rem 0; }
  @media (min-width: 551px) {
    .cart-item {
      padding-left: 25%; }
      .cart-item:before, .cart-item:after {
        content: " ";
        display: table; }
      .cart-item:after {
        clear: both; } }
  @media (min-width: 801px) {
    .cart-item {
      display: table-row;
      padding-left: 0; }
      .cart-item::before, .cart-item::after {
        display: none; } }

.cart-item-block {
  display: block; }
  @media (min-width: 801px) {
    .cart-item-block {
      display: table-cell; } }
  .cart-item-block .definitionList {
    margin-bottom: 0.35714rem; }

.cart-item-figure {
  float: left;
  margin-bottom: 1.5rem;
  position: relative;
  text-align: center;
  width: 33.33333%; }
  .cart-item-figure::after {
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (min-width: 551px) {
    .cart-item-figure {
      margin-bottom: 0;
      margin-left: -33.33333%;
      width: 33.33333%; } }
  @media (min-width: 801px) {
    .cart-item-figure {
      float: none;
      padding: 0.5rem 0;
      width: 8.33333%; } }

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

.cart-item-image {
  max-height: 14rem;
  max-width: 100px; }
  @media (min-width: 801px) {
    .cart-item-image {
      margin-left: 0; } }

.cart-item-title {
  display: table-cell;
  height: 7.14286rem;
  padding-left: 1.5rem; }
  @media (min-width: 551px) {
    .cart-item-title {
      display: block;
      height: auto;
      margin-bottom: 1.5rem;
      overflow: hidden; } }
  @media (min-width: 801px) {
    .cart-item-title {
      display: table-cell;
      padding: 1.5rem; } }

.cart-item-info {
  clear: both;
  width: 100%; }
  @media (min-width: 551px) {
    .cart-item-info {
      clear: none;
      float: left;
      overflow: hidden;
      width: 33.33333%; }
      .cart-item-info + .cart-item-info {
        margin-top: 0; } }
  @media (min-width: 801px) {
    .cart-item-info {
      float: none;
      width: 16.66667%; }
      .cart-item-info:last-child {
        text-align: right; } }

.cart-content-padding-right {
  padding-right: 4px; }

@media (min-width: 801px) {
  .cart-header-quantity,
  .cart-item-quantity {
    text-align: center; } }

.cart-item-quantity .form-increment {
  display: inline-block;
  margin: 0 0.21429rem 1px 1.5rem;
  vertical-align: middle; }
  @media (min-width: 801px) {
    .cart-item-quantity .form-increment {
      margin-left: 0; } }

.cart-item-label {
  color: #333333;
  float: left;
  margin-bottom: 0.35714rem;
  text-align: right;
  width: 33.33333%; }
  @media (min-width: 551px) {
    .cart-item-label {
      display: block;
      padding-left: 1.5rem;
      text-align: left;
      width: 100%; } }
  @media (min-width: 801px) {
    .cart-item-label {
      display: none; } }

.cart-item-value {
  padding-left: 1.5rem; }
  @media (min-width: 801px) {
    .cart-item-value {
      padding-left: 0; } }

.cart-item-brand {
  color: #757575;
  margin-bottom: 0.21429rem; }

.cart-item-name {
  display: inline-block;
  font-size: 15px;
  margin: 0; }
  .cart-item-name__label {
    display: inline-block; }
  .cart-item-name + .definitionList {
    margin-top: 0.35714rem; }

.cart-item-options--giftWrapping {
  margin-top: 1.14286rem; }
  .cart-item-options--giftWrapping .cart-item-option-description {
    color: #333333; }

.cart-remove {
  background-color: #e5e5e5;
  border-radius: 50%;
  cursor: pointer;
  float: right;
  height: 1.28571rem;
  margin-top: 0.14286rem;
  padding: 0.21429rem;
  transition: background-color 0.15s ease;
  width: 1.28571rem; }
  @media (min-width: 551px) {
    .cart-remove {
      margin-left: 1rem; } }
  .cart-remove.cart-remove--spacer {
    visibility: hidden; }
  .cart-remove > svg {
    fill: #757575; }

.cart-totals {
  list-style: none;
  margin-left: 0;
  margin-bottom: 1.5rem;
  text-align: right;
  width: 100%; }
  .cart-totals ul,
  .cart-totals ol {
    list-style: none;
    margin-bottom: 0; }
  @media (min-width: 551px) {
    .cart-totals {
      float: right;
      width: 75%; } }
  @media (min-width: 801px) {
    .cart-totals {
      margin-bottom: 1rem;
      width: 58.33333%; } }
  @media (min-width: 1261px) {
    .cart-totals {
      width: 41.66667%; } }

.cart-total {
  border-bottom: 0; }
  .cart-total:before, .cart-total:after {
    content: " ";
    display: table; }
  .cart-total:after {
    clear: both; }
  @media (min-width: 801px) {
    .cart-total + .cart-total {
      border-top: 1px solid #e5e5e5; } }
  .cart-total .form-input {
    display: inline-block;
    height: 2.28571rem;
    padding: 0.5rem;
    vertical-align: top;
    width: 75%; }
  .cart-total .form-select {
    background-position: right 0.35714rem center;
    background-size: 1.42857rem 1.42857rem;
    height: 2.28571rem;
    margin-bottom: 0.78571rem;
    padding: 0 0.78571rem; }
  .cart-total .form-inlineMessage {
    text-align: left; }

.cart-total-label {
  color: #757575;
  width: 33.33333%; }
  @media (min-width: 551px) {
    .cart-total-label {
      width: 50%; } }
  @media (min-width: 801px) {
    .cart-total-label {
      display: block;
      padding-left: 0;
      text-align: left; } }

.cart-total-value {
  text-align: left; }
  @media (min-width: 551px) {
    .cart-total-value {
      text-align: right; } }
  @media (min-width: 801px) {
    .cart-total-value {
      width: 50%; } }

.cart-total-label,
.cart-total-value {
  float: left;
  padding: 0.5rem 0 0.5rem 1.5rem; }
  @media (min-width: 801px) {
    .cart-total-label,
    .cart-total-value {
      padding: 1rem 0; } }

.cart-total-grandTotal {
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 20px;
  padding-bottom: 0.21429rem;
  padding-top: 0.21429rem;
  position: relative; }
  @media (min-width: 801px) {
    .cart-total-grandTotal {
      padding: 1rem 0;
      top: -0.28571rem; } }

.coupon-code-add,
.coupon-code-cancel,
.shipping-estimate-show,
.gift-certificate-add,
.gift-certificate-cancel {
  color: #757575;
  padding: 0;
  text-decoration: underline;
  transition: color 0.15s ease; }
  .coupon-code-add:hover,
  .coupon-code-cancel:hover,
  .shipping-estimate-show:hover,
  .gift-certificate-add:hover,
  .gift-certificate-cancel:hover {
    color: #333333; }

.coupon-code-cancel,
.shipping-estimate-show[aria-expanded="true"] {
  font-style: italic; }

.coupon-form,
.cart-gift-certificate-form {
  font-size: 0;
  margin-bottom: 1rem; }
  .coupon-form:before, .coupon-form:after,
  .cart-gift-certificate-form:before,
  .cart-gift-certificate-form:after {
    content: " ";
    display: table; }
  .coupon-form:after,
  .cart-gift-certificate-form:after {
    clear: both; }
  .coupon-form .form-input,
  .coupon-form .button,
  .cart-gift-certificate-form .form-input,
  .cart-gift-certificate-form .button {
    float: left; }
  .coupon-form .form-input,
  .cart-gift-certificate-form .form-input {
    width: 78%; }
  .coupon-form .button,
  .cart-gift-certificate-form .button {
    margin: 0 0 0 2%;
    padding-left: 0.78571rem;
    padding-right: 0.78571rem;
    width: 20%; }

.estimator-form {
  margin-bottom: 0; }
  .estimator-form .form-input {
    margin-bottom: 0.78571rem;
    width: 100%; }
  .estimator-form .button--primary {
    width: 60%; }

.estimator-form-label {
  clear: both;
  float: left;
  font-weight: 400;
  margin-bottom: 0; }
  .estimator-form-label .form-label {
    line-height: 2.28571rem;
    margin-bottom: 0; }

.estimator-form-label-text {
  margin-left: 0.71429rem; }

.estimator-form-input {
  float: right;
  margin-bottom: 1em;
  width: 60%; }
  .estimator-form-input .form-input,
  .estimator-form-input .form-select {
    margin-bottom: 0; }

.estimator-form-input--price {
  width: 30%; }

.estimator-form-row:before, .estimator-form-row:after {
  content: " ";
  display: table; }

.estimator-form-row:after {
  clear: both; }

.estimator-form-toggleUPSRate {
  display: block;
  margin-bottom: 1em; }

.cart-actions {
  clear: both; }
  .cart-actions:before, .cart-actions:after {
    content: " ";
    display: table; }
  .cart-actions:after {
    clear: both; }
  .cart-actions .button {
    display: block;
    margin-bottom: 0; }
    @media (min-width: 551px) {
      .cart-actions .button {
        display: inline-block;
        float: right; } }
  .cart-actions .checkoutMultiple {
    clear: right;
    display: block;
    float: right;
    padding-top: 0.35714rem; }

.previewCartWrapper {
  max-height: calc(100vh - 6rem);
  overflow: auto; }

.previewCartList {
  list-style: none;
  margin-left: 0;
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  display: table;
  table-layout: fixed;
  width: 100%; }
  .previewCartList ul,
  .previewCartList ol {
    list-style: none;
    margin-bottom: 0; }
  .previewCartList li {
    margin: 0;
    padding: 0; }

.previewCartItem {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%;
  display: table-row;
  line-height: 19px; }
  .previewCartItem:before, .previewCartItem:after {
    content: " ";
    display: table; }
  .previewCartItem:after {
    clear: both; }
  .previewCartItem + .previewCartItem {
    border-top: 1px solid #e5e5e5; }

.previewCartItem-image,
.previewCartItem-content {
  display: table-cell;
  vertical-align: middle; }

.previewCartItem-image {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 33.33333%;
  padding: 0;
  position: relative;
  text-align: center; }
  .previewCartItem-image::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 100%;
    width: 100%; }
  .previewCartItem-image img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    max-height: 90%; }
  @media (min-width: 320px) {
    .previewCartItem-image::after {
      padding-bottom: 75%; } }
  @media (min-width: 481px) {
    .previewCartItem-image::after {
      padding-bottom: 100%; } }

.previewCartItem-content {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 66.66667%;
  padding-left: 0; }

.previewCartItem-name {
  margin: 0;
  text-transform: none; }
  .previewCartItem-name > a {
    text-decoration: none; }

.previewCartItem-brand,
.previewCartItem-name {
  margin-bottom: 0.21429rem; }

.previewCartItem-brand,
.previewCartItem-price {
  color: #757575;
  display: inline-block;
  font-size: 13px; }

.previewCartAction {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: block; }
  .previewCartAction:before, .previewCartAction:after {
    content: " ";
    display: table; }
  .previewCartAction:after {
    clear: both; }
  @media (min-width: 320px) {
    .previewCartAction {
      padding: 0.78571rem 0.35714rem; } }
  @media (min-width: 481px) {
    .previewCartAction {
      padding: 1.5rem 0.78571rem; } }
  .previewCartAction .button {
    margin: 0;
    padding-left: 0.78571rem;
    padding-right: 0.78571rem;
    width: 100%; }

.previewCartAction-checkout,
.previewCartAction-viewCart {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 50%;
  float: left; }
  .previewCartAction-checkout.previewCartAction-viewCart--sole,
  .previewCartAction-viewCart.previewCartAction-viewCart--sole {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
    float: left;
    margin-left: auto;
    margin-right: auto;
    float: none; }

.previewCartAction-checkout {
  padding-right: 0.35714rem; }

.previewCartAction-checkoutMultiple {
  clear: both;
  padding-left: 0.78571rem;
  padding-top: 0.35714rem; }

.previewCartAction-viewCart {
  padding-left: 0.35714rem; }

.previewCart-emptyBody {
  padding: 3rem;
  text-align: center; }

.previewCart-additionalCheckoutButtons {
  padding-bottom: 1.5rem;
  padding-right: 1.5rem; }

.addressList {
  font-size: 0;
  list-style: none;
  margin-left: -0.78571rem;
  margin-right: -0.78571rem; }

.address {
  display: inline-block;
  padding: 0 0.78571rem;
  vertical-align: top;
  width: 100%; }
  @media (min-width: 551px) {
    .address {
      width: 50%; } }
  @media (min-width: 1261px) {
    .address {
      width: 33.33333%; } }

.panel--address {
  font-size: 1rem;
  position: relative; }
  .panel--address .panel-body {
    min-height: 17.85714rem;
    padding: 1.5rem; }
    @media (min-width: 551px) {
      .panel--address .panel-body {
        padding: 1.5rem 1.5rem 4.5rem; } }
  .panel--address .form-actions {
    margin-bottom: -0.78571rem;
    margin-top: 1.5rem;
    text-align: left; }
    @media (min-width: 551px) {
      .panel--address .form-actions {
        bottom: 1.5rem;
        position: absolute;
        width: auto; } }
    .panel--address .form-actions .button {
      margin-bottom: 0.78571rem; }
      .panel--address .form-actions .button + .button {
        margin-left: 0;
        margin-top: 0; }
        @media (min-width: 551px) {
          .panel--address .form-actions .button + .button {
            margin-left: 0.35714rem; } }

.address-title {
  margin: 0 0 0.78571rem;
  text-transform: none; }

.address-details {
  list-style: none;
  margin: 0 0 0.78571rem; }

.address-details--postal {
  font-size: 15px; }

.address-label,
.address-description {
  display: inline-block;
  font-size: 1rem;
  margin: 0; }

.address-label {
  color: #757575;
  font-weight: 400; }

.panel--newAddress {
  display: block;
  text-align: center;
  text-decoration: none; }
  .panel--newAddress:hover .address-title {
    color: #757575; }
  .panel--newAddress .panel-body {
    background-color: transparent;
    border: 1px solid #e5e5e5;
    display: block; }
  .panel--newAddress .address-title {
    margin-bottom: 0;
    transition: all 0.15s ease; }

.address-addNew {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-55%); }

.address-symbol {
  font-size: 50px;
  line-height: 1; }

.videoGallery-main {
  height: 0;
  margin-bottom: 1.14286rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.78571rem;
  position: relative;
  margin-bottom: 1.85714rem; }
  .videoGallery-main.widescreen {
    padding-bottom: 56.34%; }
  .videoGallery-main.vimeo {
    padding-top: 0; }
  .videoGallery-main iframe,
  .videoGallery-main object,
  .videoGallery-main embed,
  .videoGallery-main video {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0; }

.videoGallery-list {
  list-style: none;
  margin-left: 0;
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  font-size: 0; }
  .videoGallery-list ul,
  .videoGallery-list ol {
    list-style: none;
    margin-bottom: 0; }
  .videoGallery-list:before, .videoGallery-list:after {
    content: " ";
    display: table; }
  .videoGallery-list:after {
    clear: both; }

.videoGallery-item {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  display: inline-block;
  float: none;
  vertical-align: top; }
  @media (min-width: 801px) {
    .videoGallery-item {
      width: 50%; } }

.video {
  display: block;
  margin-bottom: 1.85714rem;
  opacity: 0.4;
  text-decoration: none;
  transition: opacity 100ms ease-out; }
  .video:before, .video:after {
    content: " ";
    display: table; }
  .video:after {
    clear: both; }
  .video-figure {
    float: left;
    margin-right: 0.78571rem; }
    .video-figure > img {
      display: block; }
  .video-figure--opposite {
    float: right;
    margin-left: 0.78571rem;
    margin-right: 0; }
  .video-body:before, .video-body:after {
    content: " ";
    display: table; }
  .video-body:after {
    clear: both; }
  @media (min-width: 801px) {
    .video {
      margin-bottom: 1.85714rem; } }
  .video:hover, .video.is-active {
    color: #333333;
    opacity: 1; }

.video-figure {
  margin-right: 1.85714rem; }

.video-title {
  margin-bottom: 0;
  margin-top: 0;
  text-transform: none; }

.video-description {
  font-size: 1rem;
  margin-bottom: 0; }

.previewCart {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%; }
  .previewCart:before, .previewCart:after {
    content: " ";
    display: table; }
  .previewCart:after {
    clear: both; }
  @media (min-width: 801px) {
    .previewCart .productView {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 75%;
      float: left;
      display: flex;
      margin: 0;
      padding-bottom: 0;
      padding-top: 0; }
    .previewCart .productView-image {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 58.33333%;
      float: left;
      display: flex;
      flex-direction: column; }
    .previewCart .productView-image--cart {
      align-self: flex-start;
      margin: 0 auto;
      width: 100%; }
    .previewCart .productView-details {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 41.66667%;
      float: left; } }
  .previewCart .productView-title {
    margin-top: 0; }

.previewCartCheckout {
  background: #e5e5e5;
  padding: 1rem;
  text-align: center; }
  @media (min-width: 801px) {
    .previewCartCheckout {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 25%;
      float: right;
      padding: 1.5rem; } }
  .previewCartCheckout .button {
    display: block;
    margin: 0;
    width: 100%; }
    .previewCartCheckout .button + p {
      margin-top: 0.78571rem; }
    .previewCartCheckout .button:not(:last-child) {
      margin-bottom: 0.78571rem; }

.previewCartCheckout-price {
  display: block;
  font-size: 28px;
  font-weight: bold;
  text-align: center; }

.previewCartCheckout-subtotal {
  display: block;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem; }

.previewCartCheckout-additionalCheckoutButtons p {
  float: none !important;
  margin: 0.5rem 0; }

.previewCartCheckout-additionalCheckoutButtons .CheckoutButton {
  margin-bottom: 1rem; }
  .previewCartCheckout-additionalCheckoutButtons .CheckoutButton:first-child {
    margin-top: 1.5rem; }
  .previewCartCheckout-additionalCheckoutButtons .CheckoutButton:last-child {
    margin-bottom: 1.5rem; }

.suggestiveCart {
  display: none;
  text-align: center; }
  @media (min-width: 801px) {
    .suggestiveCart {
      display: block; } }

.cookieMessage {
  background: #e5e5e5;
  color: #333333;
  display: none; }
  .cookieMessage .button {
    width: 100%; }
    @media (min-width: 801px) {
      .cookieMessage .button {
        vertical-align: middle;
        width: 25%; } }
    @media (min-width: 1261px) {
      .cookieMessage .button {
        vertical-align: top; } }

.cookieMessage-container {
  margin: 0 auto;
  padding: 1.5rem; }
  @media (min-width: 801px) {
    .cookieMessage-container {
      width: 83.33333%; } }
  @media (min-width: 1261px) {
    .cookieMessage-container {
      width: 58.33333%; } }

@media (min-width: 801px) {
  .cookieMessage-text {
    display: inline-block;
    padding: 0 0.78571rem;
    vertical-align: middle;
    width: 66.66667%; } }

.login {
  margin: 3rem auto 6rem;
  max-width: 64.28571rem; }

.login-row {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%; }
  .login-row:before, .login-row:after {
    content: " ";
    display: table; }
  .login-row:after {
    clear: both; }
  @media (min-width: 801px) {
    .login-row {
      margin-top: 6rem; } }

.login-form {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }
  @media (min-width: 801px) {
    .login-form {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 50%;
      float: left;
      margin-top: 3rem; } }

.new-customer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }
  @media (min-width: 801px) {
    .new-customer {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 50%;
      float: left; } }

.new-customer-intro {
  margin-bottom: 0; }

.new-customer-fact-list {
  margin-left: 3rem; }

.new-customer-fact {
  padding-left: 0.78571rem; }

.search-suggestion {
  margin-bottom: 2rem; }
  .search-suggestion > :last-child {
    margin-bottom: 0; }

.suggestion-title {
  margin-top: 0;
  text-transform: inherit; }

.advancedSearch-form {
  margin-bottom: 3rem; }
  .advancedSearch-form .form-row {
    margin-bottom: -1.5rem; }

.quickSearchResults {
  margin-top: 1.5rem; }
  @media (min-width: 801px) {
    .quickSearchResults {
      margin-top: 0; } }
  .quickSearchResults .modal-close {
    display: none; }
    @media (min-width: 801px) {
      .quickSearchResults .modal-close {
        display: block; } }

.advancedSearch-separator {
  display: none; }

.advancedSearch-title {
  margin: 0 0 1.5rem;
  text-transform: inherit; }

.search-price-range label {
  display: inline; }
  .search-price-range label input {
    display: block;
    padding-left: 1.5rem; }
    @media (min-width: 551px) {
      .search-price-range label input {
        display: inline;
        width: 6rem; } }
  @media (min-width: 551px) {
    .search-price-range label span {
      display: inline;
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

.category-suggestion-list {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  list-style-type: none; }
  .category-suggestion-list:before, .category-suggestion-list:after {
    content: " ";
    display: table; }
  .category-suggestion-list:after {
    clear: both; }

.category-suggestion {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 33.33333%;
  float: left;
  font-size: 15px; }

.search-refine {
  margin-left: 1.5rem; }

.quickSearchMessage {
  font-size: 28px;
  margin: 1.5rem 0 0;
  text-align: center; }

.search-nav {
  position: relative; }

.navBar--account {
  display: none; }
  @media (min-width: 801px) {
    .navBar--account {
      display: block; } }

.account-heading {
  border-bottom: 1px solid #e5e5e5;
  margin: 0;
  padding-bottom: 1rem; }

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

.account-listItem {
  border-bottom: 1px solid #e5e5e5;
  padding: 1.5rem 0;
  position: relative; }
  .account-listItem img {
    width: 100%; }
  .account-listItem .account-product-image {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    position: relative; }

.account-listShipping {
  border-bottom: 1px solid #e5e5e5;
  font-weight: 700;
  padding: 2rem 0; }
  .account-listShipping .account-listShipping-title {
    margin: 0;
    text-transform: inherit; }

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

.account-product:after {
  clear: both; }

.account-product-figure {
  float: left;
  margin-right: 0.78571rem; }
  .account-product-figure > img {
    display: block; }

.account-product-figure--opposite {
  float: right;
  margin-left: 0.78571rem;
  margin-right: 0; }

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

.account-product-body:after {
  clear: both; }

.account-product-figure {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 2rem 0 0;
  position: relative;
  width: 70px; }
  .account-product-figure::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 100%;
    width: 100%; }

.account-product-download {
  border-radius: 50%;
  height: 2.35714rem;
  padding: 0;
  position: absolute;
  right: -0.78571rem;
  top: -0.78571rem;
  width: 2.35714rem;
  z-index: 1; }
  .account-product-download .icon {
    height: 1.5rem;
    margin-top: 0.35714rem;
    width: 1.5rem; }
  .account-product-download svg {
    fill: white; }

.account-product-body {
  overflow: hidden;
  padding-bottom: 3.5rem;
  position: relative; }
  @media (min-width: 551px) {
    .account-product-body {
      padding-bottom: 0; } }
  .account-product-body .definitionList {
    font-size: 15px;
    margin-bottom: 0; }

.account-product-title {
  margin: 0 0 0.21429rem;
  text-transform: inherit; }
  .account-product-title > a {
    text-decoration: none; }
  .account-product-title + .definitionList {
    margin-top: 0.78571rem; }

.account-product-subtitle {
  color: #999999;
  font-family: "Karla", Arial, Helvetica, sans-serif;
  font-size: 15px;
  margin: -0.21429rem 0 1rem;
  text-transform: inherit; }

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

.account-product-description + .definitionList {
  margin: -1.35714rem 0 1.5rem; }

.account-product-refundQty {
  color: #999999;
  margin-bottom: 0; }

.account-product-details {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto; }
  .account-product-details:before, .account-product-details:after {
    content: " ";
    display: table; }
  .account-product-details:after {
    clear: both; }

.account-product-detail {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }
  @media (min-width: 551px) {
    .account-product-detail {
      width: 33.33333%; } }
  @media (min-width: 1261px) {
    .account-product-detail {
      width: 25%; } }
  .account-product-detail + .account-product-detail {
    margin-top: 1rem; }
    @media (min-width: 551px) {
      .account-product-detail + .account-product-detail {
        margin-top: 0; } }
  @media (min-width: 551px) {
    .account-product-detail + .account-product-detail--full {
      margin-top: 1.5rem; } }

@media (min-width: 1261px) {
  .account-product-detail--large {
    width: 50%; } }

.account-product-detail--full {
  width: 100%; }

.account-product-detail-heading {
  color: #757575;
  font-family: "Karla", Arial, Helvetica, sans-serif;
  font-size: 12px;
  margin: 0 0 0.35714rem; }

.account-product--alignMiddle {
  display: table;
  width: 100%; }
  .account-product--alignMiddle .account-product-checkItem {
    display: table-cell;
    position: relative;
    vertical-align: middle;
    width: 2rem; }
    @media (min-width: 1261px) {
      .account-product--alignMiddle .account-product-checkItem {
        left: -2.5rem; } }
    .account-product--alignMiddle .account-product-checkItem .form-label {
      height: 1.5rem;
      margin: 0;
      padding: 0;
      width: 1.5rem; }
  .account-product--alignMiddle .account-product-figure,
  .account-product--alignMiddle .account-product-body {
    display: table-cell; }
  .account-product--alignMiddle .account-product-figure {
    float: none;
    margin-right: 0; }
    @media (min-width: 1261px) {
      .account-product--alignMiddle .account-product-figure {
        left: -2rem; } }
  .account-product--alignMiddle .account-product-body {
    padding-left: 2rem;
    vertical-align: middle; }
    @media (min-width: 1261px) {
      .account-product--alignMiddle .account-product-body {
        padding-left: 0; } }

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

.account-orderTotal-key,
.account-orderTotal-value {
  margin: 0;
  padding: 1.5rem 0; }

.account-orderTotal-key {
  color: #757575;
  float: left;
  font-weight: 400; }
  .account-orderTotal-key:last-of-type {
    position: relative;
    top: 0.28571rem; }

.account-orderTotal-value {
  border-bottom: 1px solid #e5e5e5;
  text-align: right; }
  .account-orderTotal-value:last-child {
    border-bottom: 0;
    font-size: 20px; }

.account-orderStatus {
  bottom: 0;
  left: 0;
  position: absolute; }
  @media (min-width: 551px) {
    .account-orderStatus {
      float: right;
      position: inherit;
      text-align: right; } }

.account-orderStatus-label {
  background-color: #cccccc;
  color: white;
  display: inline-block;
  font-size: 12px;
  line-height: 15px;
  margin: 0 0 0.35714rem;
  padding: 0.21429rem 0.5rem; }

.account-orderStatus-action {
  color: #757575;
  display: inline-block;
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.25px;
  margin-left: 0.78571rem;
  text-align: right;
  text-decoration: underline;
  vertical-align: top; }
  @media (min-width: 551px) {
    .account-orderStatus-action {
      display: block;
      margin-left: 0; } }
  .account-orderStatus-action:hover {
    color: #333333; }

.account .pagination {
  color: #999999;
  margin-top: 3rem;
  text-align: center; }

.account-message .is-read {
  color: #999999; }

.account-sidebar-block {
  font-size: 15px; }
  .account-sidebar-block + .account-sidebar-block {
    margin-top: 3rem; }
  .account-sidebar-block .account-heading {
    margin-bottom: 1.5rem; }

.account-order-address {
  list-style: none;
  margin-left: 0; }
  .account-order-address ul,
  .account-order-address ol {
    list-style: none;
    margin-bottom: 0; }

.account-reorder-form {
  display: inline-block; }

.order-payments-description {
  color: #757575;
  font-weight: 400;
  margin-top: 1.5rem; }

.account-downloads-summary {
  border-bottom: 1px solid #e5e5e5;
  font-size: 15px;
  padding-bottom: 1.5rem; }

.account-downloadsList {
  list-style: none;
  margin-left: 0; }
  .account-downloadsList ul,
  .account-downloadsList ol {
    list-style: none;
    margin-bottom: 0; }

.account-downloadsItem {
  margin-bottom: 1.5rem; }
  .account-downloadsItem > :first-child {
    margin-top: 0; }
  .account-downloadsItem > :last-child {
    margin-bottom: 0; }

.account-downloadsItem-title {
  color: #757575;
  font-size: 15px;
  margin-bottom: 0.21429rem;
  text-transform: inherit; }

.account-downloadsItem-description {
  margin-bottom: 0; }

.account-downloadsItem-availability {
  color: #757575; }

.wishlists-table {
  margin-left: auto;
  margin-right: auto;
  max-width: 85.71429rem; }

.wishlist-header {
  display: none;
  text-align: center; }

.modal .wishlist-header {
  display: block; }

.wishlist-form {
  margin: 0 auto;
  max-width: 85.71429rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 39.28571rem; }
  .wishlist-form:before, .wishlist-form:after {
    content: " ";
    display: table; }
  .wishlist-form:after {
    clear: both; }
  .wishlist-form .form-field {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%;
    float: left; }

.share-wishlist {
  margin-left: auto;
  margin-right: auto;
  max-width: 46.42857rem;
  text-align: center; }

.icon--ratingEmpty svg {
  fill: #8f8f8f; }

.icon--ratingFull svg {
  fill: #ff9600; }

.rating--small {
  display: inline-block; }
  .rating--small .icon {
    height: 1rem;
    width: 1rem;
    margin-top: -3px; }

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

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

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

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

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

.paymentMethodsTitle {
  margin: 0 0 0.78571rem;
  padding: 0;
  text-transform: none;
  width: 100%; }

.paymentMethodsGrid {
  display: flex;
  flex-wrap: wrap;
  margin: -0.78571rem;
  margin-bottom: 1.5rem; }
  .paymentMethodsGrid-item {
    padding: 0.78571rem;
    width: 100%; }
    @media (min-width: 551px) {
      .paymentMethodsGrid-item {
        width: 50%; } }

.paymentMethod {
  background-color: #e5e5e5;
  border: 1px solid #e5e5e5;
  border-radius: 0.21429rem;
  display: flex;
  flex-flow: column nowrap;
  height: 100%; }
  .paymentMethod-row {
    padding: 1.5rem; }
    .paymentMethod-row:first-child {
      background-color: #fff; }
    .paymentMethod-row:last-child {
      margin-top: auto; }
    .paymentMethod-row:only-child {
      height: 100%; }
  .paymentMethod .button {
    margin-bottom: 0; }

.methodHeader {
  align-items: center;
  display: flex;
  flex-flow: row;
  justify-content: space-between; }
  .methodHeader-icon {
    margin-right: 0.78571rem;
    width: 2rem; }
    @media (min-width: 1261px) {
      .methodHeader-icon {
        width: 3rem; } }
  .methodHeader-title {
    font-size: 13px;
    font-weight: 600; }
    @media (min-width: 1261px) {
      .methodHeader-title {
        font-size: 1rem; } }
  .methodHeader-brand {
    color: #666666;
    font-size: 13px;
    font-weight: 600; }
    @media (min-width: 1261px) {
      .methodHeader-brand {
        font-size: 1rem; } }
  .methodHeader-meta {
    display: flex;
    flex-wrap: nowrap;
    margin-left: auto;
    padding-left: 0.78571rem; }
  .methodHeader-default {
    fill: #666666;
    height: 1.28571rem;
    margin-left: 0.78571rem;
    width: 1.28571rem; }
    @media (min-width: 1261px) {
      .methodHeader-default {
        height: 1.42857rem;
        width: 1.42857rem; } }
  .methodHeader-expiry {
    font-size: 15px;
    text-transform: capitalize; }

.methodDetails {
  display: flex;
  margin: 0; }
  .methodDetails-label {
    flex: 1;
    font-weight: 600; }
  .methodDetails-description {
    flex: 2;
    font-size: 13px; }

.newPaymentMethod {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-items: center;
  min-height: 13.28571rem;
  text-decoration: none; }
  .newPaymentMethod-icon {
    font-size: 50px;
    line-height: 1;
    margin: auto 0 0.78571rem; }
  .newPaymentMethod-title {
    margin: 0 auto auto;
    text-align: center; }

@media (min-width: 551px) {
  .paymentMethodForm {
    max-width: 60%; } }

@media (min-width: 551px) {
  .paymentMethodForm-column {
    display: flex; }
    .paymentMethodForm-column:first-child .form-field {
      margin-bottom: 0.78571rem; } }

.paymentMethodForm-heading {
  color: #333333;
  font-family: "Karla", Arial, Helvetica, sans-serif;
  margin-top: 1.5rem;
  text-transform: capitalize; }

.paymentMethodForm-subheading {
  display: flex;
  font-weight: 600; }

@media (min-width: 551px) {
  .paymentMethodForm-cards {
    margin-left: auto; } }

.paymentMethodForm-cards-icon {
  margin-right: 0.21429rem;
  width: 2.42857rem; }

.paymentMethodForm-inputs {
  position: relative; }
  @media (min-width: 551px) {
    .paymentMethodForm-inputs:last-child {
      padding-left: 1.5rem;
      width: 30%; }
    .paymentMethodForm-inputs:first-child {
      width: 70%; } }

.paymentMethodForm-inputs-icon {
  position: absolute;
  right: 0.64286rem;
  top: 2.78571rem; }
  .paymentMethodForm-inputs-icon.icon {
    fill: #999999;
    height: 1.5rem;
    width: 1.5rem; }

.paymentMethodForm-details {
  margin-bottom: 0; }
  @media (min-width: 551px) {
    .paymentMethodForm-details {
      display: inline-block;
      margin: 0 3rem 0 0; } }

.paymentMethodForm-details-term {
  font-weight: 400;
  margin-bottom: 0.78571rem; }

.paymentMethodForm-details-description {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.25px; }

.category-header-image {
  width: 100%; }

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

.skip-to-main-link {
  background: white;
  color: #333333;
  font-weight: 700;
  left: 50%;
  padding: 4px;
  position: absolute;
  transform: translate(-50%, calc(-100% - 55px));
  transition: transform 0.3s;
  z-index: 500; }
  .skip-to-main-link:focus {
    transform: translate(-50%, 0%); }

.header {
  background-color: white;
  border-bottom: 1px solid #e5e5e5;
  height: 55px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }
  @media (min-width: 801px) {
    .header {
      border-bottom: 1px solid #e5e5e5;
      display: flex;
      flex-direction: column;
      height: auto;
      overflow: visible;
      position: relative; } }
  .header.is-open {
    height: 100%; }
    @media (min-width: 801px) {
      .header.is-open {
        height: auto; } }

.header-logo {
  font-size: 0;
  height: 55px;
  margin: 0 3.92857rem;
  text-align: center; }
  @media (min-width: 551px) {
    .header-logo {
      margin-left: 5.89286rem;
      margin-right: 5.89286rem; } }
  @media (min-width: 801px) {
    .header-logo {
      height: auto;
      margin: 4rem auto 4.5rem;
      padding: 0; }
      .header.fixed .header-logo {
        background-color: #e5e5e5;
        margin: 0;
        padding: 0.35714rem 0;
        position: absolute;
        top: 0;
        width: 100%; } }
  .header-logo__link {
    align-items: center;
    color: #333333;
    display: flex;
    height: inherit;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    text-decoration: none;
    width: 70%;
    z-index: 20; }
    .header-logo__link:before, .header-logo__link:after {
      content: " ";
      display: table; }
    .header-logo__link:after {
      clear: both; }
    @media (min-width: 801px) {
      .header-logo__link {
        background: none;
        border-bottom: 0;
        display: inline-flex;
        padding: 0;
        width: auto; } }
    .header-logo__link:hover {
      color: #757575; }
    .header-logo__link:active {
      color: #757575; }

.header-logo--left {
  text-align: left; }
  @media (min-width: 801px) {
    .header-logo--left {
      margin-left: 2.85714rem; } }
  .header-logo--left .header-logo-image {
    right: unset; }

.header-logo--right {
  text-align: right; }
  @media (min-width: 801px) {
    .header-logo--right {
      margin-right: 2.85714rem; } }
  .header-logo--right .header-logo-image {
    left: unset; }

.header-logo-text {
  display: block;
  font-family: "Montserrat", Arial, Helvetica, sans-serif;
  font-size: 2.25vw;
  font-weight: 400;
  letter-spacing: 0.14286rem;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap; }
  @media (min-width: 551px) {
    .header-logo-text {
      font-size: 2.5vw; } }
  @media (min-width: 801px) {
    .header-logo-text {
      display: inline;
      font-size: 28px;
      max-width: none;
      overflow: auto;
      padding: 0 10px;
      white-space: normal; }
      .header.fixed .header-logo-text {
        font-size: 25px; } }

.header-logo-image-container {
  position: relative;
  width: 100%; }
  @media (min-width: 801px) {
    .header-logo-image-container {
      min-height: 100px; } }

.header-logo-image-container::after {
  content: "";
  display: block; }

.header-logo-image {
  display: block;
  margin: 0 auto;
  max-height: 2.35714rem; }
  @media (min-width: 801px) {
    .header-logo-image {
      max-height: none; } }

.header-logo-image-unknown-size {
  max-height: 2.35714rem; }
  @media (min-width: 801px) {
    .header-logo-image-unknown-size {
      max-height: none; } }

.mobileMenu-toggle {
  height: 3.92857rem;
  width: 3.92857rem;
  display: inline-block;
  font-size: 0;
  left: 0;
  overflow: hidden;
  padding: 0 1.28571rem;
  position: absolute;
  z-index: 50; }
  @media (min-width: 801px) {
    .mobileMenu-toggle {
      display: none; } }
  .mobileMenu-toggle .mobileMenu-toggleIcon,
  .mobileMenu-toggle .mobileMenu-toggleIcon::before,
  .mobileMenu-toggle .mobileMenu-toggleIcon::after {
    background: #444444;
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    transform: rotate(0deg);
    transition: transform 100ms ease-in, top 100ms ease-in 150ms, bottom 100ms ease-in 150ms;
    width: 1.42857rem; }
  .mobileMenu-toggle .mobileMenu-toggleIcon {
    top: 1.92857rem;
    transition: background-color 10ms ease-in 100ms; }
  .mobileMenu-toggle .mobileMenu-toggleIcon::before {
    top: -0.5rem; }
  .mobileMenu-toggle .mobileMenu-toggleIcon::after {
    bottom: -0.5rem; }
  .mobileMenu-toggle.is-open .mobileMenu-toggleIcon {
    background-color: transparent;
    transition-delay: 100ms; }
    .mobileMenu-toggle.is-open .mobileMenu-toggleIcon::before, .mobileMenu-toggle.is-open .mobileMenu-toggleIcon::after {
      background-color: #444444;
      bottom: auto;
      top: auto;
      transition: transform 100ms ease-in 150ms, top 100ms ease-in, bottom 100ms ease-in; }
    .mobileMenu-toggle.is-open .mobileMenu-toggleIcon::before {
      top: 0;
      transform: rotate(45deg); }
    .mobileMenu-toggle.is-open .mobileMenu-toggleIcon::after {
      bottom: 0;
      transform: rotate(-45deg); }

.body {
  margin-bottom: 6rem;
  margin-top: 1.5rem; }
  @media (min-width: 801px) {
    .body {
      margin-top: 2.5rem; } }

.page {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto; }
  .page:before, .page:after {
    content: " ";
    display: table; }
  .page:after {
    clear: both; }

.page-content,
.page-content--full {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }

@media (min-width: 801px) {
  .page-content--centered {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 66.66667%;
    float: left;
    margin-left: auto;
    margin-right: auto;
    float: none; } }

.page-content--textCenter {
  text-align: center; }

.page-sidebar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  position: relative; }
  @media (min-width: 801px) {
    .page-sidebar {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 25%;
      float: left; }
      .page-sidebar + .page-content {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        width: 75%;
        float: left; } }

.footer {
  background-color: white;
  border-top: 1px solid #e5e5e5;
  padding: 3rem 0;
  position: relative;
  transform: translateZ(0); }

.footer-title-sr-only {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px; }

.footer-info {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  font-size: 0; }
  .footer-info:before, .footer-info:after {
    content: " ";
    display: table; }
  .footer-info:after {
    clear: both; }

.footer-info-col {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  color: #757575;
  display: inline-block;
  float: none;
  font-size: 1rem;
  margin-bottom: 3rem;
  overflow-wrap: break-word;
  text-align: center;
  vertical-align: top;
  -ms-word-break: break-all; }
  @media (min-width: 551px) {
    .footer-info-col {
      text-align: left;
      width: 50%; } }
  @media (min-width: 801px) {
    .footer-info-col {
      width: 33.33334%; } }
  .footer-info-col > :first-child {
    margin-top: 0; }
  .footer-info-col > :last-child {
    margin-bottom: 0; }

@media (min-width: 801px) {
  .footer-info-col--small {
    width: 16.66667%; } }

.footer-info-col--social {
  width: 100%; }

@media (min-width: 551px) {
  .footer-info-col--left {
    padding: 0; } }

@media (min-width: 551px) {
  .footer-info-col--right {
    left: 50%;
    position: inherit;
    width: 50%; } }

@media (min-width: 801px) {
  .footer-info-col--right {
    left: 0;
    padding: 0;
    text-align: right;
    width: 100%; } }

.footer-info-heading {
  font-size: 1rem;
  text-transform: inherit; }

.footer-info-list {
  list-style: none;
  margin-left: 0; }
  .footer-info-list a {
    color: #757575;
    text-decoration: none; }
    .footer-info-list a:hover {
      color: #333333; }

.footer-copyright {
  text-align: center; }
  @media (min-width: 551px) {
    .footer-copyright {
      text-align: left; } }
  .footer-copyright > .powered-by {
    color: #757575;
    font-size: 12px;
    margin: 0; }
  .footer-copyright a {
    color: #757575;
    text-decoration: none; }
    .footer-copyright a:hover {
      color: #333333; }

.footer-payment-icons {
  height: 2.85714rem;
  margin-top: 1.5rem; }
  @media (min-width: 801px) {
    .footer-payment-icons {
      margin-top: 3rem; } }
  .footer-payment-icons .footer-payment-icon {
    height: 100%;
    margin: 0.35714rem;
    vertical-align: middle;
    width: 3.57143rem; }
  .footer-payment-icons svg {
    fill: #757575; }

.footer-newsletter-summary {
  text-align: left; }

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 91.71429rem;
  padding: 0 1.5rem;
  position: relative;
  width: 100%; }
  @media (min-width: 1261px) {
    .container {
      padding: 0 6rem; } }

.blog {
  margin-bottom: 1.5rem; }
  @media (min-width: 801px) {
    .blog {
      margin: auto;
      width: 100%; } }
  .blog + .blog {
    border-top: 1px solid #e5e5e5;
    margin-top: 3rem;
    padding-top: 3rem; }
  .blog .tags {
    margin-top: 3rem;
    text-align: center; }
  .blog .socialLinks {
    text-align: center; }
  .blog .addthis_toolbox {
    margin-top: 3rem; }

.blog-title {
  font-size: 22px;
  margin: 0 1.5rem 0.35714rem; }
  .blog-title a {
    text-decoration: none; }

.blog-date,
.blog-author {
  color: #757575;
  text-align: center; }

.blog-author {
  margin-bottom: 2.5rem; }

.blog-post {
  font-size: 15px;
  text-align: left; }

.blog-thumbnail {
  margin: 0 auto 2rem;
  max-width: 190px;
  position: relative; }
  .blog-thumbnail img {
    width: 100%; }

.blog-post-figure {
  display: block;
  margin: auto;
  text-align: center; }
  @media (min-width: 801px) {
    .blog-post-figure {
      width: 66.66667%; } }

.blog-post-body {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 100%; }
  @media (min-width: 551px) {
    .blog-post-body {
      width: 83.33333%; } }
  @media (min-width: 801px) {
    .blog-post-body {
      width: 66.66667%; } }
  @media (min-width: 1261px) {
    .blog-post-body {
      width: 50%; } }

.sidebarBlock + .sidebarBlock {
  border-top: 1px solid #e5e5e5;
  margin-top: 2rem;
  padding-top: 2rem; }

.sidebarBlock-heading {
  font-size: 1.07143rem;
  margin-top: 0;
  text-transform: inherit; }

.brandGrid {
  list-style: none;
  margin-left: 0;
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  font-size: 0;
  margin-bottom: 1.5rem; }
  .brandGrid ul,
  .brandGrid ol {
    list-style: none;
    margin-bottom: 0; }
  .brandGrid:before, .brandGrid:after {
    content: " ";
    display: table; }
  .brandGrid:after {
    clear: both; }
  .brandGrid .brand {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
    float: none;
    display: inline-block;
    font-size: 1rem;
    vertical-align: top; }
    @media (min-width: 551px) {
      .brandGrid .brand {
        width: 33.33333%; } }
    @media (min-width: 801px) {
      .brandGrid .brand {
        width: 25%; } }
    .brandGrid .brand .card-title {
      text-align: center; }

.brand-image-container {
  max-width: 100px;
  position: relative; }
  .brand-image-container::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 100%;
    width: 100%; }
  .brand-image-container img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; }

.brand .card-img-container {
  max-width: 190px; }
  .brand .card-img-container::after {
    content: "";
    display: block;
    height: 0;
    padding-bottom: 131.57895%;
    width: 100%; }

.productGrid {
  list-style: none;
  margin-left: 0;
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  font-size: 0;
  margin-bottom: 1.5rem; }
  .productGrid ul,
  .productGrid ol {
    list-style: none;
    margin-bottom: 0; }
  .productGrid:before, .productGrid:after {
    content: " ";
    display: table; }
  .productGrid:after {
    clear: both; }
  .productGrid .product {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 50%;
    float: none;
    display: inline-block;
    font-size: 1rem;
    vertical-align: top; }
    @media (min-width: 551px) {
      .productGrid .product {
        width: 33.33333%; } }
    @media (min-width: 801px) {
      .productGrid .product {
        width: 25%; } }

@media (min-width: 551px) {
  .page-sidebar + .page-content .productGrid .product {
    width: 33.33333%; } }

.productMasonry {
  column-count: 2;
  column-fill: auto;
  column-gap: 1.42857rem;
  margin: 0 0 1.5rem;
  overflow: hidden; }
  @media (min-width: 551px) {
    .productMasonry {
      column-count: 3; } }
  @media (min-width: 801px) {
    .productMasonry {
      column-count: 4; } }
  .productMasonry .product {
    break-inside: avoid;
    display: block;
    margin-bottom: 3rem;
    padding: 0;
    page-break-inside: avoid;
    width: 100%; }
  .productMasonry .card {
    margin: 0; }

@media (min-width: 801px) {
  .no-csscolumns .productGrid--maxCol6 .product {
    width: 16.66667%; } }

@media (min-width: 801px) {
  .csscolumns .productGrid--maxCol6 {
    column-count: 6; } }

@media (min-width: 801px) {
  .no-csscolumns .productGrid--maxCol3 .product {
    width: 33.33333%; } }

@media (min-width: 801px) {
  .csscolumns .productGrid--maxCol3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    width: 100%;
    float: left;
    float: none; }
    .csscolumns .productGrid--maxCol3 .product {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      width: 33.33333%;
      float: none; } }

.productList {
  list-style: none;
  margin-left: 0;
  margin: 0.78571rem; }
  .productList ul,
  .productList ol {
    list-style: none;
    margin-bottom: 0; }
  .productList .product + .product {
    margin-top: 4rem; }

@media (min-width: 551px) {
  .listItem {
    margin: 0 -0.75rem;
    max-width: none;
    width: auto;
    display: table;
    width: 100%; }
    .listItem:before, .listItem:after {
      content: " ";
      display: table; }
    .listItem:after {
      clear: both; } }

@media (min-width: 1261px) {
  .listItem:focus-within .listItem-figureBody {
    opacity: 1; } }

@media (min-width: 1261px) {
  .listItem.focus-within .listItem-figureBody {
    opacity: 1; } }

@media (min-width: 551px) {
  .listItem-figure,
  .listItem-body {
    display: table-cell;
    vertical-align: top; } }

@media (min-width: 1261px) {
  .listItem-figure,
  .listItem-body {
    vertical-align: middle; } }

.listItem-button {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333333; }
  .listItem-button:hover, .listItem-button:focus {
    background-color: white;
    color: #333333; }

.listItem-figure {
  margin: 0 0 1.5rem;
  position: relative; }
  @media (min-width: 551px) {
    .listItem-figure {
      margin-bottom: 0;
      padding-left: 0.78571rem;
      padding-right: 0.78571rem;
      width: 25%; } }
  .listItem-figure__link {
    display: block;
    margin: 3px; }
  .listItem-figure .listItem-button {
    margin: 1.5rem 0; }
    @media (min-width: 1261px) {
      .listItem-figure .listItem-button {
        display: inline-block;
        margin: 0;
        pointer-events: all; } }

.listItem-figureBody {
  opacity: 1;
  text-align: center; }
  @media (min-width: 1261px) {
    .listItem-figureBody {
      left: 50%;
      opacity: 0;
      position: absolute;
      top: 50%;
      transform: translateX(-50%) translateY(-50%); }
      .listItem:hover .listItem-figureBody {
        opacity: 1; } }

.listItem-image {
  width: 100%; }

@media (min-width: 551px) {
  .listItem-body {
    padding-left: 1.28571rem;
    padding-right: 0.78571rem;
    width: 75%; } }

@media (min-width: 1261px) {
  .listItem-content {
    display: table; } }

@media (min-width: 1261px) {
  .listItem-details,
  .listItem-actions {
    display: table-cell;
    vertical-align: top; } }

@media (min-width: 1261px) {
  .listItem-details {
    padding-right: 6rem; }
    .listItem-details > :last-child {
      margin-bottom: 0; } }

.listItem-rating {
  margin-bottom: 0.35714rem; }

.listItem-brand {
  color: #999999;
  font-size: 1rem;
  margin: 0 0 0.21429rem; }
  @media (min-width: 801px) {
    .listItem-brand {
      font-size: 15px;
      margin-bottom: 0; } }

.listItem-title {
  font-size: 15px;
  margin: 0 0 0.21429rem; }
  @media (min-width: 801px) {
    .listItem-title {
      font-size: 20px; } }
  .listItem-title > a {
    text-decoration: none; }

.listItem-price {
  margin-bottom: 1rem; }
  @media (min-width: 801px) {
    .listItem-price {
      font-size: 20px; } }

@media (min-width: 1261px) {
  .listItem-actions {
    vertical-align: middle;
    width: 22%; }
    .listItem-actions .button--compare {
      font-size: 13px;
      padding: 0.57143rem 1.5rem; } }

.listItem-actions .button {
  margin-bottom: 0; }
  @media (min-width: 1261px) {
    .listItem-actions .button {
      width: 100%; }
      .listItem-actions .button + .button {
        margin: 0.78571rem 0 0; } }

@media (min-width: 1261px) {
  .page-sidebar + .page-content .productList .listItem-details {
    padding-right: 3rem; } }

@media (min-width: 1261px) {
  .page-sidebar + .page-content .productList .listItem-actions {
    width: 30%; } }

.productView {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem; }
  .productView:before, .productView:after {
    content: " ";
    display: table; }
  .productView:after {
    clear: both; }
  @media (min-width: 801px) {
    .productView {
      display: block; } }
  .modal .productView {
    padding-bottom: 0;
    padding-top: 0; }

.productView--quickView .socialLinks-item--print {
  display: none; }

.productView-images {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 801px) {
    .productView-images {
      width: 50%; } }

.productView-details {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 801px) {
    .productView-details {
      clear: right;
      float: right;
      width: 50%; } }
  .productView--quickView .productView-details {
    position: relative; }
  .productView-details.product-data {
    order: -1; }

.productView-description {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  z-index: 1; }
  .productView-description .productView-title {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem; }
  @media (min-width: 801px) {
    .productView-description .productView-description {
      clear: both;
      float: none;
      width: 100%; } }

.sale-flag-star,
.sale-flag-star::before,
.sale-flag-star::after, .sold-out-flag-star,
.sold-out-flag-star::before,
.sold-out-flag-star::after {
  content: "";
  display: block;
  height: 3.57143rem;
  left: 0;
  overflow: visible;
  position: absolute;
  top: 0;
  transform: scaleX(1) scaleY(1) scaleZ(1);
  transform-origin: 50% 50% 0;
  transition: background-color 800ms ease;
  width: 3.57143rem;
  z-index: 10; }
  
  .sale-flag-star::before,
  .sold-out-flag-star::before {
    transform: rotateZ(30deg) scaleX(1) scaleY(1) scaleZ(1); }
  
  .sale-flag-star::after,
  .sold-out-flag-star::after {
    transform: rotateZ(60deg) scaleX(1) scaleY(1) scaleZ(1); }

.sale-flag-star,
.sale-flag-star::before,
.sale-flag-star::after {
  background: #182a52; }

.sold-out-flag-star,
.sold-out-flag-star::before,
.sold-out-flag-star::after {
  background: rgba(0, 0, 255, 0); }

.starwrap {
  height: 3.57143rem;
  left: 12px;
  position: absolute;
  top: 12px;
  width: 3.57143rem; }

.listItem-figure .starwrap {
  transform: scale(0.7); }
  @media (min-width: 551px) {
    .listItem-figure .starwrap {
      top: 0;
      transform: scale(0.6); } }
  @media (min-width: 1261px) {
    .listItem-figure .starwrap {
      top: 10px;
      transform: scale(0.7); } }

.sale-text-burst, .sold-out-text-burst {
  font-weight: 600;
  line-height: 1.07143rem;
  position: absolute;
  text-align: center;
  top: 20%;
  width: 3.57143rem;
  z-index: 50; }

.sale-text-burst {
  color: white; }

.sold-out-text-burst {
  color: white; }

.product:hover .starwrap .sale-flag-star,
.product:hover .starwrap .sale-flag-star::before,
.product:hover .starwrap .sale-flag-star::after {
  background: #81c5ff; }

.product:hover .starwrap .sold-out-flag-star,
.product:hover .starwrap .sold-out-flag-star::before,
.product:hover .starwrap .sold-out-flag-star::after {
  background: #81c5ff; }

.sale-flag-side, .sold-out-flag-side {
  border-radius: 0 50px 50px 0;
  font-size: 15px;
  font-weight: 700;
  height: 1.42857rem;
  line-height: 1.14286rem;
  padding-left: 0.5rem;
  padding-right: 0.78571rem;
  padding-top: 0.10714rem;
  position: absolute;
  transition: background-color 800ms ease;
  z-index: 10; }

.sale-flag-side {
  background: #182a52;
  color: white; }

.sold-out-flag-side {
  background: rgba(0, 0, 255, 0);
  color: white; }

.product:hover .sale-flag-side {
  background: #81c5ff; }

.product:hover .sold-out-flag-side {
  background: #81c5ff; }

.sale-flag-sash, .sold-out-flag-sash {
  font-size: 15px;
  font-weight: 700;
  height: 1.42857rem;
  left: -25px;
  line-height: 1.14286rem;
  padding-top: 0.10714rem;
  position: absolute;
  text-align: center;
  top: 25px;
  transform: rotate(-45deg);
  transition: background-color 800ms ease;
  width: 8.5rem;
  z-index: 10; }

.sale-flag-sash {
  background: #182a52;
  color: white; }

.sold-out-flag-sash {
  background: rgba(0, 0, 255, 0);
  color: white; }

.listItem-figure .sale-flag-sash,
.listItem-figure .sold-out-flag-sash {
  top: 24px; }
  @media (min-width: 551px) {
    .listItem-figure .sale-flag-sash,
    .listItem-figure .sold-out-flag-sash {
      left: -20px;
      top: 19px; } }
  @media (min-width: 1261px) {
    .listItem-figure .sale-flag-sash,
    .listItem-figure .sold-out-flag-sash {
      left: -15px;
      top: 24px; } }

.product:hover .sale-flag-sash {
  background: #81c5ff; }

.product:hover .sold-out-flag-sash {
  background: #81c5ff; }

.product {
  overflow: hidden; }

[data-product-attribute] .form-option.form-option-swatch {
  overflow: visible; }

.form-option-variant--none {
  height: 22px;
  overflow: hidden; }

.form-option-variant--color,
.form-option-variant--pattern {
  height: 22px;
  width: 22px; }

.form-option-expanded {
  background-color: white;
  border: 1px solid #474747;
  left: calc(100% + 55px);
  opacity: 0;
  padding: 3px;
  position: absolute;
  top: calc(100% + 5px);
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  visibility: hidden; }

.form-option:hover .form-option-expanded {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
  z-index: 5000; }

.form-option-image {
  display: block;
  height: 100px;
  width: 100px;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover; }

.account {
  margin-bottom: 1.5rem; }

@media (min-width: 801px) {
  .account--fixed {
    margin: 0 auto;
    width: 66.66667%; } }

@media (min-width: 801px) {
  .account--fixedSmall {
    margin: 0 auto;
    width: 50%; } }

@media (min-width: 801px) {
  .account--fixedLarge {
    margin: 0 auto;
    width: 75%; } }

.account-head {
  margin-bottom: 3rem;
  text-align: center; }
  .account-head .alertBox {
    padding-left: 3rem;
    padding-right: 3rem;
    text-align: left; }

.account-body {
  margin: 0 -0.75rem;
  max-width: none;
  width: auto; }
  .account-body:before, .account-body:after {
    content: " ";
    display: table; }
  .account-body:after {
    clear: both; }

.account-content {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }

@media (min-width: 801px) {
  .account-content--fixed {
    width: 66.66667%; } }

@media (min-width: 801px) {
  .account-content--fixedSmall {
    width: 50%; } }

.account-sidebar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: 100%;
  float: left; }
  @media (min-width: 801px) {
    .account-sidebar {
      width: 33.33333%; }
      .account-content--fixedSmall + .account-sidebar {
        float: right; } }

body, a, p, span, input, select, dl, dd, dt, button {
  font-family: 'Google Sans Flex', sans-serif !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Google Sans Flex', 'Eloquia', 'Rubik', sans-serif !important; }

h2 {
  font-size: 22px;
  font-weight: 500; }

h3 {
  font-size: 19px;
  font-weight: 500; }

body {
  color: #2f2f2b;
  font-size: 1.1em; }

#contact-us-success {
  text-align: center;
  margin-top: 30px; }
  #contact-us-success p {
    font-size: 16px; }

.font150bold {
  font-size: 150%;
  font-weight: 600; }

.font150 {
  font-size: 150%; }

.font130 {
  font-size: 130%; }

.font120 {
  font-size: 120%; }

.font110 {
  font-size: 110%; }

.font110bold {
  font-size: 110%;
  font-weight: 600; }

.font90 {
  font-size: 90%; }

.font80 {
  font-size: 80%; }

.sparelink a {
  color: inherit;
  text-decoration: none; }

.sparelink a:hover {
  color: inherit;
  text-decoration: underline; }

.sparelink a:visited {
  color: inherit;
  text-decoration: none; }

.sparelink a:hover:visited {
  color: inherit;
  text-decoration: underline; }

.category-header-image, .card-figcaption {
  display: none; }

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, -20%, 0); }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

.container {
  max-width: 1170px;
  padding: 0; }
  @media only screen and (max-width: 1200px) {
    .container {
      padding: 0 20px; } }

input:focus,
button:focus,
textarea:focus,
select:focus,
details:focus,
[href]:focus,
[tabindex]:not([tabindex="-1"]):focus,
[contenteditable="true"]:focus {
  outline: 0px solid #0f7fff !important;
  outline-offset: 0px !important; }

a:hover {
  text-decoration: underline; }

.navUser-item--account {
  position: relative; }
  .navUser-item--account:hover .HeaderAccoutnMenu {
    opacity: 1;
    visibility: visible;
    height: auto; }
  .navUser-item--account .HeaderAccoutnMenu {
    position: absolute;
    left: -50px;
    top: 80%;
    width: 200px;
    background: #fff;
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    height: 0; }
    .navUser-item--account .HeaderAccoutnMenu .navPage-subMenu-list .navPage-subMenu-item {
      width: 100%;
      float: none;
      padding: 0 !important;
      border: 0; }
      .navUser-item--account .HeaderAccoutnMenu .navPage-subMenu-list .navPage-subMenu-item .navPage-subMenu-action {
        border-bottom: 0;
        margin-bottom: 0;
        padding: 5px 0;
        font-weight: 400; }

.mobile-no-image, .mobile-only, .mobile-only-image {
  display: none; }
  @media only screen and (max-width: 800px) {
    .mobile-no-image, .mobile-only, .mobile-only-image {
      display: block !important; } }

.qs-header1 {
  font-size: 2.2em;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: underline;
  text-align: center;
  padding: .5em;
  margin: 0;
  color: #2f2f2b; }

.qs-header2 {
  color: #2f2f2b;
  font-size: 1.5em;
  font-weight: 700;
  min-width: 6em;
  margin-top: 1em;
  padding-left: .3em;
  padding-bottom: .4em;
  padding-top: .4em;
  background-color: #f0f8ff;
  border-radius: .3em; }

.qs-header3 {
  font-size: 1.2em;
  font-weight: 700;
  margin-bottom: .78571rem;
  margin-top: .78571rem;
  padding-left: .6em;
  color: #2f2f2b; }

.qs-product-note {
  color: #595959;
  padding-bottom: 0;
  font-size: .8em; }

.navList-action {
  font-size: 13px;
  color: #2f2f2b; }

.productView-product .productView-info {
  display: none; }

@media only screen and (min-width: 801px) {
  .body {
    margin-top: 10px; }
  .header-logo-image-container {
    min-height: unset; }
  .page-sidebar + .page-content .productGrid .product {
    width: 25%; }
  .productView-images {
    width: 45%; }
  .productView-details {
    width: 55%; } }

#currencySelection {
  width: 200px;
  left: unset !important;
  right: 0; }

#cart-preview-dropdown {
  width: 350px; }

.navPages-action:hover, a:hover {
  color: #6293d6; }

.countPill {
  position: absolute;
  top: 0;
  right: 0;
  background: #182A52;
  color: #fff; }
  @media only screen and (max-width: 800px) {
    .countPill {
      top: -5px;
      right: -5px; } }

.fixed-body {
  padding-top: 100px; }

.header.fixed-header {
  animation: fadeIn .2s ease-in both;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; }
  .header.fixed-header .logo-user-section {
    padding: 0; }
  .header.fixed-header center {
    display: none; }

@media only screen and (min-width: 801px) {
  .header .navPages-container {
    display: none; } }

.header .logo-user-section {
  padding: 10px 0;
  display: flex;
  align-items: center; }
  .header .logo-user-section .header-logo {
    margin: 0;
    width: 30%;
    text-align: left; }
  .header .logo-user-section .navUser {
    padding: 0 0 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 70%; }
    .header .logo-user-section .navUser .navUser-section {
      width: 50%;
      display: flex;
      align-items: center;
      justify-content: flex-end; }
      @media only screen and (max-width: 991px) {
        .header .logo-user-section .navUser .navUser-section {
          width: 60%; } }
      .header .logo-user-section .navUser .navUser-section .navUser-item {
        position: relative; }
        .header .logo-user-section .navUser .navUser-section .navUser-item #quick-search-expand {
          display: none; }
          @media only screen and (max-width: 800px) {
            .header .logo-user-section .navUser .navUser-section .navUser-item #quick-search-expand {
              display: block; } }
        .header .logo-user-section .navUser .navUser-section .navUser-item .navUser-action {
          font-weight: 400; }
    @media only screen and (min-width: 801px) {
      .header .logo-user-section .navUser .DesktopSaerch {
        padding: 0;
        position: unset;
        display: block;
        max-width: 455px;
        width: 40%;
        padding-left: 35px;
        background: transparent;
        position: unset;
        padding: 0;
        display: block; } }
  @media only screen and (min-width: 801px) and (min-width: 991px) {
    .header .logo-user-section .navUser .DesktopSaerch {
      width: 67%; } }
    @media only screen and (min-width: 801px) {
        .header .logo-user-section .navUser .DesktopSaerch .form {
          position: relative; }
          .header .logo-user-section .navUser .DesktopSaerch .form .form-input {
            border: 0;
            border-radius: 0;
            border-bottom: 1px solid #d7d7d7;
            font-size: 12px;
            padding-bottom: 5px;
            padding-left: 0;
            padding-right: 25px;
            color: #70706e !important;
            text-transform: initial; }
          .header .logo-user-section .navUser .DesktopSaerch .form .button {
            margin: 0;
            padding: 0;
            background: #fff;
            border: 0;
            position: absolute;
            top: 5px;
            right: 0; } }
  .header .logo-user-section .header-icon {
    height: 24px;
    width: 24px;
    stroke: none !important; }

.header .DesktopMenuWrap {
  background: linear-gradient(to right, #00e0b8, #00cab4);
  /* Softer teal blend */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  /* Slight depth */ }
  @media only screen and (max-width: 800px) {
    .header .DesktopMenuWrap {
      display: none; } }
  .header .DesktopMenuWrap .DesktopMenu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative; }
    .header .DesktopMenuWrap .DesktopMenu .CatMenu .ShopMenu {
      display: flex;
      align-items: center;
      position: unset;
      font-size: 18px;
      text-transform: uppercase;
      color: #000;
      font-weight: 700;
      width: auto;
      text-decoration: none; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .ShopMenu.is-open svg.IconMenu {
        display: none; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .ShopMenu.is-open svg.IconCross {
        display: block !important; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .ShopMenu svg {
        width: 30px;
        height: 30px;
        fill: #000;
        stroke: #000;
        margin-right: 10px; }
    .header .DesktopMenuWrap .DesktopMenu .CatMenu .ShopMenu.is-open + .navPages-list {
      display: block; }
    .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list {
      display: none;
      position: absolute;
      top: 100%;
      background: transparent;
      height: 40vw;
      padding: 0;
      width: 100%; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item-Wrap {
        width: 275px;
        background: #fff;
        height: auto;
        min-height: 30vw;
        max-height: 30vw; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .CatTitle.Main {
        margin: 0;
        padding: 10px 10px 5px 10px;
        width: 250px;
        font-size: 18px;
        text-transform: uppercase; }
      .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item {
        float: none;
        display: block;
        position: unset;
        width: 275px; }
        .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPages-action {
          font-size: 13px;
          font-weight: 400;
          padding: 5px 10px;
          text-transform: capitalize; }
          .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPages-action .navPages-action-moreIcon {
            transform: rotate(-90deg); }
        .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item:hover .navPage-subMenu {
          display: block; }
        .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu {
          display: none;
          top: 0;
          left: 275px;
          background: #fff;
          height: auto;
          min-height: 30vw;
          max-height: 30vw;
          border: 1px solid #ccc;
          overflow-y: auto; }
          .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list {
            display: flex;
            flex-wrap: wrap;
            margin: 0;
            list-style: none; }
            .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item {
              width: 33.333%;
              float: none;
              padding: 0 10px !important; }
              .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item.navPage-subMenu-item-All {
                margin: 0 0 20px 0;
                width: 100%; }
                .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item.navPage-subMenu-item-All .navPage-subMenu-action {
                  font-size: 24px;
                  color: #6293d6;
                  text-decoration: underline;
                  font-weight: 400; }
              .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item .navPage-subMenu-action {
                border: 0;
                font-size: 16px;
                font-weight: 700;
                margin: 0; }
              .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item .navPage-childList {
                margin: 0;
                padding: 0;
                list-style: none; }
                .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item .navPage-childList .navPage-childList-action {
                  display: inline-block;
                  width: auto; }
                .header .DesktopMenuWrap .DesktopMenu .CatMenu .navPages-list .navPages-item .navPage-subMenu .navPage-subMenu-list .navPage-subMenu-item .navPage-childList .navPage-childList-action-ViewAll {
                  font-size: 11px;
                  text-decoration: underline; }
    .header .DesktopMenuWrap .DesktopMenu .PageMenu ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .header .DesktopMenuWrap .DesktopMenu .PageMenu ul li {
        display: inline-block; }
        .header .DesktopMenuWrap .DesktopMenu .PageMenu ul li a {
          font-weight: 700;
          color: #000;
          display: inline-block;
          padding: .78571rem 1.14286rem;
          text-decoration: none;
          text-transform: uppercase; }
        .header .DesktopMenuWrap .DesktopMenu .PageMenu ul li:last-child a {
          padding-right: 0; }

/* Updated Mobile Sitewide Banner */
.SitewideBanner {
  width: 100%;
  display: none;
  /* Remains hidden on desktop */
  box-sizing: border-box;
  /* Prevents padding from breaking width */
  /* New Styling */
  background-color: #fdfdfd;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg stroke='%23eff2f5' stroke-width='0.75' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10h15v15h30'/%3E%3Ccircle cx='55' cy='25' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M90 80H75V60H55'/%3E%3Ccircle cx='55' cy='60' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M0 90h25V75h15v15h40'/%3E%3Crect x='38' y='38' width='6' height='6'/%3E%3Cpath d='M41 38V15H25'/%3E%3Ccircle cx='25' cy='15' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M80 0v15h20'/%3E%3Cpath d='M100 25H85V45'/%3E%3Ccircle cx='85' cy='45' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M20 100V85H0'/%3E%3Ccircle cx='20' cy='85' r='1.5' fill='%23eff2f5'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 70px 70px;
  background-blend-mode: multiply;
  border-bottom: 1px solid #eaeaea;
  padding: 8px 15px; }

/* Typography and Formatting */
.SitewideBanner span {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  /* Small but highly readable */
  color: #555555;
  letter-spacing: 0.5px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center; }

/* Highlights and Links */
.SitewideBanner .highlight-dark {
  font-weight: 700;
  color: #1a2a42; }

.SitewideBanner .highlight-blue,
.SitewideBanner a {
  font-weight: 700;
  color: #1a99d5;
  text-decoration: none; }

/* Ensure the link looks clickable but cohesive */
.SitewideBanner a:hover {
  text-decoration: underline; }

/* Show banner only on mobile devices */
@media only screen and (max-width: 800px) {
  .SitewideBanner {
    display: flex;
    /* Activates centering */
    justify-content: center;
    align-items: center; } }

.SitewideBanner-temp {
  width: 100%;
  text-align: center;
  background: #F3FF00;
  color: #606313;
  font-size: 0.9em;
  font-weight: bold;
  padding: 6px 0px 6px 0px; }

/* ============================================================
   Header banners: US Next-Day-Air (.SitewideBanner2)
   + international welcome (.None_US_Visitor)
   ============================================================ */
.SitewideBanner2,
.None_US_Visitor {
  width: 100%;
  box-sizing: border-box;
  position: relative;
  text-align: center;
  padding: 6px 16px;
  background: linear-gradient(180deg, #1f3463 0%, #182a52 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  /* Collapse the bar when empty (evenings, weekends, restricted) */
  /* Teal hairline that ties the bar to the nav above it */ }
  .SitewideBanner2:empty,
  .None_US_Visitor:empty {
    display: none !important; }
  .SitewideBanner2::after,
  .None_US_Visitor::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 224, 184, 0.5), transparent); }

.s2-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  /* Kept at original size */
  flex-wrap: wrap; }

.s2-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  /* Reduced from 7px */
  padding: 1px 9px 1px 7px;
  /* Reduced from 5px 11px 5px 9px */
  border-radius: 999px;
  background: #00e0b8;
  color: #0c2340;
  font-size: 10.5px;
  /* Reduced from 11px */
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 2px 8px -2px rgba(0, 224, 184, 0.55);
  /* Reduced from 15px */ }
  .s2-pill svg {
    width: 12px;
    height: 12px; }

.s2-msg {
  color: #eaf1fb;
  font-size: 14px;
  /* Kept at original size */
  font-weight: 500;
  line-height: 1.45; }
  .s2-msg .s2-time {
    color: #fff;
    font-weight: 700; }
  .s2-msg .s2-day,
  .s2-msg .s2-country {
    color: #7af0d8;
    font-weight: 700; }

.s2-dot {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #00e0b8;
  animation: s2pulse 2s infinite; }

.s2-text-nudge {
  position: relative;
  top: 1px;
  /* Pushes just the text down by 2px */ }

@keyframes s2pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 224, 184, 0.55); }
  70% {
    box-shadow: 0 0 0 7px rgba(0, 224, 184, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 224, 184, 0); } }

/* Mobile: hide the pill + dot, center the message, balance the lines */
@media only screen and (max-width: 550px) {
  .SitewideBanner2 .s2-pill,
  .None_US_Visitor .s2-pill,
  .SitewideBanner2 .s2-dot {
    display: none; }
  .s2-inner {
    display: block; }
  .s2-msg {
    display: block;
    font-size: 13px;
    /* Kept at original size */
    text-align: center;
    text-wrap: balance; } }

.button {
  background-color: #81c5ff;
  border-color: #81c5ff;
  border-radius: 25px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700; }
  .button.button--primary {
    background-color: #182a52;
    border-color: #182a52;
    border-radius: 25px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700; }
    .button.button--primary:hover {
      background-color: #81c5ff;
      border-color: #81c5ff; }
  .button.button--large {
    font-size: 15px; }
  .button.button--small {
    font-size: 11px; }
  .button:hover {
    background-color: #fff;
    border-color: #81c5ff; }

.slick-dots {
  text-align: right; }
  .slick-dots li {
    background-color: transparent;
    width: 1.886rem; }
    .slick-dots li.slick-active button::before {
      background: #6293d6; }

.slick-arrow {
  border: 1px solid #d7d7d7;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center; }
  .slick-arrow:before {
    height: 1.229rem;
    width: 0.929rem; }

.heroCarousel {
  margin-bottom: 0 !important; }
  .heroCarousel .carousel-play-pause-button {
    display: none !important; }
  .heroCarousel .slick-dots {
    bottom: -0.3rem;
    text-align: center; }
    .heroCarousel .slick-dots li {
      background-color: transparent;
      width: 1.886rem; }
      .heroCarousel .slick-dots li.slick-active button::before {
        background: #6293d6; }
  .heroCarousel .slick-arrow {
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 800px) {
      .heroCarousel .slick-arrow {
        display: none !important; } }
    .heroCarousel .slick-arrow:before {
      height: 1.229rem;
      width: 0.929rem; }
  .heroCarousel .slick-prev {
    left: 25px; }
  .heroCarousel .slick-next {
    right: 25px; }
  .heroCarousel .heroCarousel-slide .heroCarousel-image-wrapper .heroCarousel-image {
    object-fit: cover; }
  .heroCarousel .heroCarousel-slide .heroCarousel-content {
    transform: translate(-60%, -50%);
    width: 32rem;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    padding-left: 1rem;
    padding-right: 1rem; }
    @media only screen and (max-width: 800px) {
      .heroCarousel .heroCarousel-slide .heroCarousel-content {
        background-color: #ebebeb;
        transform: initial;
        width: 100%; } }
    .heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-title {
      font-size: 20px;
      font-weight: 400;
      margin-bottom: .2rem;
      line-height: 2rem; }
      @media only screen and (max-width: 800px) {
        .heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-title {
          line-height: 2rem; } }
    .heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-description {
      font-size: 40px;
      font-weight: 800;
      margin-bottom: 0;
      line-height: 3rem; }
      @media only screen and (max-width: 800px) {
        .heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-description {
          font-size: 30px;
          line-height: 2.2rem; } }
      @media only screen and (max-width: 550px) {
        .heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-description {
          font-size: 26px;
          line-height: 2rem; } }

hr {
  border: 1px solid;
  margin: 0; }

.SearchByModel {
  background-color: #f0f8ff; }

.dynamic-dropdown li {
  list-style: none;
  display: inline-block;
  width: 30%;
  margin: 5px 1%; }
  @media only screen and (max-width: 800px) {
    .dynamic-dropdown li {
      display: block;
      width: 94%;
      margin: 10px auto; } }
  .dynamic-dropdown li select {
    font-size: 15px;
    padding: 4px; }

.dynamic-dropdown .button.button--primary.button--large {
  border-radius: 25px;
  line-height: 1.4rem;
  margin: 10px auto;
  padding-left: 2.7rem;
  padding-right: 2.7rem; }

.productCarousel {
  margin: 0 !important; }

.card-body {
  text-align: center; }
  .card-body .card-text {
    font-size: 1.1em;
    color: #000; }
    .card-body .card-text .price-section .price-now-label {
      font-weight: 600;
      color: #182a52; }
      .card-body .card-text .price-section .price-now-label + .price {
        font-weight: 700;
        color: #182a52; }
  .card-body .card-title {
    overflow-wrap: break-word;
    margin: 0 0 .28571rem;
    font-weight: 400; }
    .card-body .card-title a {
      color: #2f2f2b;
      text-decoration: none; }

.page-sidebar .sidebarBlock {
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #f7fdfc;
  color: #595959; }
  .page-sidebar .sidebarBlock .sidebarBlock-heading {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 700;
    color: #2f2f2b; }
  .page-sidebar .sidebarBlock .navList {
    margin-bottom: .5rem; }
    .page-sidebar .sidebarBlock .navList .navList-item .navList-action {
      font-size: 13px;
      color: #2f2f2b; }
      .page-sidebar .sidebarBlock .navList .navList-item .navList-action:hover {
        color: #6293d6;
        text-decoration: underline; }
  .page-sidebar .sidebarBlock .accordion-title {
    color: #2f2f2b;
    text-transform: capitalize;
    font-size: 13px;
    font-weight: 700; }

.page-sidebar .sidebar_se .innerbox {
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06); }
  .page-sidebar .sidebar_se .innerbox h4 {
    margin: 0 0 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase; }
  .page-sidebar .sidebar_se .innerbox .whygoal {
    margin: 0 0 0 10px;
    padding: 0;
    list-style: none; }
    .page-sidebar .sidebar_se .innerbox .whygoal li {
      margin-bottom: 15px; }

.sidebar_se .innerbox {
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  margin-bottom: 20px;
  padding: 10px; }
  .sidebar_se .innerbox h4 {
    margin: 0 0 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase; }
  .sidebar_se .innerbox .whygoal {
    margin: 0 0 0 10px;
    padding: 0;
    list-style: none; }
    .sidebar_se .innerbox .whygoal li {
      margin-bottom: 15px; }

.HeadingWrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 0; }

.category-main-image {
  display: none; }

.test.page.category.hpserver .page-heading.for-mbl {
  display: none; }

ol.breadcrumbs {
  text-align: left; }

#quickspec-container .qs-note {
  color: #595959;
  font-size: .9em;
  margin-bottom: 5px;
  padding-left: 1em;
  padding-right: 1em; }

#quickspec-container .qs-note a {
  color: #28599A; }

#quickspec-container .qs-products .qs-product {
  display: flex;
  flex-direction: row;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0.5em;
  padding-bottom: 0.4em;
  border: 0 solid #d2d6dc;
  margin-bottom: .5em;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  border-radius: .5rem; }
  #quickspec-container .qs-products .qs-product .qs-product-col1 {
    flex-grow: 1;
    display: flex;
    flex-direction: row; }
    #quickspec-container .qs-products .qs-product .qs-product-col1 .qs-thumb {
      padding-right: 1em;
      flex-shrink: 0;
      min-width: 4em; }
    #quickspec-container .qs-products .qs-product .qs-product-col1 .qs-flex-col {
      display: flex;
      flex-direction: column; }
      #quickspec-container .qs-products .qs-product .qs-product-col1 .qs-flex-col .qs-product-name {
        flex-grow: 1;
        font-size: 1.1em;
        font-weight: 500; }
      #quickspec-container .qs-products .qs-product .qs-product-col1 .qs-flex-col .qs-product-name a {
        text-decoration: underline; }
  #quickspec-container .qs-products .qs-product .qs-product-col2 {
    text-align: right;
    min-width: 8em;
    display: flex;
    flex-direction: column; }
    #quickspec-container .qs-products .qs-product .qs-product-col2 .qs-sku {
      font-size: .86em; }
      #quickspec-container .qs-products .qs-product .qs-product-col2 .qs-sku:before {
        content: "PN "; }
    #quickspec-container .qs-products .qs-product .qs-product-col2 .qs-price {
      display: inline;
      color: #595959;
      text-decoration: line-through;
      font-size: .9em; }
    #quickspec-container .qs-products .qs-product .qs-product-col2 .qs-sale-price {
      display: inline;
      color: #db0000;
      font-weight: 600;
      font-size: 1.1em; }

#product-listing-container .page-heading {
  text-align: left;
  margin-bottom: 15px;
  font-size: 40px;
  font-weight: 700;
  padding: 0px 10px 10px 0;
  color: #2f2f2b;
  text-shadow: 1px 1px 2px #ccc; }
  @media only screen and (max-width: 800px) {
    #product-listing-container .page-heading {
      font-size: 28px; } }

.productView .productView-img-container img {
  position: unset; }

.productView .productView-img-container:after {
  padding-bottom: 0; }

.productView .productView-details {
  padding-bottom: 0rem; }
  .productView .productView-details.product-data {
    order: unset; }
  .productView .productView-details .productView-product {
    border-bottom: 0;
    padding-bottom: 0; }
  .productView .productView-details .title_box .productView-title {
    font-size: 28px;
    font-weight: 700;
    margin: -.78571rem 0 .35714rem;
    line-height: 1.3em; }
  @media only screen and (max-width: 800px) {
    .productView .productView-details .title_box {
      display: none; } }
  .productView .productView-details .shipping_detail {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
    .productView .productView-details .shipping_detail .box {
      width: 50%; }
      @media only screen and (max-width: 550px) {
        .productView .productView-details .shipping_detail .box {
          width: 100%; } }
      .productView .productView-details .shipping_detail .box .pro_sku {
        color: #aaa; }
      .productView .productView-details .shipping_detail .box .no-spacing {
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center; }
        .productView .productView-details .shipping_detail .box .no-spacing .productView-info-name {
          font-weight: 500;
          color: #757575; }
        .productView .productView-details .shipping_detail .box .no-spacing .productView-info-value {
          color: #757575;
          display: inline;
          width: 75%;
          margin-bottom: 0.21429rem; }
      .productView .productView-details .shipping_detail .box .productView-rating {
        margin-bottom: 10px;
        font-size: 12px; }
        .productView .productView-details .shipping_detail .box .productView-rating .icon--ratingEmpty svg {
          fill: #c1c1c1; }
        .productView .productView-details .shipping_detail .box .productView-rating .productView-reviewLink + .productView-reviewLink {
          display: inline-block;
          margin-left: .78571rem; }
          .productView .productView-details .shipping_detail .box .productView-rating .productView-reviewLink + .productView-reviewLink > a {
            color: #757575; }
    .productView .productView-details .shipping_detail .availability_box {
      font-size: 11px;
      color: #402911;
      text-align: right; }
      .productView .productView-details .shipping_detail .availability_box b {
        display: block;
        color: #EB0000; }
  .productView .productView-details .other_detail {
    background-color: #E3F9F5;
    background: linear-gradient(to bottom right, #e3f9f5, #d0f0eb);
    /* Subtle gradient */
    border: 1px solid rgba(0, 0, 0, 0.1);
    /* Softer border */
    border-radius: 8px;
    /* Softens the edges */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    /* Adds subtle depth */
    padding: 15px 15px;
    margin-top: 10px;
    margin-bottom: 10px; }
    .productView .productView-details .other_detail .row {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 10px; }
      .productView .productView-details .other_detail .row:last-child {
        margin-bottom: 0px; }
      .productView .productView-details .other_detail .row .box {
        margin-right: 10px; }
      .productView .productView-details .other_detail .row .stock_box {
        color: #418f67;
        font-weight: 700;
        font-size: 18px;
        padding-left: 24px;
        line-height: 20px;
        margin-top: 9px;
        background: url("https://store-g6oxherh18.mybigcommerce.com/content/images/product-view-in-stock.gif") no-repeat scroll 0 0 transparent; }
        .productView .productView-details .other_detail .row .stock_box span {
          color: #418f67; }
      .productView .productView-details .other_detail .row .line-item-details {
        padding-bottom: 0; }
        .productView .productView-details .other_detail .row .line-item-details .no-spacing {
          margin: 0;
          padding: 0;
          display: flex;
          align-items: center; }
          .productView .productView-details .other_detail .row .line-item-details .no-spacing .productView-info-name {
            margin-right: 5px; }
          .productView .productView-details .other_detail .row .line-item-details .no-spacing .productView-info-value {
            margin-right: 12px;
            margin-bottom: 0.21429rem; }

.productView .bigskulogo {
  margin-top: 10px;
  margin-bottom: 0;
  width: 257px;
  height: 34px;
  display: none; }
  @media only screen and (max-width: 5500px) {
    .productView .bigskulogo {
      display: block; } }

.productView .bigsku {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 48px;
  font-weight: 750;
  text-shadow: 1px 1px 2px #ccc; }

.productView .inner_detailbox {
  display: flex;
  flex-wrap: wrap; }
  .productView .inner_detailbox > div {
    width: 50%; }
    @media only screen and (max-width: 550px) {
      .productView .inner_detailbox > div {
        width: 100%; } }
    .productView .inner_detailbox > div .productView-price {
      text-align: left;
      color: #949494;
      font-weight: 700;
      font-size: 22px; }
      .productView .inner_detailbox > div .productView-price span {
        color: #949494; }
      .productView .inner_detailbox > div .productView-price .price-section--withoutTax .price-now-label, .productView .inner_detailbox > div .productView-price .price-section--withoutTax .price-now-label + .price {
        font-weight: 700;
        color: #182a52; }
  .productView .inner_detailbox .productView-options {
    text-align: center; }
    .productView .inner_detailbox .productView-options .form {
      display: inline; }
      @media only screen and (max-width: 550px) {
        .productView .inner_detailbox .productView-options .form {
          display: block; } }
      .productView .inner_detailbox .productView-options .form .form_addtocart {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        max-width: fit-content;
        margin: 0 0 0 auto; }
        @media only screen and (max-width: 550px) {
          .productView .inner_detailbox .productView-options .form .form_addtocart {
            margin: 0;
            max-width: 100%;
            width: 100%; } }
    .productView .inner_detailbox .productView-options .form-field {
      margin-bottom: 10px; }
    .productView .inner_detailbox .productView-options .form-action {
      margin-top: .5em; }
      @media only screen and (max-width: 550px) {
        .productView .inner_detailbox .productView-options .form-action {
          width: 100%; } }
      .productView .inner_detailbox .productView-options .form-action .button--primary {
        border-width: 2px;
        border-color: #EB0000;
        background-color: #EB0000 !important;
        font-size: 18px;
        padding-left: 1.3em;
        padding-right: 1.3em;
        text-shadow: 1px 1px 2px #ccc; }
        @media only screen and (max-width: 550px) {
          .productView .inner_detailbox .productView-options .form-action .button--primary {
            width: 100%; } }
        .productView .inner_detailbox .productView-options .form-action .button--primary:hover {
          border-color: #950000;
          background-color: #ff2d2d !important; }

.productView .productView-bulkPricing-table {
  max-width: 170px;
  margin-left: 60px;
  margin-bottom: 20px; }
  .productView .productView-bulkPricing-table .row {
    display: flex;
    border-top: 1px solid #eee;
    padding: 3px; }
    .productView .productView-bulkPricing-table .row .box:first-child {
      padding-right: 10px; }
    .productView .productView-bulkPricing-table .row .bulk_title {
      font-weight: 700; }

.form-field--increments .form-label {
  color: #2f2f2b;
  cursor: pointer;
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: .78571rem;
  line-height: 1.5;
  margin-bottom: .5rem; }

.form-increment .button {
  background: #fff;
  border-color: #d7d7d7;
  padding: 3px 5px 2px 5px;
  margin: 0;
  text-transform: uppercase;
  border-radius: 0;
  font-weight: 700;
  width: 41px;
  height: 36px; }
  .form-increment .button .icon {
    height: 100%;
    width: 100%; }
  .form-increment .button svg {
    stroke: none;
    height: 30px;
    width: 30px;
    fill: #2f2f2b !important; }
  .form-increment .button[data-action="dec"] {
    border-right: 0 !important; }
  .form-increment .button[data-action="inc"] {
    border-left: 0 !important; }

.form-increment .form-input--incrementTotal {
  border: 1px solid #ccc;
  border-radius: 0;
  color: #2f2f2b;
  padding: 6px;
  width: 3.5rem;
  font-size: 18px; }

.quote-info {
  margin: 10px 0;
  background: linear-gradient(to bottom right, #eaf6ff, #d8ecff);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0, 0, 0, 0.1);
  /* Softer border */
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  /* Subtle depth */
  padding: 6px 12px;
  width: 100% !important; }
  @media only screen and (max-width: 550px) {
    .quote-info {
      flex-wrap: wrap;
      justify-content: center; } }
  .quote-info .quote-left {
    width: 65%; }
    @media only screen and (max-width: 550px) {
      .quote-info .quote-left {
        text-align: center;
        width: 100%; } }
    .quote-info .quote-left .quote-heading {
      font-size: 21px;
      text-transform: uppercase;
      font-weight: 700;
      color: #262626;
      line-height: 24px;
      margin: 0; }
    .quote-info .quote-left .quote-detail {
      margin: 0;
      color: #262626;
      font-size: 0.9em; }
  .quote-info .quote-right {
    width: auto; }
    .quote-info .quote-right #qn-add-to-quote, .quote-info .quote-right #qn-cart-to-quote {
      margin: 0; }

#DescpAccordion .DescTitle {
  background: linear-gradient(to bottom right, #fbf7f7, #e5e3e3);
  border: 1px solid #d7d7d7;
  color: #2f2f2b;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 12px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  #DescpAccordion .DescTitle.current svg {
    transform: rotate(180deg);
    transition: .4s all ease-in-out; }
  #DescpAccordion .DescTitle svg {
    width: 30px;
    height: 25px;
    fill: #2f2f2b;
    transition: .4s all ease-in-out; }

#DescpAccordion .DescContent {
  border: 1px solid #d7d7d7;
  padding: 20px; }
  #DescpAccordion .DescContent .custom-fields {
    display: flex;
    flex-wrap: wrap; }
    #DescpAccordion .DescContent .custom-fields .productView-info-name {
      float: none;
      font-weight: 700; }
    #DescpAccordion .DescContent .custom-fields .productView-info-value {
      float: none; }
  #DescpAccordion .DescContent .discription_inner {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 800px) {
      #DescpAccordion .DescContent .discription_inner {
        flex-wrap: wrap; } }
    #DescpAccordion .DescContent .discription_inner .box.reviewBox {
      min-width: 262px;
      margin-left: 20px;
      width: 262px; }
      @media only screen and (max-width: 800px) {
        #DescpAccordion .DescContent .discription_inner .box.reviewBox {
          min-width: 100%;
          margin-left: 0px;
          width: 100%; } }
      #DescpAccordion .DescContent .discription_inner .box.reviewBox .innerbox {
        border: 1px solid #ccc;
        border-radius: 10px;
        margin-bottom: 20px;
        padding: 10px;
        border: 1px solid rgba(0, 0, 0, 0.1);
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06); }
        #DescpAccordion .DescContent .discription_inner .box.reviewBox .innerbox h4 {
          color: #1f86b8;
          font-weight: bold;
          margin: 0 0 10px;
          text-align: center;
          font-size: 16px;
          font-weight: 300;
          text-transform: uppercase; }
        #DescpAccordion .DescContent .discription_inner .box.reviewBox .innerbox .whygoal {
          margin-left: 10px;
          padding: 0;
          list-style: none; }

#DescpAccordion .DescTitle.current + .DescContent {
  display: block !important; }

.previewCart .productView {
  display: block; }

.related-product-section {
  margin-top: 40px; }

.page-heading {
  text-align: left;
  margin-bottom: 15px;
  font-size: 28px;
  font-weight: 400;
  padding: 10px 10px 10px 0;
  color: #2f2f2b; }
  @media only screen and (max-width: 800px) {
    .page-heading {
      font-size: 22px; } }

.cart-content-wrap {
  display: flex; }
  @media only screen and (max-width: 800px) {
    .cart-content-wrap {
      flex-wrap: wrap; } }
  .cart-content-wrap .box.cart-inner-box {
    width: 100%; }
    .cart-content-wrap .box.cart-inner-box .cart-actions {
      text-align: right; }
      .cart-content-wrap .box.cart-inner-box .cart-actions .button--primary {
        border-width: 2px;
        border-color: #EB0000;
        background-color: #EB0000 !important;
        font-size: 18px;
        float: none;
        min-width: 250px;
        padding-left: 1.3em;
        padding-right: 1.3em;
        line-height: 1.3rem;
        border-radius: 6px; }
        .cart-content-wrap .box.cart-inner-box .cart-actions .button--primary:hover {
          border-color: #950000;
          background-color: #ff2d2d !important; }
      .cart-content-wrap .box.cart-inner-box .cart-actions p {
        margin: 20px 0 10px 0; }
        @media only screen and (max-width: 550px) {
          .cart-content-wrap .box.cart-inner-box .cart-actions p {
            text-align: center; } }
  .cart-content-wrap #cartRight {
    width: 218px;
    margin-left: 30px; }
    @media only screen and (max-width: 800px) {
      .cart-content-wrap #cartRight {
        margin: 20px;
        width: 100%; } }
    .cart-content-wrap #cartRight .trustDivs {
      padding-bottom: 10px;
      font-size: 16px;
      padding-left: 15px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 92 92'%3E%3Cpath fill='%23142c54' d='M41.417 0.104 C 21.503 1.736 5.921 14.688 1.340 33.414 C -6.354 64.871 21.402 93.559 53.083 86.893 C 60.134 85.410 67.445 81.885 72.209 77.671 L 73.002 76.970 66.815 70.811 C 60.844 64.867 60.615 64.661 60.272 64.905 C 41.902 77.975 17.637 66.090 17.593 44.000 C 17.564 29.095 28.990 17.684 44.059 17.568 L 47.367 17.543 54.357 10.564 L 61.346 3.585 60.631 3.281 C 55.438 1.067 46.896 -0.345 41.417 0.104 Z'/%3E%3Cpath fill='%232cabe3' d='M54.667 20.917 L 41.084 34.500 47.250 40.662 L 53.417 46.824 60.560 39.738 C 64.489 35.840 67.781 32.677 67.876 32.709 C 68.155 32.802 69.153 35.433 69.664 37.421 C 71.453 44.393 70.110 52.666 66.284 58.250 L 65.713 59.083 71.972 65.366 L 78.231 71.649 79.420 70.033 C 92.496 52.250 90.380 27.504 74.479 12.263 C 72.718 10.575 68.692 7.333 68.357 7.333 C 68.298 7.333 62.137 13.446 54.667 20.917 Z'/%3E%3C/svg%3E") no-repeat scroll 0 4px transparent;
      background-size: 15px 15px; }
      .cart-content-wrap #cartRight .trustDivs em {
        color: #1a3b68;
        font-size: 16px;
        white-space: nowrap; }

.cart-item-info + .cart-item-info {
  margin-top: .78571rem; }

.page.blog .blog + .blog {
  border-top: 0;
  margin-top: 0;
  padding-top: 0; }

.page.blog .page-heading {
  text-align: center;
  text-transform: capitalize;
  margin-bottom: 30px; }

.page.blog article.blog {
  float: none;
  width: 48%;
  padding-right: 40px;
  display: inline-block;
  vertical-align: top; }
  @media only screen and (max-width: 640px) {
    .page.blog article.blog {
      width: 100%;
      padding-right: 0px; } }
  .page.blog article.blog .blog-post-figure {
    display: block;
    margin: auto;
    text-align: center; }
    .page.blog article.blog .blog-post-figure .blog-thumbnail {
      margin: 0 auto;
      position: relative;
      max-width: 390px; }
      .page.blog article.blog .blog-post-figure .blog-thumbnail img {
        height: 200px;
        width: auto; }
  .page.blog article.blog .blog-post-body {
    width: 100%;
    margin: 15px auto 2rem; }
    .page.blog article.blog .blog-post-body .blog-post {
      font-size: 15px;
      text-align: center; }

article.blog {
  max-width: 800px; }
  article.blog .blog-header .blog-title {
    font-weight: 600;
    font-size: 30px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 2.5px; }
    article.blog .blog-header .blog-title a {
      font-weight: 600;
      font-size: 24px;
      color: #2f2f2b; }
      article.blog .blog-header .blog-title a:hover {
        color: #6293d6; }
  article.blog .blog-post-figure {
    display: block;
    margin: auto;
    text-align: left; }
    article.blog .blog-post-figure .blog-thumbnail {
      margin: 0 auto;
      position: relative;
      max-width: 390px; }
      article.blog .blog-post-figure .blog-thumbnail img {
        height: 200px;
        width: auto; }
  article.blog .blog-post-body {
    width: 100%;
    margin: 15px auto 2rem; }
    article.blog .blog-post-body .blog-post {
      font-size: 15px;
      text-align: left; }

.page-content {
  padding-left: 0;
  padding-right: 0; }
  .page-content #ContactMessage {
    background: url(https://store-g6oxherh18.mybigcommerce.com/content/images/ey-contactBanner.jpg) no-repeat scroll center center #0197d6;
    height: 261px;
    width: 100%; }
    @media only screen and (max-width: 800px) {
      .page-content #ContactMessage {
        height: auto;
        background-size: contain;
        background-position: 0 30px; } }
    .page-content #ContactMessage .cuText2 {
      color: #fff;
      font: 400 23px 'Clear Sans';
      max-width: 980px;
      margin: 0 auto; }
      @media only screen and (max-width: 800px) {
        .page-content #ContactMessage .cuText2 {
          font-size: 18px; } }
      .page-content #ContactMessage .cuText2 p {
        width: 100%;
        padding: 121px 0 0 200px;
        margin: 0; }
        @media only screen and (max-width: 800px) {
          .page-content #ContactMessage .cuText2 p {
            padding: 121px 50px 30px 50px; } }
        .page-content #ContactMessage .cuText2 p .contactLiveChatButton {
          background: none repeat scroll 0 0 #fbdecb;
          color: #ea5f03;
          font: bold 14px 'Clear Sans';
          text-decoration: none;
          text-transform: uppercase;
          margin: 0 0 0 5px;
          padding: 2px 10px;
          white-space: nowrap; }
  .page-content .contact_wrap {
    display: flex;
    padding-top: 60px;
    max-width: 980px;
    margin: 0 auto;
    flex-wrap: wrap; }
    .page-content .contact_wrap .box {
      width: 45%; }
      @media only screen and (max-width: 800px) {
        .page-content .contact_wrap .box {
          width: 100%; } }
      .page-content .contact_wrap .box ul {
        font-size: 13px;
        font-weight: 700;
        list-style: none outside none;
        margin: 0;
        padding: 0; }
        .page-content .contact_wrap .box ul.midContact {
          margin-bottom: 15px !important;
          margin-top: 35px !important; }
        .page-content .contact_wrap .box ul .cuTitle {
          font-size: 18px; }
  .page-content .aboutTitle.page-title {
    margin: 5px 0 20px 0;
    font-size: 28px;
    background: #e6e6e6;
    padding: 10px 15px;
    color: #000; }
    .page-content .aboutTitle.page-title h1 {
      margin: 0;
      color: #2f2f2b; }
  .page-content .topDiv {
    width: 95%;
    margin: 0 auto 40px;
    box-sizing: initial;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .page-content .topDiv .leftImg {
      margin-right: 0px;
      width: 30%;
      text-align: center;
      font: italic 400 54px 'Clear Sans';
      color: #fff;
      box-sizing: inherit; }
      .page-content .topDiv .leftImg.missionImg {
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-delivery.jpg") no-repeat scroll 0 0 transparent;
        padding-top: 150px;
        height: 130px;
        background-size: cover; }
        @media only screen and (max-width: 800px) {
          .page-content .topDiv .leftImg.missionImg {
            margin: 0 auto;
            width: 100%;
            padding-top: 190px; } }
    .page-content .topDiv .rightContent {
      width: 65%; }
      @media only screen and (max-width: 800px) {
        .page-content .topDiv .rightContent {
          margin-top: 30px;
          width: 100%; } }
      .page-content .topDiv .rightContent .mission {
        font-size: 20px;
        margin-bottom: 10px; }
        .page-content .topDiv .rightContent .mission span {
          color: #0167bb;
          font-style: italic; }
      .page-content .topDiv .rightContent .missionDiv {
        font-size: 14px;
        margin-bottom: 10px; }
        .page-content .topDiv .rightContent .missionDiv span {
          font-weight: 700; }
  .page-content .aboutDivs {
    border-top: 4px solid #ececec;
    padding-top: 20px;
    width: 95%;
    margin: 0 auto 40px;
    box-sizing: initial;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media only screen and (max-width: 800px) {
      .page-content .aboutDivs {
        margin-bottom: 0px; } }
    .page-content .aboutDivs .leftContent {
      width: 72%; }
      @media only screen and (max-width: 800px) {
        .page-content .aboutDivs .leftContent {
          margin-bottom: 30px;
          width: 100%; } }
      .page-content .aboutDivs .leftContent .prodHeading {
        font-size: 28px; }
        .page-content .aboutDivs .leftContent .prodHeading span {
          color: #0a83d4;
          font-style: italic;
          font-weight: 700; }
      .page-content .aboutDivs .leftContent .custDiv {
        font-size: 28px; }
        .page-content .aboutDivs .leftContent .custDiv span {
          color: #1b752f;
          font-style: italic; }
      .page-content .aboutDivs .leftContent .global_point {
        margin: 0;
        list-style: none;
        padding: 0;
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        .page-content .aboutDivs .leftContent .global_point li {
          text-align: center;
          max-width: 180px;
          width: 100%;
          margin: 10px; }
          .page-content .aboutDivs .leftContent .global_point li .box_cr {
            background-color: #d9f9e1;
            border: 3px solid #60bb75;
            display: -ms-flexbox;
            display: flex;
            border-radius: 60px;
            color: #60bb75;
            font-size: 30px;
            height: 90px;
            text-align: center;
            width: 90px;
            -ms-flex-pack: center;
            justify-content: center;
            -ms-flex-align: center;
            align-items: center;
            margin: 0 auto 5px; }
      .page-content .aboutDivs .leftContent .custULs {
        margin-top: 20px;
        border: 1px solid #e2e2e2;
        padding: 10px 30px 0;
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-repeat-bg.jpg") repeat-x scroll 0 0 #f7f7f7; }
        .page-content .aboutDivs .leftContent .custULs ul {
          display: inline-block;
          list-style: none;
          padding: 0 50px 0 0;
          margin: 14px 0; }
          .page-content .aboutDivs .leftContent .custULs ul li {
            background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-arrow.jpg") no-repeat scroll 0 5px transparent;
            padding-left: 10px; }
    .page-content .aboutDivs .rightImg {
      width: 25%;
      text-align: center;
      font: italic 400 54px 'Clear Sans';
      color: #fff;
      box-sizing: inherit; }
      .page-content .aboutDivs .rightImg.custImg {
        padding-top: 195px;
        font-size: 38px;
        height: 275px;
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-map-bg.jpg") no-repeat scroll 0 0 transparent;
        background-size: cover; }
        @media only screen and (max-width: 800px) {
          .page-content .aboutDivs .rightImg.custImg {
            margin: 0 auto;
            width: 100%;
            padding-top: 290px;
            height: 200px; } }
      .page-content .aboutDivs .rightImg.prodImg {
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-hp-bg.jpg") no-repeat scroll 0 0 transparent;
        font-size: 42px;
        padding-top: 50px;
        height: 85px;
        background-size: cover; }
        @media only screen and (max-width: 800px) {
          .page-content .aboutDivs .rightImg.prodImg {
            margin: 0 auto;
            width: 100%;
            padding-top: 80px; } }
    .page-content .aboutDivs .leftImg {
      margin-right: 30px;
      width: 30%;
      text-align: center;
      font: italic 400 54px 'Clear Sans';
      color: #fff;
      box-sizing: inherit; }
      .page-content .aboutDivs .leftImg.historyImg {
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-server-bg.jpg") no-repeat scroll 0 0 transparent;
        padding-top: 150px;
        height: 115px;
        background-size: cover; }
        @media only screen and (max-width: 800px) {
          .page-content .aboutDivs .leftImg.historyImg {
            margin: 0 auto;
            width: 100%;
            padding-top: 190px; } }
    .page-content .aboutDivs .rightContent {
      width: 65%; }
      @media only screen and (max-width: 800px) {
        .page-content .aboutDivs .rightContent {
          margin-top: 30px;
          width: 100%; } }
      .page-content .aboutDivs .rightContent .mission {
        font-size: 20px;
        margin-bottom: 10px; }
    .page-content .aboutDivs #map {
      width: 100%; }
    .page-content .aboutDivs #map + p {
      width: 100%;
      margin-top: 10px; }
      .page-content .aboutDivs #map + p iframe {
        width: 100%;
        margin-top: 10px; }
  .page-content p:empty {
    display: none; }
  .page-content .custULs {
    margin-top: 20px;
    border: 1px solid #e2e2e2;
    padding: 10px 30px 0;
    background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-repeat-bg.jpg") repeat-x scroll 0 0 #f7f7f7; }
    .page-content .custULs ul {
      display: inline-block;
      list-style: none;
      padding: 0 50px 0 0;
      margin: 14px 0; }
      .page-content .custULs ul li {
        background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/about-arrow.jpg") no-repeat scroll 0 5px transparent;
        padding-left: 10px; }

.above_footer {
  border-top: 1px solid #CCC; }
  .above_footer .liveChatCategory {
    font-style: italic;
    font-size: 18px;
    padding: 15px 0 15px 0px;
    text-align: center; }
    .above_footer .liveChatCategory b {
      font-style: normal;
      color: black; }
    .above_footer .liveChatCategory a {
      font-style: normal;
      text-decoration: none;
      color: #35aee3;
      border: 2px solid #35aee3;
      font-size: 14px;
      font-weight: 700;
      padding: 3px 10px 3px 20px;
      background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/let-help-arrow.jpg") no-repeat scroll 10px center transparent;
      margin-left: 10px; }

.footer {
  position: relative;
  width: 100%;
  padding: 0;
  /* Combine BOTH backgrounds here so they both span the full width of the screen. 
       The top layer goes first, separated by a comma, followed by the bottom layer. */
  background: url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/footer-bg.jpg") no-repeat center bottom, url("https://cdn11.bigcommerce.com/s-g6oxherh18/product_images/uploaded_images/bottom-footer-bg.jpg") repeat-x scroll 0 bottom #1a3b68;
  /* If you want the 861px image to physically stretch to the edges of larger screens, 
       uncomment the line below. Otherwise, it will sit centered on the solid blue base. */
  /* background-size: cover, auto; */
  /* Teal accent bar — bookends the page against the header nav */
  /* Centered, content-width cluster */ }
  .footer::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #00e0b8, #00cab4); }
  .footer .footer-info {
    margin: 0;
    padding-bottom: 90px;
    /* room for the logo to sit at the bottom, on the seam */
    /* REMOVE the background from here so it stops creating a constrained box */
    background: transparent; }
  .footer .container {
    max-width: 920px;
    margin: 0 auto;
    padding: 3rem 2rem 0;
    /* Adjusted padding from earlier */ }
    @media only screen and (max-width: 1200px) {
      .footer .container {
        padding: 3rem 20px 0; } }
  .footer .footertoptext {
    max-width: 760px;
    margin: 0 auto 26px;
    text-align: center;
    color: #c2d2ea;
    font-size: 13.5px;
    line-height: 1.7;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
    .footer .footertoptext a {
      color: #7af0d8;
      text-decoration: none; }
      .footer .footertoptext a:hover {
        text-decoration: underline; }
    .footer .footertoptext .stat {
      color: #00e0b8;
      font-weight: 700; }
  .footer .footerTitle {
    position: relative;
    display: block;
    margin-bottom: 18px;
    padding-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #fff;
    border-bottom: 0; }
    .footer .footerTitle::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 28px;
      height: 2px;
      background: #00e0b8; }
  .footer .footerDiv ul {
    margin: 0;
    padding: 0;
    list-style: none;
    float: none; }
  .footer .footerDiv li {
    padding-bottom: 9px;
    line-height: 1.4;
    white-space: normal;
    text-transform: inherit; }
  .footer .footerDiv a {
    color: #c5d4ea;
    font-size: 14px;
    text-decoration: none;
    text-transform: inherit;
    transition: color 0.18s ease; }
    .footer .footerDiv a strong {
      color: #fff;
      font-weight: 700; }
    .footer .footerDiv a:hover {
      color: #00e0b8;
      text-decoration: none; }
  .footer .footer_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px 64px; }
    @media only screen and (max-width: 800px) {
      .footer .footer_inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
        padding-bottom: 16px; } }
    .footer .footer_inner .footerDiv {
      flex: 0 0 auto;
      height: auto;
      width: auto;
      max-width: none;
      border: 0;
      padding: 0; }
    .footer .footer_inner #footerDiv2 ul {
      display: inline-block;
      vertical-align: top;
      width: auto; }
      .footer .footer_inner #footerDiv2 ul + ul {
        margin-left: 40px; }
      @media only screen and (max-width: 480px) {
        .footer .footer_inner #footerDiv2 ul {
          display: block; }
          .footer .footer_inner #footerDiv2 ul + ul {
            margin-left: 0;
            margin-top: 9px; } }

.footer-bottom {
  background-color: #ededed;
  /* the grey baked into footer-bg.jpg, so the coin blends seamlessly */
  padding: 0; }
  .footer-bottom .container {
    max-width: 920px;
    margin: 0 auto;
    padding: 22px 20px 28px; }
  .footer-bottom #copyright {
    margin: 0;
    padding-top: 0;
    text-align: center;
    color: #4a4a4a;
    font-size: 13px; }
    .footer-bottom #copyright p {
      max-width: 820px;
      margin: 0 auto 12px;
      line-height: 1.5;
      color: #333; }
    .footer-bottom #copyright .phone-number {
      display: inline-block;
      margin: 2px 0 16px;
      font-size: 18px;
      font-weight: 700;
      color: #182a52;
      text-decoration: none; }
      .footer-bottom #copyright .phone-number:hover {
        color: #007e6e;
        text-decoration: none; }
  .footer-bottom .footer-seals {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 22px; }
    .footer-bottom .footer-seals a {
      line-height: 0; }
    .footer-bottom .footer-seals img {
      display: block;
      width: auto;
      height: auto;
      max-height: 40px; }
  .footer-bottom .sitemapIndex {
    text-decoration: none;
    color: #1a3b65; }

.backtoTop {
  opacity: 0;
  bottom: 48px;
  right: 50px;
  cursor: pointer;
  position: fixed;
  transition: opacity .25s ease-in-out;
  z-index: 9999999999; }
  .backtoTop.visible {
    opacity: 1;
    transition: opacity .25s ease-in-out; }
  .backtoTop .slick-prev {
    border: 1px solid #d7d7d7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem; }
    .backtoTop .slick-prev:before {
      position: relative;
      transform: rotate(90deg);
      left: 0px;
      top: 2px;
      width: 1.2rem;
      height: 1.5rem; }

.backtoTop {
  display: none !important; }

@media only screen and (max-width: 800px) {
  .desktop-only, .desktop-only-image {
    display: none; }
  .header {
    height: auto; }
    .header.is-open {
      background-color: transparent; }
    .header #menu {
      width: 90%;
      left: unset;
      right: -800px;
      display: block;
      transition: .4s all ease-in-out;
      padding-top: 55px; }
      .header #menu.is-open {
        right: 0;
        transition: .4s all ease-in-out; }
      .header #menu .navPages {
        background-color: #fff;
        padding: 10px;
        border: 1px solid #ccc; }
        .header #menu .navPages .MobHeadingMenu {
          font-size: 20px;
          text-transform: uppercase;
          margin: 10px 0; }
    .header .navPages-action {
      font-weight: 400;
      font-size: 13px;
      text-transform: capitalize; }
    .header .navPage-subMenu-action .collapsible-icon-wrapper {
      width: auto; }
    .header .mobileMenu-toggle {
      left: unset;
      right: 0;
      top: -2px; }
    .header #quickSearch.is-open {
      background: #fff;
      width: 100vw !important;
      left: -42.8% !important;
      top: 47px !important;
      padding: 5px 0; }
      .header #quickSearch.is-open .form {
        position: relative;
        width: 100%;
        margin: 0 auto; }
        .header #quickSearch.is-open .form .form-input {
          border: 0;
          border-radius: 0;
          border-bottom: 1px solid #d7d7d7;
          font-size: 14px;
          padding-bottom: 5px;
          padding-left: 0;
          padding-right: 25px;
          color: #70706e !important;
          text-transform: initial; }
        .header #quickSearch.is-open .form .button {
          margin: 0;
          padding: 0;
          background: #fff;
          border: 0;
          position: absolute;
          top: 5px;
          right: 0; }
      .header #quickSearch.is-open .quickSearchResults {
        margin-top: 0; }
        .header #quickSearch.is-open .quickSearchResults ul {
          margin-top: 1.5rem; }
    .header center {
      display: none; }
    .header .header-logo {
      min-width: 180px; }
      .header .header-logo .header-logo__link {
        display: flex;
        justify-content: flex-start;
        width: 90%; }
    .header .logo-user-section {
      padding: 0; }
      .header .logo-user-section .navUser {
        padding: 0 3.5rem 0 0; }
        .header .logo-user-section .navUser .navUser-section {
          width: 100%; }
          .header .logo-user-section .navUser .navUser-section .navUser-item {
            display: block; }
            .header .logo-user-section .navUser .navUser-section .navUser-item .navUser-action {
              font-size: 0;
              padding: 5px; }
              .header .logo-user-section .navUser .navUser-section .navUser-item .navUser-action.navUser-item--cart__hidden-s {
                display: block !important; }
              .header .logo-user-section .navUser .navUser-section .navUser-item .navUser-action .navUser-item-cartLabel {
                display: block !important; }
              .header .logo-user-section .navUser .navUser-section .navUser-item .navUser-action.navUser-action--currencySelector {
                font-size: 12px; }
  .productView-images .title_box {
    display: block !important; }
    .productView-images .title_box .productView-title {
      font-size: 1.4em;
      line-height: 1.4em;
      font-weight: 600; } }

.productView-images {
  margin-bottom: 0rem; }

.cart-item-value {
  font-size: 16px; }

.cart-total-value {
  font-size: 16px; }

@media (max-width: 800px) {
  .SitewideBanner-temp {
    width: 100%;
    text-align: center;
    background: #F3FF00;
    color: #606313;
    font-size: 0.7em;
    font-weight: bold;
    padding: 4px 0px 4px 0px; } }

@media (min-width: 801px) {
  ul[data-product-type="featured"].productGrid .product {
    width: 20%; } }

@media (min-width: 551px) {
  ul[data-product-type="featured"].productGrid .product {
    width: 20%; } }

.blog-post-container table {
  border-collapse: collapse;
  width: 100%;
  margin: 20px 0; }

.blog-post-container th, .blog-post-container td {
  text-align: left;
  padding: 12px;
  border: 1px solid #999; }

.blog-post-container thead tr {
  background-color: #ddd; }

.blog-post-container tr:nth-child(even) {
  background-color: #f5f5f5; }

.cart-item-quantity {
  white-space: nowrap;
  font-size: 0; }

/* The stepper is overflow:hidden (to clip its rounded corners), so its
   min-content width is 0 — the table reserves no column for it. The min-width
   keeps the control itself from shrinking; but the *column* still has to be told
   to hold a slot, and the label has to stack above the control (like the
   Price/Total columns) so the two don't fight for the same line. Without that,
   between 551–800px the pill spills sideways over the Total column. */
.cart-content-wrap .cart-item-quantity .form-increment {
  min-width: 100px; }

@media (min-width: 551px) and (max-width: 800px) {
  .cart-content-wrap .cart-item-quantity {
    min-width: 130px;
    /* reserve the column slot at the cell level */
    overflow: visible;
    /* THE FIX — Cornerstone sets overflow:hidden on this
                                      cell; in this band the stepper lands just outside
                                      the cell's 36px-tall box, so hidden was erasing it
                                      entirely. This lets it show. */ }
  .cart-content-wrap .cart-item-quantity .form-label,
  .cart-content-wrap .cart-item-quantity .cart-item-label {
    display: block;
    /* "Quantity:" on its own line, pill beneath */ }
  .cart-content-wrap .cart-item-quantity .form-increment {
    display: flex;
    /* block-level → drops onto its own line beneath the
                                      label instead of sitting inline and spilling into
                                      the Total column. As a block its width also makes
                                      the column reserve a real slot (the inline-flex +
                                      overflow:hidden was contributing 0 — the same quirk
                                      that hid it before). */
    width: -moz-fit-content;
    width: fit-content;
    /* keep it a compact pill, not full-column width */
    margin-left: 0;
    /* drop Cornerstone's 1.5rem indent */ } }

.compatibility-table, .specs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 14px;
  text-align: left; }

.compatibility-table th, .specs-table th,
.compatibility-table td, .specs-table td {
  border: 1px solid #ddd;
  padding: 12px; }

.compatibility-table th, .specs-table th {
  background-color: #f4f4f4;
  font-weight: bold;
  text-transform: uppercase;
  color: #333; }

.compatibility-table a.part-number {
  text-decoration: none;
  color: inherit;
  font-weight: bold; }

.compatibility-table a.part-number:hover {
  text-decoration: underline;
  color: #0073aa; }

.compatibility-table a.view-page {
  color: #0073aa;
  text-decoration: underline;
  font-weight: bold; }

.compatibility-table a.view-page:hover {
  color: #005999; }

.carrier-note {
  font-size: 13px;
  color: #555;
  margin-top: 2px; }

.navList-action--checkbox {
  margin-bottom: 0; }

.facetLabel {
  background: #d9d9d9;
  /* Slightly darker for better contrast */
  border-radius: 6px;
  /* Slightly rounded for a smoother look */
  padding: 0.3rem 0.6rem 0.3rem 0.8rem;
  /* More balanced spacing */
  text-decoration: none;
  color: #333;
  /* Darker text for better contrast */
  display: inline-block;
  /* Ensures proper spacing */ }

.facetLabel:hover {
  background: #cfcfcf;
  /* Slightly darker on hover for a subtle effect */
  text-decoration: none; }

a {
  color: #3474CB;
  text-decoration: none;
  transition: color 0.2s ease-in-out; }

a:hover {
  color: #1d5bbf;
  /* Darker blue on hover for better feedback */
  text-decoration: underline; }

.alertBox--error {
  border: 1px solid #00000040; }

.alertBox {
  border-radius: 0; }

.previewCartCheckout {
  border: 1px solid #00000040; }

@media only screen and (min-width: 801px) {
  .cart-item-title {
    width: 450px;
    /* preferred width when there's room (desktop) */
    max-width: 450px;
    word-wrap: break-word;
    /* min-width:450px removed on purpose — lets this column shrink at narrower
       widths so the table fits beside the sidebar instead of overflowing the
       page (which is what knocked the full-width header/footer out). */ }
  .cart-item-info {
    text-align: center;
    padding-left: 16px;
    padding-right: 16px; }
  .cart-header-item {
    text-align: center;
    padding-bottom: 0.2rem;
    padding-top: 0.5rem;
    padding-left: 16px;
    padding-right: 16px; }
  .product-cta-box {
    margin-top: 1rem;
    margin-bottom: 15px; }
  .listItem-body {
    width: 90%; }
  .listItem-title {
    font-size: 16px; }
  .listItem-price {
    font-size: 14px;
    margin-bottom: 0; }
  .listItem-product-sku {
    font-size: 12px; }
  .listItem-price .non-sale-price--withoutTax {
    color: #595959; }
  .listItem-price .price--withoutTax {
    color: #db0000 !important;
    font-size: 1.2em; }
  .listItem-price .price-section .price-now-label,
  .listItem-price .price-section .price--withoutTax {
    font-weight: bold !important; }
  .listItem-qty {
    color: #2C6347; }
  .page-sidebar + .page-content .productList .listItem-details {
    padding-right: 2rem;
    width: 60%; }
  .productList {
    margin: 0; }
  .productList .product {
    display: flex;
    flex-direction: row;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
    border: 0 solid #d2d6dc;
    margin-bottom: .5em;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    border-radius: .5rem; }
  .productList .product + .product {
    margin-top: 0; }
  .page-sidebar + .page-content .productList .listItem-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    /* Allows content to wrap on smaller screens */
    gap: 1.5rem;
    /* Optional spacing */ }
  .page-sidebar + .page-content .productList .listItem-actions {
    flex-shrink: 0;
    text-align: right;
    min-width: 220px;
    /* You can adjust this as needed */ } }

.product-cta-box {
  border: 1px solid rgba(0, 0, 0, 0.1);
  /* Softer border */
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  /* Subtle depth */
  padding: 10px;
  text-align: center;
  background: linear-gradient(to bottom right, #eaf6ff, #d8ecff);
  margin-bottom: 1rem; }

.product-cta-text {
  margin-bottom: 5px;
  font-size: 1.1em; }

.cta-heading {
  font-size: 1.2em; }

.product-cta-button {
  display: inline-block;
  padding: 12px 20px;
  background: linear-gradient(to bottom, #3399ff, #0073e6);
  /* gradient version of your blue */
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 1.05em;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: background 0.3s ease, transform 0.1s ease; }

/* Hover effect */
.product-cta-button:hover {
  background: linear-gradient(to bottom, #4da6ff, #0066cc);
  transform: translateY(-1px);
  color: #fff; }

/* Active (pressed) effect */
.product-cta-button:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); }

@media (min-width: 551px) {
  .listItem-figure {
    width: 17%; } }

.heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-description {
  font-family: 'Montserrat' !important;
  font-size: 34px; }

.heroCarousel .heroCarousel-slide .heroCarousel-content .heroCarousel-title {
  font-family: 'Montserrat' !important; }

.sa_date {
  color: #4F4F4F; }

.sa_name {
  color: #4F4F4F; }

.sa_displayname {
  color: #4F4F4F; }

.sa_comments {
  color: #4F4F4F; }

.blog-hero-wrapper {
  position: relative;
  width: 100%;
  height: 300px;
  margin-bottom: 2rem; }

.blog-hero-background {
  background-image: var(--bg-image);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  mask-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0));
  -webkit-mask-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0)); }

.blog-hero-overlay {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-top: 80px;
  width: 100%; }

.blog-hero-overlay header.blog-header {
  max-width: 80%;
  margin: 0 auto; }

.blog-hero-overlay .blog-title {
  color: #000;
  font-size: 3.8rem;
  font-weight: bold;
  margin: 0;
  text-shadow: 0 0 10px white, 0 0 20px white; }

.blog-hero-overlay .blog-date {
  color: #000;
  font-size: 0.95rem;
  margin-top: 0.5rem;
  text-shadow: 0 0 3px white, 0 0 6px white; }

.blog-post-body .blog-title a {
  font-size: 1.5rem;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  display: inline-block; }

.price--rrp,
.price--non-sale,
.price--discounted {
  color: #575757; }

.tooltip-container {
  position: relative;
  display: inline-block;
  text-decoration: underline dotted;
  text-decoration-thickness: 1px;
  /* Optional: control the thickness of the underline */
  padding-bottom: 1px;
  /* Moves the dotted line down by 3px */
  cursor: pointer; }

.tooltip-container:hover .tooltip-text {
  visibility: visible;
  opacity: 1; }

.tooltip-text {
  visibility: hidden;
  opacity: 0;
  width: 300px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  padding: 10px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  /* Position above the text */
  left: 50%;
  margin-left: -150px;
  /* Center the tooltip */
  transition: opacity 0.3s;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  font-size: 11px;
  /* Smaller font size */ }

.tooltip-container:hover .tooltip-text {
  visibility: visible;
  opacity: 0.8;
  /* Set opacity to 80% when shown */ }

.tooltip-text::after {
  content: "";
  position: absolute;
  top: 100%;
  /* Arrow pointing upwards */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent; }

.techspecs-list {
  list-style-type: square;
  /* Use square bullets */
  padding-left: 0.0em;
  /* Indent the entire list */
  margin-left: 0.75rem; }

.techspecs-list li {
  margin-left: 0.5em;
  /* Optional: additional indent for each item */ }

.last-updated {
  margin-top: auto;
  color: #757575;
  font-style: italic; }

.parts-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
  margin: 20px 0; }

.parts-table th,
.parts-table td {
  border: 1px solid #ddd;
  padding: 8px;
  vertical-align: middle; }

.parts-table th:nth-child(1),
.parts-table td:nth-child(1) {
  width: 34px !important;
  text-align: center; }

.parts-table th:nth-child(2),
.parts-table td:nth-child(2) {
  width: 104px !important;
  text-align: center; }

.parts-table thead {
  background-color: #f2f2f2; }

.parts-table tbody tr:nth-child(even) {
  background-color: #f9f9f9; }

.parts-table tbody tr:hover {
  background-color: #eef; }

.parts-table img {
  vertical-align: middle; }

.dotted {
  display: inline-block;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 0px;
  /* Adjust this to move the dotted line lower */ }

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

.important-note {
  background: linear-gradient(to bottom right, #fffbcf, #fff9b4);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  padding: 15px;
  margin: 10px 0;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.5;
  animation: fadeInBox 0.6s ease-in; }

.important-note::before {
  content: "⚠️ ";
  font-size: 1em;
  vertical-align: baseline; }

.button--addtocart {
  background: linear-gradient(to bottom, #e60023, #c4001a);
  /* bold red */
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.6px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: background 0.3s ease, transform 0.15s ease, box-shadow 0.3s ease;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  /* Flexbox for icon + text alignment */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /* space between icon and text */ }

/* Icon styling */
.button--addtocart .cart-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
  /* matches button text color */
  flex-shrink: 0; }

/* Hover state */
.button--addtocart:hover {
  background: linear-gradient(to bottom, #f00028, #b00018);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(230, 0, 35, 0.4);
  color: #fff;
  text-decoration: underline; }

/* Shine effect */
.button--addtocart::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  transform: skewX(-25deg);
  transition: left 0.7s ease;
  color: #fff; }

.button--addtocart:hover::after {
  left: 130%;
  color: #fff; }

/* Focus */
.button--addtocart:focus {
  outline: none;
  color: #fff; }

/* Active */
.button--addtocart:active {
  transform: scale(0.97);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  color: #fff; }

button#qn-add-to-quote, button#qn-cart-to-quote {
  background: linear-gradient(to bottom, #41c5ff, #26b3f2);
  /* subtle gradient */
  color: #000;
  border: none;
  border-radius: 8px;
  /* matches add-to-cart shape */
  padding: 12px 18px;
  font-size: 0.96em;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: background 0.3s ease, transform 0.1s ease;
  display: inline-block;
  text-align: center;
  text-decoration: none; }

button#qn-add-to-quote:hover,
button#qn-cart-to-quote:hover {
  background: linear-gradient(to bottom, #28b4f0, #199ad6);
  /* darker on hover */
  transform: translateY(-1px); }

button#qn-add-to-quote:focus,
button#qn-cart-to-quote:focus {
  outline: 2px solid #a6e1ff;
  outline-offset: 2px; }

button#qn-add-to-quote:active,
button#qn-cart-to-quote:active {
  transform: scale(0.98); }

.server-group {
  margin-bottom: 1.5rem; }

.server-group h4 {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 0.2rem;
  padding-bottom: 0.3rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 1rem; }

.compatibility-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  line-height: 1.5;
  gap: 0.4rem 1rem;
  padding-left: 20px; }

.compatibility-list .has-check::before {
  content: '✅️';
  color: #009900;
  position: absolute;
  left: 0;
  top: 0.1em;
  font-size: 0.9em;
  /* Smaller checkmark */ }

.compatibility-list .has-check {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 1.5em;
  position: relative;
  font-size: 0.87em;
  color: #222;
  line-height: 1.3; }

.compatibility-list .note-block {
  font-size: 0.88rem;
  color: #555;
  margin-top: 0.05em;
  margin-left: 0; }

.server-group h4::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 0.4em;
  border-radius: 2px;
  vertical-align: baseline; }

/* Series-specific colors */
.group-dl h4::before {
  background-color: #00b3e6;
  /* Cyan-blue */ }

.group-ml h4::before {
  background-color: #3CB371;
  /* Medium Sea green */ }

.group-bl h4::before {
  background-color: #ff8c00;
  /* Orange */ }

.group-sl h4::before {
  background-color: #8a2be2;
  /* Blue-violet */ }

.group-xl h4::before {
  background-color: #ff1493;
  /* Deep pink */ }

.group-ws h4::before {
  background-color: #1e90ff;
  /* Dodger blue */ }

.group-msa h4::before {
  background-color: #1e90ff;
  /* also Dodger blue */ }

.group-other h4::before {
  background-color: #999999;
  /* Neutral gray */ }

.compatibility-note {
  font-size: 0.96rem;
  color: #444;
  margin-top: 0.5rem;
  line-height: 1.6;
  padding-left: 1.6em;
  text-indent: -1.3em; }

@media (max-width: 800px) {
  .page-sidebar + .page-content .productList .listItem-content {
    flex-direction: column;
    align-items: flex-start; }
  .page-sidebar + .page-content .productList .listItem-actions {
    text-align: left;
    width: 100%;
    margin-top: 1rem; } }

.svg-store-logo {
  width: 255px;
  height: 56px;
  max-width: 100%;
  /* Never exceed container width */
  display: block;
  overflow: visible !important; }

/* On small screens, scale it down proportionally */
@media (max-width: 800px) {
  /* Ensure the .logo-user-section has padding, especially when the header is fixed */
  .logo-user-section {
    padding-top: 8px;
    /* Default top padding */
    padding-bottom: 8px;
    /* Default bottom padding */
    /* It's already display: flex and align-items: center from theme styles, which is good. */ }
  /* Override the padding: 0; for the fixed header state forcefully */
  .header.fixed-header .logo-user-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important; }
  /* Control the H1 element that contains the logo link */
  .header-logo {
    /* This is the H1 tag */
    width: auto;
    /* Allow it to size based on its content */
    margin: 0;
    /* Remove default H1 browser margins */
    padding: 0;
    /* Padding will be handled by .logo-user-section or the link if needed */
    display: flex;
    /* Use flex to easily center the link */
    justify-content: flex-start;
    /* Align link to the start (left) */
    align-items: center;
    /* Vertically center the link */ }
  /* Control the link (<a>) wrapping the SVG */
  .header-logo__link {
    display: block;
    /* Make it a block element */
    width: 90px;
    /* Explicitly set the width for the logo's tappable area */
    height: auto;
    /* Allow height to adjust based on SVG's aspect ratio */
    line-height: 0;
    /* Can prevent extra spacing below the SVG */ }
  /* Control the div directly wrapping the SVG */
  .header-logo-image-container {
    width: 100%;
    /* Make it fill the .header-logo__link */
    height: auto;
    display: flex;
    /* Ensures SVG inside is aligned if it's smaller than container */
    align-items: center;
    justify-content: center; }
  /* Your original rule for the SVG itself is good with !important for size */
  /* Ensure this is the one being applied, or integrate it here: */
  .svg-store-logo {
    width: 90px !important;
    /* Explicit width from your original CSS */
    height: auto !important;
    /* Maintain aspect ratio */
    display: block !important;
    /* Good for layout */
    /* margin: 0 auto !important; /* Horizontal centering; should work if .header-logo__link is 90px and .header-logo uses flex-start */ } }

/* Default styles (Desktop) */
.mobile-logo {
  display: none;
  /* Hidden by default on larger screens */ }

.desktop-logo {
  display: block;
  /* Or whatever its original display was, e.g., inline-block.
                     The user's original CSS for .svg-store-logo had display: block !important */
  /* Your existing desktop styles for the SVG logo remain here or are inherited */ }

/* Mobile specific styles */
@media (max-width: 800px) {
  .desktop-logo {
    display: none !important;
    /* Hide the SVG logo on mobile */ }
  .mobile-logo {
    display: block !important;
    /* Show the PNG/JPG logo on mobile */
    width: 180px;
    /* Set your desired width for the mobile logo */
    height: auto;
    /* Maintain aspect ratio */
    margin: 0 auto;
    /* Optional: if you need to center it within its container */ }
  /* You'll still need to ensure the parent containers are positioned correctly
     and have enough vertical space, especially in the fixed header state.
     These rules are from the previous suggestion and are likely still important: */
  .logo-user-section {
    padding-top: 8px;
    padding-bottom: 8px;
    align-items: center;
    /* Ensure vertical centering */ }
  .header.fixed-header .logo-user-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important; }
  .header-logo {
    /* This is the H1 tag */
    width: auto;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    /* Aligns logo to the left on mobile */
    align-items: center; }
  .header-logo__link {
    /* The <a> tag */
    display: block;
    /* Or inline-block */
    width: 180px;
    /* Should match the width of your .mobile-logo */
    height: auto;
    line-height: 0; }
  .header-logo-image-container {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    /* This will center the 90px mobile logo if .header-logo__link is wider */
    /* If .header-logo__link is exactly 90px, justify-content here might not be needed */ } }

.estimator-form-label-text {
  font-size: 0.9em; }

.estimator-form-input--price {
  width: 24%; }

@media (min-width: 1261px) {
  .cart-totals {
    width: 47%; } }

.optimizedCheckout-headingPrimary {
  letter-spacing: 3px;
  text-transform: uppercase; }

.optimizedCheckout-headingSecondary {
  font-weight: 800; }

@media (max-width: 800px) {
  /* Targets the container div holding the Secure Checkout text and icons */
  .other_detail > div > div:last-child {
    flex: 1 1 100% !important;
    /* Forces it to full width on mobile */
    align-items: center !important;
    text-align: center !important;
    margin-top: 20px; } }

/* Container styling, alignment, and subtle circuit background */
.trust-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 4px 20px;
  background-color: #fdfdfd;
  /* Brightened base background */
  /* Updated SVG: Thinner lines, fainter color, more complex nodes */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg stroke='%23eff2f5' stroke-width='0.75' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10h15v15h30'/%3E%3Ccircle cx='55' cy='25' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M90 80H75V60H55'/%3E%3Ccircle cx='55' cy='60' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M0 90h25V75h15v15h40'/%3E%3Crect x='38' y='38' width='6' height='6'/%3E%3Cpath d='M41 38V15H25'/%3E%3Ccircle cx='25' cy='15' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M80 0v15h20'/%3E%3Cpath d='M100 25H85V45'/%3E%3Ccircle cx='85' cy='45' r='1.5' fill='%23eff2f5'/%3E%3Cpath d='M20 100V85H0'/%3E%3Ccircle cx='20' cy='85' r='1.5' fill='%23eff2f5'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 70px 70px;
  /* Smaller size forces a denser repeat */
  background-blend-mode: multiply;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  /* Typography */
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #555555;
  letter-spacing: 0.5px;
  font-weight: 400; }

/* Globe icon color */
.trust-banner .trust-icon {
  display: flex;
  color: #1a99d5; }

/* Brand Navy highlight */
.trust-banner .highlight-dark {
  font-weight: 700;
  color: #1a2a42;
  margin-bottom: -2px; }

/* Brand Blue highlight */
.trust-banner .highlight-blue {
  font-weight: 700;
  color: #1a99d5;
  margin-bottom: -2px; }

/* Hide trust banner on mobile screens */
@media (max-width: 768px) {
  .trust-banner {
    display: none !important; } }

/* ============================================================
Unified product buy box — stacked layout
   (in-stock header, price + volume, quantity + add-to-cart row,
    secure-checkout footer)
   ============================================================ */
.productView .inner_detailbox {
  /* Re-assert price colors (your older .productView-price rule greys them otherwise) */ }
  .productView .inner_detailbox > .g1-buybox {
    width: 100%;
    box-sizing: border-box;
    display: block;
    margin: 6px 0 0;
    padding: 12px 22px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
    /* In-stock header (relocated from the green box) */
    /* Quantity + Add to Cart: one full-width action row under the pricing */
    /* Secure-checkout footer (relocated from the green box) */ }
    .productView .inner_detailbox > .g1-buybox > .g1-buybox-stock {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 14px;
      padding-bottom: 14px;
      border-bottom: 1px solid #e9e9e9;
      font-size: 17px;
      font-weight: 700;
      color: #418f67; }
      .productView .inner_detailbox > .g1-buybox > .g1-buybox-stock .g1-stock-check {
        color: #418f67;
        flex-shrink: 0; }
      .productView .inner_detailbox > .g1-buybox > .g1-buybox-stock [data-product-stock] {
        color: #418f67; }
    .productView .inner_detailbox > .g1-buybox > .g1-pricebox {
      margin: 0; }
    .productView .inner_detailbox > .g1-buybox > .productView-options {
      text-align: left;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid #e5e5e5;
      /* Hide the "Quantity:" label (kept for screen readers) */
      /* Quantity stepper → one rounded pill with − / + */ }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form {
        display: block; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form .form_addtocart {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        max-width: none;
        margin: 0; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-field--increments {
        margin: 0;
        flex: 0 0 auto; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-field--increments .form-label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment {
        display: flex;
        align-items: stretch;
        box-sizing: border-box;
        height: 51px;
        border: 1px solid #d7d7d7;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        min-width: 36px;
        height: auto;
        margin: 0;
        padding: 0;
        border: 0 !important;
        border-radius: 0;
        background: #fff; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button .icon {
        display: none; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button[data-action="dec"]::after {
        content: "\2212"; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button[data-action="inc"]::after {
        content: "+"; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button[data-action="dec"]::after,
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .button[data-action="inc"]::after {
        font-size: 22px;
        font-weight: 400;
        line-height: 1;
        color: #2f2f2b; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-increment .form-input--incrementTotal {
        width: 44px;
        height: auto;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        text-align: center;
        font-size: 20px;
        color: #2f2f2b; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .form-action {
        flex: 1 1 240px;
        margin: 0;
        display: flex; }
      .productView .inner_detailbox > .g1-buybox > .productView-options .button--addtocart {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        height: 50px;
        margin: 0;
        padding: 0 16px;
        white-space: nowrap; }
    .productView .inner_detailbox > .g1-buybox > .g1-buybox-secure {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      margin-top: 8px;
      padding-top: 10px;
      border-top: 1px solid #e9e9e9; }
      .productView .inner_detailbox > .g1-buybox > .g1-buybox-secure .g1-buybox-secure-head {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.5px;
        color: #418f67;
        margin-top: 4px; }
      .productView .inner_detailbox > .g1-buybox > .g1-buybox-secure .g1-secure-cards {
        width: 210px;
        max-width: 100%;
        height: auto; }
    @media only screen and (max-width: 550px) {
      .productView .inner_detailbox > .g1-buybox {
        padding: 16px; }
        .productView .inner_detailbox > .g1-buybox > .productView-options .form .form_addtocart {
          gap: 12px;
          justify-content: center; }
        .productView .inner_detailbox > .g1-buybox > .productView-options .form-action {
          flex-basis: 100%; } }
  .productView .inner_detailbox .g1-pricebox .g1-list-price {
    color: #8c8c8c; }
  .productView .inner_detailbox .g1-pricebox .g1-price-now {
    color: #1b1b1b;
    font-size: 34px;
    font-weight: 700; }
  .productView .inner_detailbox .g1-pricebox .g1-price-now-label {
    color: #6b6b6b;
    font-weight: 400; }
  .productView .inner_detailbox .g1-pricebox .g1-you-save {
    color: #2e7d46; }
  .productView .inner_detailbox .g1-pricebox .g1-save-badge {
    color: #1f7a4d;
    font-size: 11px; }

.productView-options {
  margin-bottom: -2rem; }

.heroCarousel {
  margin-top: 0; }

.body {
  margin-bottom: 2rem; }

/* ============================================================
/* ============================================================
   CART — Section 1 consistency pass (matches g1- PDP language)
   ============================================================ */
/* (a) Quantity stepper → PDP g1-buybox pill.
/* (a) Quantity stepper → PDP g1-buybox pill, sized down ~20% for the cart. */
.cart-item-quantity .form-increment {
  display: inline-flex;
  align-items: stretch;
  box-sizing: border-box;
  height: 35px;
  /* was 44px (−20%) */
  border: 1px solid #d7d7d7;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
  .cart-item-quantity .form-increment .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    /* was 36px (−20%) */
    min-width: 29px;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: #fff;
    /* hide chevron svg */
    /* − */ }
    .cart-item-quantity .form-increment .button .icon {
      display: none; }
    .cart-item-quantity .form-increment .button[data-action="dec"]::after {
      content: "\2212"; }
    .cart-item-quantity .form-increment .button[data-action="inc"]::after {
      content: "+"; }
    .cart-item-quantity .form-increment .button[data-action="dec"]::after, .cart-item-quantity .form-increment .button[data-action="inc"]::after {
      font-size: 16px;
      /* was 20px (−20%) */
      font-weight: 400;
      line-height: 1;
      color: #2f2f2b; }
    .cart-item-quantity .form-increment .button:hover {
      background: #f7f7f7; }
  .cart-item-quantity .form-increment .form-input--incrementTotal {
    width: 37px;
    /* was 46px (−20%) */
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    font-size: 14px;
    /* was 18px (−20%) */
    color: #2f2f2b; }

/* (b) Line-items table → rounded panel */
.cart-content-wrap [data-cart-content] {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  padding: 4px 20px;
  margin-bottom: 20px; }

.cart-content-wrap [data-cart-content] .cart {
  margin-bottom: 0; }

/* (c) SVG secure-checkout lockup under the checkout button */
.cart-secure-checkout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 16px 0 4px; }
  .cart-secure-checkout .cart-secure-head {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #418f67;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.5px;
    white-space: nowrap; }
  .cart-secure-checkout .g1-secure-cards {
    width: 200px;
    max-width: 100%;
    height: auto; }

/* ============================================================
   CART — round 2 refinements (all CSS, no template edits)
   ============================================================ */
/* 1. Remove the trailing divider under the last cart row.
   Separators here live on the row / tbody (not the cells), so a
   td-only rule misses them — target the row level and force it. */
.cart-content-wrap [data-cart-content] .cart-item:last-child,
.cart-content-wrap [data-cart-content] .cart-item:last-child > td,
.cart-content-wrap [data-cart-content] .cart-list,
.cart-content-wrap [data-cart-content] .cart {
  border-bottom: 0 !important;
  box-shadow: none !important; }

/* Mobile: no column-label header row, so the divider that lands ABOVE the
   first item looks orphaned. Remove just that top line (first row / tbody /
   table). Cornerstone's per-item border-bottom is left intact, so the 1px
   dividers stay BETWEEN items, and the "#1" rule above already clears the
   line below the last item. */
@media (max-width: 800px) {
  .cart-content-wrap [data-cart-content] .cart-item:first-child,
  .cart-content-wrap [data-cart-content] .cart-item:first-child > td,
  .cart-content-wrap [data-cart-content] .cart-list,
  .cart-content-wrap [data-cart-content] .cart {
    border-top: 0 !important; } }

/* 2. Larger summary numbers; grand total becomes the hero figure */
.cart-total-value {
  font-size: 18px; }

.cart-total-grandTotal,
.cart-total-grandTotal span {
  font-size: 26px;
  font-weight: 700;
  color: #182a52;
  /* brand navy — same emphasis as the PDP price */ }

/* Optional, if you also meant the line-item Total column:
   .cart-item > td:last-child .cart-item-value { font-size: 18px; } */
/* 3. Secure-checkout → compact horizontal strip, anchored to the CTA */
.cart-actions .cart-secure-checkout {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  /* shares the button's right edge */
  align-items: center;
  gap: 8px 14px;
  margin-top: 16px; }

@media (max-width: 550px) {
  .cart-actions .cart-secure-checkout {
    justify-content: center; } }

/* 4. Total column: align the header with the $ values, not the × button.
   Pull the remove button out of the centering flow so "Total" sits over
   the figures, and park × in a reserved right-hand gutter. */
@media (min-width: 801px) {
  .cart-header-item:last-child,
  .cart-item > td:last-child {
    padding-right: 42px; }
  .cart-item > td:last-child {
    position: relative; }
  .cart-item > td:last-child .cart-remove {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    margin: 0; } }

/* ============================================================
   CART — page heading ("Your Cart (N items)")
   Scoped to the cart h1 only; other .page-heading pages untouched.
   ============================================================ */
[data-cart-page-title] {
  position: relative;
  text-align: left;
  margin: 0 0 22px;
  padding: 0 0 14px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  /* subtle tightening for large display text */
  color: #182a52;
  /* brand navy — same as the grand total */ }

[data-cart-page-title]::after {
  /* short teal accent — same vocabulary as your footer titles */
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 54px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #00e0b8, #00cab4); }

@media (max-width: 800px) {
  [data-cart-page-title] {
    font-size: 26px; } }

/* Activates once the count is wrapped in <span class="cart-count"> (see below) */
/* "4 items" — quiet + modern: soft grey, lighter, no parentheses,
   with a small teal dot separator that rhymes with the accent bar. */
[data-cart-page-title] .cart-count {
  display: inline-flex;
  align-items: center;
  margin-left: 13px;
  font-size: 0.46em;
  /* ~16px against the 34px heading */
  font-weight: 400;
  /* down from 500 */
  letter-spacing: 0.01em;
  color: #94a3b8;
  /* soft slate grey — lighter + less bold than before */
  vertical-align: middle; }

[data-cart-page-title] .cart-count::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 13px;
  border-radius: 50%;
  background: #00e0b8;
  /* brand teal */ }

/* Superscript currency symbol — shared by PDP and cart (must be global) */
.superscript-dollar {
  font-size: .6em !important;
  vertical-align: super;
  padding-right: 2px;
  text-decoration: none;
  color: inherit;
  display: inline-block;
  line-height: 1; }

/* ============================================================
   CART — keep the superscripted "$" glued to its amount.
   .superscript-dollar is display:inline-block, so the browser may
   break the line between the "$" and the number when a price cell
   narrows (the Total column does this ~1000px). Forcing the value
   element to nowrap keeps "$" + amount on one line; the column
   grows to fit. Scoped to the cart so the PDP class is untouched.
   ============================================================ */
.cart-content-wrap .cart-item-value,
.cart-content-wrap .cart-total-value {
  white-space: nowrap; }

/* Keep the superscripted "$" attached to its amount on the product view.
   :has() catches every price element that contains a wrapped "$", so there's
   no need to enumerate the PDP's various price classes. */
.productView :has(> .superscript-dollar) {
  white-space: nowrap; }

/* Every wrapped "$" tracks its own figure's colour. Broad theme rules grey
   spans by location (e.g. .productView-price span { color:#949494 }) and
   outrank a normal .superscript-dollar selector, so rather than chase each
   container with higher specificity, enforce the invariant on the class:
   the "$" always inherits its figure's colour — today's price, the struck
   original, the volume tiers, and the cart alike. */
.superscript-dollar {
  color: inherit !important; }

:has(> .superscript-dollar) {
  white-space: nowrap; }
