/*! formstone v2.3.0 [index.css] 2026-10-14 | GPL-3.0 License | formstone.dev */
.fs-background {
  --fs-background-duration: 0.15s;
  position: relative;
}

@media (prefers-reduced-motion) {
  .fs-background {
    --fs-background-duration: 0s;
  }
}

.fs-background,
.fs-background-container,
.fs-background-media {
  transition: none;
}

.fs-background-container {
  display: grid;
  grid-template-areas: 'fs-background-stack';
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.fs-background-media {
  grid-area: fs-background-stack;
  min-height: 0;
  min-width: 0;
  z-index: 1;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transition: opacity var(--fs-background-duration) linear;
}

.fs-background-media img,
.fs-background-media video,
.fs-background-media iframe {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-user-drag: none;
}

.fs-background-media video {
  object-fit: cover;
  object-position: center;
}

.fs-background-media iframe {
  z-index: 0;
}

.fs-background-image,
.fs-background-video {
  width: 100%;
  height: 100%;
}

.fs-background-embed {
  aspect-ratio: 16 / 9;
  align-self: center;
  justify-self: center;
  min-height: 100%;
  min-width: 100%;
}

.fs-background-embed:after {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
  content: '';
}

.fs-checkpoint {
  --fs-checkpoint-duration: 0.5s;
  --fs-checkpoint-distance: 50px;
  --fs-checkpoint-perspective: 3000px;
  --fs-checkpoint-rotate: 90deg;
  --fs-checkpoint-scale-in: 0.5;
  --fs-checkpoint-scale-out: 1.25;
}

@media (prefers-reduced-motion) {
  .fs-checkpoint {
    --fs-checkpoint-duration: 0s;
  }
}

.fs-checkpoint[data-checkpoint-animation="fade-in"],
.fs-checkpoint[data-checkpoint-animation="fade-up"],
.fs-checkpoint[data-checkpoint-animation="fade-down"],
.fs-checkpoint[data-checkpoint-animation="fade-left"],
.fs-checkpoint[data-checkpoint-animation="fade-right"] {
  opacity: 0;
  transition: opacity var(--fs-checkpoint-duration) linear, transform var(--fs-checkpoint-duration) ease;
}

.fs-checkpoint[data-checkpoint-animation="fade-in"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-down"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-right"].fs-checkpoint-active {
  opacity: 1;
}

.fs-checkpoint[data-checkpoint-animation="fade-up"] {
  transform: translateY(var(--fs-checkpoint-distance));
}

.fs-checkpoint[data-checkpoint-animation="fade-down"] {
  transform: translateY(calc(var(--fs-checkpoint-distance) * -1));
}

.fs-checkpoint[data-checkpoint-animation="fade-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-down"].fs-checkpoint-active {
  transform: translateY(0);
}

.fs-checkpoint[data-checkpoint-animation="fade-left"] {
  transform: translateX(calc(var(--fs-checkpoint-distance) * -1));
}

.fs-checkpoint[data-checkpoint-animation="fade-right"] {
  transform: translateX(var(--fs-checkpoint-distance));
}

.fs-checkpoint[data-checkpoint-animation="fade-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="fade-right"].fs-checkpoint-active {
  transform: translateX(0);
}

.fs-checkpoint[data-checkpoint-animation="zoom-in"],
.fs-checkpoint[data-checkpoint-animation="zoom-in-up"],
.fs-checkpoint[data-checkpoint-animation="zoom-in-down"],
.fs-checkpoint[data-checkpoint-animation="zoom-in-left"],
.fs-checkpoint[data-checkpoint-animation="zoom-in-right"] {
  opacity: 0;
  transition: opacity var(--fs-checkpoint-duration) linear, transform var(--fs-checkpoint-duration) ease;
}

.fs-checkpoint[data-checkpoint-animation="zoom-in"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-down"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-right"].fs-checkpoint-active {
  opacity: 1;
}

.fs-checkpoint[data-checkpoint-animation="zoom-in"] {
  transform: translateY(0) scale(var(--fs-checkpoint-scale-in));
}

.fs-checkpoint[data-checkpoint-animation="zoom-in-up"] {
  transform: translateY(var(--fs-checkpoint-distance)) scale(var(--fs-checkpoint-scale-in));
}

.fs-checkpoint[data-checkpoint-animation="zoom-in-down"] {
  transform: translateY(calc(var(--fs-checkpoint-distance) * -1)) scale(var(--fs-checkpoint-scale-in));
}

.fs-checkpoint[data-checkpoint-animation="zoom-in"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-down"].fs-checkpoint-active {
  transform: translateY(0) scale(1);
}

.fs-checkpoint[data-checkpoint-animation="zoom-in-left"] {
  transform: translateX(calc(var(--fs-checkpoint-distance) * -1)) scale(var(--fs-checkpoint-scale-in));
}

.fs-checkpoint[data-checkpoint-animation="zoom-in-right"] {
  transform: translateX(var(--fs-checkpoint-distance)) scale(var(--fs-checkpoint-scale-in));
}

.fs-checkpoint[data-checkpoint-animation="zoom-in-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-in-right"].fs-checkpoint-active {
  transform: translateX(0) scale(1);
}

.fs-checkpoint[data-checkpoint-animation="zoom-out"],
.fs-checkpoint[data-checkpoint-animation="zoom-out-up"],
.fs-checkpoint[data-checkpoint-animation="zoom-out-down"],
.fs-checkpoint[data-checkpoint-animation="zoom-out-left"],
.fs-checkpoint[data-checkpoint-animation="zoom-out-right"] {
  opacity: 0;
  transition: opacity var(--fs-checkpoint-duration) linear, transform var(--fs-checkpoint-duration) ease;
}

.fs-checkpoint[data-checkpoint-animation="zoom-out"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-down"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-right"].fs-checkpoint-active {
  opacity: 1;
}

.fs-checkpoint[data-checkpoint-animation="zoom-out"] {
  transform: translateY(0) scale(var(--fs-checkpoint-scale-out));
}

.fs-checkpoint[data-checkpoint-animation="zoom-out-up"] {
  transform: translateY(var(--fs-checkpoint-distance)) scale(var(--fs-checkpoint-scale-out));
}

.fs-checkpoint[data-checkpoint-animation="zoom-out-down"] {
  transform: translateY(calc(var(--fs-checkpoint-distance) * -1)) scale(var(--fs-checkpoint-scale-out));
}

.fs-checkpoint[data-checkpoint-animation="zoom-out"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-down"].fs-checkpoint-active {
  transform: translateY(0) scale(1);
}

.fs-checkpoint[data-checkpoint-animation="zoom-out-left"] {
  transform: translateX(calc(var(--fs-checkpoint-distance) * -1)) scale(var(--fs-checkpoint-scale-out));
}

.fs-checkpoint[data-checkpoint-animation="zoom-out-right"] {
  transform: translateX(var(--fs-checkpoint-distance)) scale(var(--fs-checkpoint-scale-out));
}

.fs-checkpoint[data-checkpoint-animation="zoom-out-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="zoom-out-right"].fs-checkpoint-active {
  transform: translateX(0) scale(1);
}

.fs-checkpoint[data-checkpoint-animation="flip-up"],
.fs-checkpoint[data-checkpoint-animation="flip-down"],
.fs-checkpoint[data-checkpoint-animation="flip-left"],
.fs-checkpoint[data-checkpoint-animation="flip-right"] {
  backface-visibility: hidden;
  transition: opacity var(--fs-checkpoint-duration) linear, transform var(--fs-checkpoint-duration) ease;
}

.fs-checkpoint[data-checkpoint-animation="flip-up"] {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateX(calc(var(--fs-checkpoint-rotate) * -1));
}

.fs-checkpoint[data-checkpoint-animation="flip-down"] {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateX(var(--fs-checkpoint-rotate));
}

.fs-checkpoint[data-checkpoint-animation="flip-up"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="flip-down"].fs-checkpoint-active {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateX(0);
}

.fs-checkpoint[data-checkpoint-animation="flip-left"] {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateY(var(--fs-checkpoint-rotate));
}

.fs-checkpoint[data-checkpoint-animation="flip-right"] {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateY(calc(var(--fs-checkpoint-rotate) * -1));
}

.fs-checkpoint[data-checkpoint-animation="flip-left"].fs-checkpoint-active,
.fs-checkpoint[data-checkpoint-animation="flip-right"].fs-checkpoint-active {
  transform: perspective(var(--fs-checkpoint-perspective)) rotateY(0);
}

html:has(.fs-lightbox[open]) {
  overflow: hidden;
}

.fs-lightbox {
  --fs-lightbox-duration: 0.25s;
  --fs-lightbox-timing: linear;
  --fs-lightbox-overlay-bg: rgba(0, 0, 0, 0.9);
  --fs-lightbox-loading-color: #fff;
  --fs-lightbox-loading-size: 40px;
  --fs-lightbox-loading-spread: 5px;
  --fs-lightbox-loading-duration: 0.75s;
  --fs-lightbox-item-duration: 0.25s;
  --fs-lightbox-item-timing: ease;
  --fs-lightbox-zoom-duration: 0.25s;
  --fs-lightbox-details-bg: rgba(0, 0, 0, 0.6);
  --fs-lightbox-details-color: #fff;
  --fs-lightbox-details-font: 16px / 1.4 sans-serif;
  --fs-lightbox-details-padding: calc(env(safe-area-inset-top, 0px) + 40px) calc(env(safe-area-inset-right, 0px) + 60px) calc(env(safe-area-inset-bottom, 0px) + 40px) calc(env(safe-area-inset-left, 0px) + 60px);
  --fs-lightbox-details-gap: 10px;
  --fs-lightbox-button-background: rgba(0, 0, 0, 0.8);
  --fs-lightbox-button-color: #fff;
  height: 100vh;
  width: 100vw;
  max-height: 100vh;
  max-width: 100vw;
  position: fixed;
  inset: 0;
  background: transparent;
  border: none;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: display var(--fs-lightbox-duration) var(--fs-lightbox-timing) allow-discrete, opacity var(--fs-lightbox-duration) var(--fs-lightbox-timing), overlay var(--fs-lightbox-duration) var(--fs-lightbox-timing) allow-discrete;

  @starting-style {
    opacity: 0;
  }
}

@media (prefers-reduced-motion) {
  .fs-lightbox {
    --fs-lightbox-duration: 0s;
    --fs-lightbox-loading-duration: 0s;
    --fs-lightbox-item-duration: 0s;
    --fs-lightbox-zoom-duration: 0s;
  }
}

.fs-lightbox[open] {
  display: flex;
}

.fs-lightbox,
.fs-lightbox * {
  box-sizing: border-box;
}

.fs-lightbox::backdrop {
  background: var(--fs-lightbox-overlay-bg);
  opacity: 0;
  transition: display var(--fs-lightbox-duration) var(--fs-lightbox-timing) allow-discrete, opacity var(--fs-lightbox-duration) var(--fs-lightbox-timing), overlay var(--fs-lightbox-duration) var(--fs-lightbox-timing) allow-discrete;
}

.fs-lightbox-open {
  opacity: 1;
}

.fs-lightbox-open::backdrop {
  opacity: 1;

  @starting-style {
    opacity: 0;
  }
}

.fs-lightbox-sr {
  width: 1px !important;
  height: 1px !important;
  position: absolute !important;
  border-width: 0 !important;
  clip-path: rect(0 0 0 0) !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.fs-lightbox-container {
  position: absolute;
  inset: 0;
  z-index: 1;
  user-select: none;
}

.fs-lightbox-container.fs-lightbox-touching {
  cursor: grabbing;
}

.fs-lightbox-item {
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  right: env(safe-area-inset-right, 0px);
  bottom: env(safe-area-inset-bottom, 0px);
  left: env(safe-area-inset-left, 0px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--fs-lightbox-item-duration) var(--fs-lightbox-item-timing), transform var(--fs-lightbox-item-duration) var(--fs-lightbox-item-timing);
  transform: none;
}

.fs-lightbox-item_previous {
  transform: translate(-100%, 0);
}

.fs-lightbox-item_next {
  transform: translate(100%, 0);
}

.fs-lightbox-item.fs-lightbox-active.fs-lightbox-loaded {
  opacity: 1;
}

.fs-lightbox-rtl .fs-lightbox-item_previous {
  transform: translate(100%, 0);
}

.fs-lightbox-rtl .fs-lightbox-item_next {
  transform: translate(-100%, 0);
}

.fs-lightbox-container.fs-lightbox-touching .fs-lightbox-item {
  transition: none;
}

.fs-lightbox-wrap {
  max-height: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
}

.fs-lightbox-media {
  height: auto;
  width: auto;
  max-height: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fs-lightbox-media_video {
  max-width: 1200px;
  flex-grow: 1;
}

.fs-lightbox-media_element {
  touch-action: pan-y;
}

.fs-lightbox-media_image img {
  height: auto;
  width: auto;
  min-width: 200px;
  max-height: 100%;
  max-width: 100%;
  border: none;
  display: block;
  margin: auto;
  transition: transform var(--fs-lightbox-zoom-duration) var(--fs-lightbox-item-timing);
  user-select: none;
  touch-action: none;
}

.fs-lightbox-item:has(.fs-lightbox-media_image) {
  touch-action: none;
}

.fs-lightbox-zoomed .fs-lightbox-image {
  cursor: grab;
}

.fs-lightbox-container.fs-lightbox-touching .fs-lightbox-image {
  cursor: grabbing;
}

.fs-lightbox-video {
  position: relative;
  width: 100%;
}

.fs-lightbox-video iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  background: #000;
}

.fs-lightbox-iframe iframe {
  height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  width: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
  background: #000;
}

.fs-lightbox-element {
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
}

.fs-lightbox-details {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--fs-lightbox-details-gap);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(to bottom, transparent, var(--fs-lightbox-details-bg));
  color: var(--fs-lightbox-details-color);
  font: var(--fs-lightbox-details-font);
  opacity: 0;
  padding: var(--fs-lightbox-details-padding);
  transition: opacity 0.001s var(--fs-lightbox-item-timing) 0s;
  pointer-events: none;
}

.fs-lightbox-details * {
  pointer-events: all;
}

.fs-lightbox-item.fs-lightbox-active .fs-lightbox-details {
  opacity: 1;
  transition-delay: var(--fs-lightbox-item-duration);
  transition-duration: var(--fs-lightbox-item-duration);
}

.fs-lightbox-container.fs-lightbox-touching .fs-lightbox-item.fs-lightbox-active .fs-lightbox-details {
  opacity: 0;
  transition-delay: 0.001s;
  transition-duration: 0s;
}

.fs-lightbox-zoomed .fs-lightbox-item.fs-lightbox-active .fs-lightbox-details {
  opacity: 0;
  visibility: hidden;
}

.fs-lightbox-close {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  right: env(safe-area-inset-right, 0px);
  z-index: 2;
  appearance: none;
  background: var(--fs-lightbox-button-background);
  border: none;
  color: var(--fs-lightbox-button-color);
  cursor: pointer;
  padding: 0;
}

.fs-lightbox-close svg {
  width: 30px;
}

.fs-lightbox:not(.fs-lightbox-zoomable) .fs-lightbox-zoom {
  display: none;
}

.fs-lightbox-zoom {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  z-index: 2;
  appearance: none;
  background: var(--fs-lightbox-button-background);
  border: none;
  color: var(--fs-lightbox-button-color);
  padding: 0;
  opacity: 0.5;
  transition: opacity var(--fs-lightbox-duration) var(--fs-lightbox-timing);
}

.fs-lightbox-zoom_in {
  right: calc(env(safe-area-inset-right, 0px) + 40px);
}

.fs-lightbox-zoom_out {
  right: calc(env(safe-area-inset-right, 0px) + 80px);
}

.fs-lightbox-zoom svg {
  width: 28px;
}

.fs-lightbox-zoom:not([aria-disabled="true"]) {
  cursor: pointer;
  opacity: 1;
}

.fs-lightbox:not(.fs-lightbox-gallery) .fs-lightbox-control {
  display: none;
}

.fs-lightbox-control {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  bottom: env(safe-area-inset-bottom, 0px);
  z-index: 2;
  appearance: none;
  background: var(--fs-lightbox-button-background);
  border: none;
  color: var(--fs-lightbox-button-color);
  margin: auto;
  padding: 0;
  opacity: 0.5;
  transition: opacity var(--fs-lightbox-duration) var(--fs-lightbox-timing);
}

@media screen and (max-width: 739px) {
  .fs-lightbox-control {
    top: auto;
  }
}

.fs-lightbox-control_previous {
  left: 0;
}

.fs-lightbox-control_next {
  right: 0;
}

.fs-lightbox-control svg {
  width: 28px;
}

.fs-lightbox-rtl .fs-lightbox-control svg {
  transform: scale(-1);
}

.fs-lightbox-rtl .fs-lightbox-control_previous {
  left: unset;
  right: 0;
}

.fs-lightbox-rtl .fs-lightbox-control_next {
  right: unset;
  left: 0;
}

.fs-lightbox-control:not([aria-disabled="true"]) {
  cursor: pointer;
  opacity: 1;
}

.fs-lightbox-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--fs-lightbox-loading-size);
  width: var(--fs-lightbox-loading-size);
  position: fixed;
  inset: 0;
  animation: fs-lightbox-loading-spin var(--fs-lightbox-loading-duration) linear infinite;
  border: var(--fs-lightbox-loading-spread) solid transparent;
  border-top-color: var(--fs-lightbox-loading-color);
  border-radius: 100%;
  margin: auto;
  opacity: 0;
  transition: opacity var(--fs-lightbox-duration) var(--fs-lightbox-timing);
}

.fs-lightbox-loading.fs-lightbox-visible {
  opacity: 1;
}

@keyframes fs-lightbox-loading-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

html:has(.fs-modal[open]) {
  overflow: hidden;
}

.fs-modal {
  --fs-modal-duration: 0.25s;
  --fs-modal-timing: linear;
  --fs-modal-overlay-bg: rgba(0, 0, 0, 0.9);
  --fs-modal-container-bg: #fff;
  --fs-modal-button-background: #fff;
  --fs-modal-button-color: #000;
  height: 100vh;
  width: 100vw;
  max-height: 100vh;
  max-width: 100vw;
  position: fixed;
  inset: 0;
  background: transparent;
  border: none;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: display var(--fs-modal-duration) var(--fs-modal-timing) allow-discrete, opacity var(--fs-modal-duration) var(--fs-modal-timing), overlay var(--fs-modal-duration) var(--fs-modal-timing) allow-discrete;

  @starting-style {
    opacity: 0;
  }
}

@media (prefers-reduced-motion) {
  .fs-modal {
    --fs-modal-duration: 0s;
  }
}

.fs-modal[open] {
  display: flex;
}

.fs-modal,
.fs-modal * {
  box-sizing: border-box;
}

.fs-modal::backdrop {
  background: var(--fs-modal-overlay-bg);
  opacity: 0;
  transition: display var(--fs-modal-duration) var(--fs-modal-timing) allow-discrete, opacity var(--fs-modal-duration) var(--fs-modal-timing), overlay var(--fs-modal-duration) var(--fs-modal-timing) allow-discrete;
}

.fs-modal-open {
  opacity: 1;
}

.fs-modal-open::backdrop {
  opacity: 1;

  @starting-style {
    opacity: 0;
  }
}

.fs-modal-sr {
  width: 1px !important;
  height: 1px !important;
  position: absolute !important;
  border-width: 0 !important;
  clip-path: rect(0 0 0 0) !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.fs-modal-container {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  user-select: none;
}

.fs-modal-wrap {
  max-width: 100%;
  max-height: 100%;
  position: relative;
  background: var(--fs-modal-container-bg);
  overflow: auto;
}

.fs-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  right: env(safe-area-inset-right, 0px);
  z-index: 2;
  appearance: none;
  background: var(--fs-modal-button-background);
  border: none;
  color: var(--fs-modal-button-color);
  cursor: pointer;
  padding: 0;
}

.fs-modal-close svg {
  width: 30px;
}

.fs-navigation {
  box-sizing: border-box;
}

.fs-navigation,
.fs-navigation-content {
  --fs-navigation-offscreen-background: #fff;
  --fs-navigation-offscreen-width: 80vw;
  --fs-navigation-offscreen-zindex: 0;
  --fs-navigation-offscreen-duration: 0.2s;
  --fs-navigation-offscreen-timing: ease;
  --fs-navigation-overlay-zindex: 3;
  --fs-navigation-overlay-content-background: rgba(0, 0, 0, 0.8);
  --fs-navigation-overlay-content-zindex: 2;
  --fs-navigation-push-zindex: 0;
  --fs-navigation-push-content-zindex: 1;
}

@media (prefers-reduced-motion) {

  .fs-navigation,
  .fs-navigation-content {
    --fs-navigation-offscreen-duration: 0s;
  }
}

.fs-navigation-toggle-nav.fs-navigation-enabled:not(.fs-navigation-open) {
  display: none;
}

.fs-navigation-toggle-handle.fs-navigation-enabled {
  width: 100%;
  cursor: pointer;
  display: block;
}

.fs-navigation-push-nav.fs-navigation-enabled,
.fs-navigation-reveal-nav.fs-navigation-enabled,
.fs-navigation-overlay-nav.fs-navigation-enabled {
  width: var(--fs-navigation-offscreen-width);
  height: calc(100vh + 60px);
  position: fixed;
  top: 0;
  background: var(--fs-navigation-offscreen-background);
  display: block;
  overflow-y: scroll;
  visibility: hidden;
  overscroll-behavior: contain;
}

.fs-navigation-reveal-nav.fs-navigation-animated {
  transition: visibility 0.001s linear var(--fs-navigation-offscreen-duration);
}

.fs-navigation-push-nav.fs-navigation-animated,
.fs-navigation-overlay-nav.fs-navigation-animated {
  transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility 0.001s linear var(--fs-navigation-offscreen-duration);
}

.fs-navigation-push-nav.fs-navigation-enabled,
.fs-navigation-reveal-nav.fs-navigation-enabled {
  z-index: var(--fs-navigation-push-zindex);
}

.fs-navigation-push-left-nav.fs-navigation-enabled,
.fs-navigation-reveal-left-nav.fs-navigation-enabled,
.fs-navigation-overlay-left-nav.fs-navigation-enabled {
  left: 0;
}

.fs-navigation-push-right-nav.fs-navigation-enabled,
.fs-navigation-reveal-right-nav.fs-navigation-enabled,
.fs-navigation-overlay-right-nav.fs-navigation-enabled {
  right: 0;
}

.fs-navigation-push-left-nav.fs-navigation-enabled,
.fs-navigation-overlay-left-nav.fs-navigation-enabled {
  transform: translate3d(calc(var(--fs-navigation-offscreen-width) * -1), 0, 0);
}

.fs-navigation-push-right-nav.fs-navigation-enabled,
.fs-navigation-overlay-right-nav.fs-navigation-enabled {
  transform: translate3d(var(--fs-navigation-offscreen-width), 0, 0);
}

.fs-navigation-overlay-nav.fs-navigation-enabled {
  z-index: var(--fs-navigation-overlay-zindex);
}

.fs-navigation-reveal-nav.fs-navigation-open {
  visibility: visible;
  transition: visibility 0.001s linear;
}

.fs-navigation-push-nav.fs-navigation-open,
.fs-navigation-overlay-nav.fs-navigation-open {
  transform: translate3d(0, 0, 0);
  transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility 0.001s linear;
  visibility: visible;
}

.fs-navigation-push-handle.fs-navigation-enabled,
.fs-navigation-overlay-handle.fs-navigation-enabled {
  cursor: pointer;
  display: block;
}

.fs-navigation-overlay-content:before {
  width: 100%;
  height: 100%;
  height: calc(100% + 60px);
  position: fixed;
  inset: 0;
  z-index: var(--fs-navigation-overlay-content-zindex);
  background: var(--fs-navigation-overlay-content-background);
  content: '';
  display: block;
  opacity: 0;
  overflow-y: scroll;
  overscroll-behavior: contain;
  transition: background var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), opacity var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing);
  visibility: hidden;
}

.fs-navigation-overlay-content.fs-navigation-open:before {
  opacity: 1;
  visibility: visible;
}

.fs-navigation-reveal-content.fs-navigation-enabled,
.fs-navigation-push-content.fs-navigation-enabled {
  position: relative;
  z-index: var(--fs-navigation-push-content-zindex);
  display: block;
  transform: translate3d(0, 0, 0);
}

.fs-navigation-reveal-content.fs-navigation-animated,
.fs-navigation-push-content.fs-navigation-animated {
  transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing);
}

.fs-navigation-reveal-left-content.fs-navigation-open,
.fs-navigation-push-left-content.fs-navigation-open {
  transform: translate3d(var(--fs-navigation-offscreen-width), 0, 0);
}

.fs-navigation-reveal-right-content.fs-navigation-open,
.fs-navigation-push-right-content.fs-navigation-open {
  transform: translate3d(calc(var(--fs-navigation-offscreen-width) * -1), 0, 0);
}

.fs-tabs {}

.fs-tabs-tab.fs-tabs-enabled,
.fs-tabs-tab_mobile.fs-tabs-enabled {
  box-sizing: border-box;
  cursor: pointer;
}

.fs-tabs-content.fs-tabs-enabled {
  box-sizing: border-box;
  display: none;
}

.fs-tabs-content.fs-tabs-active {
  display: block;
}

.fs-tabs-tab_mobile.fs-tabs-mobile {
  appearance: none;
}

.fs-tabs-tab.fs-tabs-mobile,
.fs-tabs-tab_mobile,
.fs-tabs-tab_mobile.fs-tabs-active {
  display: none;
}

.fs-tabs-tab_mobile.fs-tabs-mobile,
.fs-tabs-tab_mobile.fs-tabs-mobile.fs-tabs-active {
  display: block;
}