.f-fadeIn {
	animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
	z-index: 2
}

.f-fadeOut {
	animation: var(--f-transition-duration, .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, .2s) ease both f-crossfadeIn;
	z-index: 2
}

.f-crossfadeOut {
	animation: calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .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, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX
}

.is-horizontal .f-slideIn.from-prev {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX
}

.is-horizontal .f-slideOut.to-next {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX
}

.is-horizontal .f-slideOut.to-prev {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.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, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY
}

.is-vertical .f-slideIn.from-prev {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY
}

.is-vertical .f-slideOut.to-next {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY
}

.is-vertical .f-slideOut.to-prev {
	animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.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, .3s) ease both f-zoomInUp
}

.f-zoomOutDown {
	animation: var(--f-transition-duration, .3s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
	0% {
		transform: scale(var(--f-zoomInUp-scale, .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, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);
		opacity: 0
	}
}

.f-throwOutUp {
	animation: var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp
}

.f-throwOutDown {
	animation: var(--f-throwOutDown-duration, .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 .15s ease;
	--f-button-transform: none;
	--f-button-outline-width: 1px;
	--f-button-outline-color: rgba(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: .5;
	--f-button-svg-transition: opacity .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, .1);
	--f-spinner-color-2: rgba(17, 24, 28, .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: 0;
	padding: 0;
	width: var(--f-spinner-width);
	height: var(--f-spinner-height);
	translate: -50% -50%;
	border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
	border-top-color: var(--f-spinner-color-2);
	border-radius: var(--f-spinner-border-radius);
	animation: f-spinner .75s linear infinite,f-fadeIn .2s ease .2s both
}

@keyframes f-spinner {
	to {
		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;
	grid-template-columns: 100%;
	grid-template-rows: 100%;
	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);
	min-width: 0;
	min-height: 0;
	max-width: 100%;
	max-height: 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
}