/* Kinetic Modules Pro: custom cursor and magnetic hover. */
.kinetic-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2147482000;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s;
}

.kinetic-cursor.is-visible {
	opacity: 1;
}

.kinetic-cursor.is-text {
	opacity: 0;
}

.kinetic-cursor--difference {
	mix-blend-mode: difference;
	--kinetic-cursor-color: #fff !important;
}

.kinetic-cursor__dot,
.kinetic-cursor__ring {
	position: fixed;
	top: 0;
	left: 0;
	will-change: transform;
}

.kinetic-cursor__dot::before,
.kinetic-cursor__ring::before {
	content: "";
	position: absolute;
	border-radius: 50%;
	transition: width 0.25s, height 0.25s, margin 0.25s, background-color 0.25s, border-color 0.25s;
}

.kinetic-cursor__dot::before {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	background: var(--kinetic-cursor-color);
}

.kinetic-cursor__ring::before {
	width: var(--kinetic-cursor-size);
	height: var(--kinetic-cursor-size);
	margin: calc(var(--kinetic-cursor-size) / -2) 0 0 calc(var(--kinetic-cursor-size) / -2);
	border: 1.5px solid var(--kinetic-cursor-color);
	box-sizing: border-box;
}

.kinetic-cursor--dot .kinetic-cursor__ring::before {
	border-color: transparent;
}

.kinetic-cursor--ring .kinetic-cursor__dot {
	display: none;
}

.kinetic-cursor.is-hover .kinetic-cursor__ring::before {
	width: calc(var(--kinetic-cursor-size) * 1.6);
	height: calc(var(--kinetic-cursor-size) * 1.6);
	margin: calc(var(--kinetic-cursor-size) * -0.8) 0 0 calc(var(--kinetic-cursor-size) * -0.8);
}

.kinetic-cursor.is-down .kinetic-cursor__ring::before {
	width: calc(var(--kinetic-cursor-size) * 0.8);
	height: calc(var(--kinetic-cursor-size) * 0.8);
	margin: calc(var(--kinetic-cursor-size) * -0.4) 0 0 calc(var(--kinetic-cursor-size) * -0.4);
}

.kinetic-cursor.has-label .kinetic-cursor__ring::before {
	width: calc(var(--kinetic-cursor-size) * 2.2);
	height: calc(var(--kinetic-cursor-size) * 2.2);
	margin: calc(var(--kinetic-cursor-size) * -1.1) 0 0 calc(var(--kinetic-cursor-size) * -1.1);
	border-color: var(--kinetic-cursor-color);
	background: var(--kinetic-cursor-color);
}

.kinetic-cursor.has-label .kinetic-cursor__dot {
	opacity: 0;
}

.kinetic-cursor__label {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	color: #fff;
	font: 600 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	mix-blend-mode: normal;
}

.kinetic-cursor--difference .kinetic-cursor__label {
	color: #000;
}

html.kinetic-cursor-native-off,
html.kinetic-cursor-native-off body,
html.kinetic-cursor-native-off a,
html.kinetic-cursor-native-off button,
html.kinetic-cursor-native-off [role="button"],
html.kinetic-cursor-native-off label,
html.kinetic-cursor-native-off select,
html.kinetic-cursor-native-off summary {
	cursor: none;
}

.kinetic-magnetic {
	transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.kinetic-magnetic.is-magnetic {
	transition-duration: 0.15s;
}

a.kinetic-magnetic,
.fl-icon.kinetic-magnetic {
	display: inline-block;
}

@media (prefers-reduced-motion: reduce) {
	.kinetic-cursor {
		display: none;
	}

	.kinetic-magnetic {
		transform: none !important;
		transition: none;
	}
}
