:root {
	--vm-duration: 800ms;
	--vm-delay: 0ms;
	--vm-easing: cubic-bezier(0.2, 0.8, 0.2, 1);
	--vm-iteration: 1;
	--vm-offset-x: 0px;
	--vm-offset-y: 24px;
	--vm-scale: 1;
	--vm-rotation: 0deg;
	--vm-opacity: 1;
}

.vm-motion-prepared {
	opacity: 0;
}

.vm-motion-running {
	animation-delay: var(--vm-delay);
	animation-duration: var(--vm-duration);
	animation-fill-mode: both;
	animation-iteration-count: var(--vm-iteration);
	animation-timing-function: var(--vm-easing);
	backface-visibility: hidden;
	will-change: opacity, transform, filter, clip-path;
}

.vm-motion-ended {
	will-change: auto;
}

.vm-anim-fade,
.vm-anim-fade-on-scroll {
	animation-name: vm-fade;
}

.vm-anim-fade-up {
	animation-name: vm-fade-up;
}

.vm-anim-fade-down {
	animation-name: vm-fade-down;
}

.vm-anim-fade-left {
	animation-name: vm-fade-left;
}

.vm-anim-fade-right {
	animation-name: vm-fade-right;
}

.vm-anim-zoom {
	animation-name: vm-zoom;
}

.vm-anim-bounce {
	animation-name: vm-bounce;
}

.vm-anim-scale,
.vm-anim-scale-on-scroll {
	animation-name: vm-scale;
}

.vm-anim-blur-in {
	animation-name: vm-blur-in;
}

.vm-anim-focus-in {
	animation-name: vm-focus-in;
}

.vm-anim-flip {
	animation-name: vm-flip;
}

.vm-anim-flip-3d {
	animation-name: vm-flip-3d;
}

.vm-anim-rotate {
	animation-name: vm-rotate;
}

.vm-anim-elastic {
	animation-name: vm-elastic;
}

.vm-anim-spring-up {
	animation-name: vm-spring-up;
}

.vm-anim-cinematic-rise {
	animation-name: vm-cinematic-rise;
}

.vm-anim-hero-sweep {
	animation-name: vm-hero-sweep;
}

.vm-anim-clip-reveal {
	animation-name: vm-clip-reveal;
}

.vm-anim-skew-reveal {
	animation-name: vm-skew-reveal;
}

.vm-anim-magnetic-pop {
	animation-name: vm-magnetic-pop;
}

.vm-anim-slide {
	animation-name: vm-slide;
}

.vm-anim-slide-in-blurred {
	animation-name: vm-slide-in-blurred;
}

.vm-anim-slide-up-big {
	animation-name: vm-slide-up-big;
}

.vm-anim-roll-in {
	animation-name: vm-roll-in;
}

.vm-anim-light-speed-in {
	animation-name: vm-light-speed-in;
}

.vm-anim-blur-zoom {
	animation-name: vm-blur-zoom;
}

.vm-anim-pop-in {
	animation-name: vm-pop-in;
}

.vm-anim-float,
.vm-anim-floating-shapes {
	animation-name: vm-float;
	animation-iteration-count: infinite;
}

.vm-anim-reveal,
.vm-anim-sticky-reveal,
.vm-anim-image-reveal {
	animation-name: vm-reveal;
}

.vm-anim-curtain {
	animation-name: vm-curtain;
}

.vm-anim-mask-reveal {
	animation-name: vm-mask-reveal;
}

.vm-anim-fade-out {
	animation-name: vm-fade-out;
}

.vm-anim-zoom-out {
	animation-name: vm-zoom-out;
}

.vm-anim-slide-out-down {
	animation-name: vm-slide-out-down;
}

.vm-anim-pop-out {
	animation-name: vm-pop-out;
}

.vm-anim-scale-down,
.vm-anim-shrink {
	animation-name: vm-scale-down;
}

.vm-anim-rotate-out {
	animation-name: vm-rotate-out;
}

.vm-anim-blur-out {
	animation-name: vm-blur-out;
}

.vm-anim-grow {
	animation-name: vm-grow;
}

.vm-anim-pulse {
	animation-name: vm-pulse;
}

.vm-anim-tilt {
	animation-name: vm-tilt;
}

.vm-anim-magnetic-tilt {
	animation-name: vm-magnetic-tilt;
}

.vm-anim-button-pop {
	animation-name: vm-button-pop;
}

.vm-anim-glow,
.vm-anim-neon,
.vm-anim-brilho {
	animation-name: vm-glow;
}

.vm-anim-glow-pulse {
	animation-name: vm-glow-pulse;
}

.vm-anim-liquid-glow {
	animation-name: vm-liquid-glow;
}

.vm-anim-border-animation {
	animation-name: vm-border-animation;
}

.vm-anim-border-draw {
	animation-name: vm-border-draw;
}

.vm-anim-border-pulse {
	animation-name: vm-border-pulse;
}

.vm-anim-spotlight {
	animation-name: vm-spotlight;
}

.vm-anim-gradient-move,
.vm-anim-gradient-animation,
.vm-anim-aurora,
.vm-anim-mesh-drift,
.vm-anim-ocean-waves,
.vm-anim-ocean {
	animation-name: vm-gradient-move;
	background-size: 220% 220%;
}

.vm-anim-ripple {
	animation-name: vm-ripple;
}

.vm-anim-shadow-lift {
	animation-name: vm-shadow-lift;
}

.vm-anim-soft-lift {
	animation-name: vm-soft-lift;
}

.vm-anim-swing {
	animation-name: vm-swing;
}

.vm-anim-shake {
	animation-name: vm-shake;
}

.vm-anim-skew-shake {
	animation-name: vm-skew-shake;
}

.vm-anim-pop-swing {
	animation-name: vm-pop-swing;
}

.vm-anim-rubber-band {
	animation-name: vm-rubber-band;
}

.vm-anim-jello {
	animation-name: vm-jello;
	transform-origin: center;
}

.vm-anim-heartbeat {
	animation-name: vm-heartbeat;
}

.vm-anim-wobble {
	animation-name: vm-wobble;
}

.vm-anim-vibrate {
	animation-name: vm-vibrate;
}

.vm-anim-shine {
	animation-name: vm-shine;
	overflow: hidden;
	position: relative;
}

.vm-anim-highlight-sweep {
	animation-name: vm-highlight-sweep;
}

.vm-anim-tracking-in-expand {
	animation-name: vm-tracking-in-expand;
}

.vm-anim-text-pop {
	animation-name: vm-text-pop;
}

.vm-anim-text-blur {
	animation-name: vm-text-blur;
}

.vm-anim-neon-flicker {
	animation-name: vm-neon-flicker;
}

.vm-anim-wave {
	animation-name: vm-wave;
}

.vm-anim-parallax {
	animation-name: vm-parallax-preview;
	transform: translate3d(0, var(--vm-parallax, 0px), 0);
}

.vm-anim-horizontal-scroll {
	animation-name: vm-horizontal-scroll;
}

.vm-anim-progress-line {
	animation-name: vm-progress-line;
	transform-origin: left center;
}

.vm-anim-pin-elements {
	animation-name: vm-pin-preview;
}

.vm-anim-snow,
.vm-anim-rain,
.vm-anim-fog,
.vm-anim-soft-fog,
.vm-anim-clouds,
.vm-anim-stars,
.vm-anim-bubbles,
.vm-anim-fireflies,
.vm-anim-leaves,
.vm-anim-smoke,
.vm-anim-magic-dust,
.vm-anim-flying-airplane,
.vm-anim-flying-birds,
.vm-anim-palm-tree-wind {
	animation-name: vm-ambient-drift;
	animation-iteration-count: infinite;
}

.vm-anim-ken-burns {
	animation-name: vm-ken-burns;
	transform-origin: center;
}

.vm-anim-background-pulse {
	animation-name: vm-background-pulse;
}

.vm-anim-color-flash {
	animation-name: vm-color-flash;
}

@keyframes vm-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: var(--vm-opacity);
	}
}

@keyframes vm-fade-up {
	from {
		opacity: 0;
		transform: translate3d(var(--vm-offset-x), var(--vm-offset-y), 0) scale(var(--vm-start-scale, 0.98));
	}
	to {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-fade-down {
	from {
		opacity: 0;
		transform: translate3d(var(--vm-offset-x), calc(var(--vm-offset-y) * -1), 0);
	}
	to {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-fade-left {
	from {
		opacity: 0;
		transform: translate3d(var(--vm-offset-y), 0, 0);
	}
	to {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-fade-right {
	from {
		opacity: 0;
		transform: translate3d(calc(var(--vm-offset-y) * -1), 0, 0);
	}
	to {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-zoom {
	from {
		opacity: 0;
		transform: scale(0.84);
	}
	to {
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-bounce {
	0% {
		opacity: 0;
		transform: translate3d(0, 38px, 0) scale(0.96);
	}
	55% {
		opacity: 1;
		transform: translate3d(0, -8px, 0) scale(1.02);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-scale {
	from {
		opacity: 0;
		transform: scale(0.72);
	}
	to {
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-blur-in {
	from {
		filter: blur(18px);
		opacity: 0;
		transform: translate3d(0, 12px, 0);
	}
	to {
		filter: blur(0);
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-focus-in {
	0% {
		filter: blur(16px);
		opacity: 0;
		transform: scale(0.985);
	}
	100% {
		filter: blur(0);
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-flip {
	from {
		opacity: 0;
		transform: perspective(900px) rotateX(72deg);
	}
	to {
		opacity: var(--vm-opacity);
		transform: perspective(900px) rotateX(0);
	}
}

@keyframes vm-flip-3d {
	0% {
		opacity: 0;
		transform: perspective(900px) rotateY(-72deg) translate3d(0, 18px, 0);
	}
	58% {
		opacity: 1;
		transform: perspective(900px) rotateY(8deg) translate3d(0, 0, 0);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: perspective(900px) rotateY(0);
	}
}

@keyframes vm-rotate {
	from {
		opacity: 0;
		transform: rotate(calc(var(--vm-rotation) - 24deg)) scale(0.96);
	}
	to {
		opacity: var(--vm-opacity);
		transform: rotate(var(--vm-rotation)) scale(var(--vm-scale));
	}
}

@keyframes vm-spring-up {
	0% {
		opacity: 0;
		transform: translate3d(0, 72px, 0) scale(0.88);
	}
	55% {
		opacity: 1;
		transform: translate3d(0, -14px, 0) scale(1.045);
	}
	74% {
		transform: translate3d(0, 6px, 0) scale(0.992);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-cinematic-rise {
	0% {
		filter: blur(18px) saturate(0.72);
		opacity: 0;
		transform: translate3d(0, 86px, 0) scale(1.04);
	}
	100% {
		filter: blur(0) saturate(1);
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-hero-sweep {
	0% {
		clip-path: inset(0 100% 0 0);
		opacity: 0.35;
		transform: translate3d(-28px, 0, 0);
	}
	100% {
		clip-path: inset(0);
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-clip-reveal {
	0% {
		clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
		opacity: 0.3;
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		opacity: var(--vm-opacity);
	}
}

@keyframes vm-skew-reveal {
	0% {
		clip-path: inset(0 100% 0 0);
		opacity: 0;
		transform: skewX(-12deg) translate3d(-32px, 0, 0);
	}
	100% {
		clip-path: inset(0);
		opacity: var(--vm-opacity);
		transform: skewX(0) translate3d(0, 0, 0);
	}
}

@keyframes vm-magnetic-pop {
	0% {
		opacity: 0;
		transform: scale(0.7) rotate(-4deg);
	}
	62% {
		opacity: 1;
		transform: scale(1.08) rotate(2deg);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale)) rotate(0);
	}
}

@keyframes vm-elastic {
	0% {
		opacity: 0;
		transform: scale(0.68);
	}
	65% {
		opacity: 1;
		transform: scale(1.08);
	}
	82% {
		transform: scale(0.97);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-slide {
	from {
		transform: translate3d(var(--vm-offset-y), 0, 0);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-slide-in-blurred {
	0% {
		filter: blur(16px);
		opacity: 0;
		transform: translate3d(calc(var(--vm-offset-y) * -1.4), 0, 0) scale(1.02);
	}
	100% {
		filter: blur(0);
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-slide-up-big {
	0% {
		opacity: 0;
		transform: translate3d(0, 96px, 0) scale(0.96);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(var(--vm-scale));
	}
}

@keyframes vm-roll-in {
	0% {
		opacity: 0;
		transform: translate3d(-56px, 0, 0) rotate(-18deg) scale(0.94);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) rotate(0) scale(var(--vm-scale));
	}
}

@keyframes vm-light-speed-in {
	0% {
		filter: blur(8px);
		opacity: 0;
		transform: translate3d(72px, 0, 0) skewX(-14deg);
	}
	100% {
		filter: blur(0);
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) skewX(0);
	}
}

@keyframes vm-blur-zoom {
	0% {
		filter: blur(22px);
		opacity: 0;
		transform: scale(1.18);
	}
	100% {
		filter: blur(0);
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-pop-in {
	0% {
		opacity: 0;
		transform: scale(0.52);
	}
	70% {
		opacity: 1;
		transform: scale(1.08);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: scale(var(--vm-scale));
	}
}

@keyframes vm-float {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -14px, 0);
	}
}

@keyframes vm-reveal {
	from {
		clip-path: inset(0 0 100% 0);
		opacity: 0.2;
	}
	to {
		clip-path: inset(0);
		opacity: var(--vm-opacity);
	}
}

@keyframes vm-curtain {
	from {
		clip-path: inset(0 50% 0 50%);
	}
	to {
		clip-path: inset(0);
	}
}

@keyframes vm-mask-reveal {
	from {
		clip-path: circle(0% at 50% 50%);
	}
	to {
		clip-path: circle(145% at 50% 50%);
	}
}

@keyframes vm-fade-out {
	from {
		opacity: var(--vm-opacity);
	}
	to {
		opacity: 0;
	}
}

@keyframes vm-zoom-out {
	from {
		opacity: var(--vm-opacity);
		transform: scale(1);
	}
	to {
		opacity: 0;
		transform: scale(1.18);
	}
}

@keyframes vm-slide-out-down {
	from {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
	to {
		opacity: 0;
		transform: translate3d(0, 52px, 0);
	}
}

@keyframes vm-pop-out {
	0% {
		opacity: var(--vm-opacity);
		transform: scale(1);
	}
	35% {
		transform: scale(1.08);
	}
	100% {
		opacity: 0;
		transform: scale(0.62);
	}
}

@keyframes vm-scale-down {
	from {
		opacity: var(--vm-opacity);
		transform: scale(1);
	}
	to {
		opacity: 0;
		transform: scale(0.72);
	}
}

@keyframes vm-rotate-out {
	from {
		opacity: var(--vm-opacity);
		transform: rotate(0);
	}
	to {
		opacity: 0;
		transform: rotate(32deg) scale(0.86);
	}
}

@keyframes vm-blur-out {
	from {
		filter: blur(0);
		opacity: var(--vm-opacity);
	}
	to {
		filter: blur(18px);
		opacity: 0;
	}
}

@keyframes vm-grow {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.045);
	}
}

@keyframes vm-pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.055);
	}
}

@keyframes vm-tilt {
	from {
		transform: perspective(700px) rotateX(0) rotateY(0);
	}
	to {
		transform: perspective(700px) rotateX(3deg) rotateY(-5deg);
	}
}

@keyframes vm-magnetic-tilt {
	0%,
	100% {
		transform: perspective(800px) rotateX(0) rotateY(0) translate3d(0, 0, 0);
	}
	45% {
		transform: perspective(800px) rotateX(6deg) rotateY(-8deg) translate3d(0, -3px, 0);
	}
}

@keyframes vm-button-pop {
	0%,
	100% {
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
		transform: translate3d(0, 0, 0) scale(1);
	}
	48% {
		box-shadow: 0 18px 36px rgba(22, 122, 107, 0.28);
		transform: translate3d(0, -3px, 0) scale(1.055);
	}
}

@keyframes vm-glow {
	from {
		box-shadow: 0 0 0 rgba(22, 122, 107, 0);
	}
	to {
		box-shadow: 0 0 28px rgba(22, 122, 107, 0.36);
	}
}

@keyframes vm-glow-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 rgba(22, 122, 107, 0);
		filter: brightness(1);
	}
	50% {
		box-shadow: 0 0 32px rgba(22, 122, 107, 0.42), 0 0 58px rgba(242, 95, 76, 0.18);
		filter: brightness(1.08);
	}
}

@keyframes vm-liquid-glow {
	0% {
		filter: saturate(1);
		box-shadow: 0 0 0 rgba(22, 122, 107, 0);
	}
	50% {
		filter: saturate(1.35);
		box-shadow: 0 0 34px rgba(22, 122, 107, 0.34), inset 0 0 22px rgba(242, 95, 76, 0.16);
	}
	100% {
		filter: saturate(1);
		box-shadow: 0 0 0 rgba(22, 122, 107, 0);
	}
}

@keyframes vm-border-animation {
	from {
		outline: 1px solid rgba(22, 122, 107, 0);
		outline-offset: 0;
	}
	to {
		outline: 2px solid rgba(22, 122, 107, 0.7);
		outline-offset: 5px;
	}
}

@keyframes vm-border-draw {
	0% {
		box-shadow: inset 0 0 0 0 rgba(22, 122, 107, 0.72);
	}
	100% {
		box-shadow: inset 0 0 0 3px rgba(22, 122, 107, 0.72);
	}
}

@keyframes vm-border-pulse {
	0%,
	100% {
		outline: 1px solid rgba(22, 122, 107, 0);
		outline-offset: 0;
	}
	50% {
		outline: 2px solid rgba(22, 122, 107, 0.72);
		outline-offset: 7px;
	}
}

@keyframes vm-spotlight {
	0% {
		filter: brightness(0.9);
		box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.08);
	}
	100% {
		filter: brightness(1.08);
		box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.22), 0 14px 34px rgba(0, 0, 0, 0.14);
	}
}

@keyframes vm-gradient-move {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 100% 50%;
	}
}

@keyframes vm-ripple {
	0% {
		box-shadow: 0 0 0 0 rgba(22, 122, 107, 0.34);
	}
	100% {
		box-shadow: 0 0 0 20px rgba(22, 122, 107, 0);
	}
}

@keyframes vm-shadow-lift {
	from {
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
		transform: translate3d(0, 0, 0);
	}
	to {
		box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18);
		transform: translate3d(0, -5px, 0);
	}
}

@keyframes vm-soft-lift {
	0% {
		filter: brightness(1);
		transform: translate3d(0, 0, 0);
	}
	100% {
		filter: brightness(1.04);
		transform: translate3d(0, -6px, 0);
	}
}

@keyframes vm-swing {
	20% {
		transform: rotate(5deg);
	}
	40% {
		transform: rotate(-4deg);
	}
	60% {
		transform: rotate(3deg);
	}
	80% {
		transform: rotate(-2deg);
	}
	100% {
		transform: rotate(0);
	}
}

@keyframes vm-shake {
	10%,
	90% {
		transform: translate3d(-1px, 0, 0);
	}
	20%,
	80% {
		transform: translate3d(2px, 0, 0);
	}
	30%,
	50%,
	70% {
		transform: translate3d(-4px, 0, 0);
	}
	40%,
	60% {
		transform: translate3d(4px, 0, 0);
	}
}

@keyframes vm-skew-shake {
	0%,
	100% {
		transform: skewX(0) translate3d(0, 0, 0);
	}
	18% {
		transform: skewX(-6deg) translate3d(-3px, 0, 0);
	}
	36% {
		transform: skewX(5deg) translate3d(3px, 0, 0);
	}
	54% {
		transform: skewX(-3deg) translate3d(-2px, 0, 0);
	}
	72% {
		transform: skewX(2deg) translate3d(2px, 0, 0);
	}
}

@keyframes vm-pop-swing {
	0%,
	100% {
		transform: scale(1) rotate(0);
	}
	35% {
		transform: scale(1.08) rotate(-3deg);
	}
	68% {
		transform: scale(1.02) rotate(2deg);
	}
}

@keyframes vm-rubber-band {
	0%,
	100% {
		transform: scale3d(1, 1, 1);
	}
	32% {
		transform: scale3d(1.18, 0.84, 1);
	}
	48% {
		transform: scale3d(0.9, 1.08, 1);
	}
	66% {
		transform: scale3d(1.04, 0.96, 1);
	}
}

@keyframes vm-jello {
	0%,
	100% {
		transform: skew(0deg, 0deg);
	}
	28% {
		transform: skew(-9deg, -4deg);
	}
	46% {
		transform: skew(6deg, 3deg);
	}
	64% {
		transform: skew(-3deg, -1.5deg);
	}
	82% {
		transform: skew(1.5deg, 0.75deg);
	}
}

@keyframes vm-heartbeat {
	0%,
	100% {
		transform: scale(1);
	}
	18%,
	44% {
		transform: scale(1.11);
	}
	30% {
		transform: scale(0.97);
	}
}

@keyframes vm-wobble {
	0%,
	100% {
		transform: translate3d(0, 0, 0) rotate(0);
	}
	20% {
		transform: translate3d(-10px, 0, 0) rotate(-3deg);
	}
	40% {
		transform: translate3d(8px, 0, 0) rotate(2.2deg);
	}
	60% {
		transform: translate3d(-5px, 0, 0) rotate(-1.4deg);
	}
	80% {
		transform: translate3d(3px, 0, 0) rotate(0.8deg);
	}
}

@keyframes vm-vibrate {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
	}
	16% {
		transform: translate3d(-1px, 1px, 0);
	}
	33% {
		transform: translate3d(1px, -1px, 0);
	}
	50% {
		transform: translate3d(-2px, 0, 0);
	}
	66% {
		transform: translate3d(2px, 1px, 0);
	}
	83% {
		transform: translate3d(0, -1px, 0);
	}
}

@keyframes vm-shine {
	0% {
		background-position: 180% 0;
		filter: brightness(1);
	}
	100% {
		background-position: -80% 0;
		filter: brightness(1.08);
	}
}

@keyframes vm-highlight-sweep {
	0% {
		background-size: 0% 38%;
	}
	100% {
		background-image: linear-gradient(transparent 58%, rgba(242, 95, 76, 0.32) 0);
		background-repeat: no-repeat;
		background-size: 100% 38%;
		background-position: 0 92%;
	}
}

@keyframes vm-tracking-in-expand {
	0% {
		letter-spacing: 0.18em;
		opacity: 0;
		transform: translate3d(0, 0.18em, 0);
	}
	100% {
		letter-spacing: 0;
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-text-pop {
	0% {
		opacity: 0;
		transform: translate3d(0, 0.22em, 0) scale(0.92);
	}
	70% {
		opacity: 1;
		transform: translate3d(0, -0.05em, 0) scale(1.04);
	}
	100% {
		opacity: var(--vm-opacity);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes vm-text-blur {
	0% {
		filter: blur(14px);
		opacity: 0;
	}
	100% {
		filter: blur(0);
		opacity: var(--vm-opacity);
	}
}

@keyframes vm-neon-flicker {
	0%,
	18%,
	22%,
	25%,
	53%,
	57%,
	100% {
		text-shadow: 0 0 7px rgba(22, 122, 107, 0.7), 0 0 18px rgba(242, 95, 76, 0.45);
		opacity: var(--vm-opacity);
	}
	20%,
	24%,
	55% {
		text-shadow: none;
		opacity: 0.72;
	}
}

@keyframes vm-wave {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

@keyframes vm-horizontal-scroll {
	from {
		transform: translate3d(40px, 0, 0);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-parallax-preview {
	0% {
		transform: translate3d(0, 14px, 0);
	}
	100% {
		transform: translate3d(0, -10px, 0);
	}
}

@keyframes vm-pin-preview {
	0% {
		box-shadow: 0 16px 36px rgba(23, 32, 27, 0.16);
		transform: translate3d(0, 10px, 0) scale(0.98);
	}
	45% {
		box-shadow: 0 22px 44px rgba(22, 122, 107, 0.24);
		transform: translate3d(0, 0, 0) scale(1.02);
	}
	100% {
		box-shadow: 0 16px 36px rgba(23, 32, 27, 0.16);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes vm-progress-line {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

@keyframes vm-ambient-drift {
	0% {
		filter: saturate(1);
		transform: translate3d(0, 0, 0);
	}
	50% {
		filter: saturate(1.18);
		transform: translate3d(12px, -14px, 0);
	}
	100% {
		filter: saturate(1);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vm-ken-burns {
	0% {
		filter: saturate(0.96) contrast(0.98);
		transform: scale(1);
	}
	100% {
		filter: saturate(1.08) contrast(1.02);
		transform: scale(1.08) translate3d(-1.4%, -1.2%, 0);
	}
}

@keyframes vm-background-pulse {
	0%,
	100% {
		filter: brightness(1) saturate(1);
	}
	50% {
		filter: brightness(1.08) saturate(1.18);
	}
}

@keyframes vm-color-flash {
	0%,
	100% {
		box-shadow: inset 0 0 0 999px rgba(22, 122, 107, 0);
	}
	45% {
		box-shadow: inset 0 0 0 999px rgba(242, 95, 76, 0.18);
	}
}

@media (prefers-reduced-motion: reduce) {
	.vm-respect-reduced-motion .vm-motion-running {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
