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

.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: "Maison Neue";
  src: url("/library/fonts/maisonneue-medium.woff") format("woff"), url("/library/fonts/maisonneue-medium.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
:root {
  --lightblack: #2C2C2C;
  --lightblack_rgb: 44, 44, 44;
  --darkblack: #1A1A1A;
  --darkblack_rgb: 26, 26, 26;
  --black: #000000;
  --black_rgb: 0, 0, 0;
  --white: #FFFFFF;
  --white_rgb: 255, 255, 255;
  --offwhite: #F4F4EC;
  --offwhite_rgb: 244, 244, 236;
  --grey: #C5C5C5;
  --grey_rgb: 197, 197, 197;
  --darkgrey: #3C3A37;
  --darkgrey_rgb: 60, 58, 55;
  --lightgrey: #D8D8D8;
  --lightgrey_rgb: 216, 216, 216;
  --darkgreen: #3E4026;
  --darkgreen_rgb: 62, 64, 38;
  --lightgreen: #8FA482;
  --lightgreen_rgb: 143, 164, 130;
  --gold: #6C6034;
  --gold_rgb: 108, 96, 52;
  --yellow: #FFDD03;
  --yellow_rgb: 255, 221, 3;
  --red: #AB2A09;
  --red_rgb: 171, 42, 9;
  --beige: #E7E2DB;
  --beige_rgb: 231, 226, 219;
  --error: #D10000;
  --error_rgb: 209, 0, 0;
  --highlight-color: null;
}

body {
  font-family: "Maison Neue";
  background-color: var(--white);
  color: var(--black);
  --lh: 1.5rem;
  font-size: 1.125rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  body {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.25px;
  }
}
@media only screen and (min-width: 1440px) {
  body {
    --lh: 1.75rem;
    font-size: 1.25rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  body:after {
    display: block;
    content: "";
    width: 100%;
    padding-bottom: var(--ft);
  }
}

main {
  width: 100%;
  min-height: calc(100 * var(--vhs));
  position: relative;
  z-index: 2;
  background-color: inherit;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
main.simon-rogan-tab {
  --bbg: var(--lightgreen);
  background-color: var(--bbg);
}
main.reservations-tab {
  --bbg: var(--beige);
  background-color: var(--bbg);
}
main.menu-page {
  background-color: var(--bbg);
}
main.home-page #main-space {
  height: calc(var(--vhs) * 100);
}
main.bbg--beige {
  --bbg: var(--beige);
}
main.bbg--lightgreen {
  --bbg: var(--lightgreen);
}
main.bbg--lightgrey {
  --bbg: var(--lightgrey);
}
main.bbg--grey {
  --bbg: var(--grey);
}
main.bbg--offwhite {
  --bbg: var(--offwhite);
}
main.bbg--white {
  --bbg: var(--white);
}
main #main-space {
  height: 3.75rem;
}
@media only screen and (min-width: 768px) {
  main #main-space {
    height: 2.5625rem;
  }
}

.hide-mobile {
  display: none;
}
@media only screen and (min-width: 768px) {
  .hide-mobile {
    display: unset;
  }
}

@media only screen and (min-width: 768px) {
  .hide-desktop {
    display: none;
  }
}

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

img {
  background-color: var(--green);
}

.modules {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 5rem;
  background-color: inherit;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .modules {
    grid-row-gap: 6.25rem;
  }
}
@media only screen and (min-width: 1440px) {
  .modules {
    grid-row-gap: 7.5rem;
  }
}
.modules:before, .modules:after {
  display: block;
  content: "";
}
.modules.no-top-space:before {
  display: none;
}
.modules.no-btm-space:after {
  display: none;
}
.modules .wysiwyg :link,
.modules .wysiwyg :visited {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--grey);
  color: inherit;
}
@media only screen and (min-width: 768px) {
  .modules .wysiwyg :link,
  .modules .wysiwyg :visited {
    position: relative;
    display: inline-block;
  }
  .modules .wysiwyg :link:after,
  .modules .wysiwyg :visited:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 3px;
    width: 0;
    border-bottom: 1px solid var(--black);
    transition: width 0.3s ease;
  }
  .modules .wysiwyg :link:hover:after, .modules .wysiwyg :link:active:after,
  .modules .wysiwyg :visited:hover:after,
  .modules .wysiwyg :visited:active:after {
    width: 100%;
  }
}

:link,
:visited {
  text-decoration: none;
  color: inherit;
}

::-moz-selection {
  background: var(--highlight-color);
  color: var(--highlight-text);
}

::selection {
  background: var(--highlight-color);
  color: var(--highlight-text);
}

.tab {
  display: none;
}
@media only screen and (min-width: 768px) {
  .tab {
    display: block;
    position: fixed;
    top: 0;
    z-index: 20;
    width: 2.5rem;
    height: 100%;
    transition: 0.3s cubic-bezier(0.76, 0.01, 0.58, 1);
  }
  .tab--one {
    left: 0;
    background-color: var(--lightgreen);
    transform: translateX(-100%);
  }
  .tab--two {
    right: 0;
    background-color: var(--darkgrey);
    transform: translateX(100%);
  }
  .tabs .tab {
    transform: translateX(0);
  }
  .tab a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 2.5rem;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .tab a {
    font-size: 0.875rem;
    letter-spacing: 1px;
    line-height: 1rem;
    text-transform: uppercase;
    transition: 0.3s ease;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .tab a {
    font-size: 1rem;
    letter-spacing: 0.5px;
    line-height: 1.375rem;
  }
}
@media only screen and (min-width: 768px) {
  .tab :link,
  .tab :visited {
    color: var(--offwhite);
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
  }
  .tab :link:hover, .tab :link:active,
  .tab :visited:hover,
  .tab :visited:active {
    opacity: 0.75;
  }
  .tab span {
    transform: rotate(-90deg);
  }
}
@media only screen and (min-width: 1440px) {
  .tab {
    width: 3.5rem;
  }
  .tab a {
    width: 3.5rem;
  }
}

.mobile-nav {
  display: none;
}
.mobile-nav.is-open {
  display: block;
}
@media only screen and (min-width: 768px) {
  .mobile-nav.is-open {
    display: none;
  }
}
.mobile-nav__overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: calc(100 * var(--vh));
  width: 100%;
  background-color: var(--grey);
  display: flex;
  justify-content: center;
  align-items: center;
  will-change: transform;
}
[aria-hidden=false] .mobile-nav__overlay {
  animation: slideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
[aria-hidden=true] .mobile-nav__overlay {
  animation: slideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.mobile-nav__container {
  color: var(--lightblack);
  background-color: var(--grey);
  padding: 1.25rem 1rem;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  overflow-y: auto;
  text-align: left;
  will-change: transform;
  display: grid;
  grid-template-rows: -webkit-min-content 1fr -webkit-min-content -webkit-min-content;
  grid-template-rows: min-content 1fr min-content min-content;
}
[aria-hidden=false] .mobile-nav__container {
  animation: fadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
[aria-hidden=true] .mobile-nav__container {
  animation: fadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.mobile-nav__header {
  display: flex;
  justify-content: space-between;
}
.mobile-nav__header svg {
  pointer-events: none;
  height: 1.25rem;
  width: auto;
}
.mobile-nav__nav {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  display: flex;
  flex-direction: column;
  align-self: center;
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .mobile-nav__nav {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .mobile-nav__nav {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.mobile-nav__nav:before {
  content: "";
  display: block;
  border-top: 1px solid var(--lightgrey);
}
[aria-hidden=false] .mobile-nav__nav:before {
  animation: openOut 1.5s ease-in-out;
  animation-fill-mode: forwards;
}
.mobile-nav__item a {
  display: block;
  overflow: hidden;
  padding: 0.8125rem 0 0.625rem;
}
[aria-hidden=false] .mobile-nav__item a {
  opacity: 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
          clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
  animation: openUp 1.5s ease-in-out calc(var(--os) * 2);
  animation-fill-mode: forwards;
}
.mobile-nav__item:after {
  content: "";
  display: block;
  border-bottom: 1px solid var(--lightgrey);
}
[aria-hidden=false] .mobile-nav__item:after {
  width: 0;
  animation: openOut 1.5s ease-in-out var(--os);
  animation-fill-mode: forwards;
}
.mobile-nav__content {
  margin-bottom: 2.5rem;
}
[aria-hidden=false] .mobile-nav__content {
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
          clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  animation: openLeft 1.5s ease-in-out 1s;
  animation-fill-mode: forwards;
}
.mobile-nav__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.mobile-nav__footer:before {
  content: "";
  display: block;
  width: 100%;
  margin-bottom: 0.625rem;
  border-top: 1px solid var(--lightgrey);
}
[aria-hidden=false] .mobile-nav__footer:before {
  opacity: 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
          clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
  animation: openLeft 1.5s ease-in-out 1s;
  animation-fill-mode: forwards;
}
.mobile-nav__stars {
  display: flex;
}
[aria-hidden=false] .mobile-nav__stars {
  opacity: 0;
  animation: fadeIn 1s cubic-bezier(0, 0, 0.2, 1) 1s;
  animation-fill-mode: forwards;
}
.mobile-nav__stars svg {
  height: 1.5rem;
}
.mobile-nav__stars .green-star {
  margin-left: 2.5rem;
}
.mobile-nav__anvil {
  display: block;
}
[aria-hidden=false] .mobile-nav__anvil {
  opacity: 0;
  transform: translateY(100%);
  animation: slideUp 1s cubic-bezier(0, 0, 0.2, 1) 1s;
  animation-fill-mode: forwards;
}
.mobile-nav__anvil svg {
  pointer-events: none;
  height: 1.75rem;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes slideIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes openUp {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
            clip-path: polygon(0 0, 100% 0, 100% -200%, 0 -100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 200%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 200%);
  }
}
@keyframes openLeft {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes openOut {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  padding: 1.25rem 1rem;
  transition: all 0.5s ease;
  background-color: var(--white);
}
@media only screen and (min-width: 768px) {
  .header-sticky {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 0.5rem 3.5rem;
    row-gap: 1.5rem;
    background-color: transparent;
    border-bottom: 1px solid;
  }
  .header-sticky:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: -10px;
    left: 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, 0.8) 100%);
    z-index: -1;
  }
}
@media only screen and (min-width: 768px) {
  .header-sticky {
    padding: 0.5rem 4.5rem;
  }
  .hide-header .header-sticky {
    transform: translate3d(0, -100%, 0);
    opacity: 0;
    border-bottom: 1px solid currentColor;
  }
}
@media only screen and (max-width: 767px) {
  .header-sticky__h1 {
    z-index: 1;
  }
}
@media only screen and (min-width: 768px) {
  .header-sticky__h1 {
    grid-column: 2/span 3;
    justify-self: start;
  }
}
.header-sticky__h1 a {
  display: block;
}
.header-sticky__h1 svg {
  height: 1.25rem;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .header-sticky__h1 svg {
    height: 1.5rem;
    margin: auto;
  }
}
.header-sticky :link,
.header-sticky :visited {
  text-decoration: none;
}
.header-sticky__nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header-sticky__nav {
    text-transform: uppercase;
    --lh: 0.875rem;
    font-size: 0.75rem;
    letter-spacing: 2px;
    line-height: var(--lh);
    display: flex;
    justify-content: space-between;
    align-items: end;
    grid-row: 1;
    grid-column: 8/span 8;
    position: relative;
    top: 2px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .header-sticky__nav {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .header-sticky__nav {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .header-sticky__nav {
    grid-column: 10/span 6;
  }
}

.burger {
  display: inline-block;
  cursor: pointer;
  transition: opacity 0.15s linear;
  margin: -14px 0;
  overflow: visible;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .burger {
    display: none;
  }
}
.burger__box {
  position: relative;
  height: 3rem;
  width: auto;
  pointer-events: none;
}
.burger__line {
  transform-origin: 50%;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
.paused .burger__line {
  animation-play-state: paused;
}
.burger__line {
  --r: -45deg;
  --d: 0px;
  animation-name: ani-out;
}
.is-active .burger__line, .paused .burger__line {
  animation-name: ani-in;
}
.burger__line:first-of-type {
  --r: -45deg;
  --d: 8px;
  animation-name: ani-out;
}
.is-active .burger__line:first-of-type, .paused .burger__line:first-of-type {
  animation-name: ani-in;
}
.burger__line:last-of-type {
  --r: 45deg;
  --d: -8px;
  animation-name: ani-out;
}
.is-active .burger__line:last-of-type, .paused .burger__line:last-of-type {
  animation-name: ani-in;
}

@keyframes ani-in {
  0% {
    transform: rotate(0deg) translateY(0px);
  }
  50% {
    transform: rotate(0deg) translateY(var(--d));
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    transform: rotate(var(--r)) translateY(var(--d));
  }
}
@keyframes ani-out {
  0% {
    transform: rotate(var(--r)) translateY(var(--d));
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  50% {
    transform: rotate(0deg) translateY(var(--d));
    transition-timing-function: ease;
  }
  100% {
    transform: rotate(0deg) translateY(0px);
  }
}
.header {
  width: 100%;
  z-index: 1;
  position: relative;
  display: none;
  justify-content: space-between;
  padding: 1.25rem 1rem;
  transition: transform 0.5s ease;
}
@media only screen and (min-width: 768px) {
  .header {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1.5rem;
    padding: 1.25rem 3.5rem;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .header__h1 {
    z-index: 1;
  }
}
@media only screen and (min-width: 768px) {
  .header__h1 {
    grid-column: 8/span 2;
  }
}
.header__h1 a {
  display: block;
}
.header__h1 svg {
  height: 1.25rem;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .header__h1 svg {
    height: 1.5rem;
  }
}
.header :link,
.header :visited {
  text-decoration: none;
  color: var(--black);
}
.header__nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header__nav {
    display: flex;
    justify-content: space-between;
    grid-row: 2;
    grid-column: 5/span 8;
    --lh: 1.25rem;
    --mb: var(--lh);
    font-size: 0.875rem;
    letter-spacing: 0.25px;
    line-height: var(--lh);
    text-transform: uppercase;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .header__nav {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .header__nav {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}

.footer-sticky {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1rem 0.75rem;
  background-color: var(--white);
  border-top: 1px solid;
  transition: all 0.5s ease;
  transform: translate3d(0, 0%, 0);
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .footer-sticky {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 0.5rem 3.5rem;
  }
}
.hide-footer .footer-sticky {
  transform: translate3d(0, 100%, 0);
  opacity: 0;
}
.footer-sticky__stars {
  flex: 1;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .footer-sticky__stars {
    grid-column: 2/span 4;
  }
}
.footer-sticky__stars svg {
  height: 1.5rem;
}
.footer-sticky__stars .green-star {
  margin-left: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .footer-sticky__stars .green-star {
    margin-left: 2.5rem;
  }
}
.footer-sticky__anvil {
  flex: 1;
  display: block;
}
@media only screen and (min-width: 768px) {
  .footer-sticky__anvil {
    grid-column: 8/span 2;
    justify-self: center;
  }
  .footer-sticky__anvil:after {
    display: none;
  }
}
.footer-sticky__anvil svg {
  margin: auto;
  pointer-events: none;
  height: 1.4375rem;
}
.footer-sticky__link {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  flex: 1;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .footer-sticky__link {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-sticky__link {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .footer-sticky__link {
    grid-column: 12/span 4;
    justify-self: end;
  }
  .footer-sticky__link:after {
    display: none;
  }
}
.footer-sticky__link--signup {
  display: none;
}
@media only screen and (min-width: 768px) {
  .footer-sticky__link--signup {
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .footer-sticky__link--book {
    display: none;
  }
}
.footer-sticky :link,
.footer-sticky :visited {
  text-decoration: none;
  color: var(--black);
}

.footer-newsletter {
  padding: 3.125rem 1rem 6.25rem;
  background: var(--black);
  color: var(--grey);
}
.footer-1 .footer-newsletter {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 1;
    display: grid;
    grid-column: span 16;
    grid-template-columns: repeat(16, 1fr);
    padding: 4rem 3.5rem 4.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-newsletter {
    padding: 5.625rem 4.5rem 8rem;
  }
}
.footer-newsletter img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  opacity: 0.45;
}
.footer-newsletter__heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  text-align: center;
  margin-bottom: 0.625rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-newsletter__heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__heading {
    grid-column: 6/span 6;
  }
}
.footer-newsletter p {
  text-align: center;
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
  margin-bottom: 2.5rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter p {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-newsletter p {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) {
  .footer-newsletter p {
    grid-column: 6/span 6;
  }
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__component {
    grid-column: 6/span 6;
  }
}
.footer-newsletter__subscribe-form {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 2.5rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__subscribe-form {
    grid-template-columns: repeat(6, 1fr);
  }
}
.footer-newsletter__subscribe-form input[type=email] {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  text-transform: none;
  display: block;
  grid-column: span 4;
  width: 100%;
  border-bottom: 1px solid var(--grey);
  color: inherit;
  padding: 0.625rem 0;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__subscribe-form input[type=email] {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-newsletter__subscribe-form input[type=email] {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__subscribe-form input[type=email] {
    grid-column: span 6;
  }
}
.footer-newsletter__button {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  display: inline-block;
  padding: 0.5rem;
  border-radius: 1.625rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  padding: 0;
  color: var(--grey);
  grid-column: 2/span 2;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__button {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer-newsletter__button {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.footer-newsletter__button:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--black);
  border-radius: 1.625rem;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__button {
    padding: 0.6875rem 0.75rem 0.75rem;
    transition: color 0.2s ease;
  }
  .footer-newsletter__button:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--black);
    transition: width 0.2s ease;
    transform-origin: 1.625rem 0;
  }
  .footer-newsletter__button:hover, .footer-newsletter__button:active {
    cursor: pointer;
    color: var(--bbg, var(--white));
  }
  .footer-newsletter__button:hover:before, .footer-newsletter__button:active:before {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__button {
    padding: 0.6875rem 0.875rem 0.625rem;
  }
}
.footer-newsletter__button:after {
  border-color: var(--grey);
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__button {
    grid-column: 2/span 4;
    padding: 0;
  }
  .footer-newsletter__button:before {
    z-index: 1;
    background: var(--white);
    mix-blend-mode: difference;
  }
}
.footer-newsletter__button input {
  padding: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .footer-newsletter__button input {
    cursor: pointer;
    padding: 0.6875rem 0.875rem 0.625rem;
    z-index: 1;
    position: relative;
    width: 100%;
    height: 100%;
  }
}

.footer {
  background: var(--yellow);
}
@media only screen and (min-width: 768px) {
  .footer {
    position: fixed;
    width: 100%;
    z-index: 0;
    bottom: 0;
    height: var(--fh);
  }
}
.footer__icons {
  padding: 1.25rem 1rem 3.125rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 2rem;
  justify-items: center;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .footer__icons {
    padding: 5rem 3.5rem;
    grid-column: span 16;
    grid-template-columns: repeat(16, 1fr);
  }
  .footer__icons :link,
  .footer__icons :visited {
    transition: opacity 0.3s ease;
    will-change: opacity;
  }
  .footer__icons :link:hover, .footer__icons :link:active,
  .footer__icons :visited:hover,
  .footer__icons :visited:active {
    opacity: 0.75;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__icons {
    padding: 5rem 4.5rem;
  }
}
.footer__icons a {
  display: block;
}
.footer__stars {
  display: flex;
  justify-content: space-between;
  grid-column: 2/span 2;
  width: 88%;
  max-width: 8.625rem;
}
.footer__stars svg {
  height: 1.5625rem;
}
@media only screen and (min-width: 768px) {
  .footer__stars {
    width: 100%;
    max-width: 9.25rem;
    grid-column: 2/span 4;
    justify-self: start;
  }
  .footer__stars svg {
    height: 1.75rem;
  }
}
.footer__lenclume {
  width: auto;
  grid-column: span 2;
  justify-self: start;
}
.footer__lenclume svg {
  height: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .footer__lenclume {
    grid-column: 6/span 6;
    justify-self: center;
  }
  .footer__lenclume svg {
    height: 1.75rem;
    margin: auto;
  }
}
.footer__anvil {
  width: auto;
  grid-column: 4;
  justify-self: end;
}
.footer__anvil svg {
  pointer-events: none;
  height: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .footer__anvil {
    grid-column: 14/span 2;
  }
  .footer__anvil svg {
    height: 1.75rem;
    margin-left: auto;
  }
}
.footer__main {
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .footer__main {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__main {
    padding: 0 4.5rem;
  }
}
.footer__addresses {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .footer__addresses {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__addresses {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.footer__addresses p:not(:last-child) {
  margin-bottom: var(--lh);
}
@media only screen and (min-width: 768px) {
  .footer__addresses {
    grid-column: 2/span 6;
    grid-template-columns: repeat(6, 1fr);
    margin-bottom: 5rem;
  }
  .footer__addresses :link,
  .footer__addresses :visited {
    transition: opacity 0.3s ease;
  }
  .footer__addresses :link:hover, .footer__addresses :link:active,
  .footer__addresses :visited:hover,
  .footer__addresses :visited:active {
    opacity: 0.5;
  }
}
.footer__addr-cell {
  grid-column: span 2;
}
.footer__address {
  text-transform: none;
}
@media only screen and (min-width: 768px) {
  .footer__address {
    grid-column: span 3;
  }
}
.footer__sameas {
  text-transform: none;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .footer__sameas {
    grid-column: 4/span 3;
  }
}
.footer__sameas a {
  display: inline-block;
  margin-bottom: 0.25rem;
}
.footer__navs {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .footer__navs {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__navs {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .footer__navs {
    grid-column: 8/span 9;
    grid-template-columns: repeat(9, 1fr);
    margin-bottom: 5rem;
  }
  .footer__navs :link,
  .footer__navs :visited {
    transition: opacity 0.3s ease;
  }
  .footer__navs :link:hover, .footer__navs :link:active,
  .footer__navs :visited:hover,
  .footer__navs :visited:active {
    opacity: 0.5;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__navs {
    grid-column: 10/span 7;
    grid-template-columns: repeat(7, 1fr);
  }
}
.footer__navs:before, .footer__navs:after {
  content: "";
  background-color: var(--yellow);
  height: 1px;
  mix-blend-mode: multiply;
  grid-column: span 4;
  margin: 0 -1rem;
}
@media only screen and (min-width: 768px) {
  .footer__navs:before, .footer__navs:after {
    display: none;
  }
}
.footer__navs:after {
  grid-row: 3;
}
.footer__navs-cell {
  grid-column: span 2;
  display: flex;
  align-content: start;
  flex-direction: column;
  row-gap: 0.625rem;
}
@media only screen and (min-width: 768px) {
  .footer__navs-cell {
    grid-column: span 3;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__navs-cell {
    grid-column: span 2;
  }
}
.footer__nav3 {
  grid-column: span 4;
  flex-direction: row;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .footer__nav3 {
    grid-column: span 3;
  }
}
.footer__nav3 a {
  width: calc(50% - 0.5rem);
}
@media only screen and (min-width: 768px) {
  .footer__nav3 a {
    width: 100%;
  }
}
.footer__restaurants {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  position: relative;
  margin-left: -1rem;
  margin-right: -1rem;
  display: flex;
  overflow: hidden;
  column-gap: 1rem;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .footer__restaurants {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__restaurants {
    letter-spacing: 2px;
  }
}
@media only screen and (min-width: 768px) {
  .footer__restaurants {
    grid-column: span 16;
    justify-content: center;
  }
}
.footer__restaurants:before, .footer__restaurants:after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 2rem);
  border-top: 1px solid var(--black);
}
.footer__restaurants:before {
  top: 0;
}
.footer__restaurants:after {
  bottom: 0;
}
.footer__restaurants-cell {
  display: flex;
  padding: 1.25rem 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .footer__restaurants-cell {
    justify-content: space-between;
  }
}
.footer__restaurants-cell a {
  width: auto;
  white-space: nowrap;
  position: relative;
  padding: 0 1rem;
}
.footer__restaurants-cell a:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -0.25rem;
  left: 0.25rem;
  width: calc(100% - 0.5rem);
  height: calc(100% + 0.5rem);
  background: var(--black);
  transform: scale3d(1, 0, 1);
  transition: transform 0.2s ease;
}
.footer__restaurants-cell a:after {
  content: "";
  position: absolute;
  border-right: 1px solid var(--black);
  top: 0.15rem;
  right: 0;
  height: 0.85rem;
}
.footer__restaurants-cell a:hover, .footer__restaurants-cell a:active {
  cursor: pointer;
  color: var(--white);
}
.footer__restaurants-cell a:hover svg, .footer__restaurants-cell a:active svg {
  fill: var(--white);
}
.footer__restaurants-cell a:hover:before, .footer__restaurants-cell a:active:before {
  transform: scale3d(1, 1, 1);
}
.footer__restaurants-cell svg {
  display: inline-block;
  vertical-align: top;
  margin-left: 0.25rem;
}
.footer__site {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  padding: 1.25rem 1rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .footer__site {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__site {
    letter-spacing: 2px;
  }
}
.footer__site:before {
  content: "";
  background-color: var(--yellow);
  height: 1px;
  mix-blend-mode: multiply;
  grid-column: span 4;
  grid-row: 2;
  margin: 0 -1rem;
}
@media only screen and (min-width: 768px) {
  .footer__site:before {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .footer__site {
    padding: 1.25rem 3.5rem;
    grid-column: 2/span 14;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .footer__site :link,
  .footer__site :visited {
    transition: opacity 0.3s ease;
  }
  .footer__site :link:hover, .footer__site :link:active,
  .footer__site :visited:hover,
  .footer__site :visited:active {
    opacity: 0.5;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__site {
    padding: 1.25rem 4.5rem;
  }
}
.footer__c {
  grid-column: span 2;
}
@media only screen and (min-width: 768px) {
  .footer__c {
    grid-column: 2/span 7;
  }
}
.footer__tcs {
  grid-column: 3/span 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .footer__tcs {
    grid-column: 12/span 3;
    display: block;
  }
  .footer__tcs a:not(:last-child) {
    margin-right: 1rem;
  }
}
.footer__top {
  grid-column: span 2;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .footer__top {
    grid-column: 10/span 2;
  }
}
.footer__gp {
  grid-column: span 2;
  justify-self: end;
  white-space: nowrap;
}
.footer__gp span {
  border: 1px solid var(--black);
  display: inline-block;
  padding: 0.3rem 0.3rem 0.3rem 0.45rem;
  border-radius: 50%;
  margin: -0.3rem 0;
  background: transparent;
}
@media only screen and (min-width: 768px) {
  .footer__gp {
    grid-column: 15;
    margin-left: -2rem;
  }
  .footer__gp span {
    transition: all 0.3s ease;
  }
  .footer__gp:link:hover, .footer__gp:link:active, .footer__gp:visited:hover, .footer__gp:visited:active {
    opacity: 1;
  }
  .footer__gp:link:hover span, .footer__gp:link:active span, .footer__gp:visited:hover span, .footer__gp:visited:active span {
    background: var(--black);
    color: var(--white);
  }
}

.restaurants-ticker__item {
  white-space: nowrap;
  display: flex;
}

.anvil-popup {
  display: none;
}
.anvil-popup.is-open {
  display: block;
}
.anvil-popup__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  will-change: opacity;
  z-index: 10;
}
.anvil-popup__container {
  color: var(--grey);
  background-color: var(--darkgrey);
  padding: 1.25rem 1rem;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  overflow-y: auto;
  text-align: left;
  will-change: transform;
  display: grid;
  grid-template-rows: 0.75fr -webkit-min-content -webkit-min-content 1fr;
  grid-template-rows: 0.75fr min-content min-content 1fr;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__container {
    padding: 1.25rem 3.5rem;
    grid-template-columns: repeat(16, 1fr);
    grid-template-rows: 0.75fr -webkit-min-content -webkit-min-content 1fr;
    grid-template-rows: 0.75fr min-content min-content 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 2.75rem;
  }
}
@media only screen and (min-width: 1440px) {
  .anvil-popup__container {
    padding: 1.25rem 4.5rem;
  }
}
[aria-hidden=false] .anvil-popup__container {
  animation: slideIn 0.3s cubic-bezier(0, 0, 0.2, 1) normal;
}
[aria-hidden=true] .anvil-popup__container {
  animation: slideOut 0.3s cubic-bezier(0, 0, 0.2, 1) normal;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__header {
    grid-column: 4/span 10;
  }
}
.anvil-popup__header svg {
  max-width: 11.25rem;
  margin: 0 auto 6.875rem;
}
.anvil-popup__title {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__title {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .anvil-popup__title {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.anvil-popup__close {
  color: inherit;
  background: transparent;
  border: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  justify-self: center;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__close {
    cursor: pointer;
    grid-column: 8/span 2;
  }
}
.anvil-popup__close svg {
  pointer-events: none;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__content {
    grid-column: 4/span 10;
  }
}
.anvil-popup__anvil {
  display: block;
  align-self: end;
  width: 3.75rem;
  justify-self: center;
}
@media only screen and (min-width: 768px) {
  .anvil-popup__anvil {
    grid-column: 8/span 2;
  }
}
.anvil-popup__anvil svg {
  pointer-events: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes slideIn {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
.edge-to-edge-media {
  position: relative;
  height: calc(var(--vhs) * 100);
  background-color: var(--lightgreen);
}
.edge-to-edge-media img, .edge-to-edge-media video {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.faqs {
  padding: 0 1rem;
}
.faqs:first-child {
  padding-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .faqs {
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .faqs__media {
    grid-column: 1/span 8;
    position: relative;
  }
  .flip .faqs__media {
    order: 2;
    grid-column: 9/span 8;
  }
}
.faqs__media-wrapper .ratio-box {
  display: none;
}
.faqs__media-wrapper .ratio-box:first-child {
  display: block;
}
@media only screen and (min-width: 768px) {
  .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 0;
}
@media only screen and (min-width: 768px) {
  .faqs__text {
    padding: 0 0 3rem;
    grid-column: 10/span 6;
  }
  .flip .faqs__text {
    order: 1;
    grid-column: 2/span 6;
  }
}
.faqs__text p:not(:first-of-type) {
  text-indent: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .faqs__text p:not(:first-of-type) {
    text-indent: 3rem;
  }
}
.faqs__heading {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .faqs__heading {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .faqs__heading {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
.faqs__intro {
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .faqs__intro {
    margin-bottom: 4rem;
  }
}
.faqs__faq {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
  border-bottom: 1px solid var(--black);
  padding: 0.625rem 0;
}
@media only screen and (min-width: 768px) {
  .faqs__faq {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .faqs__faq {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) {
  .faqs__faq {
    padding: 1.25rem 0 1rem;
  }
}
.faqs__faq[open] svg {
  transform: rotate(45deg);
}
.faqs__q {
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.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: 768px) {
  .faqs__q svg {
    margin-top: 0.3rem;
  }
}
.faqs__a {
  margin: var(--lh) 0;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gallery-carousel {
  display: block;
  padding: 0 1rem;
  position: relative;
}
.gallery-carousel.flickity-enabled {
  cursor: none;
}
@media only screen and (min-width: 768px) {
  .gallery-carousel {
    padding: 0 3.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .gallery-carousel {
    padding: 0 4.5rem;
  }
}
.gallery-carousel__slide {
  width: 100%;
  height: auto;
}
.gallery-carousel__arrow {
  display: none;
}
@media only screen and (min-width: 768px) {
  .over .gallery-carousel__arrow {
    display: block;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    font-size: 2rem;
    color: var(--white);
    mix-blend-mode: difference;
  }
  .gallery-carousel__arrow span {
    display: block;
  }
  .over .gallery-carousel__arrow span {
    transition: transform 0.4s ease-in-out;
  }
}

.gallery-masonry {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .gallery-masonry {
    display: grid;
    row-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 0 3.5rem;
  }
  .gallery-masonry:hover .slide {
    opacity: 0.75;
  }
  .gallery-masonry:hover .slide:hover {
    opacity: 1;
  }
  .gallery-masonry:hover .slide:hover :link {
    cursor: zoom-in;
  }
}
@media only screen and (min-width: 1440px) {
  .gallery-masonry {
    padding: 0 4.5rem;
  }
}
.gallery-masonry .row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .gallery-masonry .row {
    display: grid;
  }
}
.gallery-masonry .row div:nth-child(3) {
  order: 4;
}
.gallery-masonry .row div:nth-child(4) {
  order: 3;
}
.gallery-masonry .row div:nth-child(5) {
  order: 5;
}
.gallery-masonry .row div:nth-child(6) {
  order: 6;
}
@media only screen and (min-width: 768px) {
  .gallery-masonry .row div:nth-child(3),
  .gallery-masonry .row div:nth-child(4),
  .gallery-masonry .row div:nth-child(5),
  .gallery-masonry .row div:nth-child(6) {
    order: initial;
  }
}
@media only screen and (min-width: 768px) {
  .gallery-masonry .row.even {
    --p: 0.4fr;
    --l: 0.9fr;
    grid-template-columns: repeat(3, var(--p) var(--l));
  }
}
@media only screen and (min-width: 768px) {
  .gallery-masonry .row.odd {
    --p: 0.4fr;
    --l: 0.8fr;
    grid-template-columns: var(--l) var(--p) var(--l) var(--p) var(--l);
  }
}
.gallery-masonry a {
  display: block;
}
.gallery-masonry__slide {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .gallery-masonry__slide {
    transition: opacity 0.3s ease;
  }
}
.gallery-masonry__slide[type=even-portrait] {
  width: calc(31% - 0.5rem);
}
@media only screen and (min-width: 768px) {
  .gallery-masonry__slide[type=even-portrait] {
    width: 100%;
  }
}
.gallery-masonry__slide[type=even-landscape] {
  width: calc(68.5% - 0.5rem);
}
@media only screen and (min-width: 768px) {
  .gallery-masonry__slide[type=even-landscape] {
    width: 100%;
  }
}
.gallery-masonry__slide[type=odd-portrait] {
  width: calc(33.8% - 0.5rem);
}
@media only screen and (min-width: 768px) {
  .gallery-masonry__slide[type=odd-portrait] {
    width: 100%;
  }
}
.gallery-masonry__slide[type=odd-landscape] {
  width: calc(66.2% - 0.5rem);
}
@media only screen and (min-width: 768px) {
  .gallery-masonry__slide[type=odd-landscape] {
    width: 100%;
  }
}
.gallery-masonry__slide[type=odd-landscape]:nth-child(5) {
  width: 100%;
}

#blind {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--darkgreen);
  z-index: 100;
}

.landing {
  position: fixed;
  top: 0;
  width: 100%;
  color: var(--darkblack);
  height: calc(var(--vhs) * 100);
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .landing {
    padding: 2.5rem;
    grid-template-columns: repeat(16, 1fr);
    align-items: start;
  }
}
.landing__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--black);
}
.landing__bg img, .landing__bg video {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.landing header {
  grid-column: span 4;
  will-change: transform;
}
@media only screen and (min-width: 768px) {
  .landing header {
    grid-column: 5/span 8;
  }
}
@media only screen and (min-width: 768px) {
  .landing header h1 {
    margin: 0.75rem;
  }
}
.landing header h1 a {
  display: block;
}
.landing header nav {
  display: none;
}
@media only screen and (min-width: 768px) {
  .landing header nav {
    display: flex;
    justify-content: center;
    --lh: 1.25rem;
    --mb: var(--lh);
    font-size: 0.875rem;
    letter-spacing: 0.25px;
    line-height: var(--lh);
    text-transform: uppercase;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .landing header nav {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .landing header nav {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) {
  .landing header nav a {
    margin: 0 1.25rem;
    white-space: nowrap;
  }
}
.landing :link,
.landing :visited {
  text-decoration: none;
  color: var(--black);
}
@media only screen and (min-width: 768px) {
  .landing :link,
  .landing :visited {
    transition: 0.3s ease-in-out;
  }
  .landing :link:hover, .landing :link:active,
  .landing :visited:hover,
  .landing :visited:active {
    opacity: 0.65;
  }
}

.listing {
  width: 100%;
  padding: 0 1rem;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .listing {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    text-align: left;
  }
}
@media only screen and (min-width: 1440px) {
  .listing {
    padding: 0 4.5rem;
  }
}
.listing__heading {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .listing__heading {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .listing__heading {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
@media only screen and (min-width: 768px) {
  .listing__heading {
    margin-bottom: 2rem;
    grid-column: 2/span 14;
    transition: color 0.3s ease;
  }
}
@media only screen and (min-width: 768px) {
  .listing__table {
    grid-column: 2/span 14;
  }
}
.listing__row {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  text-transform: none;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--black);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
@media only screen and (min-width: 768px) {
  .listing__row {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .listing__row {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .listing__row {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: baseline;
  }
}
.listing__col.column1 {
  width: 100%;
  margin-bottom: 0.3125rem;
}
@media only screen and (min-width: 768px) {
  .listing__col.column1 {
    grid-column: span 6;
    margin-bottom: 0;
  }
}
.cols3 .listing__col.column2 {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .cols3 .listing__col.column2 {
    width: auto;
  }
}
.cols4 .listing__col.column2 {
  width: 100%;
  margin-bottom: 0.3125rem;
}
@media only screen and (min-width: 768px) {
  .cols4 .listing__col.column2 {
    width: auto;
  }
}
@media only screen and (min-width: 768px) {
  .listing__col.column2 {
    grid-column: 7/span 3;
  }
}
.listing__col.column3 {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .listing__col.column3 {
    width: auto;
  }
  .cols3 .listing__col.column3 {
    grid-column: 10/span 5;
  }
  .cols4 .listing__col.column3 {
    grid-column: 10/span 3;
  }
}
.listing__col.column4 {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .listing__col.column4 {
    width: auto;
    grid-column: 13/span 2;
  }
}
.listing__col:not(.column1) {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  text-transform: none;
}
@media only screen and (min-width: 768px) {
  .listing__col:not(.column1) {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .listing__col:not(.column1) {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}

.news-module {
  width: 100%;
  padding: 0 1rem;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .news-module {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    text-align: left;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module {
    padding: 0 4.5rem;
  }
}
.news-module__heading {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .news-module__heading {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module__heading {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .news-module__heading {
    grid-column: 2/span 14;
    transition: color 0.3s ease;
  }
}
.news-module__articles {
  display: block;
  transition: height 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .news-module__articles {
    grid-column: 2/span 14;
  }
}
.news-module__component {
  display: block;
}
@media only screen and (min-width: 768px) {
  .news-module__component {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .news-module__article {
    position: relative;
    grid-column-end: span 4;
  }
  .news-module__article:last-child {
    grid-column-end: span 5;
  }
  .hovered .news-module__article {
    z-index: 1;
  }
  .hovered .news-module__article.over {
    z-index: 2;
  }
}
.news-module__article-date {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  margin-bottom: 0.3125rem;
}
@media only screen and (min-width: 768px) {
  .news-module__article-date {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module__article-date {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .news-module__article-date {
    color: var(--black);
    transition: color 0.5s ease;
  }
  .hovered .news-module__article-date {
    color: var(--grey);
  }
  .hovered .over .news-module__article-date {
    color: var(--black);
  }
}
.news-module__article-title {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  text-transform: none;
  margin: 0 0 1.25rem;
}
@media only screen and (min-width: 768px) {
  .news-module__article-title {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module__article-title {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .news-module__article-title {
    color: var(--black);
    transition: color 0.5s ease;
  }
  .hovered .news-module__article-title {
    color: var(--grey);
  }
  .hovered .over .news-module__article-title {
    color: var(--black);
  }
}
.news-module__article-exp {
  display: none;
}
@media only screen and (min-width: 768px) {
  .news-module__article-exp {
    text-transform: uppercase;
    --lh: 0.875rem;
    font-size: 0.75rem;
    letter-spacing: 2px;
    line-height: var(--lh);
    text-transform: none;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .news-module__article-exp {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1440px) {
  .news-module__article-exp {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .hovered .over .news-module__article-exp {
    display: block;
    background: var(--white);
    outline: 3px solid var(--white);
  }
}
.news-module__image {
  display: none;
  position: absolute;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .over .news-module__image {
    display: block;
    width: 100%;
    z-index: 1;
  }
  .news-module__image img, .news-module__image video {
    width: calc((100% - 2rem) / 3 * 4 + 3rem);
    height: auto;
  }
}
.news-module__next, .news-module__prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid var(--black);
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.5s ease, background 0.3s ease, color 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .news-module__next, .news-module__prev {
    cursor: pointer;
  }
  .news-module__next:hover, .news-module__prev:hover {
    background: var(--black);
    color: var(--white);
  }
}
.news-module__next[disabled], .news-module__prev[disabled] {
  opacity: 0;
}
.htmx-swapping .news-module__next, .htmx-swapping .news-module__prev {
  opacity: 0.25;
  pointer-events: none;
}
.news-module__prev {
  left: 1rem;
}
@media only screen and (min-width: 768px) {
  .news-module__prev {
    left: 4.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module__prev {
    left: 6.75rem;
  }
}
.news-module__next {
  right: 1rem;
}
@media only screen and (min-width: 768px) {
  .news-module__next {
    right: 4.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .news-module__next {
    right: 6.75rem;
  }
}

.simple-text {
  width: 100%;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .simple-text {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .simple-text {
    padding: 0 4.5rem;
  }
}
.simple-text__heading {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
  margin-bottom: 0.625rem;
}
@media only screen and (min-width: 768px) {
  .simple-text__heading {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .simple-text__heading {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
@media only screen and (min-width: 768px) {
  .simple-text__heading {
    margin-bottom: 1.25rem;
    grid-column: 5/span 8;
  }
}
.simple-text__copy {
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .simple-text__copy {
    margin-bottom: 2.5rem;
    grid-column: 5/span 8;
  }
}
@media only screen and (min-width: 1440px) {
  .simple-text__copy {
    margin-bottom: 3.125rem;
  }
}
.simple-text__copy p:not(:last-child) {
  margin-bottom: var(--lh);
}
.simple-text__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .simple-text__buttons {
    grid-template-columns: repeat(8, 1fr);
    grid-column: 5/span 8;
  }
}
.simple-text__buttons .button {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  display: inline-block;
  padding: 0.5rem;
  border-radius: 1.625rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .simple-text__buttons .button {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .simple-text__buttons .button {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.simple-text__buttons .button:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--black);
  border-radius: 1.625rem;
}
@media only screen and (min-width: 768px) {
  .simple-text__buttons .button {
    padding: 0.6875rem 0.75rem 0.75rem;
    transition: color 0.2s ease;
  }
  .simple-text__buttons .button:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--black);
    transition: width 0.2s ease;
    transform-origin: 1.625rem 0;
  }
  .simple-text__buttons .button:hover, .simple-text__buttons .button:active {
    cursor: pointer;
    color: var(--bbg, var(--white));
  }
  .simple-text__buttons .button:hover:before, .simple-text__buttons .button:active:before {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .simple-text__buttons .button {
    padding: 0.6875rem 0.875rem 0.625rem;
  }
}
@media only screen and (min-width: 768px) {
  .simple-text__buttons .button {
    grid-column: span 3;
  }
}

.sticky-media-text {
  padding: 0 1rem;
}
.sticky-media-text:first-child {
  padding-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .sticky-media-text {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-media-text {
    padding: 0 4.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__media {
    grid-column: 1/span 8;
    position: relative;
  }
  .flip .sticky-media-text__media {
    order: 2;
    grid-column: 9/span 8;
  }
}
.sticky-media-text__media-wrapper .ratio-box {
  display: none;
}
.sticky-media-text__media-wrapper .ratio-box:first-child {
  display: block;
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__media-wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
    height: calc(var(--vhs) * 100 - 12rem);
  }
  .sticky-media-text__media-wrapper .ratio-box {
    display: block;
    position: absolute;
    padding-bottom: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease;
    opacity: 0;
  }
  .sticky-media-text__media-wrapper .ratio-box:first-child {
    opacity: 1;
  }
  .sticky-media-text__media-wrapper .ratio-box.seen {
    opacity: 1;
  }
}
.sticky-media-text__text {
  padding: 1.5rem 0 0;
}
.sticky-media-text__text p:not(:first-of-type) {
  text-indent: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__text p:not(:first-of-type) {
    text-indent: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__text {
    padding: 0 0 3rem;
    grid-column: 10/span 6;
  }
  .flip .sticky-media-text__text {
    order: 1;
    grid-column: 2/span 6;
  }
}
.sticky-media-text__heading {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__heading {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-media-text__heading {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
.sticky-media-text__block {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__block {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-media-text__block {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
.sticky-media-text__block:not(:last-child) {
  margin-bottom: 2rem;
}
.sticky-media-text__block p:not(:last-child) {
  margin-bottom: var(--mb);
}
.sticky-media-text__block-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__block-heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-media-text__block-heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.sticky-media-text__sticky-btn {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  padding: 1rem 0;
  background-color: var(--offwhite);
}
@media only screen and (min-width: 768px) {
  .sticky-media-text__sticky-btn {
    padding-bottom: 4rem;
  }
}

.menu-page {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow-y: auto;
  z-index: 10;
}
.menu-page__nav {
  position: fixed;
  top: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 1;
}
.menu-page__close {
  color: inherit;
  background: transparent;
  border: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  justify-self: center;
}
@media only screen and (min-width: 768px) {
  .menu-page__close {
    cursor: pointer;
    grid-column: 8/span 2;
  }
}
.menu-page__close svg {
  pointer-events: none;
  width: 100%;
}

.sticky-menu {
  padding: 0 1rem;
}
.sticky-menu:first-child {
  padding-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .sticky-menu {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-menu {
    padding: 0 4.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .sticky-menu__media {
    grid-column: 1/span 8;
    position: relative;
  }
  .flip .sticky-menu__media {
    order: 2;
    grid-column: 9/span 8;
  }
}
.sticky-menu__media-wrapper .ratio-box {
  display: none;
}
.sticky-menu__media-wrapper .ratio-box:first-child {
  display: block;
}
@media only screen and (min-width: 768px) {
  .sticky-menu__media-wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
    height: calc(var(--vhs) * 100 - 12rem);
  }
  .sticky-menu__media-wrapper .ratio-box {
    display: block;
    position: absolute;
    padding-bottom: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease;
    opacity: 0;
  }
  .sticky-menu__media-wrapper .ratio-box:first-child {
    opacity: 1;
  }
  .sticky-menu__media-wrapper .ratio-box.seen {
    opacity: 1;
  }
}
.sticky-menu__text {
  padding: 1.5rem 0 0;
}
@media only screen and (min-width: 768px) {
  .sticky-menu__text {
    padding: 0;
    grid-column: 10/span 6;
  }
  .sticky-menu__text:not(:last-child) {
    padding-bottom: 3rem;
  }
  .flip .sticky-menu__text {
    order: 1;
    grid-column: 2/span 6;
  }
}
.sticky-menu__heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .sticky-menu__heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-menu__heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.sticky-menu__block {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .sticky-menu__block {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-menu__block {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
.sticky-menu__block:not(:last-child) {
  margin-bottom: 2rem;
}
.sticky-menu__block p:not(:last-child) {
  margin-bottom: calc(var(--lh) / 2);
  padding-bottom: calc(var(--lh) / 2);
  border-bottom: 1px solid var(--grey);
}
.sticky-menu__block-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .sticky-menu__block-heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .sticky-menu__block-heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.sticky-menu__sticky-btn {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  padding: 1rem 0;
  background-color: var(--offwhite);
}
@media only screen and (min-width: 768px) {
  .sticky-menu__sticky-btn {
    padding-bottom: 4rem;
  }
}

.ticker {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  border-top: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  padding: 0.6875rem 0;
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .ticker {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .ticker {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .ticker {
    padding: 1.3125rem 0;
  }
}
@media only screen and (min-width: 1440px) {
  .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: 768px) {
  .ticker :link,
  .ticker :visited {
    transition: 0.3s ease-in-out;
  }
  .ticker :link:hover, .ticker :link:active,
  .ticker :visited:hover,
  .ticker :visited:active {
    opacity: 0.65;
  }
}

.timeline {
  width: 100%;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .timeline {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .timeline {
    padding: 0 4.5rem;
  }
}
.timeline__row {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--black);
  transition: color 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .timeline__row {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .timeline__row {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 768px) {
  .timeline__row {
    grid-column: 2/span 10;
    grid-template-columns: repeat(10, 1fr);
  }
}
.hovered .timeline__row {
  color: var(--grey);
}
.hovered .timeline__row.over {
  color: var(--black);
}
.timeline__event {
  grid-column: span 3;
}
@media only screen and (min-width: 768px) {
  .timeline__event {
    grid-column: span 9;
  }
}
.timeline__image {
  grid-column: 2/span 3;
  width: 100%;
  height: 0;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .timeline__image {
    position: absolute;
    height: auto;
    display: none;
    grid-column: span 4;
    width: calc((100% - 9rem) / 10 * 4 + 3rem);
    left: calc(100% + 1rem);
    transform: translateY(-50%);
  }
  .over .timeline__image {
    display: block;
    z-index: 22;
  }
}
.timeline__image img {
  width: 100%;
  height: auto;
  padding-top: 1.25rem;
  padding-bottom: 0.625rem;
}

.two-up {
  width: 100%;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .two-up {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up {
    padding: 0 4.5rem;
  }
}
.two-up__col {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .two-up__col {
    grid-template-columns: repeat(8, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 2.5rem;
    align-content: start;
  }
}
.two-up__col + .two-up__col {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .two-up__col + .two-up__col {
    margin-top: 0;
  }
}
.two-up__media {
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .two-up__media {
    grid-column: 2/span 6;
    overflow: hidden;
    margin-bottom: 0;
  }
}

.two-up-media-text {
  width: 100%;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-text {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up-media-text {
    padding: 0 4.5rem;
  }
}
.two-up-media-text__col {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-text__col {
    grid-template-columns: repeat(8, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.two-up-media-text__col + .two-up-media-text__col {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-text__col + .two-up-media-text__col {
    margin-top: 0;
  }
}
.two-up-media-text__media {
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-text__media {
    grid-column: 2/span 7;
    overflow: hidden;
    margin-bottom: 0;
  }
}

.two-up-media-only {
  width: 100%;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-only {
    padding: 0 3.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up-media-only {
    padding: 0 4.5rem;
  }
}
.two-up-media-only__col {
  display: block;
}
@media only screen and (min-width: 768px) {
  .two-up-media-only__col {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
.two-up-media-only__col + .two-up-media-only__col {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .two-up-media-only__col + .two-up-media-only__col {
    margin-top: 0;
  }
}
.two-up-media-only__media {
  grid-column: span 2;
}
@media only screen and (min-width: 768px) {
  .two-up-media-only__media {
    grid-column: 2/span 6;
  }
}

.two-up__header,
.two-up-media-text__header,
.two-up-media-only__header {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
  margin-bottom: calc(-1.25rem + var(--lh));
}
@media only screen and (min-width: 768px) {
  .two-up__header,
  .two-up-media-text__header,
  .two-up-media-only__header {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up__header,
  .two-up-media-text__header,
  .two-up-media-only__header {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
@media only screen and (min-width: 768px) {
  .two-up__header,
  .two-up-media-text__header,
  .two-up-media-only__header {
    margin-bottom: calc(-2.5rem + var(--lh));
    grid-column: 2/span 6;
    overflow: hidden;
  }
}
.two-up__text p:not(:last-child),
.two-up-media-text__text p:not(:last-child),
.two-up-media-only__text p:not(:last-child) {
  margin-bottom: var(--lh);
}
@media only screen and (min-width: 768px) {
  .two-up__text,
  .two-up-media-text__text,
  .two-up-media-only__text {
    grid-column: 2/span 6;
    overflow: hidden;
  }
}
.two-up__link,
.two-up-media-text__link,
.two-up-media-only__link {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .two-up__link,
  .two-up-media-text__link,
  .two-up-media-only__link {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up__link,
  .two-up-media-text__link,
  .two-up-media-only__link {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .two-up__link,
  .two-up-media-text__link,
  .two-up-media-only__link {
    grid-column: 2/span 6;
    overflow: hidden;
  }
}
.two-up__buttons,
.two-up-media-text__buttons,
.two-up-media-only__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
  align-items: start;
}
@media only screen and (min-width: 768px) {
  .two-up__buttons,
  .two-up-media-text__buttons,
  .two-up-media-only__buttons {
    grid-column: 2/span 6;
    overflow: hidden;
  }
}
.two-up__buttons.long-buttons a,
.two-up-media-text__buttons.long-buttons a,
.two-up-media-only__buttons.long-buttons a {
  grid-column: span 2;
}
.two-up__buttons a,
.two-up-media-text__buttons a,
.two-up-media-only__buttons a {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  display: inline-block;
  padding: 0.5rem;
  border-radius: 1.625rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .two-up__buttons a,
  .two-up-media-text__buttons a,
  .two-up-media-only__buttons a {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up__buttons a,
  .two-up-media-text__buttons a,
  .two-up-media-only__buttons a {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.two-up__buttons a:after,
.two-up-media-text__buttons a:after,
.two-up-media-only__buttons a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--black);
  border-radius: 1.625rem;
}
@media only screen and (min-width: 768px) {
  .two-up__buttons a,
  .two-up-media-text__buttons a,
  .two-up-media-only__buttons a {
    padding: 0.6875rem 0.75rem 0.75rem;
    transition: color 0.2s ease;
  }
  .two-up__buttons a:before,
  .two-up-media-text__buttons a:before,
  .two-up-media-only__buttons a:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--black);
    transition: width 0.2s ease;
    transform-origin: 1.625rem 0;
  }
  .two-up__buttons a:hover, .two-up__buttons a:active,
  .two-up-media-text__buttons a:hover,
  .two-up-media-text__buttons a:active,
  .two-up-media-only__buttons a:hover,
  .two-up-media-only__buttons a:active {
    cursor: pointer;
    color: var(--bbg, var(--white));
  }
  .two-up__buttons a:hover:before, .two-up__buttons a:active:before,
  .two-up-media-text__buttons a:hover:before,
  .two-up-media-text__buttons a:active:before,
  .two-up-media-only__buttons a:hover:before,
  .two-up-media-only__buttons a:active:before {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .two-up__buttons a,
  .two-up-media-text__buttons a,
  .two-up-media-only__buttons a {
    padding: 0.6875rem 0.875rem 0.625rem;
  }
}
.two-up__media,
.two-up-media-text__media,
.two-up-media-only__media {
  display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .two-up__media,
  .two-up-media-text__media,
  .two-up-media-only__media {
    overflow: hidden;
  }
}
.two-up__media:link, .two-up__media:visited,
.two-up-media-text__media:link,
.two-up-media-text__media:visited,
.two-up-media-only__media:link,
.two-up-media-only__media:visited {
  color: inherit;
}
.two-up__media span,
.two-up-media-text__media span,
.two-up-media-only__media span {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  display: block;
  position: absolute;
  top: calc(50% - var(--lh) / 2 - 1rem);
  left: 0;
  width: 100%;
  color: var(--white);
  mix-blend-mode: difference;
  filter: invert(35%);
  text-align: center;
  padding: 1rem;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .two-up__media span,
  .two-up-media-text__media span,
  .two-up-media-only__media span {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .two-up__media span,
  .two-up-media-text__media span,
  .two-up-media-only__media span {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 768px) {
  .two-up__media span,
  .two-up-media-text__media span,
  .two-up-media-only__media span {
    opacity: 0;
    top: 0;
    padding: 0;
    display: inline-block;
    width: auto;
    transition: opacity 0.3s ease;
  }
}

.quote {
  display: block;
  width: 100%;
  padding: 0 1rem;
}
@media only screen and (min-width: 768px) {
  .quote {
    padding: 0 3.5rem;
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .quote {
    padding: 0 4.5rem;
  }
}
normal-quote .quote__quote {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  normal-quote .quote__quote {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  normal-quote .quote__quote {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 768px) {
  normal-quote .quote__quote {
    grid-column: 2/span 14;
  }
}
very-big-quote .quote__quote {
  --lh: 2.1875rem;
  font-size: 1.875rem;
  letter-spacing: -0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  very-big-quote .quote__quote {
    --lh: 5.9375rem;
    font-size: 5.625rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  very-big-quote .quote__quote {
    --lh: 7.8125rem;
    font-size: 7.8125rem;
    letter-spacing: -1px;
  }
}
@media only screen and (min-width: 768px) {
  very-big-quote .quote__quote {
    grid-column: 2/span 14;
  }
}
.quote__quote span {
  display: inline-block;
}

.product-grid {
  width: 100%;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .product-grid {
    padding: 0 3.5rem;
    grid-template-columns: 1fr 1fr;
  }
  .shop .product-grid {
    padding: 0;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid {
    padding: 0 4.5rem;
  }
}
.product-grid.small {
  grid-template-columns: 1fr 1fr;
}
@media only screen and (min-width: 1440px) {
  .product-grid.small {
    grid-template-columns: repeat(4, 1fr);
    row-gap: 6rem;
  }
  .shop .product-grid.small {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 1.5rem;
  }
}
.product-grid__product :link,
.product-grid__product :visited {
  text-decoration: none;
}
.product-grid__img {
  margin-bottom: 0.5rem;
  position: relative;
}
.product-grid__hvr-img {
  position: absolute;
  opacity: 0;
  top: 0;
  width: 100%;
  transition: opacity 0.3s ease;
}
a:hover > div > .product-grid__hvr-img {
  opacity: 1;
}
.product-grid__sub-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  color: var(--grey);
}
@media only screen and (min-width: 768px) {
  .product-grid__sub-heading {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__sub-heading {
    letter-spacing: 2px;
  }
}
.product-grid__heading {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .product-grid__heading {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__heading {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.product-grid__price {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .product-grid__price {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__price {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.product-grid__price del {
  color: var(--grey);
}
.product-grid__no-stock {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(var(--white_rgb), 0.75);
}
.product-grid__no-stock h5 {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .product-grid__no-stock h5 {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__no-stock h5 {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.product-grid__no-stock button {
  --lh: 1.5rem;
  font-size: 1.125rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .product-grid__no-stock button {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.25px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__no-stock button {
    --lh: 1.75rem;
    font-size: 1.25rem;
    letter-spacing: 0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .product-grid__no-stock button {
    cursor: pointer;
  }
  .product-grid__no-stock button:hover {
    text-decoration: underline;
    color: currentColor;
    text-decoration-color: var(--placeholder);
    text-underline-offset: 2px;
  }
}

.popup-stock {
  display: none;
}
.popup-stock.is-open {
  display: block;
}
.popup-stock__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  will-change: transform;
}
.popup-stock[aria-hidden=false] .popup-stock__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-stock[aria-hidden=true] .popup-stock__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-stock__container {
  background-color: var(--white);
  padding: 4rem 1.5rem 2rem;
  width: calc(100vw - 2rem);
  max-width: 30rem;
  max-height: 100vh;
  overflow-y: auto;
  will-change: transform;
}
@media only screen and (min-width: 1440px) {
  .popup-stock__container {
    padding: 2rem 1rem;
  }
}
.popup-stock[aria-hidden=false] .popup-stock__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-stock[aria-hidden=true] .popup-stock__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.popup-stock__title {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--grey);
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .popup-stock__title {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .popup-stock__title {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.popup-stock__close {
  background: transparent;
  border: 0;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.popup-stock__close svg {
  pointer-events: none;
}
.popup-stock__content {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
  max-width: 28rem;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .popup-stock__content {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .popup-stock__content {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
.popup-stock__form p {
  margin-bottom: 2.5rem;
}
.popup-stock__field {
  border: 1px solid var(--grey);
  border-radius: 0.25rem;
  position: relative;
  -webkit-font-smothing: antialiased;
}
.popup-stock__field:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1440px) {
  .popup-stock__field {
    order: 1;
    grid-column: 2/span 6;
  }
}
.popup-stock__field.error {
  color: var(--error);
}
.popup-stock__field--radio {
  border: 0 none;
  position: relative;
}
.popup-stock__field--radio input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 1rem;
  transform: translateX(-50%);
}
.popup-stock__field--radio input:checked ~ label:before {
  border-color: var(--black);
  background: no-repeat 50% url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7.78 1.22 5l-.947.94L4 9.667l8-8-.94-.94z' fill='%231A1A1A' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.popup-stock__field--radio label {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
  display: grid;
  grid-template-columns: -webkit-min-content 1fr;
  grid-template-columns: min-content 1fr;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .popup-stock__field--radio label {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .popup-stock__field--radio label {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
.popup-stock__field--radio label:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid var(--grey);
}
.popup-stock__field--radio label a {
  grid-column: 2;
}
.popup-stock__field--radio.error label:before {
  border-color: var(--error);
}
.popup-stock__field--email label {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  color: var(--grey);
  position: absolute;
  pointer-events: none;
  transform-origin: 0 50%;
  transition: transform 200ms, color 200ms;
  top: 1rem;
  left: 1rem;
}
@media only screen and (min-width: 768px) {
  .popup-stock__field--email label {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .popup-stock__field--email label {
    letter-spacing: 2px;
  }
}
.popup-stock__field--email input,
.popup-stock__field--email textarea {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  display: block;
  width: 100%;
  padding: 1rem 1rem 0.875rem 1rem;
}
@media only screen and (min-width: 768px) {
  .popup-stock__field--email input,
  .popup-stock__field--email textarea {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .popup-stock__field--email input,
  .popup-stock__field--email textarea {
    letter-spacing: 2px;
  }
}
.popup-stock__field--email input::-moz-placeholder, .popup-stock__field--email textarea::-moz-placeholder {
  opacity: 0;
}
.popup-stock__field--email input::placeholder,
.popup-stock__field--email textarea::placeholder {
  opacity: 0;
}
.popup-stock__field--email input:not(:-moz-placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
}
.popup-stock__field--email input:focus ~ label, .popup-stock__field--email input:not(:placeholder-shown) ~ label {
  transform: translateY(-1rem) scale(0.75);
}
.popup-stock .button-large {
  border-color: var(--white);
  width: 100%;
  max-width: 28rem;
}
@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%);
  }
}

.article {
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
}
.article:first-child {
  padding-top: 6rem;
}
@media only screen and (min-width: 768px) {
  .article {
    padding: 0 3.5rem;
  }
}
@media only screen and (min-width: 1440px) {
  .article {
    padding: 0 4.5rem;
    grid-template-columns: repeat(16, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    align-items: start;
  }
  .article:first-child {
    padding-top: 3rem;
  }
}
.article__media {
  grid-column: span 4;
  grid-row: 2;
}
@media only screen and (min-width: 1440px) {
  .article__media {
    grid-column: 1/span 7;
    grid-row: 1;
    position: relative;
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
  }
  .media-text-product .article__media {
    grid-column: 1/span 7;
  }
  .text-media-product .article__media {
    grid-column: 7/span 7;
  }
  .product-media-text .article__media {
    grid-column: 4/span 7;
  }
  .product-text-media .article__media {
    grid-column: 5/span 8;
    grid-row: 2;
  }
}
.article__media-wrapper .ratio-box:not(:last-child) {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1440px) {
  .article__media-wrapper .ratio-box:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.article__text {
  grid-column: span 4;
  grid-row: 1;
}
@media only screen and (min-width: 1440px) {
  .article__text {
    grid-column: 9/span 6;
    max-width: 25rem;
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
  }
  .media-text-product .article__text {
    grid-column: 9/span 6;
  }
  .text-media-product .article__text {
    grid-column: 1/span 6;
  }
  .product-media-text .article__text {
    grid-column: 11/span 6;
    justify-self: end;
  }
  .product-text-media .article__text {
    grid-column: 5/span 8;
    max-width: none;
    position: static;
    top: revert;
  }
}
.article__sub-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
  display: inline-block;
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .article__sub-heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__sub-heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.article__heading {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .article__heading {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__heading {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.article__copy {
  --lh: 1.25rem;
  --mb: var(--lh);
  font-size: 0.875rem;
  letter-spacing: 0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy {
    --lh: 1.375rem;
    font-size: 1rem;
    letter-spacing: 0.15px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy {
    --lh: 1.625rem;
    font-size: 1.125rem;
    letter-spacing: 0.15px;
  }
}
.article__copy:not(:last-child) {
  margin-bottom: 2rem;
}
.article__copy p:not(:last-child) {
  margin-bottom: var(--mb);
}
.article__copy h1, .article__copy h2, .article__copy h3, .article__copy h4, .article__copy h5, .article__copy h6 {
  margin: calc(var(--mb) * 1.5) 0 var(--mb);
}
.article__copy h1 {
  --lh: 2.1875rem;
  font-size: 1.875rem;
  letter-spacing: -0.25px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h1 {
    --lh: 5.9375rem;
    font-size: 5.625rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h1 {
    --lh: 7.8125rem;
    font-size: 7.8125rem;
    letter-spacing: -1px;
  }
}
.article__copy h2 {
  --lh: 1.625rem;
  font-size: 1.375rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h2 {
    --lh: 2.375rem;
    font-size: 2.125rem;
    letter-spacing: -0.5px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h2 {
    --lh: 2.875rem;
    font-size: 2.5rem;
    letter-spacing: -0.5px;
  }
}
.article__copy h3 {
  --lh: 1.5rem;
  font-size: 1.25rem;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h3 {
    --lh: 2rem;
    font-size: 1.625rem;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h3 {
    --lh: 2.25rem;
    font-size: 1.875rem;
  }
}
.article__copy h4 {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h4 {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h4 {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.article__copy h5 {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h5 {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h5 {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.article__copy h6 {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__copy h6 {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__copy h6 {
    letter-spacing: 2px;
  }
}
.article__copy ul {
  list-style: disc;
}
.article__copy ol {
  list-style: decimal;
}
.article__copy ul, .article__copy ol {
  margin-bottom: var(--mb);
}
@media only screen and (max-width: 1439px) {
  .article__copy ul, .article__copy ol {
    list-style-position: inside;
  }
}
.article__copy ul li, .article__copy ol li {
  margin-bottom: calc(var(--mb) * 0.5);
}
.article__product {
  grid-column: span 2;
  grid-row: 3;
}
@media only screen and (min-width: 1440px) {
  .article__product {
    grid-column: 15/span 2;
    grid-row: 1;
    margin-left: -1rem;
    align-self: center;
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
  }
  .media-text-product .article__product {
    grid-column: 15/span 2;
  }
  .text-media-product .article__product {
    grid-column: 15/span 2;
  }
  .product-media-text .article__product {
    grid-column: 1/span 2;
    margin-left: 0;
    margin-right: -1rem;
  }
  .product-text-media .article__product {
    grid-row: 2;
    grid-column: 1/span 2;
    margin-left: 0;
    margin-right: -1rem;
  }
}
.article__product .button-small {
  text-transform: uppercase;
  --lh: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  line-height: var(--lh);
  display: inline-block;
  padding: 0.5rem;
  border-radius: 1.625rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  width: 100%;
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .article__product .button-small {
    --lh: 1.375rem;
    font-size: 1.125rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__product .button-small {
    --lh: 1.5rem;
    font-size: 1.25rem;
  }
}
.article__product .button-small:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--black);
  border-radius: 1.625rem;
}
@media only screen and (min-width: 768px) {
  .article__product .button-small {
    padding: 0.6875rem 0.75rem 0.75rem;
    transition: color 0.2s ease;
  }
  .article__product .button-small:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--black);
    transition: width 0.2s ease;
    transform-origin: 1.625rem 0;
  }
  .article__product .button-small:hover, .article__product .button-small:active {
    cursor: pointer;
    color: var(--bbg, var(--white));
  }
  .article__product .button-small:hover:before, .article__product .button-small:active:before {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .article__product .button-small {
    padding: 0.6875rem 0.875rem 0.625rem;
  }
}
.article__product-img {
  margin-bottom: 0.5rem;
  display: block;
}
.article__product-sub-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
  color: var(--grey);
}
@media only screen and (min-width: 768px) {
  .article__product-sub-heading {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__product-sub-heading {
    letter-spacing: 2px;
  }
}
.article__product-heading {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  letter-spacing: 2px;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__product-heading {
    --lh: 1rem;
    font-size: 0.875rem;
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__product-heading {
    --lh: 1rem;
    font-size: 0.9375rem;
    letter-spacing: 0.5px;
  }
}
.article__product-heading :link, .article__product-heading :visited {
  text-decoration: none;
}
.article__product-price {
  text-transform: uppercase;
  --lh: 0.875rem;
  font-size: 0.75rem;
  line-height: var(--lh);
}
@media only screen and (min-width: 768px) {
  .article__product-price {
    letter-spacing: 1px;
  }
}
@media only screen and (min-width: 1440px) {
  .article__product-price {
    letter-spacing: 2px;
  }
}

.article-gallery {
  display: block;
}
.article-gallery__primary {
  margin-bottom: 0.75rem;
}
.article-gallery__primary:after {
  content: "flickity";
  display: none;
}
@media only screen and (min-width: 1440px) {
  .article-gallery__primary:after {
    content: "";
  }
}
@media only screen and (min-width: 1440px) {
  .article-gallery__primary {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
}
.article-gallery__primary-slide {
  width: 100%;
  margin-right: 1rem;
}
@media only screen and (min-width: 1440px) {
  .article-gallery__primary-slide {
    margin-right: 0;
  }
}
.article-gallery__nav:after {
  content: "flickity";
  display: none;
}
@media only screen and (min-width: 1440px) {
  .article-gallery__nav:after {
    content: "";
  }
}
@media only screen and (min-width: 1440px) {
  .article-gallery__nav {
    display: none;
  }
}
.article-gallery__nav-slide {
  width: calc((100% - 3rem) / 4);
}
.article-gallery__nav-slide:not(:last-child) {
  margin-right: 1rem;
}
