@charset "UTF-8";
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
/*============================================================================
  Colors
==============================================================================*/
/*============================================================================
  Typefaces
==============================================================================*/
/*============================================================================
  Fluid font sizes

  Between viewport widths of 30rem (480px) and 45rem (720px) these font sizes
  expand in size and typographic scale. At 30rem we have a minor third scale
  based on a 1rem (16px) base size, and at 45rem we have a major third scale
  based on a 1.13rem (18px) base size.
==============================================================================*/
/*============================================================================
  Static font sizes
==============================================================================*/
/*============================================================================
  Typography
==============================================================================*/
:root {
  --fg-default: #2e2625;
  --fg-muted: #666;
  --fg-subtle: #a8a0a0;
  --fg-accent: #eb4a18;
  --fg-sponsored: #1e71a8;
  --fg-on-color: #fff;
  --bg-default: #fff;
  --bg-subtle: #eee;
  --bg-emphasis: #000;
  --bg-accent: #f00;
  --bg-sponsored: #000;
  --border-default: #666;
  --border-subtle: #aaa;
  --body-font: ColfaxWeb, sans-serif;
  --body-font-scale: 1;
  --headline-font: ColfaxWeb, serif;
  --headline-font-scale: 1;
  --prose-font: ElenaWeb, serif;
  --prose-font-scale: 1;
  --heading-font: ColfaxWeb, sans-serif;
  --heading-font-scale: 1;
  --heading-font-weight: 800;
  --heading-line-height: 2.75ex;
  --fs-fluid-0: clamp(1rem, 0.8666666667vw - (30rem * 0.0086666667) + 1rem, 1.13rem);
  --fs-fluid-1: clamp(1.2rem, 1.4vw - (30rem * 0.014) + 1.2rem, 1.41rem);
  --fs-fluid-2: clamp(1.44rem, 2.1333333333vw - (30rem * 0.0213333333) + 1.44rem, 1.76rem);
  --fs-fluid-3: clamp(1.73rem, 3.1333333333vw - (30rem * 0.0313333333) + 1.73rem, 2.2rem);
  --fs-fluid-4: clamp(2.07rem, 4.5333333333vw - (30rem * 0.0453333333) + 2.07rem, 2.75rem);
  --fs-fluid-5: clamp(2.49rem, 6.2666666667vw - (30rem * 0.0626666667) + 2.49rem, 3.43rem);
  --fs-fluid-6: clamp(2.99rem, 8.6666666667vw - (30rem * 0.0866666667) + 2.99rem, 4.29rem);
  --body-fluid-00-font-family: var(--body-font);
  --body-fluid-00-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --body-fluid-00-line-height: calc(2.5ex + 4px);
  --body-fluid-01-font-family: var(--body-font);
  --body-fluid-01-font-size: var(--fs-fluid-0);
  --body-fluid-01-line-height: calc(2.5ex + 4px);
  --body-fluid-02-font-family: var(--body-font);
  --body-fluid-02-font-size: var(--fs-fluid-1);
  --body-fluid-02-line-height: calc(2.5ex + 4px);
  --prose-fluid-00-font-family: var(--prose-font);
  --prose-fluid-00-font-size: calc(0.85 * var(--fs-fluid-1));
  --prose-fluid-00-font-weight: 400;
  --prose-fluid-00-line-height: 3.5ex;
  --prose-fluid-00-letter-spacing: 0.005em;
  --prose-fluid-01-font-family: var(--prose-font);
  --prose-fluid-01-font-size: calc(0.85 * var(--fs-fluid-2));
  --prose-fluid-01-font-weight: 400;
  --prose-fluid-01-line-height: 3.5ex;
  --heading-fluid-01-font-family: var(--heading-font);
  --heading-fluid-01-font-size: var(--fs-fluid-0);
  --heading-fluid-01-font-weight: var(--heading-font-weight);
  --heading-fluid-01-line-height: var(--heading-line-height);
  --heading-fluid-02-font-family: var(--heading-font);
  --heading-fluid-02-font-size: var(--fs-fluid-1);
  --heading-fluid-02-font-weight: var(--heading-font-weight);
  --heading-fluid-02-line-height: var(--heading-line-height);
  --heading-fluid-03-font-family: var(--heading-font);
  --heading-fluid-03-font-size: var(--fs-fluid-2);
  --heading-fluid-03-font-weight: normal;
  --heading-fluid-03-line-height: var(--heading-line-height);
  --prose-lead-in-font-family: var(--body-font);
  --prose-lead-in-font-weight: bold;
  --prose-lead-in-text-transform: uppercase;
  --prose-lead-in-letter-spacing: 0.05em;
  --prose-drop-cap-font-size: 4em;
  --prose-drop-cap-line-height: 1.5ex;
  --caption-font-family: var(--body-font);
  --caption-font-size: 0.875rem;
  --caption-font-weight: 400;
  --caption-line-height: 1.3125;
  --caption-color: var(--fg-muted);
  --photo-credit-font-family: var(--body-font);
  --photo-credit-font-size: 0.75rem;
  --photo-credit-font-weight: 400;
  --photo-credit-line-height: 1.16667;
  --photo-credit-color: var(--fg-subtle);
  --quotation-fluid-01-font-size: var(--fs-fluid-2);
  --quotation-fluid-01-font-weight: bold;
  --quotation-fluid-01-line-height: calc(2.5ex + 4px);
  --quotation-fluid-02-font-size: var(--fs-fluid-2);
  --quotation-fluid-02-font-weight: bold;
  --quotation-fluid-02-line-height: calc(2.5ex + 4px);
  /**
   *  Literals
  **/
  --layout-padding: clamp(1.25rem, 8.3333333333vw - (30rem * 0.0833333333) + 1.25rem, 2.5rem);
  --layout-max-width: 64rem;
  --media-max-width: 64rem;
  --prose-max-width: 40rem;
  --fs-000: 0.75rem;
  --fs-00: 0.875rem;
  --fs-0: 1rem;
  --fs-1: 1.125rem;
  --fs-2: 1.25rem;
  --fs-3: 1.5rem;
  --fs-4: 1.875rem;
  --fs-5: 2.25rem;
  --fs-6: 3rem;
  --fs-7: 3.75rem;
  --fs-8: 4.5rem;
  --fs-9: 6rem;
  --fs-10: 8rem;
  --line-height-sm: calc(4px + 2ex);
  --line-height-md: calc(4px + 2.5ex);
  --line-height-lg: calc(4px + 3.25ex);
  --tracking-loose: 0.05em;
  --tracking-wide: 0.075em;
  --ar-square: 100%;
  --ar-3-2: 66.6667%;
  --ar-4-3: 75%;
  --ar-2-3: 150%;
  --ar-16-9: 56.25%;
  --theme--spacing-01: 0.125rem;
  --theme--spacing-02: 0.25rem;
  --theme--spacing-03: 0.5rem;
  --theme--spacing-04: 0.75rem;
  --theme--spacing-05: 1rem;
  --theme--spacing-06: 1.5rem;
  --theme--spacing-07: 2rem;
  --theme--spacing-08: 2.5rem;
  --theme--spacing-09: 3rem;
  --theme--spacing-10: 4rem;
  --theme--spacing-11: 5rem;
  --theme--spacing-12: 6rem;
  --theme--fluid-spacing-01: clamp(0.625rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.625rem, 0.75rem);
  --theme--fluid-spacing-02: clamp(0.75rem, 1.6666666667vw - (30rem * 0.0166666667) + 0.75rem, 1rem);
  --theme--fluid-spacing-06: clamp(1.5rem, 3.3333333333vw - (30rem * 0.0333333333) + 1.5rem, 2rem);
  --theme--fluid-spacing-07: clamp(2rem, 6.6666666667vw - (30rem * 0.0666666667) + 2rem, 3rem);
  /**
   *  Calculated variables
   *
   *  These provide convenient references to regularly-used calculations
   *  and in most cases should not be overridden or redefined.
  **/
  --c--layout-width: min(
    calc(100vw - 2 * var(--layout-padding)),
    var(--layout-max-width)
  );
  --c--prose-width: min(
    calc(100vw - 2 * var(--layout-padding)),
    var(--prose-max-width)
  );
  --c--layout-padding: calc(50vw - 0.5 * var(--c--layout-width));
  --c--content-wide-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--prose-max-width)) / 2),
    calc((var(--media-max-width) - var(--prose-max-width)) / 2)
  );
  --c--container-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--media-max-width)) / 2),
    calc((var(--layout-max-width) - var(--media-max-width)) / 2)
  );
  --c--full-constrained-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--layout-max-width)) / 2),
    calc(
      (calc(100vw - 2 * var(--layout-padding)) - var(--layout-max-width)) / 2
    )
  );
  --layout-grid: [full-bleed-start] var(--layout-padding)
    [full-constrained-start] var(--c--full-constrained-half) [container-start]
    var(--c--container-half) [content-wide-start] var(--c--content-wide-half)
    [content-narrow-start] minmax(0, var(--prose-max-width))
    [content-narrow-end] var(--c--content-wide-half) [content-wide-end]
    var(--c--container-half) [container-end] var(--c--full-constrained-half)
    [full-constrained-end] var(--layout-padding) [full-bleed-end];
  --story-grid: [full-start] minmax(var(--layout-padding), 1fr) [media-start]
    min(
      calc(50vw - var(--layout-padding) - 0.5 * var(--prose-max-width)),
      calc((var(--media-max-width) - var(--prose-max-width)) / 2)
    )
    [prose-start] minmax(0, var(--prose-max-width)) [prose-end]
    min(
      calc(50vw - var(--layout-padding) - 0.5 * var(--prose-max-width)),
      calc((var(--media-max-width) - var(--prose-max-width)) / 2)
    )
    [media-end] minmax(var(--layout-padding), 1fr) [full-end];
}
html {
  box-sizing: border-box;
  max-width: 100vw;
  overflow-x: hidden;
  width: 100vw;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
img {
  max-width: 100%;
}
.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.site-main {
  position: relative;
}
.site-footer {
  margin-top: auto;
}
.container {
  width: var(--c--layout-width);
  margin-left: auto;
  margin-right: auto;
}
.wrapper {
  padding-left: var(--layout-padding);
  padding-right: var(--layout-padding);
}
.layout {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 960px) {
  .layout {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.layout-grid {
  display: grid;
  grid-template-columns: var(--layout-grid);
}
.layout-grid > * {
  grid-column: container;
}
.layout-grid > .breadcrumbs,
.layout-grid > .widget--ad,
.layout-grid > .widget--editors-picks {
  grid-column: full-bleed;
}
@media screen and (min-width: 960px) {
  .layout-grid > .widget--editors-picks {
    grid-column: container;
  }
}
@media screen and (min-width: 960px) {
  .l-container--right-rail {
    display: flex;
    grid-column-gap: var(--layout-padding);
    -moz-column-gap: var(--layout-padding);
         column-gap: var(--layout-padding);
  }
}
.l-container--right-rail .l-main {
  flex: 1 1 auto;
  min-width: 0;
}
.l-container--right-rail .l-sidebar {
  flex: 0 0 300px;
  min-width: 0;
}
@media screen and (min-width: 960px) {
  .l-container--left-rail {
    display: flex;
  }
}
.l-container--left-rail .l-main {
  flex: 1 1 auto;
  margin-right: var(--layout-padding);
  order: 1;
  min-width: 0;
}
.l-container--left-rail .l-sidebar {
  flex: 0 0 300px;
  order: 0;
  min-width: 0;
  max-width: 300px;
}
.l-sidebar .ad-section {
  background: none;
}
.story-grid {
  display: grid;
  grid-template-columns: var(--story-grid);
}
.story-grid > * {
  grid-column: prose;
}
:root {
  --theme--fluid-scale-01: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--fluid-scale-02: clamp(1.125rem, 0.8333333333vw - (30rem * 0.0083333333) + 1.125rem, 1.25rem);
  --theme--fluid-scale-03: clamp(1.25rem, 1.6666666667vw - (30rem * 0.0166666667) + 1.25rem, 1.5rem);
  --theme--fluid-scale-04: clamp(1.5rem, 2.5vw - (30rem * 0.025) + 1.5rem, 1.875rem);
  --theme--fluid-scale-05: clamp(1.75rem, 3.3333333333vw - (30rem * 0.0333333333) + 1.75rem, 2.25rem);
  --theme--fluid-scale-06: clamp(2rem, 5vw - (30rem * 0.05) + 2rem, 2.75rem);
  --theme--fluid-scale-07: clamp(2.333rem, 7.78vw - (30rem * 0.0778) + 2.333rem, 3.5rem);
  --theme--fluid-scale-08: clamp(2.75rem, 11.6666666667vw - (30rem * 0.1166666667) + 2.75rem, 4.5rem);
  --theme--letter-spacing-loose: 0.05em;
  --theme--letter-spacing-wide: 0.1em;
  --theme--fluid-title-01-font-size: clamp(2rem, 6.6666666667vw - (30rem * 0.0666666667) + 2rem, 3rem);
  --theme--fluid-title-01-line-height: calc(2.25ex);
  --theme--fluid-title-01-font-weight: bold;
  --theme--fluid-title-01-font-family: var(--display-sans);
  --theme--fluid-body-00-font-size: clamp(0.75rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.75rem, 0.875rem);
  --theme--fluid-body-00-line-height: calc(2.5ex + 2px);
  --theme--fluid-body-01-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --theme--fluid-body-01-line-height: calc(2.5ex + 2px);
  --theme--fluid-body-02-font-family: var(--body-sans);
  --theme--fluid-body-02-line-height: calc(2.5ex + 4px);
  --theme--fluid-body-02-font-size: clamp(1rem, 3.3333vw, 1.125rem);
  --theme--fluid-prose-01-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --theme--fluid-prose-01-line-height: calc(3.5ex + 2px);
  --theme--fluid-prose-02-font-size: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--body-00-font-size: 0.5625rem;
  --theme--body-00-line-height: 0.75rem;
  --theme--body-01-font-size: 0.75rem;
  --theme--body-01-line-height: 1rem;
  --theme--body-02-font-size: 0.875rem;
  --theme--body-02-line-height: 1.25rem;
  --theme--fluid-heading-01-font-size: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--fluid-heading-01-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-02-font-size: clamp(1.125rem, 0.8333333333vw - (30rem * 0.0083333333) + 1.125rem, 1.25rem);
  --theme--fluid-heading-02-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-03-font-size: clamp(1.25rem, 1.6666666667vw - (30rem * 0.0166666667) + 1.25rem, 1.5rem);
  --theme--fluid-heading-03-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-04-font-size: clamp(1.5rem, 2.5vw - (30rem * 0.025) + 1.5rem, 1.875rem);
  --theme--fluid-heading-04-line-height: calc(2.5ex + 2px);
  --theme--fluid-headline-01-font-size: clamp(1.125rem, 2.5vw - (30rem * 0.025) + 1.125rem, 1.5rem);
  --theme--fluid-headline-01-line-height: calc(2.5ex - 2px);
  --theme--fluid-headline-02-font-size: clamp(1.125rem, 5.8333333333vw - (30rem * 0.0583333333) + 1.125rem, 2rem);
  --theme--fluid-headline-02-line-height: calc(2.5ex - 2px);
  --theme--fluid-headline-03-font-size: clamp(1.125rem, 9.1666666667vw - (30rem * 0.0916666667) + 1.125rem, 2.5rem);
  --theme--fluid-headline-03-line-height: calc(2.5ex - 2px);
}
.fluid-title-01 {
  font-family: var(--theme--fluid-title-01-font-family);
  font-size: var(--theme--fluid-title-01-font-size);
  font-weight: var(--theme--fluid-title-01-font-weight);
  line-height: var(--theme--fluid-title-01-line-height);
}
.v2-kicker {
  color: var(--kicker--color, var(--color-primary));
  font-family: var(--kicker--font-family, var(--body-sans));
  font-size: var(--kicker--font-size, var(--theme--fluid-body-01-font-size));
  font-style: var(--kicker--font-style);
  font-weight: var(--kicker--font-weight, bold);
  letter-spacing: var(--kicker--letter-spacing, var(--theme--letter-spacing-loose));
  line-height: var(--kicker--line-height, var(--theme--fluid-body-01-line-height));
  opacity: var(--kicker--opacity);
  text-transform: var(--kicker--text-transform, uppercase);
}
.v2-headline {
  color: var(--headline--color);
  font-family: var(--headline--font-family, var(--display-sans));
  font-size: var(--headline--font-size);
  font-weight: var(--headline--font-weight, bold);
  letter-spacing: var(--headline--letter-spacing);
  line-height: var(--headline--line-height, 2.25ex);
}
.v2-subhed {
  color: var(--subhed--color);
  font-family: var(--subhed--font-family, var(--body-sans));
  font-size: var(--subhed--font-size, var(--theme--fluid-body-02-font-size));
  font-weight: var(--subhed--font-weight);
  letter-spacing: var(--subhed--letter-spacing);
  line-height: var(--subhed--line-height, var(--theme--fluid-body-02-line-height));
}
.v2-teaser {
  color: var(--teaser--color);
  font-family: var(--teaser--font-family, var(--body-sans));
  font-size: var(--teaser--font-size, var(--theme--fluid-body-01-font-size));
  font-weight: var(--teaser--font-weight);
  letter-spacing: var(--teaser--letter-spacing);
  line-height: var(--teaser--line-height, var(--theme--fluid-body--01-line-height));
}
.story-header {
  --headline--color: black;
  --headline--font-size: var(--theme--fluid-title-01-font-size);
  --headline--line-height: var(--theme--fluid-title-01-line-height);
}
/**
 *  A wrapper for ads.
**/
.ad-section {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  font-family: var(--body-sans);
  justify-content: center;
  position: relative;
  height: var(--ad-section--height, auto);
  max-height: var(--ad-section--max-height, none);
  min-height: var(--ad-section--min-height, none);
}
.ad-section > div {
  background: var(--ad-section--background, #ededed);
  color: var(--ad-section--color, #aaa);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
  display: flex !important;
  height: 100% !important;
  width: 100% !important;
}
.ad-section > div::before {
  content: var(--ad-section--label, "Advertisement");
  font-size: 0.5625rem;
  letter-spacing: 0.15em;
  line-height: 1;
  margin: -0.5rem 0 0.5rem;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.ad-section--marquee {
  --ad-section--height: calc(33.333vw + 3rem);
  --ad-section--min-height: 250px;
  --ad-section--max-height: calc(500px + 3rem);
  grid-column: full-bleed;
}
@media screen and (max-width: 727px) {
  .ad-section--marquee {
    display: none;
  }
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
.breadcrumbs {
  margin-top: 1.5rem;
  background: white;
  top: 0;
  z-index: 100;
}
.breadcrumbs.js-is-sticky {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: 0.2s box-shadow;
}
.breadcrumbs.js-is-sticky ol {
  border-bottom-color: transparent;
}
.breadcrumbs.js-is-sticky li:first-child {
  display: flex;
}
.breadcrumbs ol {
  list-style: none;
  margin: 0;
  margin: initial;
  overflow-y: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  border-bottom: 1px solid var(--color-border);
  height: 2.5rem;
  overflow-x: scroll;
  width: var(--c--layout-width);
  margin-left: auto;
  margin-right: auto;
}
.breadcrumbs ol::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.breadcrumbs ol,
.breadcrumbs li {
  display: flex;
  align-items: center;
}
.breadcrumbs li {
  font-size: 0.8125rem;
  flex-shrink: 0;
  line-height: 1;
}
.breadcrumbs li:first-child {
  display: none;
}
.breadcrumbs li:first-child img {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}
.breadcrumbs li:nth-child(2) {
  font-weight: bold;
}
.breadcrumbs li:not(:last-child)::after {
  content: "";
  display: inline-flex;
  margin: 0 0.75em 0 0.5em;
  transform: rotate(45deg);
  border-right: 0.1em solid currentColor;
  border-top: 0.1em solid currentColor;
  height: 0.5em;
  width: 0.5em;
}
.breadcrumbs li:not(:first-child) a:hover {
  border-bottom-color: currentColor;
}
.breadcrumbs li.current {
  color: gray;
  display: none;
  font-weight: normal;
}
@media screen and (min-width: 64rem) {
  .breadcrumbs li.current {
    display: flex;
  }
}
.breadcrumbs a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  flex-shrink: 0;
  white-space: nowrap;
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
.channel-header {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 1.5rem;
}
.channel-header > * {
  margin-bottom: var(--channel-header--spacing, 1.25rem);
}
.channel-header__title {
  font-size: var(--channel-header--title--size, 2.5rem);
  line-height: 1;
  font-family: var(--title-font);
  font-weight: var(--title-font-weight);
}
.channel-header.is-large {
  --channel-header--title--size: 3.5rem;
  --channel-header--spacing: 1.25rem;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (min-width: 64rem) {
  .channel-header.is-large .horizontal-nav ul {
    justify-content: center;
    flex-wrap: wrap;
  }
}
.horizontal-nav {
  overflow-y: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  overflow: scroll;
}
.horizontal-nav::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.horizontal-nav ul {
  list-style: none;
  margin: 0;
  margin: initial;
  display: flex;
  flex-wrap: nowrap;
  color: black;
  display: flex;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  justify-content: flex-start;
  text-transform: uppercase;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.horizontal-nav a {
  color: inherit;
  display: block;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.5rem 0.5rem;
  transition: 0.2s all;
}
.horizontal-nav a:hover {
  color: var(--color-primary);
}
.icon {
  display: inline-flex;
  fill: currentColor;
  height: var(--icon--size, 1rem);
  pointer-events: none;
  width: var(--icon--size, 1rem);
}
.inline-list__item {
  display: inline-block;
}
.inline-list__item:not(:last-child)::after {
  content: "•";
  margin: 0.25em;
}
.inline-list__item a {
  color: inherit;
}
.item-row {
  --columns: 1;
  --thumbnail--aspect-ratio: var(--ar-square);
  display: grid;
  grid-template-columns: [layout-start] repeat(var(--columns), minmax(18%, 1fr)) [layout-end];
  grid-gap: 1rem;
  gap: 1rem;
  grid-auto-flow: dense;
}
.item-row .item {
  padding-bottom: var(--layout-gutter);
  border-bottom: 1px solid var(--theme--color-border);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas: "content content media";
  grid-column-gap: 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.item-row .item__content {
  margin-top: 0.75rem;
  grid-area: content;
}
.item-row .item__thumb {
  grid-area: media;
}
.item-row .item__teaser,
.item-row .item__meta {
  display: none;
}
.item-row .ad-section {
  grid-column: 1/-1;
  margin: 3rem 0;
}
.item-row [data-controller*=native-ad]:not(.loaded) {
  position: absolute;
}
@media screen and (min-width: 30rem) {
  .item-row {
    --columns: 2;
    --item--grid: var(--item-layout--vertical);
    --thumbnail--aspect-ratio: var(--ar-3-2);
  }
  .item-row .item {
    display: block;
    border-bottom: none;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 48rem) {
  .item-row {
    --columns: 4;
  }
}
.item-row .ad--native {
  width: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
:root {
  --item-layout--vertical: "thumbnail" auto "content" 1fr / auto;
  --item-layout--horizontal: "content thumbnail" auto /
    minmax(0, var(--item-layout--content-size, 2fr))
    minmax(8rem, var(--item-layout--thumbnail-size, 1fr));
  --item-layout--horizontal--lg: "content thumbnail" auto /
    minmax(0, var(--item--grid--content--cols, 1fr))
    minmax(0, var(--item--grid--thumbnail--cols, 2fr));
}
.v2-item {
  display: grid;
  grid-template: var(--item--grid, var(--item-layout--horizontal));
  grid-column-gap: var(--item--column-gap, 1rem);
  -moz-column-gap: var(--item--column-gap, 1rem);
       column-gap: var(--item--column-gap, 1rem);
  grid-row-gap: var(--item--row-gap, 0.75rem);
  row-gap: var(--item--row-gap, 0.75rem);
  position: relative;
  z-index: 1;
}
.v2-item .item__thumbnail {
  grid-area: thumbnail;
}
.v2-item .item__content {
  display: flex;
  grid-area: content;
  flex-direction: column;
  min-width: 0;
}
.v2-item .item__title,
.v2-item .item__teaser {
  margin: var(--item--content-spacing, 0.5rem) 0;
}
.v2-item .item__teaser,
.v2-item .item__meta {
  display: none;
}
.v2-item .item__title a {
  text-decoration: none;
  color: inherit;
}
.v2-item .item__title a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 2;
}
.v2-item .item__meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-item.is-spon {
  --kicker--color: var(--color-sponsored);
}
.v2-item.is-spon .item__kicker {
  color: var(--kicker--color);
}
.v2-item.is-spon .item__teaser,
.v2-item.is-spon .item__meta {
  display: block;
}
.v2-item.is-spon div[id*=google_ads_] {
  position: absolute;
  left: -99999rem;
}
.scrim {
  --scrim--opacity: 0.8;
  background: var(--scrim--bgcolor, rgba(0, 0, 0, 0.8));
  bottom: 0;
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  transition: var(--scrim--transition, 0.2s opacity ease-in-out);
  width: 100%;
  z-index: 0;
}
.js-is-visible + .scrim {
  opacity: var(--scrim--opacity);
  visibility: visible;
  pointer-events: all;
}
.share-button {
  display: inline-flex;
  padding: 0.5rem;
}
.share-button[data-sharer=facebook] {
  background: #425894;
  color: white;
}
.share-button[data-sharer=twitter] {
  background: #4d9feb;
  color: white;
}
.share-button[data-sharer=email] {
  background: #848484;
  color: white;
}
.share-button[data-sharer=pinterest] {
  background: #ba3430;
  color: white;
}
.share-button[data-sharer=linkedin] {
  background: #2d64bc;
  color: white;
}
.share-button[data-sharer=reddit] {
  background: #ec632b;
  color: white;
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
.site-header {
  border-bottom: 1px solid var(--color-border);
  position: relative;
  z-index: 200;
  --site-header--logo-height: 1.5rem;
}
@media screen and (min-width: 64rem) {
  .site-header {
    --site-header--logo-height: 2.5rem;
  }
  .global-navbar {
    padding-top: 1.25rem;
  }
  body.has-slim-header .site-header {
    --site-header--logo-height: 1.5rem;
  }
  body.has-slim-header .global-navbar {
    padding-top: 0;
  }
  body.has-slim-header .global-quicklinks {
    display: none;
  }
}
.navbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: calc(var(--c--layout-width) + 2rem);
  margin-left: auto;
  margin-right: auto;
}
.navbar__action {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  line-height: 1;
  --icon--size: 1.5rem;
  color: currentColor;
  cursor: pointer;
  padding: 1rem;
}
.modal {
  background: white;
  height: 100vh;
  width: 100vw;
  left: 0;
  opacity: 0;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  transform: scale(95%);
  transition: 0.1s visibility ease-in, 0.1s opacity ease-in, 0.1s transform ease-in;
  visibility: hidden;
  z-index: 200;
}
.modal.js-is-visible {
  visibility: visible;
  opacity: 1;
  transform: scale(100%);
}
.global-menu--primary {
  --menu--border: 1px solid var(--color-border);
  --menu-label--font-size: var(--menu-label--font-size--lg, 1.5rem);
  --menu-label--padding: 1rem;
}
.global-menu--secondary {
  --menu--border: 1px solid var(--color-border);
  --menu-label--font-size: var(--menu-label--font-size--md, 1.125rem);
  --menu-label--padding: 1rem;
}
.global-menu--footer {
  --menu-label--font-size: var(--menu-label--font-size--sm, 0.875rem);
  --menu-label--font-weight: bold;
  --menu-label--padding: 0.5rem;
  --menu-item--padding: 0.25rem 0;
  font-size: 0.875rem;
}
.global-menu--footer > ul {
  -moz-columns: 2;
       columns: 2;
  grid-column-gap: 1.125rem;
  -moz-column-gap: 1.125rem;
       column-gap: 1.125rem;
}
.global-menu--footer > ul li {
  margin-bottom: 0.5rem;
}
.global-menu--social {
  margin: 1.5rem 0;
}
.global-menu--address {
  font-size: 0.875rem;
  line-height: calc(4px + 2ex);
  margin: 0.5rem 0;
}
.global-menu--boilerplate {
  font-size: 0.75rem;
  display: flex;
  justify-content: space-between;
}
.global-menu__header svg {
  height: var(--site-header--logo-height);
}
.global-menu__body {
  padding: 1.25rem;
}
.global-menu ul {
  list-style: none;
  margin: 0;
  margin: initial;
}
.global-menu a {
  color: inherit;
  text-decoration: none;
}
.global-menu .menu {
  border-bottom: 1px solid var(--color-border, none);
  overflow: hidden;
  position: relative;
  z-index: 1;
  opacity: 0.8;
  transition: 0.2s opacity;
}
.global-menu .menu:hover {
  opacity: 1;
}
.global-menu .menu:hover .menu__toggle .icon {
  color: var(--color-primary);
}
.global-menu .menu__label {
  --icon--size: 1.5rem;
  background: white;
  font-size: var(--menu-label--font-size);
  font-weight: var(--menu-label--font-weight);
  padding: var(--menu-label--padding) 0;
  position: relative;
}
.global-menu .menu__toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  line-height: 1;
  position: absolute;
  cursor: pointer;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
}
.global-menu .menu__toggle .icon {
  transition: 0.2s transform, 0.2s color;
  margin: 1rem;
}
.global-menu .menu__items[data-toggle-target=toggleable] {
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 1rem 1rem;
  position: absolute;
  top: 100%;
  transform: translateY(-100%);
  transition: 0.2s transform ease-in-out, 0.2s opacity ease-in;
  width: 100%;
  z-index: -1;
}
.global-menu .menu__items[data-toggle-target=toggleable].js-is-visible {
  transform: none;
  opacity: 1;
  visibility: visible;
  position: relative;
}
.menu[data-toggle-is-open-value=true] {
  opacity: 1;
}
.menu[data-toggle-is-open-value=true] .menu__toggle .icon {
  transform: rotate(45deg);
}
.global-logo svg {
  height: var(--site-header--logo-height);
  width: auto;
  display: block;
}
.global-search .navbar > .navbar__action {
  margin-left: auto;
}
.global-search h2 {
  font-family: var(--title-font);
  font-weight: var(--title-font-weight);
  font-size: var(--fs-6);
  text-align: center;
  margin-bottom: 0.5em;
}
.global-search__fields {
  background: var(--color-background-muted);
  display: flex;
}
.global-search__fields input,
.global-search__fields button {
  padding: 1.5rem;
}
.global-search__fields input {
  background: inherit;
  border: 0;
  font-size: 1.5rem;
  line-height: 1;
  padding: 1.5rem;
  width: 100%;
}
.global-search__fields button {
  --icon--size: 1.5rem;
  background: var(--color-primary);
  color: white;
  display: inline-flex;
  align-items: center;
}
.global-quicklinks {
  overflow-y: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  display: none;
  overflow-x: scroll;
  width: 100%;
}
.global-quicklinks::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.global-quicklinks ul {
  list-style: none;
  margin: 0;
  margin: initial;
  color: black;
  display: flex;
  font-family: var(--site-header--menu--font-family);
  font-size: var(--site-header--menu--font-size, 0.6875rem);
  font-weight: var(--site-header--menu--font-weight);
  letter-spacing: var(--site-header--menu--letter-spacing);
  line-height: 1;
  justify-content: flex-start;
  text-transform: var(--site-header--menu--text-transform);
}
.global-quicklinks li {
  padding: 0 0.5rem;
}
.global-quicklinks li:first-child {
  margin-left: auto;
  padding-left: var(--layout-padding);
}
.global-quicklinks li:last-child {
  margin-right: auto;
  padding-right: var(--layout-padding);
}
.global-quicklinks a {
  color: inherit;
  text-decoration: none;
  display: block;
  padding: var(--site-header--menu--padding, 1rem 0);
  transition: 0.2s color;
  white-space: nowrap;
}
.global-quicklinks a:hover {
  color: var(--color-primary);
  border-bottom-color: 1px solid currentColor;
}
@media screen and (min-width: 64rem) {
  .global-quicklinks {
    display: block;
  }
}
.social-media-menu {
  --icon--size: 1.5rem;
  display: flex;
}
.social-media-menu a {
  display: inline-flex;
  transition: 0.2s all;
  padding: 0.25rem;
}
.social-media-menu a:hover {
  color: var(--color-primary);
}
.slideover {
  background: white;
  height: 100vh;
  max-width: 25rem;
  left: 0;
  opacity: 0;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  transform: translateX(-100%);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, visibility 0.3s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 9;
}
.slideover.js-is-visible {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}
.slideshow {
  --thumbnail--aspect-ratio: var(--ar-3-2);
  --thumbnail--object-fit: contain;
  grid-column-gap: var(--layout-padding);
  -moz-column-gap: var(--layout-padding);
       column-gap: var(--layout-padding);
  border-top: 1px solid var(--color-border);
  display: grid;
  grid-column: media;
  grid-template-columns: auto;
  grid-template-areas: "image" "controls" "content";
  grid-row-gap: 0.5rem;
  row-gap: 0.5rem;
  padding: 0.75rem 0;
  position: relative;
}
.slideshow__slide__image {
  grid-area: image;
}
.slideshow__slide__content {
  grid-area: content;
  align-self: end;
  padding: 0 0.5rem;
}
.slideshow__slide__title {
  font-weight: bold;
}
.slideshow__slide__title, .slideshow__slide__caption {
  margin-bottom: 0.5rem;
}
.slideshow__controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "prev details next";
  height: 2.5rem;
}
.slideshow__controls button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2.5rem;
  width: 2.5rem;
}
.slideshow__controls button:hover {
  color: var(--color-primary);
}
.slideshow__controls .icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
}
.slideshow__controls__prev {
  grid-area: prev;
}
.slideshow__controls__details {
  grid-area: details;
  align-self: center;
  text-align: center;
  font-size: 0.875rem;
  color: var(--color-text-muted);
}
.slideshow__controls__next {
  grid-area: next;
}
@media screen and (min-width: 60rem) {
  .slideshow {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    grid-template-areas: "image content" "image controls";
  }
  .slideshow__controls {
    border-top: 1px solid var(--color-border);
  }
}
@media screen and (min-width: 60rem) {
  .l-main .slideshow {
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-template-areas: "image" "content" "controls";
  }
}
.layout--feature-article .cover-image {
  width: 100vw;
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
/*============================================================================
  Colors
==============================================================================*/
/*============================================================================
  Typefaces
==============================================================================*/
/*============================================================================
  Fluid font sizes

  Between viewport widths of 30rem (480px) and 45rem (720px) these font sizes
  expand in size and typographic scale. At 30rem we have a minor third scale
  based on a 1rem (16px) base size, and at 45rem we have a major third scale
  based on a 1.13rem (18px) base size.
==============================================================================*/
/*============================================================================
  Static font sizes
==============================================================================*/
/*============================================================================
  Typography
==============================================================================*/
:root {
  --fg-default: #2e2625;
  --fg-muted: #666;
  --fg-subtle: #a8a0a0;
  --fg-accent: #eb4a18;
  --fg-sponsored: #1e71a8;
  --fg-on-color: #fff;
  --bg-default: #fff;
  --bg-subtle: #eee;
  --bg-emphasis: #000;
  --bg-accent: #f00;
  --bg-sponsored: #000;
  --border-default: #666;
  --border-subtle: #aaa;
  --body-font: ColfaxWeb, sans-serif;
  --body-font-scale: 1;
  --headline-font: ColfaxWeb, serif;
  --headline-font-scale: 1;
  --prose-font: ElenaWeb, serif;
  --prose-font-scale: 1;
  --heading-font: ColfaxWeb, sans-serif;
  --heading-font-scale: 1;
  --heading-font-weight: 800;
  --heading-line-height: 2.75ex;
  --fs-fluid-0: clamp(1rem, 0.8666666667vw - (30rem * 0.0086666667) + 1rem, 1.13rem);
  --fs-fluid-1: clamp(1.2rem, 1.4vw - (30rem * 0.014) + 1.2rem, 1.41rem);
  --fs-fluid-2: clamp(1.44rem, 2.1333333333vw - (30rem * 0.0213333333) + 1.44rem, 1.76rem);
  --fs-fluid-3: clamp(1.73rem, 3.1333333333vw - (30rem * 0.0313333333) + 1.73rem, 2.2rem);
  --fs-fluid-4: clamp(2.07rem, 4.5333333333vw - (30rem * 0.0453333333) + 2.07rem, 2.75rem);
  --fs-fluid-5: clamp(2.49rem, 6.2666666667vw - (30rem * 0.0626666667) + 2.49rem, 3.43rem);
  --fs-fluid-6: clamp(2.99rem, 8.6666666667vw - (30rem * 0.0866666667) + 2.99rem, 4.29rem);
  --body-fluid-00-font-family: var(--body-font);
  --body-fluid-00-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --body-fluid-00-line-height: calc(2.5ex + 4px);
  --body-fluid-01-font-family: var(--body-font);
  --body-fluid-01-font-size: var(--fs-fluid-0);
  --body-fluid-01-line-height: calc(2.5ex + 4px);
  --body-fluid-02-font-family: var(--body-font);
  --body-fluid-02-font-size: var(--fs-fluid-1);
  --body-fluid-02-line-height: calc(2.5ex + 4px);
  --prose-fluid-00-font-family: var(--prose-font);
  --prose-fluid-00-font-size: calc(0.85 * var(--fs-fluid-1));
  --prose-fluid-00-font-weight: 400;
  --prose-fluid-00-line-height: 3.5ex;
  --prose-fluid-00-letter-spacing: 0.005em;
  --prose-fluid-01-font-family: var(--prose-font);
  --prose-fluid-01-font-size: calc(0.85 * var(--fs-fluid-2));
  --prose-fluid-01-font-weight: 400;
  --prose-fluid-01-line-height: 3.5ex;
  --heading-fluid-01-font-family: var(--heading-font);
  --heading-fluid-01-font-size: var(--fs-fluid-0);
  --heading-fluid-01-font-weight: var(--heading-font-weight);
  --heading-fluid-01-line-height: var(--heading-line-height);
  --heading-fluid-02-font-family: var(--heading-font);
  --heading-fluid-02-font-size: var(--fs-fluid-1);
  --heading-fluid-02-font-weight: var(--heading-font-weight);
  --heading-fluid-02-line-height: var(--heading-line-height);
  --heading-fluid-03-font-family: var(--heading-font);
  --heading-fluid-03-font-size: var(--fs-fluid-2);
  --heading-fluid-03-font-weight: normal;
  --heading-fluid-03-line-height: var(--heading-line-height);
  --prose-lead-in-font-family: var(--body-font);
  --prose-lead-in-font-weight: bold;
  --prose-lead-in-text-transform: uppercase;
  --prose-lead-in-letter-spacing: 0.05em;
  --prose-drop-cap-font-size: 4em;
  --prose-drop-cap-line-height: 1.5ex;
  --caption-font-family: var(--body-font);
  --caption-font-size: 0.875rem;
  --caption-font-weight: 400;
  --caption-line-height: 1.3125;
  --caption-color: var(--fg-muted);
  --photo-credit-font-family: var(--body-font);
  --photo-credit-font-size: 0.75rem;
  --photo-credit-font-weight: 400;
  --photo-credit-line-height: 1.16667;
  --photo-credit-color: var(--fg-subtle);
  --quotation-fluid-01-font-size: var(--fs-fluid-2);
  --quotation-fluid-01-font-weight: bold;
  --quotation-fluid-01-line-height: calc(2.5ex + 4px);
  --quotation-fluid-02-font-size: var(--fs-fluid-2);
  --quotation-fluid-02-font-weight: bold;
  --quotation-fluid-02-line-height: calc(2.5ex + 4px);
  /**
   *  Literals
  **/
  --layout-padding: clamp(1.25rem, 8.3333333333vw - (30rem * 0.0833333333) + 1.25rem, 2.5rem);
  --layout-max-width: 64rem;
  --media-max-width: 64rem;
  --prose-max-width: 40rem;
  --fs-000: 0.75rem;
  --fs-00: 0.875rem;
  --fs-0: 1rem;
  --fs-1: 1.125rem;
  --fs-2: 1.25rem;
  --fs-3: 1.5rem;
  --fs-4: 1.875rem;
  --fs-5: 2.25rem;
  --fs-6: 3rem;
  --fs-7: 3.75rem;
  --fs-8: 4.5rem;
  --fs-9: 6rem;
  --fs-10: 8rem;
  --line-height-sm: calc(4px + 2ex);
  --line-height-md: calc(4px + 2.5ex);
  --line-height-lg: calc(4px + 3.25ex);
  --tracking-loose: 0.05em;
  --tracking-wide: 0.075em;
  --ar-square: 100%;
  --ar-3-2: 66.6667%;
  --ar-4-3: 75%;
  --ar-2-3: 150%;
  --ar-16-9: 56.25%;
  --theme--spacing-01: 0.125rem;
  --theme--spacing-02: 0.25rem;
  --theme--spacing-03: 0.5rem;
  --theme--spacing-04: 0.75rem;
  --theme--spacing-05: 1rem;
  --theme--spacing-06: 1.5rem;
  --theme--spacing-07: 2rem;
  --theme--spacing-08: 2.5rem;
  --theme--spacing-09: 3rem;
  --theme--spacing-10: 4rem;
  --theme--spacing-11: 5rem;
  --theme--spacing-12: 6rem;
  --theme--fluid-spacing-01: clamp(0.625rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.625rem, 0.75rem);
  --theme--fluid-spacing-02: clamp(0.75rem, 1.6666666667vw - (30rem * 0.0166666667) + 0.75rem, 1rem);
  --theme--fluid-spacing-06: clamp(1.5rem, 3.3333333333vw - (30rem * 0.0333333333) + 1.5rem, 2rem);
  --theme--fluid-spacing-07: clamp(2rem, 6.6666666667vw - (30rem * 0.0666666667) + 2rem, 3rem);
  /**
   *  Calculated variables
   *
   *  These provide convenient references to regularly-used calculations
   *  and in most cases should not be overridden or redefined.
  **/
  --c--layout-width: min(
    calc(100vw - 2 * var(--layout-padding)),
    var(--layout-max-width)
  );
  --c--prose-width: min(
    calc(100vw - 2 * var(--layout-padding)),
    var(--prose-max-width)
  );
  --c--layout-padding: calc(50vw - 0.5 * var(--c--layout-width));
  --c--content-wide-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--prose-max-width)) / 2),
    calc((var(--media-max-width) - var(--prose-max-width)) / 2)
  );
  --c--container-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--media-max-width)) / 2),
    calc((var(--layout-max-width) - var(--media-max-width)) / 2)
  );
  --c--full-constrained-half: min(
    calc((100vw - (2 * var(--layout-padding)) - var(--layout-max-width)) / 2),
    calc(
      (calc(100vw - 2 * var(--layout-padding)) - var(--layout-max-width)) / 2
    )
  );
  --layout-grid: [full-bleed-start] var(--layout-padding)
    [full-constrained-start] var(--c--full-constrained-half) [container-start]
    var(--c--container-half) [content-wide-start] var(--c--content-wide-half)
    [content-narrow-start] minmax(0, var(--prose-max-width))
    [content-narrow-end] var(--c--content-wide-half) [content-wide-end]
    var(--c--container-half) [container-end] var(--c--full-constrained-half)
    [full-constrained-end] var(--layout-padding) [full-bleed-end];
  --story-grid: [full-start] minmax(var(--layout-padding), 1fr) [media-start]
    min(
      calc(50vw - var(--layout-padding) - 0.5 * var(--prose-max-width)),
      calc((var(--media-max-width) - var(--prose-max-width)) / 2)
    )
    [prose-start] minmax(0, var(--prose-max-width)) [prose-end]
    min(
      calc(50vw - var(--layout-padding) - 0.5 * var(--prose-max-width)),
      calc((var(--media-max-width) - var(--prose-max-width)) / 2)
    )
    [media-end] minmax(var(--layout-padding), 1fr) [full-end];
}
:root {
  --theme--fluid-scale-01: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--fluid-scale-02: clamp(1.125rem, 0.8333333333vw - (30rem * 0.0083333333) + 1.125rem, 1.25rem);
  --theme--fluid-scale-03: clamp(1.25rem, 1.6666666667vw - (30rem * 0.0166666667) + 1.25rem, 1.5rem);
  --theme--fluid-scale-04: clamp(1.5rem, 2.5vw - (30rem * 0.025) + 1.5rem, 1.875rem);
  --theme--fluid-scale-05: clamp(1.75rem, 3.3333333333vw - (30rem * 0.0333333333) + 1.75rem, 2.25rem);
  --theme--fluid-scale-06: clamp(2rem, 5vw - (30rem * 0.05) + 2rem, 2.75rem);
  --theme--fluid-scale-07: clamp(2.333rem, 7.78vw - (30rem * 0.0778) + 2.333rem, 3.5rem);
  --theme--fluid-scale-08: clamp(2.75rem, 11.6666666667vw - (30rem * 0.1166666667) + 2.75rem, 4.5rem);
  --theme--letter-spacing-loose: 0.05em;
  --theme--letter-spacing-wide: 0.1em;
  --theme--fluid-title-01-font-size: clamp(2rem, 6.6666666667vw - (30rem * 0.0666666667) + 2rem, 3rem);
  --theme--fluid-title-01-line-height: calc(2.25ex);
  --theme--fluid-title-01-font-weight: bold;
  --theme--fluid-title-01-font-family: var(--display-sans);
  --theme--fluid-body-00-font-size: clamp(0.75rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.75rem, 0.875rem);
  --theme--fluid-body-00-line-height: calc(2.5ex + 2px);
  --theme--fluid-body-01-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --theme--fluid-body-01-line-height: calc(2.5ex + 2px);
  --theme--fluid-body-02-font-family: var(--body-sans);
  --theme--fluid-body-02-line-height: calc(2.5ex + 4px);
  --theme--fluid-body-02-font-size: clamp(1rem, 3.3333vw, 1.125rem);
  --theme--fluid-prose-01-font-size: clamp(0.875rem, 0.8333333333vw - (30rem * 0.0083333333) + 0.875rem, 1rem);
  --theme--fluid-prose-01-line-height: calc(3.5ex + 2px);
  --theme--fluid-prose-02-font-size: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--body-00-font-size: 0.5625rem;
  --theme--body-00-line-height: 0.75rem;
  --theme--body-01-font-size: 0.75rem;
  --theme--body-01-line-height: 1rem;
  --theme--body-02-font-size: 0.875rem;
  --theme--body-02-line-height: 1.25rem;
  --theme--fluid-heading-01-font-size: clamp(1rem, 0.8333333333vw - (30rem * 0.0083333333) + 1rem, 1.125rem);
  --theme--fluid-heading-01-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-02-font-size: clamp(1.125rem, 0.8333333333vw - (30rem * 0.0083333333) + 1.125rem, 1.25rem);
  --theme--fluid-heading-02-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-03-font-size: clamp(1.25rem, 1.6666666667vw - (30rem * 0.0166666667) + 1.25rem, 1.5rem);
  --theme--fluid-heading-03-line-height: calc(2.5ex + 2px);
  --theme--fluid-heading-04-font-size: clamp(1.5rem, 2.5vw - (30rem * 0.025) + 1.5rem, 1.875rem);
  --theme--fluid-heading-04-line-height: calc(2.5ex + 2px);
  --theme--fluid-headline-01-font-size: clamp(1.125rem, 2.5vw - (30rem * 0.025) + 1.125rem, 1.5rem);
  --theme--fluid-headline-01-line-height: calc(2.5ex - 2px);
  --theme--fluid-headline-02-font-size: clamp(1.125rem, 5.8333333333vw - (30rem * 0.0583333333) + 1.125rem, 2rem);
  --theme--fluid-headline-02-line-height: calc(2.5ex - 2px);
  --theme--fluid-headline-03-font-size: clamp(1.125rem, 9.1666666667vw - (30rem * 0.0916666667) + 1.125rem, 2.5rem);
  --theme--fluid-headline-03-line-height: calc(2.5ex - 2px);
}
.fluid-title-01 {
  font-family: var(--theme--fluid-title-01-font-family);
  font-size: var(--theme--fluid-title-01-font-size);
  font-weight: var(--theme--fluid-title-01-font-weight);
  line-height: var(--theme--fluid-title-01-line-height);
}
.v2-kicker {
  color: var(--kicker--color, var(--color-primary));
  font-family: var(--kicker--font-family, var(--body-sans));
  font-size: var(--kicker--font-size, var(--theme--fluid-body-01-font-size));
  font-style: var(--kicker--font-style);
  font-weight: var(--kicker--font-weight, bold);
  letter-spacing: var(--kicker--letter-spacing, var(--theme--letter-spacing-loose));
  line-height: var(--kicker--line-height, var(--theme--fluid-body-01-line-height));
  opacity: var(--kicker--opacity);
  text-transform: var(--kicker--text-transform, uppercase);
}
.v2-headline {
  color: var(--headline--color);
  font-family: var(--headline--font-family, var(--display-sans));
  font-size: var(--headline--font-size);
  font-weight: var(--headline--font-weight, bold);
  letter-spacing: var(--headline--letter-spacing);
  line-height: var(--headline--line-height, 2.25ex);
}
.v2-subhed {
  color: var(--subhed--color);
  font-family: var(--subhed--font-family, var(--body-sans));
  font-size: var(--subhed--font-size, var(--theme--fluid-body-02-font-size));
  font-weight: var(--subhed--font-weight);
  letter-spacing: var(--subhed--letter-spacing);
  line-height: var(--subhed--line-height, var(--theme--fluid-body-02-line-height));
}
.v2-teaser {
  color: var(--teaser--color);
  font-family: var(--teaser--font-family, var(--body-sans));
  font-size: var(--teaser--font-size, var(--theme--fluid-body-01-font-size));
  font-weight: var(--teaser--font-weight);
  letter-spacing: var(--teaser--letter-spacing);
  line-height: var(--teaser--line-height, var(--theme--fluid-body--01-line-height));
}
.story-header {
  --headline--color: black;
  --headline--font-size: var(--theme--fluid-title-01-font-size);
  --headline--line-height: var(--theme--fluid-title-01-line-height);
}
.story {
  display: flex;
  flex-direction: column;
  align-items: center;
  outline-offset: -3px;
}
.story-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  grid-gap: clamp(1rem, 3.3333333333vw - (30rem * 0.0333333333) + 1rem, 1.5rem);
  gap: clamp(1rem, 3.3333333333vw - (30rem * 0.0333333333) + 1rem, 1.5rem);
  margin-top: clamp(1.5rem, 10vw - (30rem * 0.1) + 1.5rem, 3rem);
  margin-bottom: clamp(1.5rem, 0vw - (30rem * 0) + 1.5rem, 1.5rem);
  max-width: var(--c--layout-width);
  width: 100%;
}
.story-header > * {
  max-width: 45rem;
  margin-bottom: 0;
  margin-top: 0;
  width: 100%;
}
.story-main {
  --ad-section--label: "Advertisement - Story Continues Below";
  width: 100%;
  max-width: var(--c--prose-width);
  margin: 0 auto;
}
.story-main .ad-section {
  clear: both;
  margin: var(--prose--spacing-2, 3em) calc(50% - 50vw);
  transform: translateX(calc(50vw - 50%));
}
.story-main .ad--native {
  --thumbnail--aspect-ratio: var(--ar-square);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-family: var(--body-sans);
  padding: 1.5rem 0.75rem;
  position: relative;
  margin: var(--prose--spacing-2, 3em) 0;
}
.story-main .ad--native::before {
  content: var(--ad-section--label);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.5625rem;
  line-height: 1;
  position: absolute;
  bottom: 100%;
  width: 100%;
  text-align: center;
  margin-bottom: 0.5rem;
}
.story-main .ad--native .item__kicker {
  font-size: 0.75rem;
  margin: 0 0 0.5rem;
}
.story-main .ad--native .item__title {
  font-size: 1.25rem;
  line-height: 1.2;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 50rem) {
  .story-main .ad--native .item__title {
    font-size: 1.5rem;
  }
}
.story-main .ad--native .item__kicker,
.story-main .ad--native .item__teaser,
.story-main .ad--native .item__meta {
  display: block;
  font-family: inherit;
  line-height: 1.2;
}
.story-main .ad--native .item__teaser {
  margin-top: auto;
}
.story-main .ad--native .item__teaser,
.story-main .ad--native .item__meta {
  font-size: 0.875rem;
}
.story-main .ad--native .item__meta {
  font-size: 0.75rem;
  margin: 0;
}
.story-main .ad--native div[id*=google_ads_iframe] {
  position: absolute;
  left: auto;
}
.story-main .ad--native a {
  border-bottom: 0;
}
.story-main .c-media {
  margin-bottom: var(--theme--fluid-spacing-07);
  margin-top: var(--theme--fluid-spacing-07);
}
.story-main .c-media figcaption p {
  margin: 0;
}
.story-main .c-media:first-child {
  margin-top: 0;
}
.story-main .c-media--image img {
  display: block;
  width: 100%;
  height: auto;
}
.story-main .c-media__attributions {
  margin-top: var(--theme--fluid-spacing-01);
}
.story-main .c-media__attributions p {
  color: var(--photo-credit--color, black);
  font-family: var(--photo-credit--font-family, var(--body-sans));
  font-size: var(--photo-credit--font-size, var(--theme--body-00-font-size));
  font-weight: var(--photo-credit--font-weight, normal);
  letter-spacing: var(--photo-credit--letter-spacing, var(--theme--letter-spacing-loose));
  line-height: var(--photo-credit--line-height, var(--theme--body-00-line-height));
  opacity: var(--photo-credit--opacity, 0.5);
}
.story-main .c-media__caption {
  margin-top: var(--theme--fluid-spacing-02);
}
.story-main .c-media__caption p {
  color: var(--caption--color, black);
  font-family: var(--caption--font-family, var(--body-sans));
  font-size: var(--caption--font-size, var(--theme--fluid-body-00-font-size));
  font-weight: var(--caption--font-weight, normal);
  letter-spacing: var(--caption--letter-spacing);
  line-height: var(--caption--line-height, var(--theme--fluid-body-00-line-height));
  opacity: var(--caption--opacity, 0.7);
}
.story-main .c-media__caption p:not(:last-child) {
  margin-bottom: 1em;
}
@media screen and (min-width: 30rem) {
  .story-main .c-align--left {
    width: 50%;
    float: left;
    margin: 0 var(--theme--fluid-spacing-06) var(--theme--fluid-spacing-06) calc(-1 * var(--layout-padding));
  }
  .story-main .c-align--left figcaption {
    padding-left: var(--layout-padding);
    padding-right: calc(0.25 * var(--layout-padding));
  }
  .story-main .c-align--right {
    width: 50%;
    float: right;
    margin: 0 calc(-1 * var(--layout-padding)) var(--theme--fluid-spacing-06) var(--theme--fluid-spacing-06);
  }
  .story-main .c-align--right figcaption {
    padding-right: var(--layout-padding);
    padding-left: calc(0.25 * var(--layout-padding));
    text-align: right;
  }
}
@media screen and (min-width: 45rem) {
  .story-main .c-align--left {
    margin-left: calc(-0.5 * (var(--c--layout-width) - var(--c--prose-width)));
  }
  .story-main .c-align--right {
    margin-right: calc(-0.5 * (var(--c--layout-width) - var(--c--prose-width)));
  }
  .story-main .c-align--left figcaption,
.story-main .c-align--right figcaption {
    padding: 0;
  }
}
.story-main .c-align--center img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  min-height: 1px;
}
.story-main .c-align--full {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  transform: translateX(calc(50vw - 50%));
  max-width: 100vw;
}
@media screen and (min-width: 45rem) {
  .story-main .c-align--full {
    margin-right: calc(50% - 50vw + var(--layout-padding));
    margin-left: calc(50% - 50vw + var(--layout-padding));
    transform: translateX(calc(50vw - 50% - var(--layout-padding)));
    max-width: var(--layout-max-width);
  }
}
.story-main .c-align--bleed {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  transform: translateX(calc(50vw - 50%));
}
.story-main .c-align--full figcaption,
.story-main .c-align--bleed figcaption {
  max-width: var(--c--prose-width);
  margin-left: auto;
  margin-right: auto;
}
.visually-hidden,
.visuallyhidden,
.shopify-buy--visually-hidden {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}
.screen-reader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
button,
[role=button] {
  cursor: pointer;
}
/**
 *  Currently <ul> and <ol> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Currently <a> elements are styled globally. Until this can be
 *  addressed comprehensively, this mixin resets those styles.
**/
/**
 *  Cross-platform approach to hiding scrollbars.
**/
.thumbnail {
  position: relative;
  background: var(--color-background-dark);
  padding-bottom: var(--thumbnail--aspect-ratio);
}
.thumbnail img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: var(--thumbnail--object-fit, cover);
     object-fit: var(--thumbnail--object-fit, cover);
}
.thumbnail .cld-responsive {
  opacity: 0;
  transition: 0.2s all;
}
.thumbnail.aspect_ratio_square {
  --thumbnail--aspect-ratio: var(--ar-square);
}
.thumbnail.aspect_ratio_rectangle {
  --thumbnail--aspect-ratio: var(--ar-3-2);
}
.thumbnail.aspect_ratio_16_9 {
  --thumbnail--aspect-ratio: var(--ar-16-9);
}
.thumbnail.aspect_ratio_4_3 {
  --thumbnail--aspect-ratio: var(--ar-4-3);
}
.thumbnail.aspect_ratio_2_3 {
  --thumbnail--aspect-ratio: var(--ar-2-3);
}
.thumbnail.aspect_ratio_none img {
  position: relative;
}
.c-body span.c-drop-cap,
.c-body p.c-drop-cap::first-letter {
  font-size: 6em;
  float: left;
  padding-right: 0.05em;
  color: var(--title-color);
  line-height: 1.6ex;
}
.c-body .c-kicker {
  display: inline-block;
  padding-bottom: 0.25rem;
  line-height: 1;
  font-family: var(--body-font);
  border-bottom: 2px solid black;
  margin-bottom: 0.75rem;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: bold;
}
.c-body .c-kicker + h1, .c-body .c-kicker + h2, .c-body .c-kicker + h3, .c-body .c-kicker + h4, .c-body .c-kicker + h5, .c-body .c-kicker + h6 {
  margin-top: 0;
}
.c-body .c-label {
  background: var(--bg-accent);
  color: var(--fg-on-color);
  font-family: var(--body-font);
  font-weight: bold;
  padding: 0.25em 0.375em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1;
  font-size: 0.75em;
}
.c-body .c-lead-in,
.c-body .lead-in {
  font-family: var(--body-font);
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.8em;
}
.c-link-button {
  align-items: center;
  border: 2px solid var(--c-link-button--color, var(--fg-default));
  font-family: var(--body-font);
  display: inline-flex;
  line-height: 1;
  padding: 0.5em 0.75em;
  background-color: var(--c-link-button--bgcolor, transparent);
  color: var(--c-link-button--color, var(--fg-default)) !important;
  text-decoration: none;
  font-size: 1rem;
  height: 2.625rem;
}
.c-link-button:not(:last-child) {
  margin-right: 0.25em;
}
.c-link-button:hover {
  background-color: var(--c-link-button--bgcolor--hover, var(--fg-default));
  color: var(--c-link-button--color--hover, white) !important;
}
.c-body .c-listicle-block {
  margin: 3rem 0;
}
.c-body .c-listicle-block header {
  margin-bottom: 1.5rem;
}
.c-body .c-listing-details {
  font-family: var(--body-sans);
  font-size: 14px;
  letter-spacing: 0.075em;
  margin: 12px 0 24px;
  text-transform: uppercase;
}
.c-body .c-product-price {
  color: var(--product-price--color, var(--fg-muted));
  font-family: var(--product-price--font-family, var(--body-font));
  font-size: var(--fs-fluid-0);
  margin: 12px 0 24px;
}
.c-body .c-pull-quote {
  font-family: var(--body-font);
  margin: 3rem 0;
  text-align: center;
  width: 100%;
}
.c-body .c-pull-quote > * {
  width: 100%;
}
.c-body .c-pull-quote p {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2.5ex;
}
.c-body .c-pull-quote cite {
  font-size: 0.875rem;
}
.c-body .c-pull-quote > :first-child {
  margin-top: 0;
}
.c-body .c-pull-quote > :last-child {
  margin-bottom: 0;
}
.c-body .c-pull-quote::before, .c-body .c-pull-quote::after {
  content: "";
  display: block;
  height: 0.25rem;
  width: 2rem;
  background: var(--accent-color, red);
  border-radius: 999rem;
  margin: 0 auto;
}
.c-body .c-pull-quote::before {
  margin-bottom: 1.5rem;
}
.c-body .c-pull-quote::after {
  margin-top: 1.5rem;
}
.c-body .c-pull-quote__attribution {
  display: block;
  font-size: 0.875em;
}
.c-body .shopify-buy-frame {
  font-family: var(--body-font);
}
.c-body .shopify-buy__price--lowered {
  text-decoration: line-through;
}
.c-body .shopify-buy__product__price {
  margin-bottom: 1rem;
}
.c-body .shopify-buy__product__compare-price {
  color: red;
}
.c-body .shopify-buy__product__variant-selectors {
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  grid-row-gap: 1rem;
  row-gap: 1rem;
}
.c-body .shopify-buy__option-select-wrapper {
  display: inline-block;
  border: 1px solid gray;
  font-size: 1rem;
  position: relative;
  cursor: pointer;
  transition: 0.2s border-color;
}
.c-body .shopify-buy__option-select-wrapper:hover {
  border-color: black;
}
.c-body .shopify-buy__option-select-wrapper select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.75rem;
  padding-right: 2rem;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}
.c-body .shopify-buy__option-select {
  margin-bottom: 0.5rem;
}
.c-body .shopify-buy__option-select__label {
  margin: 0 0 0.25rem;
}
.c-body .shopify-buy__select-icon {
  height: 0.75rem;
  pointer-events: none;
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.75rem;
  z-index: 3;
}
.c-body .shopify-buy__quantity-container {
  display: inline-block;
  border: 1px solid gray;
  margin-right: 1rem;
}
.c-body .shopify-buy__quantity-container.quantity-with-btns {
  display: inline-flex;
}
.c-body .shopify-buy__quantity-container .shopify-buy__btn--seamless {
  line-height: 1;
  padding: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
}
.c-body .shopify-buy__quantity-container .shopify-buy__btn--seamless:hover {
  background: lightgray;
}
.c-body .shopify-buy__quantity {
  width: 2rem;
  height: 2.5rem;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  border: 0;
  padding: 0.75rem;
  margin: 0;
  text-align: center;
  -moz-appearance: textfield;
}
.c-body .shopify-buy__quantity::-webkit-outer-spin-button, .c-body .shopify-buy__quantity::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.c-body .shopify-buy__btn {
  vertical-align: bottom;
}
.c-body .shopify-buy__product-img-wrapper {
  background: white;
}
@media screen and (min-width: 30rem) {
  .c-body .shopify-buy__product-img-wrapper {
    float: right;
    width: 50%;
    margin-left: 1.5rem;
  }
  .c-body .shopify-buy__btn-wrapper {
    width: calc(100% - 280px - 1.5rem);
  }
}
.shopify-buy__cart-toggle-wrapper {
  display: inline-block;
}
.shopify-buy__cart-toggle {
  --cart-toggle--bgcolor: black;
  background-color: var(--cart-toggle--bgcolor);
  color: white;
  border-radius: 3px 0 0 3px;
  padding: 0.75rem 0.75rem 0.667rem 0.5rem;
  text-align: center;
  display: inline-block;
  min-width: 46px;
  margin-right: 0;
  cursor: pointer;
  transition: background 200ms ease;
  position: relative;
}
.shopify-buy__cart-toggle:hover {
  --cart-toggle--bgcolor: #333;
}
.shopify-buy__cart-toggle__count {
  background: red;
  color: white;
  border: 2px solid var(--cart-toggle--bgcolor);
  line-height: 1;
  padding: 0.25rem;
  border-radius: 100%;
  font-size: 0.625rem;
  min-width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: absolute;
  top: 0.25rem;
  right: 0.125rem;
  transition: border-color 200ms ease;
}
.shopify-buy__icon-cart {
  display: block;
}
.shopify-buy__icon-cart__group {
  fill: currentColor;
}
.c-body ul,
.c-body ol {
  margin-left: 1em;
}
.c-body ol ol,
.c-body ol ul,
.c-body ul ul,
.c-body ul ol {
  margin-top: 0;
  margin-bottom: 0;
}
.c-body ol {
  list-style: outside decimal;
}
.c-body ol ol {
  list-style-type: lower-alpha;
}
.c-body ol ol ol {
  list-style-type: lower-roman;
}
.c-body ul {
  list-style: outside disc;
}
.c-body ul ul {
  list-style-type: square;
}
.c-body ul ul ul {
  list-style-type: circle;
}
.preload * {
  transition: none !important;
}
*[hidden] {
  display: none;
}

/*# sourceMappingURL=application-50d449e8.css.map*/