.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease)
    var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}
.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease)
    var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}
@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-fadeOut {
  to {
    opacity: 0;
  }
}
.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease both f-crossfadeIn;
  z-index: 2;
}
.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.2) ease
    calc(var(--f-transition-duration, 0.2s) * 0.8) both f-crossfadeOut;
  z-index: 1;
}
@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes f-crossfadeOut {
  to {
    opacity: 0;
  }
}
.is-horizontal .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideInNextX;
}
.is-horizontal .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideInPrevX;
}
.is-horizontal .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideOutNextX;
}
.is-horizontal .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideOutPrevX;
}
@keyframes f-slideInPrevX {
  0% {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextX {
  0% {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextX {
  to {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevX {
  to {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.is-vertical .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideInNextY;
}
.is-vertical .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideInPrevY;
}
.is-vertical .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideOutNextY;
}
.is-vertical .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1)
    f-slideOutPrevY;
}
@keyframes f-slideInPrevY {
  0% {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideInNextY {
  0% {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
  to {
    transform: translateZ(0);
  }
}
@keyframes f-slideOutNextY {
  to {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
}
@keyframes f-slideOutPrevY {
  to {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
}
.f-zoomInUp {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomInUp;
}
.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomOutDown;
}
@keyframes f-zoomInUp {
  0% {
    transform: scale(var(--f-zoomInUp-scale, 0.975))
      translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0);
    opacity: var(--f-zoomInUp-opacity, 0);
  }
  to {
    transform: scale(1) translateZ(0);
    opacity: 1;
  }
}
@keyframes f-zoomOutDown {
  to {
    transform: scale(var(--f-zoomOutDown-scale, 0.975))
      translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0);
    opacity: 0;
  }
}
.f-throwOutUp {
  animation: var(--f-throwOutUp-duration, 0.2s) ease-out both f-throwOutUp;
}
.f-throwOutDown {
  animation: var(--f-throwOutDown-duration, 0.2s) ease-out both f-throwOutDown;
}
@keyframes f-throwOutUp {
  to {
    transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px) * -1), 0);
    opacity: 0;
  }
}
@keyframes f-throwOutDown {
  to {
    transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0);
    opacity: 0;
  }
}
:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(0, 0, 0, 0.7);
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-opacity: 1;
  --f-button-svg-disabled-opacity: 0.5;
  --f-button-svg-transition: opacity 0.15s ease;
  --f-button-svg-transform: none;
}
.f-button {
  width: var(--f-button-width);
  height: var(--f-button-height);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  color: var(--f-button-color);
  background: var(--f-button-bg);
  box-shadow: var(--f-button-shadow);
  transform: var(--f-button-transform);
  transition: var(--f-button-transition);
  backdrop-filter: var(--f-button-backdrop-filter);
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: content-box;
  position: relative;
  margin: 0;
  padding: 0;
  pointer-events: all;
  cursor: pointer;
  overflow: hidden;
}
@media (hover: hover) {
  .f-button:hover:not([aria-disabled]) {
    color: var(--f-button-hover-color, var(--f-button-color));
    background-color: var(--f-button-hover-bg, var(--f-button-bg));
  }
}
.f-button:active:not([aria-disabled]) {
  color: var(
    --f-button-active-color,
    var(--f-button-hover-color, var(--f-button-color))
  );
  background-color: var(
    --f-button-active-bg,
    var(--f-button-hover-bg, var(--f-button-bg))
  );
}
.f-button:focus {
  outline: none;
}
.f-button:focus-visible {
  outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
  outline-offset: var(--f-button-outline-offset);
  position: relative;
  z-index: 1;
}
.f-button svg {
  width: var(--f-button-svg-width);
  height: var(--f-button-svg-height);
  transform: var(--f-button-svg-transform);
  fill: var(--f-button-svg-fill);
  filter: var(--f-button-svg-filter);
  opacity: var(--f-button-svg-opacity, 1);
  transition: var(--f-button-svg-transition);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.f-button[aria-disabled] {
  cursor: default;
}
.f-button[aria-disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}
[data-panzoom-action="toggleFS"] g:first-child {
  display: flex;
}
[data-panzoom-action="toggleFS"] g:last-child {
  display: none;
}
.in-fullscreen [data-panzoom-action="toggleFS"] g:first-child {
  display: none;
}
.in-fullscreen [data-panzoom-action="toggleFS"] g:last-child {
  display: flex;
}
[data-autoplay-action="toggle"] svg g:first-child {
  display: flex;
}
[data-autoplay-action="toggle"] svg g:last-child {
  display: none;
}
.has-autoplay [data-autoplay-action="toggle"] svg g:first-child {
  display: none;
}
.has-autoplay [data-autoplay-action="toggle"] svg g:last-child {
  display: flex;
}
[data-fullscreen-action="toggle"] svg g:first-child {
  display: flex;
}
[data-fullscreen-action="toggle"] svg g:last-child {
  display: none;
}
:fullscreen
  [data-fullscreen-action="toggle"]
  svg
  [data-fullscreen-action="toggle"]
  svg
  g:first-child {
  display: none;
}
:fullscreen
  [data-fullscreen-action="toggle"]
  svg
  [data-fullscreen-action="toggle"]
  svg
  g:last-child {
  display: flex;
}
:root {
  --f-spinner-color-1: rgba(0, 0, 0, 0.1);
  --f-spinner-color-2: rgba(17, 24, 28, 0.8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
}
.f-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: calc(var(--f-spinner-width) * -0.5) 0 0
    calc(var(--f-spinner-height) * -0.5);
  padding: 0;
  width: var(--f-spinner-width);
  height: var(--f-spinner-height);
  border-radius: var(--f-spinner-border-radius);
  border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
  border-top-color: var(--f-spinner-color-2);
  animation: f-spinner 0.75s linear infinite, f-fadeIn 0.2s ease 0.2s both;
}
@keyframes f-spinner {
  to {
    transform: rotate(360deg);
  }
}
.f-carousel {
  --f-carousel-gap: 0px;
  --f-carousel-slide-width: 100%;
  --f-carousel-slide-padding: 0;
}
.f-carousel.is-vertical {
  --f-carousel-slide-height: 100%;
}
.f-carousel {
  display: flex;
  flex-direction: column;
  position: relative;
}
.f-carousel.is-ltr {
  direction: ltr;
}
.f-carousel.is-rtl {
  direction: rtl;
}
.f-carousel__viewport {
  display: grid;
  flex: 1;
  min-height: 0;
  min-width: 0;
  position: relative;
  overflow: hidden;
}
.has-adaptive-height > .f-carousel__viewport {
  flex: 0 0 auto;
}
.f-carousel__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}
.f-carousel__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}
.f-carousel__viewport [data-selectable],
.f-carousel__viewport [contenteditable] {
  cursor: auto;
}
.f-carousel__slide {
  position: relative;
  box-sizing: border-box;
  grid-area: 1/1;
  width: var(--f-carousel-slide-width);
  height: var(--f-carousel-slide-height);
  flex-shrink: 0;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  margin: 0;
  padding: var(--f-carousel-slide-padding);
  background: var(--f-carousel-slide-bg);
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}
.is-centered .f-carousel__slide {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.is-centered .f-carousel__slide:before,
.is-centered .f-carousel__slide:after {
  display: block;
  content: "";
}
.is-centered .f-carousel__slide:before {
  margin-bottom: auto;
}
.is-centered .f-carousel__slide:after {
  margin-top: auto;
}
.f-carousel__slide.has-html {
  overflow: auto;
}
