@charset "UTF-8";
/*
 * Web Fonts from colophon-foundry.org
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased from Colophon Foundry. The fonts are protected under domestic and international trademark and copyright law. You are prohibited from modifying, reverse engineering, duplicating, or distributing this font software.
 *
 * (c) 2017 Colophon Foundry
 *
 * Licenced to Mateusz Piekarski Gunter Piekarski Ltd
 */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
}

svg {
  display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  border: 0 none;
  border-radius: 0;
  background: none;
  color: inherit;
}

/* Reset headings for custom fonts */
h1, h2, h3, h4, h5 {
  font-weight: normal;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

/* Remove _all_ animations and transitions for people that prefer not to see them */
/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}
.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* ---- draggable ---- */
.flickity-enabled.is-draggable {
  tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}
.flickity-button:hover {
  cursor: pointer;
}
.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}
.flickity-button:active {
  opacity: 0.6;
}
.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  width: 1.5rem;
  height: 1.5rem;
}
.flickity-prev-next-button.previous {
  order: 2;
}
.flickity-rtl .flickity-prev-next-button.previous {
  order: 4;
}
.flickity-prev-next-button.next {
  order: 4;
}
.flickity-rtl .flickity-prev-next-button.next {
  order: 2;
}
.flickity-prev-next-button .flickity-button-icon {
  fill: currentColor;
}

/* ---- page dots ---- */
.flickity-page-dots {
  order: 3;
  bottom: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}
.flickity-rtl .flickity-page-dots {
  direction: rtl;
}
.flickity-page-dots .dot {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.25rem;
  opacity: 0.25;
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  opacity: 1;
}
.flickity-page-dots .dot:after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.button-base {
  position: relative;
  display: inline-block;
  color: inherit;
  border: 1px solid var(--black);
  padding: 0.625rem 1.5rem 0.5625rem;
  text-align: center;
}
.button-base:link, .button-base:visited {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .button-base:is(button) {
    cursor: pointer;
  }
}

.button {
  position: relative;
  display: inline-block;
  color: inherit;
  border: 1px solid var(--black);
  padding: 0.625rem 1.5rem 0.5625rem;
  text-align: center;
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 1px;
  line-height: 1rem;
  white-space: nowrap;
}
.button:link, .button:visited {
  text-decoration: none;
}
.button--alt {
  background-color: var(--yellow);
  border-color: var(--yellow);
  color: var(--black);
}
@media only screen and (min-width: 768px) {
  .button {
    padding: 0.875rem 1.5rem;
  }
}

.button-small {
  position: relative;
  display: inline-block;
  color: inherit;
  border: 1px solid var(--black);
  padding: 0.625rem 1.5rem 0.5625rem;
  text-align: center;
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 1px;
  line-height: 1rem;
  white-space: nowrap;
}
.button-small:link, .button-small:visited {
  text-decoration: none;
}
.button-small--alt {
  background-color: var(--yellow);
  border-color: var(--yellow);
  color: var(--black);
}

.button-large {
  position: relative;
  display: inline-block;
  color: inherit;
  border: 1px solid var(--black);
  padding: 0.625rem 1.5rem 0.5625rem;
  text-align: center;
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 1px;
  line-height: 1rem;
  white-space: nowrap;
}
.button-large:link, .button-large:visited {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .button-large {
    padding: 0.875rem 1.5rem 0.6875rem;
  }
}

.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

@font-face {
  font-family: Reader;
  src: url("/library/fonts/OnsiteStandard-Regular.woff2") format("woff2"), url("/library/fonts/OnsiteStandard-Regular.woff") format("woff");
  font-weight: normal;
}
@font-face {
  font-family: ReaderMedium;
  src: url("/library/fonts/OnsiteCondensed-Regular.woff2") format("woff2"), url("/library/fonts/OnsiteCondensed-Regular.woff") format("woff");
  font-weight: normal;
}
@font-face {
  font-family: OnsiteStandard;
  src: url("/library/fonts/OnsiteStandard-Regular.woff2") format("woff2"), url("/library/fonts/OnsiteStandard-Regular.woff") format("woff");
  font-weight: normal;
}
@font-face {
  font-family: OnsiteCondensed;
  src: url("/library/fonts/OnsiteCondensed-Regular.woff2") format("woff2"), url("/library/fonts/OnsiteCondensed-Regular.woff") format("woff");
  font-weight: normal;
}
:root {
  --black: #1A1A1A;
  --black_rgb: 26, 26, 26;
  --white: #FFFFFF;
  --white_rgb: 255, 255, 255;
  --grey: #8C8C8C;
  --grey_rgb: 140, 140, 140;
  --green: #75623D;
  --green_rgb: 117, 98, 61;
  --red: #843232;
  --red_rgb: 132, 50, 50;
  --orange: #A44E14;
  --orange_rgb: 164, 78, 20;
  --yellow: #D69626;
  --yellow_rgb: 214, 150, 38;
  --brown: #8D6835;
  --brown_rgb: 141, 104, 53;
  --cream: #F1EFEA;
  --cream_rgb: 241, 239, 234;
  --offwhite: #F3F3F3;
  --offwhite_rgb: 243, 243, 243;
  --beige: #DBD5CD;
  --beige_rgb: 219, 213, 205;
  --pink: #F0D6C4;
  --pink_rgb: 240, 214, 196;
  --blue: #F0F8F6;
  --blue_rgb: 240, 248, 246;
  --placeholder: #C5C5C5;
  --placeholder_rgb: 197, 197, 197;
  --lightbeige: #ECEAE6;
  --lightbeige_rgb: 236, 234, 230;
  --error: #D10000;
  --error_rgb: 209, 0, 0;
  --adminbg: #DBD5CD;
  --adminbg_rgb: 219, 213, 205;
}

::-moz-selection {
  background-color: var(--black);
  color: var(--yellow);
}

::selection {
  background-color: var(--black);
  color: var(--yellow);
}

body {
  background: var(--white);
  color: var(--black);
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1rem;
  line-height: 1.25rem;
  position: relative;
  padding-bottom: 8rem;
}
body.gradient {
  animation: colorchange 30s infinite;
}
body.yellow {
  background: var(--yellow);
}
body.pink {
  background-color: var(--pink);
}
@media only screen and (min-width: 768px) {
  body {
    padding-bottom: 0;
  }
}

.shop {
  padding-top: 8rem;
}
@media only screen and (min-width: 768px) {
  .shop {
    padding: 5rem 1.5rem 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

.news {
  padding-top: 8rem;
}
@media only screen and (min-width: 768px) {
  .news {
    padding-top: 5rem;
  }
}

.modules {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 3rem;
  padding-top: 6rem;
  padding-bottom: 3rem;
}
@media only screen and (min-width: 768px) {
  .modules {
    row-gap: 6rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
}
.shop .sidebar ~ .modules {
  row-gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .shop .sidebar ~ .modules {
    grid-column: 4/span 13;
    row-gap: 3rem;
  }
}
.shop ~ .modules {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .shop ~ .modules {
    margin-top: 6rem;
  }
}
.modules + .modules {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .modules + .modules {
    margin-top: 6rem;
  }
}
.cart__form + .modules {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .cart__form + .modules {
    margin-top: 6rem;
  }
}
.modules .product-featured-title + .module {
  margin-top: -1.5rem;
}
@media only screen and (min-width: 768px) {
  .modules .product-featured-title + .module {
    margin-top: -3rem;
  }
}
.modules + .cart-footer {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .modules + .cart-footer {
    margin-top: 6rem;
  }
}

.ratio-box {
  padding-bottom: var(--pad);
  position: relative;
}
.ratio-box > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

:link,
:visited {
  color: currentColor;
  text-underline-offset: 2px;
}

.link:link,
.link:visited {
  text-underline-offset: 5px;
}

.pagination {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.125rem;
  font-size: 1rem;
  letter-spacing: 0.25px;
  line-height: 1.125rem;
  padding: 0 1rem;
  margin: 2.5rem 0;
}
@media only screen and (min-width: 768px) {
  .pagination {
    padding: 0 1.5rem;
  }
}
.pagination nav {
  border-top: 1px solid var(--placeholder);
  padding: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pagination__prev, .pagination__next {
  flex-grow: 1;
}
.pagination__prev:not(a), .pagination__next:not(a) {
  opacity: 0.25;
}
.pagination__prev:before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background: no-repeat 50% url("data:image/svg+xml,%3Csvg width='8' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41 1.41 6 0 0 6l6 6 1.41-1.41L2.83 6z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
  vertical-align: middle;
}
.pagination__nums {
  display: none;
}
@media only screen and (min-width: 768px) {
  .pagination__nums {
    display: flex;
    justify-content: center;
  }
  .pagination__nums a, .pagination__nums span, .pagination__nums i {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    padding-top: 3px;
  }
  .pagination__nums span {
    border: 1px solid;
    border-radius: 50%;
  }
}
.pagination__next {
  text-align: right;
}
.pagination__next:after {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background: no-repeat 50% url("data:image/svg+xml,%3Csvg width='8' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 0 .59 1.41 5.17 6 .59 10.59 2 12l6-6z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
  vertical-align: middle;
}
.pagination :link,
.pagination :visited {
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  .tape {
    position: absolute;
    top: 0;
    height: 100%;
    width: 1px;
  }
  .tape-unit {
    height: calc(100% / var(--units));
  }
  .tape-unit.seen {
    background-color: red;
  }
}

@media only screen and (min-width: 768px) {
  .flash-notices {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding-bottom: 1rem;
  }
}
.flash-notices__notice {
  color: var(--green);
}
@media only screen and (min-width: 768px) {
  .flash-notices__notice {
    grid-column: 2/span 6;
  }
}
.flash-notices__notice--error {
  color: var(--red);
}

.sale-banner {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  background: var(--green);
  color: var(--white);
  border: 1px solid var(--lightbeige);
  width: 2.625rem;
  height: 2.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  z-index: 1;
  border-radius: 50%;
  padding-left: 1.2px;
  -webkit-font-smoothing: antialiased;
}
@media only screen and (min-width: 1024px) {
  .sale-banner {
    font-family: OnsiteStandard;
    text-transform: uppercase;
    --mb: 0.875rem;
    font-size: 0.75rem;
    letter-spacing: 0.25px;
    line-height: 0.875rem;
    letter-spacing: 4px;
    padding-left: 4px;
    top: 1.25rem;
    right: 1.25rem;
    width: 3.75rem;
    height: 3.75rem;
  }
}

@keyframes colorchange {
  0% {
    background: #899895;
  }
  25% {
    background: #FFFFFF;
  }
  50% {
    background: #C9B8A7;
  }
  75% {
    background: #FFFFFF;
  }
  100% {
    background: #899895;
  }
}
.header {
  position: fixed;
  top: 0;
  transition: top 0.3s ease, padding-top 0.3s ease;
  width: 100%;
  z-index: 30;
}
:root {
  --header-wrp: 0.5rem;
  --header-pad: 1rem;
  --header-row: 1.5625rem;
  --top-pad: calc(
    calc(var(--header-wrp) * 2) +
    calc(var(--header-pad) * 2) +
    var(--header-row)
  );
}
@media only screen and (min-width: 768px) {
  :root {
    --header-pad-top: 1.5rem;
    --header-row-top: 2.5rem;
    --header-row-gap: 1.125rem;
    --header-row-btm: 1.75rem;
    --header-pad-btm: 1.125rem;
    --top-pad: calc(
      var(--header-pad-top) +
      var(--header-row-top) +
      var(--header-row-gap) +
      var(--header-row-btm) +
      var(--header-pad-btm)
    );
    --top-row-only: calc(
      var(--header-pad-top) +
      var(--header-row-top)
    );
    --btm-row-only: calc(
      var(--header-row-gap) +
      var(--header-row-btm) +
      var(--header-pad-btm)
    );
  }
}

@media only screen and (min-width: 768px) {
  .header {
    position: -webkit-sticky;
    position: sticky;
  }
}
.has-banner .header {
  top: 2rem;
}
@media only screen and (min-width: 768px) {
  .has-banner .header {
    top: -2.25rem;
    margin-top: 2.25rem;
  }
}
.header:before {
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease;
  background: rgba(var(--black_rgb), 0.5);
}
.header.open-sub:before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  opacity: 1;
}
.header.open-sub .nav__item:not([open]),
.header.open-sub .menu-sheet-search:not([open]),
.header.open-sub .header__cart,
.header.open-sub .header__book {
  opacity: 0.25;
  transition: opacity 0.3s ease;
}
.header__wrapper {
  background-color: var(--white, #FFF);
  padding: var(--header-pad);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: center;
  position: relative;
  transition: background-color 0.3s ease 0.2s;
}
@media only screen and (min-width: 768px) {
  .header__wrapper {
    row-gap: var(--header-row-gap);
    padding: var(--header-pad-top) 1.5rem var(--header-pad-btm);
    grid-template-columns: repeat(12, 1fr);
  }
}
.open .header__wrapper {
  transition: background-color 0.3s ease 0s;
  background-color: var(--yellow);
}
.pink .open .header__wrapper {
  background-color: var(--yellow);
}
.homepage .header__wrapper, .yellow .header__wrapper {
  background-color: var(--yellow);
}
.pink .header__wrapper {
  background-color: var(--pink);
}
.header__header {
  grid-column: 2/span 2;
  grid-row: 1;
  justify-self: center;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .header__header {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    grid-column: 1/span 12;
    height: var(--header-row-top);
    justify-self: auto;
  }
}
.header__header h1 {
  height: var(--header-row);
  grid-column: 2;
}
@media only screen and (min-width: 768px) {
  .header__header h1 {
    height: 2.16375rem;
    grid-column: 1;
  }
}
.header__header h1 svg {
  height: 100%;
  margin-right: auto;
}
.header__header .star {
  height: 1.25rem;
  grid-column: 1;
  grid-row: 1;
}
@media only screen and (min-width: 768px) {
  .header__header .star {
    grid-column: 2;
  }
}
.header__header .star svg {
  height: 100%;
  width: auto;
}
.header__buttons {
  grid-column: 3/span 2;
  grid-row: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .header__buttons {
    grid-column: 11/span 2;
  }
}
.header__buttons :link,
.header__buttons :visited {
  text-decoration: none;
}
.header__cart {
  display: block;
  width: var(--header-row);
  height: var(--header-row);
  border: 1px solid var(--black);
  border-radius: 100%;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
}
@media only screen and (min-width: 768px) {
  .header__cart {
    width: var(--header-row-btm);
    height: var(--header-row-btm);
    transition: opacity 0s;
  }
}
.header__cart svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.header__cart {
  margin-left: 0.625rem;
}
@media only screen and (min-width: 768px) {
  .header__cart {
    background: var(--black);
  }
}
.header__cart:link, .header__cart:visited {
  text-decoration: none;
  color: currentColor;
}
@media only screen and (min-width: 768px) {
  .header__cart:link, .header__cart:visited {
    color: var(--white);
  }
}
.header__cart svg {
  opacity: 0.25;
}
.header__cart svg path {
  fill: var(--black);
}
@media only screen and (min-width: 768px) {
  .header__cart svg path {
    fill: var(--white);
  }
}
.header__cart-wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
}
.header__cart-qty {
  color: var(--yellow);
}
.header__book {
  position: relative;
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
}
@media only screen and (min-width: 768px) {
  .header__book {
    font-family: OnsiteCondensed;
    text-transform: uppercase;
    --mb: 1.125rem;
    font-size: 1rem;
    letter-spacing: 0.25px;
    line-height: 1.125rem;
    cursor: pointer;
  }
}
.header__book svg path {
  fill: var(--black);
}
@media only screen and (max-width: 767px) {
  .header__overlay-trigger {
    width: 2.875rem;
    height: 1rem;
    position: relative;
    cursor: pointer;
  }
  .header__overlay-trigger svg {
    pointer-events: none;
    position: relative;
    transform: translateY(-1rem);
  }
  .header__overlay-trigger rect {
    transition: all 0.3s;
    position: relative;
    transform-origin: 50%;
  }
  .header__overlay-trigger.open rect:nth-child(1) {
    animation: ease 0.7s top-o forwards;
  }
  .header__overlay-trigger.open rect:nth-child(2) {
    animation: ease 0.7s mid-o forwards;
  }
  .header__overlay-trigger.open rect:nth-child(3) {
    animation: ease 0.7s btm-o forwards;
  }
  .header__overlay-trigger:not(.open):not(.closed) rect:nth-child(1) {
    animation: ease 0.7s top-c forwards;
  }
  .header__overlay-trigger:not(.open):not(.closed) rect:nth-child(2) {
    animation: ease 0.7s mid-c forwards;
  }
  .header__overlay-trigger:not(.open):not(.closed) rect:nth-child(3) {
    animation: ease 0.7s btm-c forwards;
  }
}
@media only screen and (min-width: 768px) {
  .header__overlay-trigger {
    display: none;
  }
}

@keyframes top-o {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(0) translateY(7px);
  }
  100% {
    transform: rotate(45deg) translateY(7px);
  }
}
@keyframes btm-o {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(0) translateY(-7px);
  }
  100% {
    transform: rotate(135deg) translateY(-7px);
  }
}
@keyframes mid-o {
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes top-c {
  0% {
    transform: rotate(45deg) translateY(7px);
  }
  50% {
    transform: rotate(0deg) translateY(7px);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes btm-c {
  0% {
    transform: rotate(135deg) translateY(-7px);
  }
  50% {
    transform: rotate(0) translateY(-7px);
  }
  100% {
    transform: rotate(0);
  }
}
@keyframes mid-c {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes blink {
  0% {
    visibility: hidden;
  }
  50% {
    visibility: hidden;
  }
  100% {
    visibility: visible;
  }
}
.hamburger {
  display: block;
  width: 1.5625rem;
  cursor: pointer;
  color: inherit;
  border: 0;
  margin: 0;
}
.hamburger::-webkit-details-marker {
  display: none;
}
.hamburger__box {
  display: block;
  height: 1.5625rem;
  position: relative;
}
.hamburger__inner {
  display: block;
  top: 50%;
  margin-top: -0.5px;
}
.hamburger__inner, .hamburger__inner::before, .hamburger__inner::after {
  content: "";
  display: block;
  width: 1.5625rem;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.menu-drawer[open] .hamburger__inner, .menu-drawer[open] .hamburger__inner::before, .menu-drawer[open] .hamburger__inner::after {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger__inner::before {
  top: -7px;
  transition: top 0.075s 0.12s ease;
}
.menu-drawer[open] .hamburger__inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease;
}
.hamburger__inner::after {
  bottom: -7px;
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.menu-drawer[open] .hamburger__inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media only screen and (min-width: 768px) {
  .menu-drawer {
    height: auto;
  }
}
.menu-drawer__contents {
  position: absolute;
  top: 100%;
  left: 0;
  height: 0;
  width: 100%;
  background-color: var(--white);
  padding: var(--header-ip);
  transition: height 0.195s ease;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.menu-drawer[open] .menu-drawer__contents {
  height: calc(100vh - (var(--header-su) + var(--header-ip) * 2 + var(--header-op) * 2));
}

.nav {
  display: none;
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.125rem;
  font-size: 1rem;
  letter-spacing: 0.25px;
  line-height: 1.125rem;
}
@media only screen and (min-width: 768px) {
  .nav {
    display: block;
    grid-row: 1;
    grid-column: 3/span 7;
  }
}
.nav :link,
.nav :visited {
  color: currentColor;
  text-decoration: none;
}
.nav :link:not(:last-child),
.nav :visited:not(:last-child) {
  margin-right: 2.75rem;
}
.nav :link:hover, .nav :link:active,
.nav :visited:hover,
.nav :visited:active {
  text-decoration: underline;
}

playlist-lp {
  display: none;
}
@media only screen and (min-width: 650px) {
  playlist-lp {
    display: block;
    position: fixed;
    top: 60vh;
    right: 1.5rem;
    z-index: 98;
  }
}
playlist-lp a {
  display: block;
}

parallax-elements div {
  position: absolute;
  top: var(--top);
  left: var(--left);
}
parallax-elements img {
  width: 50%;
}

.footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 2;
  background: inherit;
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 1px;
  line-height: 1rem;
}
.footer :link,
.footer :visited {
  display: inline-block;
  text-decoration: none;
}
.footer :link:hover, .footer :link:active,
.footer :visited:hover,
.footer :visited:active {
  color: #000;
  text-decoration: none;
  filter: blur(1px);
}
.footer__foot {
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .footer__foot {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
    padding: 1rem 1.5rem;
    align-items: center;
  }
}
.footer__foot nav {
  grid-column: span 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.25rem;
  grid-auto-flow: row;
}
@media only screen and (min-width: 768px) {
  .footer__foot nav {
    grid-column: 1/span 8;
    display: flex;
  }
}
.footer__foot nav a {
  margin-right: 1.5rem;
}
.footer__foot nav a:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  .footer__foot nav a:nth-child(n+5) {
    grid-column: 2;
  }
}
.footer__gp {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .footer__gp {
    grid-column: 10/span 2;
  }
}
@media only screen and (min-width: 768px) {
  .footer__copy {
    grid-column: 12/span 1;
  }
}

to-top {
  opacity: 0;
  position: absolute;
  width: 1.75rem;
  height: 1.75rem;
  bottom: 1rem;
  right: 1.5rem;
  opacity: 0;
  transform: rotate(135deg);
  transition: all 1s ease;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  to-top {
    top: 0.5rem;
    bottom: auto;
  }
}
.hide-footer to-top {
  opacity: 1;
  transform: rotate(0deg);
}

@keyframes blink {
  0% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}
overlay-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  transform: translateY(-100%);
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
  background-color: var(--yellow);
  color: var(--black);
  z-index: 25;
  padding: 9.5625rem 1rem 1.25rem;
  flex-direction: column;
  justify-content: space-between;
}
overlay-nav.open {
  transform: translateY(0%);
}
overlay-nav.open nav a {
  transition: all 0.3s ease-in-out var(--delay);
  opacity: 1;
}
overlay-nav.open nav a:after {
  transition: all 0.3s ease-in-out var(--delay);
  transform: scaleX(1);
}
overlay-nav.open .nav-footer-newsletter form {
  transition: all 0.3s ease-in-out var(--delay);
  opacity: 1;
}
overlay-nav:not(.open):not(.closed) nav a {
  transition: all 0.1s ease-in-out 0s;
}
overlay-nav:not(.open):not(.closed) nav a:after {
  transition: all 0.1s ease-in-out 0s;
}
overlay-nav:not(.open):not(.closed) form {
  transition: all 0.1s ease-in-out 0s;
}
@media only screen and (min-width: 650px) {
  overlay-nav {
    display: none;
  }
}
overlay-nav nav {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media only screen and (min-width: 768px) {
  overlay-nav nav {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
overlay-nav nav a {
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1.375rem;
  letter-spacing: 0.25px;
  line-height: 1.5rem;
  padding: 1.25rem 0;
  opacity: 0;
  position: relative;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  overlay-nav nav a {
    --mb: 1.875rem;
    font-size: 1.75rem;
    letter-spacing: 0.5px;
    line-height: 1.875rem;
  }
}
overlay-nav nav a:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--black);
  transform: scaleX(0);
  transform-origin: 0;
}
overlay-nav .nav-footer-newsletter__h1 {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 0.75rem;
}
@media only screen and (min-width: 768px) {
  overlay-nav .nav-footer-newsletter__h1 {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
overlay-nav .nav-footer-newsletter form {
  border-bottom: 1px solid var(--black);
  opacity: 0;
}
overlay-nav .nav-footer-newsletter form h3 {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  padding: 0.625rem 0;
}
@media only screen and (min-width: 768px) {
  overlay-nav .nav-footer-newsletter form h3 {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
overlay-nav .nav-footer-newsletter form p {
  margin-bottom: 0.625rem;
}
overlay-nav .nav-footer-newsletter form fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--black);
  display: flex;
  justify-content: space-between;
}
overlay-nav .nav-footer-newsletter form input,
overlay-nav .nav-footer-newsletter form button {
  padding: 3px 0;
}
overlay-nav .nav-footer-newsletter form input {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.3125rem;
  font-size: 0.875rem;
  letter-spacing: 1.5px;
  line-height: 1.3125rem;
  flex-grow: 1;
  padding: 3px 0.5rem 3px 0;
}
overlay-nav .nav-footer-newsletter form input:focus {
  background-color: rgba(var(--offwhite_rgb), 0.2);
  outline: none;
}
overlay-nav .nav-footer-newsletter form input::-moz-placeholder {
  color: var(--black);
}
overlay-nav .nav-footer-newsletter form input::placeholder {
  color: var(--black);
}
overlay-nav .nav-footer-newsletter form button {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: 0.875rem;
  padding: 3px 0 3px 0.5rem;
}

.simple-text {
  padding: 0 1rem;
}
.simple-text:first-child {
  padding-top: 6rem;
}
@media only screen and (min-width: 768px) {
  .simple-text {
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
  .simple-text:first-child {
    padding-top: 3rem;
  }
}
.simple-text h2 {
  font-family: OnsiteCondensed;
  --mb: 2.625rem;
  font-size: 2.625rem;
  letter-spacing: 0.25px;
  line-height: 2.625rem;
}
@media only screen and (min-width: 768px) {
  .simple-text h2 {
    --mb: 5.3125rem;
    font-size: 5.3125rem;
    letter-spacing: 1px;
    line-height: 5.3125rem;
  }
}
@media only screen and (min-width: 768px) {
  .simple-text h2 {
    grid-column: 2/span 11;
  }
}
.simple-text span {
  display: inline-block;
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1.375rem;
  letter-spacing: 0.25px;
  line-height: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .simple-text span {
    --mb: 1.875rem;
    font-size: 1.75rem;
    letter-spacing: 0.5px;
    line-height: 1.875rem;
  }
}
@media only screen and (min-width: 768px) {
  .simple-text span {
    grid-column: 4/span 4;
  }
}

.two-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding: 0 1rem;
  row-gap: 1.25rem;
}
@media only screen and (min-width: 650px) {
  .two-columns {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media only screen and (min-width: 650px) {
  .two-columns {
    padding: 3rem 1.5rem;
    align-items: center;
  }
}
.two-columns__media-col {
  grid-column: span 4;
}
@media only screen and (min-width: 650px) {
  .two-columns__media-col {
    grid-column: 2/span 4;
    grid-row: 1;
  }
  .reverse .two-columns__media-col {
    grid-column: 8/span 4;
  }
  .wide.reverse .two-columns__media-col {
    grid-column: 7/span 5;
  }
}
.two-columns__copy-col {
  grid-column: span 4;
}
@media only screen and (min-width: 650px) {
  .two-columns__copy-col {
    grid-column: 8/span 4;
    grid-row: 1;
  }
  .reverse .two-columns__copy-col {
    grid-column: 2/span 4;
  }
  .wide .two-columns__copy-col {
    grid-column: 7/span 5;
  }
  .wide.reverse .two-columns__copy-col {
    grid-column: 1/span 5;
  }
}
.two-columns__copy-col .block + .block {
  margin-top: 4.875rem;
}
@media only screen and (min-width: 650px) {
  .two-columns__copy-col .block + .block {
    margin-top: 6.25rem;
  }
}
.two-columns__copy-col h3 {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .two-columns__copy-col h3 {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.two-columns__copy-col .wysiwyg p:not(:last-child) {
  margin-bottom: var(--mb);
}
.two-columns__copy-col .button {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: 0.875rem;
  border: 1px solid;
  color: inherit;
  padding: 0.5625rem 1rem;
  margin-top: 1.25rem;
  display: inline-block;
}
@media only screen and (min-width: 650px) {
  .two-columns__copy-col .button:link, .two-columns__copy-col .button:visited {
    transition: all 0.3s ease-in-out;
  }
}
.two-columns__form {
  margin-top: 2rem;
}
.two-columns__form form {
  display: flex;
}
.two-columns__form form input,
.two-columns__form form button {
  border: 1px solid;
  background: transparent;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.5;
  font-family: inherit;
  padding: 0.5rem 1.5rem;
  border-radius: 1rem;
}
.two-columns__form form input {
  width: 65%;
  padding-right: 3.5rem;
}
.two-columns__form form button {
  width: calc(35% + 2rem);
  margin-left: -2rem;
  position: relative;
  text-align: right;
}
.two-columns__form form input::-moz-placeholder {
  color: #000;
  text-transform: uppercase;
}
.two-columns__form form input::placeholder,
.two-columns__form form button {
  color: #000;
  text-transform: uppercase;
}

.menus__menu-block {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
  padding: 1rem;
}
@media only screen and (min-width: 650px) {
  .menus__menu-block {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media only screen and (min-width: 650px) {
  .menus__menu-block {
    padding: 4.375rem 1rem;
  }
}
.menus__background, .menus__background img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menus__background img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.menus__menu {
  position: relative;
  grid-column: 1/span 4;
  margin: -0.5rem;
}
@media only screen and (min-width: 650px) {
  .menus__menu {
    grid-column: 2/span 5;
    margin: 0 -1.5rem;
  }
  .right .menus__menu {
    grid-column: 7/span 5;
  }
}
.menus__menu .lag-item {
  background-color: rgba(var(--white_rgb), 0.8);
  padding: 2.375rem 0.5rem 0.5rem;
}
@media only screen and (min-width: 650px) {
  .menus__menu .lag-item {
    padding: 1.5rem;
  }
}
.menus__menu h3 {
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1.375rem;
  letter-spacing: 0.25px;
  line-height: 1.5rem;
  margin-bottom: 2.375rem;
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .menus__menu h3 {
    --mb: 1.875rem;
    font-size: 1.75rem;
    letter-spacing: 0.5px;
    line-height: 1.875rem;
  }
}
.menus__menu dt {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.125rem;
  font-size: 1rem;
  letter-spacing: 0.25px;
  line-height: 1.125rem;
}
.menus__menu dd:not(:last-child) {
  margin-bottom: 1.125rem;
}
.menus__menu .button {
  margin-top: 2rem;
}

.news {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
  padding: 0 1rem;
}
@media only screen and (min-width: 650px) {
  .news {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media only screen and (min-width: 650px) {
  .news {
    padding: 0 1.5rem;
    row-gap: 2.5rem;
  }
}
.news__title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  grid-column: span 4;
  color: var(--darkgrey);
  border-bottom: 1px solid;
  padding-bottom: 0.75rem;
  transition: var(--override-tsn);
}
@media only screen and (min-width: 768px) {
  .news__title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
@media only screen and (min-width: 650px) {
  .news__title {
    grid-column: span 12;
    padding-bottom: 0.5rem;
  }
}
.news__excerpt {
  grid-column: span 2;
}
.news__excerpt:link, .news__excerpt:visited {
  text-decoration: none;
}
.news__excerpt:link .more, .news__excerpt:visited .more {
  color: currentColor;
  text-underline-offset: 2px;
  text-decoration: underline;
}
@media only screen and (min-width: 650px) {
  .news__excerpt {
    grid-column: span 3;
  }
  .news__excerpt:link .more, .news__excerpt:visited .more {
    position: relative;
    transition: color 0.3s ease-in-out;
  }
  .news__excerpt:link .more:before, .news__excerpt:visited .more:before {
    content: "";
    position: absolute;
    top: 100%;
    width: 100%;
    height: 2px;
    background-color: var(--blue);
    transform: scaleX(0);
    transition: all 0.3s ease-in-out;
  }
  .news__excerpt:link:hover .more, .news__excerpt:link:active .more, .news__excerpt:visited:hover .more, .news__excerpt:visited:active .more {
    color: var(--blue);
  }
  .news__excerpt:link:hover .more:before, .news__excerpt:link:active .more:before, .news__excerpt:visited:hover .more:before, .news__excerpt:visited:active .more:before {
    transform: scaleX(1);
  }
}
.news__excerpt iframe {
  width: 100%;
}
.news__ex-img {
  margin-bottom: 1rem;
}
.news__ex-title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: var(--mb);
  transition: var(--override-tsn);
}
@media only screen and (min-width: 768px) {
  .news__ex-title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.news__ex-ex {
  margin-bottom: 1rem;
  transition: var(--override-tsn);
}
.news .price {
  display: inline-block;
  width: 50%;
}
.news .mini-button {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  color: var(--black);
  border-radius: 2rem;
  padding: 3px 0.5625rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 650px) {
  .news .mini-button:link, .news .mini-button:visited {
    transition: all 0.3s ease-in-out;
  }
  .news .mini-button:link:hover, .news .mini-button:link:active, .news .mini-button:visited:hover, .news .mini-button:visited:active {
    background-color: var(--black);
    color: var(--offwhite);
  }
}

.news-slider {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
  padding: 0 1rem;
  position: relative;
}
@media only screen and (min-width: 650px) {
  .news-slider {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media only screen and (min-width: 650px) {
  .news-slider {
    padding: 0 1.5rem;
    row-gap: 2.5rem;
  }
}
.news-slider__title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  grid-column: span 4;
  color: var(--darkgrey);
  border-bottom: 1px solid;
  padding-bottom: 0.75rem;
  transition: var(--override-tsn);
}
@media only screen and (min-width: 768px) {
  .news-slider__title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
@media only screen and (min-width: 650px) {
  .news-slider__title {
    grid-column: span 12;
    padding-bottom: 0.5rem;
  }
}
.news-slider__wrapper {
  grid-column: span 4;
}
@media only screen and (min-width: 650px) {
  .news-slider__wrapper {
    grid-column: span 12;
  }
  .over .news-slider__wrapper * {
    cursor: none;
  }
}
.news-slider__wrapper > div {
  width: 100%;
  overflow: visible;
}
.news-slider__excerpt {
  width: calc((100% - 1rem) / 2);
  margin-right: 1rem;
}
@media only screen and (min-width: 650px) {
  .news-slider__excerpt {
    width: calc((100% - 4.5rem) / 4);
    margin-right: 1.5rem;
  }
  .news-slider__excerpt:link, .news-slider__excerpt:visited {
    text-decoration: none;
  }
  .news-slider__excerpt:link .more, .news-slider__excerpt:visited .more {
    position: relative;
    transition: color 0.3s ease-in-out;
  }
  .news-slider__excerpt:link .more:before, .news-slider__excerpt:visited .more:before {
    content: "";
    position: absolute;
    top: 100%;
    width: 100%;
    height: 2px;
    background-color: var(--blue);
    transform: scaleX(0);
    transition: all 0.3s ease-in-out;
  }
  .news-slider__excerpt:link:hover .more, .news-slider__excerpt:link:active .more, .news-slider__excerpt:visited:hover .more, .news-slider__excerpt:visited:active .more {
    color: var(--blue);
  }
  .news-slider__excerpt:link:hover .more:before, .news-slider__excerpt:link:active .more:before, .news-slider__excerpt:visited:hover .more:before, .news-slider__excerpt:visited:active .more:before {
    transform: scaleX(1);
  }
}
.news-slider__excerpt iframe {
  width: 100%;
}
.news-slider__ex-img {
  margin-bottom: 1rem;
}
.news-slider__ex-title {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: var(--mb);
  transition: var(--override-tsn);
}
@media only screen and (min-width: 768px) {
  .news-slider__ex-title {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.news-slider__ex-ex {
  margin-bottom: 1rem;
  transition: var(--override-tsn);
}
.news-slider .price {
  display: inline-block;
  width: 50%;
}
.news-slider .mini-button {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: 0.875rem;
  border: 1px solid var(--black);
  color: var(--black);
  border-radius: 2rem;
  padding: 3px 0.5625rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 650px) {
  .news-slider .mini-button:link, .news-slider .mini-button:visited {
    transition: all 0.3s ease-in-out;
  }
  .news-slider .mini-button:link:hover, .news-slider .mini-button:link:active, .news-slider .mini-button:visited:hover, .news-slider .mini-button:visited:active {
    background-color: var(--black);
    color: var(--offwhite);
  }
}
.news-slider__arrow {
  display: none;
}
@media only screen and (min-width: 650px) {
  .over .news-slider__arrow {
    display: block;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    font-size: 2rem;
    color: var(--black);
  }
  .news-slider__arrow span {
    display: block;
  }
  .over .news-slider__arrow span {
    transition: transform 0.4s ease-in-out;
  }
}

.ticker {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  padding: 0.6875rem 0;
  width: 100%;
  overflow: hidden;
  color: var(--black);
  border-top: 1px solid;
  border-bottom: 1px solid;
}
@media only screen and (min-width: 768px) {
  .ticker {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
@media only screen and (min-width: 650px) {
  .ticker {
    padding: 1.3125rem 0;
    transition: var(--override-tsn);
  }
}
@media only screen and (min-width: 768px) {
  .ticker {
    padding: 1.5rem 0;
  }
}
.ticker__wrapper {
  display: flex;
}
.ticker__item {
  white-space: nowrap;
}
.ticker__item a,
.ticker__item span {
  padding: 0 0.5rem;
}
.ticker :link,
.ticker :visited {
  text-decoration: none;
  color: inherit;
}
@media only screen and (min-width: 650px) {
  .ticker :link:hover, .ticker :link:active,
  .ticker :visited:hover,
  .ticker :visited:active {
    color: var(--blue);
    transition: color 0.3s ease;
  }
}

.faqs {
  padding: 3rem 1rem;
  background-color: var(--bg, var(--blue));
}
.faqs:first-child:last-child {
  height: calc(90 * var(--vh));
}
@media only screen and (min-width: 650px) {
  .faqs:first-child:last-child {
    margin-bottom: -6rem;
  }
}
.faqs__media {
  margin: -3rem 0;
}
@media only screen and (min-width: 650px) {
  .faqs {
    padding: 3rem 1.5rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
.faqs__media {
  display: none;
}
@media only screen and (min-width: 650px) {
  .faqs__media {
    display: block;
    grid-column: 9/span 4;
    position: relative;
  }
  .flip .faqs__media {
    order: 2;
    grid-column: 2/span 4;
  }
}
.faqs__media-wrapper .ratio-box {
  display: none;
}
.faqs__media-wrapper .ratio-box:first-child {
  display: block;
}
@media only screen and (min-width: 650px) {
  .faqs__media-wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
    height: calc(var(--vh) * 100 - 12rem);
  }
  .faqs__media-wrapper .ratio-box {
    display: block;
    position: absolute;
    padding-bottom: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease;
    opacity: 0;
  }
  .faqs__media-wrapper .ratio-box:first-child {
    opacity: 1;
  }
  .faqs__media-wrapper .ratio-box.seen {
    opacity: 1;
  }
}
.faqs__text {
  padding: 1.5rem 0 3rem;
}
@media only screen and (min-width: 650px) {
  .faqs__text {
    padding: 0;
    grid-column: 3/span 5;
    grid-row: 1;
  }
  .flip .faqs__text {
    order: 1;
    grid-column: 7/span 5;
  }
}
.faqs__text p:not(:last-of-type) {
  margin-bottom: var(--mb);
}
.faqs__faq {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
  border-bottom: 2px solid var(--black);
  padding: 0.625rem 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1s ease var(--delay);
}
@media only screen and (min-width: 768px) {
  .faqs__faq {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 650px) {
  .faqs__faq {
    padding: 1.25rem 0 1rem;
    grid-row: 1;
  }
}
.ready .faqs__faq {
  opacity: 1;
}
.faqs__faq[open] svg {
  transform: rotate(45deg);
}
.faqs__q {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .faqs__q {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.faqs__q svg {
  margin: 0.1875rem 0 0 1rem;
  width: 1rem;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  will-change: transform;
}
@media only screen and (min-width: 650px) {
  .faqs__q svg {
    margin-top: 0.3rem;
  }
}
.faqs__a {
  padding: 1.25rem 0;
}
.snowflakes {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  overflow: hidden;
  height: 100%;
}
@media only screen and (min-width: 650px) {
  .snowflakes {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}

.snowflake {
  width: 100%;
  position: relative;
  transform: translateY(-100%);
  grid-row: 1;
  grid-column: var(--col4)/span var(--span);
  animation-name: snowflakes-fall;
  animation-duration: var(--speed);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
  animation-delay: var(--delay);
}
@media only screen and (min-width: 650px) {
  .snowflake {
    grid-column: var(--col8)/span var(--span);
  }
}
@media only screen and (min-width: 768px) {
  .snowflake {
    grid-column: var(--col12)/span var(--span);
  }
}
.snowflake .ratio-box {
  width: 100%;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes snowflakes-fall {
  0% {
    transform: translateY(-20cqh);
  }
  100% {
    transform: translateY(120cqh);
  }
}
.horizontal-gallery {
  display: block;
  position: relative;
  row-gap: 5.625rem;
  padding: 0 1rem;
  overflow: hidden;
}
@media only screen and (min-width: 650px) {
  .horizontal-gallery {
    padding: 0 1.5rem;
  }
  .horizontal-gallery.over, .horizontal-gallery.over * {
    cursor: none;
  }
}
.horizontal-gallery__gallery {
  margin-bottom: 0.625rem;
}
.horizontal-gallery .flickity-viewport {
  overflow: visible;
}
.horizontal-gallery__slide {
  margin-right: 1rem;
}
@media only screen and (min-width: 650px) {
  .horizontal-gallery__slide {
    margin-right: 1.5rem;
  }
}
.horizontal-gallery__slide img {
  width: auto;
  height: 320px;
}
@media only screen and (min-width: 650px) {
  .horizontal-gallery__slide img {
    height: 480px;
  }
}
.horizontal-gallery__arrow {
  display: none;
}
@media only screen and (min-width: 650px) {
  .over .horizontal-gallery__arrow {
    display: block;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    font-size: 2rem;
    color: var(--black);
  }
  .horizontal-gallery__arrow span {
    display: block;
  }
  .over .horizontal-gallery__arrow span {
    transition: transform 0.4s ease-in-out;
  }
}

.document {
  padding: 3rem 1rem;
}
@media only screen and (min-width: 650px) {
  .document {
    padding: 3rem 1.5rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
.document__text {
  padding: 1.5rem 0 3rem;
}
@media only screen and (min-width: 650px) {
  .document__text {
    padding: 0;
    grid-column: 3/span 5;
    grid-row: 1;
  }
  .flip .document__text {
    order: 1;
    grid-column: 7/span 5;
  }
}
.document__text h2 {
  font-family: OnsiteCondensed;
  text-transform: uppercase;
  --mb: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
  .document__text h2 {
    --mb: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.375rem;
  }
}
.document__text p:not(:last-of-type) {
  margin-bottom: var(--mb);
}
.document__a {
  padding: 1.25rem 0;
}
.skof-animation {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding: 0 1rem;
}
@media only screen and (min-width: 650px) {
  .skof-animation {
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
.skof-animation__wrapper {
  grid-column-start: 1;
  grid-column-end: 5;
}
@media only screen and (min-width: 650px) {
  .skof-animation__wrapper {
    grid-column-start: var(--start);
    grid-column-end: var(--end);
  }
}

.sidebar {
  display: none;
}
@media only screen and (min-width: 768px) {
  .sidebar {
    display: block;
    grid-column: span 3;
  }
}
.sidebar__wrap {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .sidebar__wrap {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .sidebar__wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 4rem;
  }
}
.sidebar__wrap > a {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  display: block;
  border-bottom: 1px solid var(--placeholder);
  padding: 1rem 2.5rem 0.875rem 0;
}
.sidebar details {
  border-bottom: 1px solid var(--placeholder);
  background: no-repeat calc(100% - 6px) 20.59px url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41.59 6 5.17 10.59.59 12 2 6 8 0 2z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.sidebar details[open] {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41 7.41 6 2.83l4.59 4.58L12 6 6 0 0 6z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.sidebar details li {
  margin-bottom: 0.5rem;
}
.sidebar details li :link,
.sidebar details li :visited {
  color: var(--grey);
}
.sidebar summary {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  display: block;
  padding: 1rem 2.5rem 0.875rem 0;
}
@media only screen and (min-width: 768px) {
  .sidebar summary {
    cursor: pointer;
  }
}
.sidebar :link,
.sidebar :visited {
  text-decoration: none;
}

.product-popup__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(var(--black_rgb), 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate3d(0, 0, 0);
  z-index: 99;
}
.product-popup__container {
  background-color: var(--white);
  padding: 2rem;
  width: 100%;
  max-width: 90%;
  max-height: calc(90 * var(--vh));
  overflow-y: auto;
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .product-popup__container {
    max-width: 33%;
  }
}
.product-popup__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
}
.product-popup__close {
  background: transparent;
  border: 0;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  cursor: pointer;
}
.product-popup__close:before {
  content: "✕";
}
.product-popup__content {
  font-family: OnsiteStandard;
  --mb: 0.9375rem;
  font-size: 0.875rem;
  line-height: 0.9375rem;
}
@media only screen and (min-width: 768px) {
  .product-popup__content {
    --mb: 1rem;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.product-popup__content p:not(:last-child) {
  margin-bottom: var(--mb);
}
.product-popup__field input, .product-popup__field textarea {
  padding-right: 3rem;
}
.product-popup__field:after {
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1rem;
  line-height: 1.25rem;
  color: var(--placeholder);
  content: attr(data-maxlength);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 3rem;
}
.product-popup__field {
  border: 1px solid var(--grey);
  border-radius: 0.25rem;
  position: relative;
  -webkit-font-smothing: antialiased;
}
.product-popup__field:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .product-popup__field {
    grid-column: span 7;
  }
}
.product-popup__field--email label, .product-popup__field--text label, .product-popup__field--textarea label {
  font-family: OnsiteStandard;
  text-transform: uppercase;
  --mb: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 0.25px;
  line-height: 0.875rem;
  position: absolute;
  pointer-events: none;
  transform-origin: 0 50%;
  transition: transform 200ms, color 200ms;
  top: 1rem;
  left: 1rem;
}
.product-popup__field--email input,
.product-popup__field--email select,
.product-popup__field--email textarea, .product-popup__field--text input,
.product-popup__field--text select,
.product-popup__field--text textarea, .product-popup__field--textarea input,
.product-popup__field--textarea select,
.product-popup__field--textarea textarea {
  font-family: OnsiteStandard;
  --mb: 1.5rem;
  font-size: 1rem;
  line-height: 1.25rem;
  display: block;
  width: 100%;
  padding: 1rem 1rem 0.875rem 1rem;
}
.product-popup__field--email input::-moz-placeholder, .product-popup__field--email select::-moz-placeholder, .product-popup__field--email textarea::-moz-placeholder, .product-popup__field--text input::-moz-placeholder, .product-popup__field--text select::-moz-placeholder, .product-popup__field--text textarea::-moz-placeholder, .product-popup__field--textarea input::-moz-placeholder, .product-popup__field--textarea select::-moz-placeholder, .product-popup__field--textarea textarea::-moz-placeholder {
  opacity: 0;
}
.product-popup__field--email input::placeholder,
.product-popup__field--email select::placeholder,
.product-popup__field--email textarea::placeholder, .product-popup__field--text input::placeholder,
.product-popup__field--text select::placeholder,
.product-popup__field--text textarea::placeholder, .product-popup__field--textarea input::placeholder,
.product-popup__field--textarea select::placeholder,
.product-popup__field--textarea textarea::placeholder {
  opacity: 0;
}
.product-popup__field--email input:not(:-moz-placeholder-shown) ~ label, .product-popup__field--email select:not(:-moz-placeholder-shown) ~ label, .product-popup__field--email textarea:not(:-moz-placeholder-shown) ~ label, .product-popup__field--text input:not(:-moz-placeholder-shown) ~ label, .product-popup__field--text select:not(:-moz-placeholder-shown) ~ label, .product-popup__field--text textarea:not(:-moz-placeholder-shown) ~ label, .product-popup__field--textarea input:not(:-moz-placeholder-shown) ~ label, .product-popup__field--textarea select:not(:-moz-placeholder-shown) ~ label, .product-popup__field--textarea textarea:not(:-moz-placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
  color: var(--grey);
}
.product-popup__field--email input:focus ~ label, .product-popup__field--email input:not(:placeholder-shown) ~ label,
.product-popup__field--email select:focus ~ label,
.product-popup__field--email select:not(:placeholder-shown) ~ label,
.product-popup__field--email textarea:focus ~ label,
.product-popup__field--email textarea:not(:placeholder-shown) ~ label, .product-popup__field--text input:focus ~ label, .product-popup__field--text input:not(:placeholder-shown) ~ label,
.product-popup__field--text select:focus ~ label,
.product-popup__field--text select:not(:placeholder-shown) ~ label,
.product-popup__field--text textarea:focus ~ label,
.product-popup__field--text textarea:not(:placeholder-shown) ~ label, .product-popup__field--textarea input:focus ~ label, .product-popup__field--textarea input:not(:placeholder-shown) ~ label,
.product-popup__field--textarea select:focus ~ label,
.product-popup__field--textarea select:not(:placeholder-shown) ~ label,
.product-popup__field--textarea textarea:focus ~ label,
.product-popup__field--textarea textarea:not(:placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
  color: var(--grey);
}

.popup-message__buttons {
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .popup-message__buttons button {
    cursor: pointer;
  }
}
.popup-message__save {
  background: var(--black);
  color: var(--white);
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.popup-slide {
  display: none;
}
.popup-slide.is-open {
  display: block;
}
.popup-slide[aria-hidden=false] .product-popup__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-slide[aria-hidden=false] .product-popup__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-slide[aria-hidden=true] .product-popup__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-slide[aria-hidden=true] .product-popup__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-slide .product-popup__container,
.popup-slide .product-popup__overlay {
  will-change: transform;
}
