/* =========================================================================
   JHR WordPress Menu for Elementor
   Structure mirrors Elementor Pro's Nav Menu so pointers/animations behave
   the same way, but nothing here depends on Elementor Pro.
   ========================================================================= */

/* ------------------------------ Base ----------------------------------- */

.jhr-nav {
	position: relative;
}

.jhr-nav .jhr-nav-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jhr-nav .jhr-nav-menu li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0 solid transparent;
}

.jhr-nav .jhr-item,
.jhr-nav .jhr-sub-item {
	display: flex;
	align-items: center;
	position: relative;
	flex: 0 1 auto;
	line-height: 1.4;
	text-decoration: none;
	color: inherit;
	transition: color .25s, background-color .25s;
	isolation: isolate;
}

.jhr-nav .jhr-item:focus-visible,
.jhr-nav .jhr-sub-item:focus-visible,
.jhr-nav .jhr-nav__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.jhr-nav .jhr-nav-menu > li > .jhr-nav-submenu,
.jhr-nav .jhr-nav-submenu > li > .jhr-nav-submenu {
	flex: 0 0 100%;
}

/* --------------------------- Main layouts ------------------------------ */

.jhr-nav-menu--layout-vertical .jhr-nav__main > .jhr-nav-menu {
	flex-direction: column;
	align-items: flex-start;
}

.jhr-nav-menu--layout-vertical .jhr-nav__main > .jhr-nav-menu > li {
	width: 100%;
}

.jhr-nav-menu--layout-dropdown .jhr-nav__main {
	display: none;
}

/* Alignment — horizontal */
.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-start .jhr-nav__main > .jhr-nav-menu { justify-content: flex-start; }
.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-center .jhr-nav__main > .jhr-nav-menu { justify-content: center; }
.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-end .jhr-nav__main > .jhr-nav-menu { justify-content: flex-end; }
.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-stretch .jhr-nav__main > .jhr-nav-menu > li { flex-grow: 1; }
.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-stretch .jhr-nav__main > .jhr-nav-menu > li > .jhr-item { flex-grow: 1; justify-content: center; }

/* Alignment — vertical */
.jhr-nav-menu--layout-vertical.jhr-nav-menu--align-center .jhr-nav__main > .jhr-nav-menu { align-items: center; }
.jhr-nav-menu--layout-vertical.jhr-nav-menu--align-center .jhr-nav__main > .jhr-nav-menu > li { justify-content: center; }
.jhr-nav-menu--layout-vertical.jhr-nav-menu--align-end .jhr-nav__main > .jhr-nav-menu { align-items: flex-end; }
.jhr-nav-menu--layout-vertical.jhr-nav-menu--align-end .jhr-nav__main > .jhr-nav-menu > li { justify-content: flex-end; }
.jhr-nav-menu--layout-vertical.jhr-nav-menu--align-stretch .jhr-nav__main > .jhr-nav-menu > li > .jhr-item { flex-grow: 1; }

/* Responsive alignment overrides */
@media (max-width: 1024px) {
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-tablet-start .jhr-nav__main > .jhr-nav-menu { justify-content: flex-start; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-tablet-center .jhr-nav__main > .jhr-nav-menu { justify-content: center; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-tablet-end .jhr-nav__main > .jhr-nav-menu { justify-content: flex-end; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-tablet-stretch .jhr-nav__main > .jhr-nav-menu > li { flex-grow: 1; }
}

@media (max-width: 767px) {
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-mobile-start .jhr-nav__main > .jhr-nav-menu { justify-content: flex-start; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-mobile-center .jhr-nav__main > .jhr-nav-menu { justify-content: center; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-mobile-end .jhr-nav__main > .jhr-nav-menu { justify-content: flex-end; }
	.jhr-nav-menu--layout-horizontal.jhr-nav-menu--align-mobile-stretch .jhr-nav__main > .jhr-nav-menu > li { flex-grow: 1; }
}

/* ------------------------- Desktop sub-menus --------------------------- */

.jhr-nav__main .jhr-nav-submenu {
	position: absolute;
	top: 100%;
	inset-inline-start: 0;
	z-index: 9999;
	display: none;
	flex-direction: column;
	align-items: stretch;
	min-width: 220px;
	padding: 0;
	margin: 0;
	background-color: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
	text-align: start;
}

.jhr-nav__main .jhr-nav-submenu li {
	width: 100%;
}

.jhr-nav__main .jhr-nav-submenu .jhr-sub-item {
	flex: 1 1 auto;
	padding: 10px 20px;
	white-space: nowrap;
}

/*
 * The flyout can't use overflow:hidden — that would clip third-level menus,
 * which open outside its box. Instead the end items inherit the panel's
 * corner radius, so a hover background follows the rounded edge.
 */
.jhr-nav__main .jhr-nav-submenu > li:first-child,
.jhr-nav__main .jhr-nav-submenu > li:first-child > .jhr-sub-item {
	border-start-start-radius: inherit;
	border-start-end-radius: inherit;
}

.jhr-nav__main .jhr-nav-submenu > li:last-child,
.jhr-nav__main .jhr-nav-submenu > li:last-child > .jhr-sub-item {
	border-end-start-radius: inherit;
	border-end-end-radius: inherit;
}

.jhr-nav__main li:hover > .jhr-nav-submenu,
.jhr-nav__main li:focus-within > .jhr-nav-submenu,
.jhr-nav__main li.jhr-submenu-open > .jhr-nav-submenu {
	display: flex;
}

/* Second level and deeper open to the side */
.jhr-nav__main .jhr-nav-submenu .jhr-nav-submenu {
	top: 0;
	inset-inline-start: 100%;
}

.jhr-nav-menu--layout-vertical .jhr-nav__main > .jhr-nav-menu > li > .jhr-nav-submenu {
	top: 0;
	inset-inline-start: 100%;
}

/* --------------------------- Toggle button ----------------------------- */

.jhr-nav__toggle-wrap {
	display: none;
	justify-content: center;
}

.jhr-nav__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
	padding: .25em;
	margin: 0;
	color: #494c4f;
	background-color: transparent;
	border: 0 solid #494c4f;
	border-radius: 0;
	cursor: pointer;
	transition: color .25s, background-color .25s, border-color .25s;
	-webkit-appearance: none;
	appearance: none;
}

.jhr-nav__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.jhr-nav__toggle i,
.jhr-nav__toggle svg {
	width: 1em;
	height: 1em;
	font-size: inherit;
	fill: currentColor;
}

.jhr-nav__toggle-icon--hover,
.jhr-nav__toggle-icon--active {
	display: none;
}

.jhr-nav__toggle--has-hover-icon:hover .jhr-nav__toggle-icon--normal { display: none; }
.jhr-nav__toggle--has-hover-icon:hover .jhr-nav__toggle-icon--hover { display: inline-flex; }

.jhr-nav--open .jhr-nav__toggle .jhr-nav__toggle-icon--normal,
.jhr-nav--open .jhr-nav__toggle .jhr-nav__toggle-icon--hover { display: none; }
.jhr-nav--open .jhr-nav__toggle .jhr-nav__toggle-icon--active { display: inline-flex; }

/* --------------------------- Dropdown panel ---------------------------- */

.jhr-nav__dropdown {
	position: absolute;
	top: 100%;
	inset-inline-start: 0;
	z-index: 9998;
	display: none;
	width: 100%;
	min-width: 240px;
	background-color: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
}

.jhr-nav--open .jhr-nav__dropdown {
	display: block;
}

.jhr-nav__dropdown .jhr-nav-menu {
	flex-direction: column;
	align-items: stretch;
	width: 100%;
}

.jhr-nav__dropdown .jhr-nav-menu li {
	width: 100%;
}

.jhr-nav__dropdown .jhr-item,
.jhr-nav__dropdown .jhr-sub-item {
	flex: 1 1 auto;
	padding: 12px 20px;
}

.jhr-nav__dropdown .jhr-nav-submenu {
	display: none;
	flex-direction: column;
	width: 100%;
	padding-inline-start: var(--jhr-submenu-indent, 20px);
	background-color: rgba(0, 0, 0, .03);
}

.jhr-nav__dropdown li.jhr-submenu-open > .jhr-nav-submenu {
	display: flex;
}

/* Text align */
.jhr-nav-menu--dropdown-text-align-center .jhr-nav__dropdown .jhr-item,
.jhr-nav-menu--dropdown-text-align-center .jhr-nav__dropdown .jhr-sub-item {
	justify-content: center;
	text-align: center;
}

.jhr-nav-menu--dropdown-text-align-center .jhr-nav__dropdown .jhr-submenu-toggle {
	position: absolute;
	top: 0;
	bottom: 0;
	inset-inline-end: 10px;
}

/* Full width stretch (JS sets the exact offsets) */
.jhr-nav-menu--stretch .jhr-nav__dropdown {
	width: 100vw;
	max-width: 100vw;
}

/* ------------------------- Breakpoint switching ------------------------ */

/* Layout: Dropdown — always collapsed */
.jhr-nav-menu--layout-dropdown .jhr-nav__toggle-wrap {
	display: flex;
}

/* Mobile Portrait (> 767px) */
@media (max-width: 767px) {
	.jhr-nav-menu--dropdown-mobile .jhr-nav__main { display: none; }
	.jhr-nav-menu--dropdown-mobile .jhr-nav__toggle-wrap { display: flex; }
}
@media (min-width: 768px) {
	.jhr-nav-menu--dropdown-mobile .jhr-nav__dropdown { display: none !important; }
}

/* Mobile Landscape (> 880px) */
@media (max-width: 880px) {
	.jhr-nav-menu--dropdown-mobile_extra .jhr-nav__main { display: none; }
	.jhr-nav-menu--dropdown-mobile_extra .jhr-nav__toggle-wrap { display: flex; }
}
@media (min-width: 881px) {
	.jhr-nav-menu--dropdown-mobile_extra .jhr-nav__dropdown { display: none !important; }
}

/* Tablet Portrait (> 1024px) */
@media (max-width: 1024px) {
	.jhr-nav-menu--dropdown-tablet .jhr-nav__main { display: none; }
	.jhr-nav-menu--dropdown-tablet .jhr-nav__toggle-wrap { display: flex; }
}
@media (min-width: 1025px) {
	.jhr-nav-menu--dropdown-tablet .jhr-nav__dropdown { display: none !important; }
}

/* Tablet Landscape (> 1200px) */
@media (max-width: 1200px) {
	.jhr-nav-menu--dropdown-tablet_extra .jhr-nav__main { display: none; }
	.jhr-nav-menu--dropdown-tablet_extra .jhr-nav__toggle-wrap { display: flex; }
}
@media (min-width: 1201px) {
	.jhr-nav-menu--dropdown-tablet_extra .jhr-nav__dropdown { display: none !important; }
}

/* Breakpoint: None */
.jhr-nav-menu--dropdown-none .jhr-nav__toggle-wrap,
.jhr-nav-menu--dropdown-none .jhr-nav__dropdown {
	display: none !important;
}

/* ------------------------- Submenu indicators -------------------------- */

.jhr-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	cursor: pointer;
	color: inherit;
	transition: transform .25s;
}

.jhr-nav-menu--indicator-none .jhr-submenu-toggle {
	display: none;
}

.jhr-submenu-indicator {
	display: inline-block;
	position: relative;
	pointer-events: none;
	transform: translateY(var(--jhr-indicator-offset, 0));
}

/* Custom — icon library or uploaded SVG */
.jhr-nav-menu--indicator-custom .jhr-submenu-indicator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.jhr-nav-menu--indicator-custom .jhr-submenu-indicator i {
	font-size: inherit;
	line-height: 1;
}

.jhr-nav-menu--indicator-custom .jhr-submenu-indicator svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.jhr-nav-menu--indicator-custom .jhr-submenu-indicator img {
	width: 1em;
	height: 1em;
	object-fit: contain;
}

/* Open-state icon swap */
.jhr-submenu-indicator--open {
	display: none;
}

.jhr-submenu-toggle--swap[aria-expanded="true"] .jhr-submenu-indicator--closed,
.jhr-nav__main li:hover > .jhr-submenu-toggle--swap .jhr-submenu-indicator--closed {
	display: none;
}

.jhr-submenu-toggle--swap[aria-expanded="true"] .jhr-submenu-indicator--open,
.jhr-nav__main li:hover > .jhr-submenu-toggle--swap .jhr-submenu-indicator--open {
	display: inline-flex;
}

/* Classic — solid caret */
.jhr-nav-menu--indicator-classic .jhr-submenu-indicator {
	width: 0;
	height: 0;
	border-inline-start: .3em solid transparent;
	border-inline-end: .3em solid transparent;
	border-block-start: .35em solid currentColor;
}

/* Chevron — thick */
.jhr-nav-menu--indicator-chevron .jhr-submenu-indicator {
	width: .45em;
	height: .45em;
	margin-block-end: .2em;
	border-inline-end: .16em solid currentColor;
	border-block-end: .16em solid currentColor;
	transform: translateY(var(--jhr-indicator-offset, 0)) rotate(45deg);
}

/* Angle — thin */
.jhr-nav-menu--indicator-angle .jhr-submenu-indicator {
	width: .45em;
	height: .45em;
	margin-block-end: .2em;
	border-inline-end: .09em solid currentColor;
	border-block-end: .09em solid currentColor;
	transform: translateY(var(--jhr-indicator-offset, 0)) rotate(45deg);
}

/* Plus / minus */
.jhr-nav-menu--indicator-plus .jhr-submenu-indicator {
	width: .7em;
	height: .7em;
}

.jhr-nav-menu--indicator-plus .jhr-submenu-indicator::before,
.jhr-nav-menu--indicator-plus .jhr-submenu-indicator::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	background-color: currentColor;
}

.jhr-nav-menu--indicator-plus .jhr-submenu-indicator::before {
	width: 100%;
	height: .1em;
}

.jhr-nav-menu--indicator-plus .jhr-submenu-indicator::after {
	width: .1em;
	height: 100%;
	transition: opacity .2s;
}

.jhr-nav-menu--indicator-plus .jhr-submenu-toggle[aria-expanded="true"] .jhr-submenu-indicator::after {
	opacity: 0;
}

/* Rotate on open (all except plus and icon-swap) */
.jhr-submenu-toggle[aria-expanded="true"],
.jhr-nav__main li:hover > .jhr-submenu-toggle {
	transform: rotate(var(--jhr-indicator-rotate, 180deg));
}

.jhr-nav-menu--indicator-plus .jhr-submenu-toggle[aria-expanded="true"],
.jhr-nav-menu--indicator-plus .jhr-nav__main li:hover > .jhr-submenu-toggle,
.jhr-submenu-toggle--swap[aria-expanded="true"],
.jhr-nav__main li:hover > .jhr-submenu-toggle--swap {
	transform: none;
}

.jhr-nav-menu--indicator-plus .jhr-nav__main li:hover > .jhr-submenu-toggle .jhr-submenu-indicator::after {
	opacity: 0;
}

/* Indicator is decorative on desktop — hover on the parent item drives it */
.jhr-nav__main .jhr-submenu-toggle {
	pointer-events: none;
}

/* =========================================================================
   POINTERS
   Pseudo-elements only get `content` under a pointer class, so the
   animation rules below can safely be written generically.
   ========================================================================= */

.jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--main .jhr-item::after {
	pointer-events: none;
}

/* ---- Underline / Overline / Double Line ---- */

.jhr-nav-menu--pointer-underline .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-overline .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--pointer-double-line .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--pointer-double-line .jhr-nav-menu--main .jhr-item::after {
	content: '';
	position: absolute;
	inset-inline-start: 0;
	width: 100%;
	height: 3px;
	background-color: #61ce70;
}

.jhr-nav-menu--pointer-overline .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--pointer-double-line .jhr-nav-menu--main .jhr-item::before {
	top: 0;
}

.jhr-nav-menu--pointer-underline .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-double-line .jhr-nav-menu--main .jhr-item::after {
	bottom: 0;
}

/* ---- Framed ---- */

.jhr-nav-menu--pointer-framed .jhr-nav-menu--main .jhr-item::before {
	content: '';
	position: absolute;
	inset: 0;
	border: 3px solid #61ce70;
	background-color: transparent;
}

.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::after {
	content: '';
	position: absolute;
	inset: 0;
	border-color: #61ce70;
	border-style: solid;
	background-color: transparent;
}

.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::before {
	border-width: 0 0 3px 3px;
}
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::after {
	border-width: 3px 3px 0 0;
}
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::before {
	border-width: 3px 0 0 3px;
}
.jhr-nav-menu--pointer-framed.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::after {
	border-width: 0 3px 3px 0;
}

/* ---- Background ---- */

.jhr-nav-menu--pointer-background .jhr-nav-menu--main .jhr-item::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: #61ce70;
}

/* Shutter animations need a second half */
.jhr-nav-menu--pointer-background.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-background.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-background.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main .jhr-item::after,
.jhr-nav-menu--pointer-background.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main .jhr-item::after {
	content: '';
	position: absolute;
	z-index: -1;
	background-color: #61ce70;
}

/* =========================================================================
   ANIMATIONS
   ========================================================================= */

.jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--main .jhr-item::after {
	transition: opacity .3s ease, transform .3s ease, border-width .3s ease, width .3s ease, height .3s ease;
}

/* Hover / active trigger list, reused throughout */

/* --- Fade --- */
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item::after {
	opacity: 0;
}
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-fade .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	opacity: 1;
}

/* --- None (instant) --- */
.jhr-nav-menu--animation-none .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-none .jhr-nav-menu--main .jhr-item::after {
	opacity: 0;
	transition: none;
}
.jhr-nav-menu--animation-none .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-none .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-none .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-none .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-none .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-none .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	opacity: 1;
}

/* --- Slide --- */
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item::after {
	transform: scaleX(0);
	transform-origin: left center;
}
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-slide .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	transform: scaleX(1);
}

/* --- Grow --- */
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item::after {
	transform: scale(0);
	transform-origin: center center;
}
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-grow .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	transform: scale(1);
}

/* --- Shrink --- */
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item::after {
	transform: scale(1.25);
	opacity: 0;
	transform-origin: center center;
}
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-shrink .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	transform: scale(1);
	opacity: 1;
}

/* --- Drop In --- */
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item::after {
	opacity: 0;
	transform: translateY(-10px);
}
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-drop-in .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	opacity: 1;
	transform: translateY(0);
}

/* --- Drop Out --- */
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item::after {
	opacity: 0;
	transform: translateY(10px);
}
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-drop-out .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	opacity: 1;
	transform: translateY(0);
}

/* --- Draw (framed) --- */
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::before,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::after {
	width: 0;
	height: 0;
	transition: width .2s ease, height .2s ease .2s;
}
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::after {
	inset: 0 0 auto auto;
}
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item::before {
	inset: auto auto 0 0;
}
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-draw .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	width: 100%;
	height: 100%;
}

/* --- Corners (framed) --- */
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::before {
	inset: 0 auto auto 0;
	width: 0;
	height: 0;
}
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item::after {
	inset: auto 0 0 auto;
	width: 0;
	height: 0;
}
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main .jhr-item:focus::after,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-corners .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	width: 100%;
	height: 100%;
}

/* --- Sweep (background) --- */
.jhr-nav-menu--animation-sweep-left .jhr-nav-menu--main .jhr-item::before { transform: scaleX(0); transform-origin: right center; }
.jhr-nav-menu--animation-sweep-right .jhr-nav-menu--main .jhr-item::before { transform: scaleX(0); transform-origin: left center; }
.jhr-nav-menu--animation-sweep-up .jhr-nav-menu--main .jhr-item::before { transform: scaleY(0); transform-origin: center bottom; }
.jhr-nav-menu--animation-sweep-down .jhr-nav-menu--main .jhr-item::before { transform: scaleY(0); transform-origin: center top; }

.jhr-nav-menu--animation-sweep-left .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-sweep-left .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-sweep-left .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-sweep-left .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-sweep-right .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-sweep-right .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-sweep-right .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-sweep-right .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-sweep-up .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-sweep-up .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-sweep-up .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-sweep-up .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-sweep-down .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-sweep-down .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-sweep-down .jhr-nav-menu--main .jhr-item:focus::before,
.jhr-nav-menu--animation-sweep-down .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before {
	transform: scale(1);
}

/* --- Shutters (background) --- */
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main .jhr-item::before { inset: 0 0 auto 0; height: 50%; transform: scaleY(0); transform-origin: center top; }
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main .jhr-item::after { inset: auto 0 0 0; height: 50%; transform: scaleY(0); transform-origin: center bottom; }

.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main .jhr-item::before { inset: 0 0 auto 0; height: 50%; transform: scaleY(0); transform-origin: center bottom; }
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main .jhr-item::after { inset: auto 0 0 0; height: 50%; transform: scaleY(0); transform-origin: center top; }

.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main .jhr-item::before { inset: 0 auto 0 0; width: 50%; transform: scaleX(0); transform-origin: left center; }
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main .jhr-item::after { inset: 0 0 0 auto; width: 50%; transform: scaleX(0); transform-origin: right center; }

.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main .jhr-item::before { inset: 0 auto 0 0; width: 50%; transform: scaleX(0); transform-origin: right center; }
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main .jhr-item::after { inset: 0 0 0 auto; width: 50%; transform: scaleX(0); transform-origin: left center; }

.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-shutter-in-vertical .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-shutter-out-vertical .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-shutter-in-horizontal .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main .jhr-item:hover::before,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main .jhr-item:hover::after,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main li:hover > .jhr-item::before,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main li:hover > .jhr-item::after,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::before,
.jhr-nav-menu--animation-shutter-out-horizontal .jhr-nav-menu--main li.jhr-pointer-active > .jhr-item::after {
	transform: scale(1);
}

/* --- Text pointer animations (act on the link itself) --- */
.jhr-nav-menu--pointer-text .jhr-nav-menu--main .jhr-item {
	transition: color .3s ease, transform .3s ease;
}

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-grow .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-grow .jhr-nav-menu--main li:hover > .jhr-item { transform: scale(1.2); }

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-shrink .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-shrink .jhr-nav-menu--main li:hover > .jhr-item { transform: scale(0.8); }

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-sink .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-sink .jhr-nav-menu--main li:hover > .jhr-item { transform: translateY(6px); }

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-float .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-float .jhr-nav-menu--main li:hover > .jhr-item { transform: translateY(-6px); }

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-skew .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-skew .jhr-nav-menu--main li:hover > .jhr-item { transform: skewX(-12deg); }

.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-rotate .jhr-nav-menu--main .jhr-item:hover,
.jhr-nav-menu--pointer-text.jhr-nav-menu--animation-rotate .jhr-nav-menu--main li:hover > .jhr-item { transform: rotate(-4deg); }

/* --------------------------- Accessibility ----------------------------- */

@media (prefers-reduced-motion: reduce) {
	.jhr-nav *,
	.jhr-nav *::before,
	.jhr-nav *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* Editor helper — keep the widget visible even with an empty menu */
.elementor-editor-active .jhr-nav {
	min-height: 1px;
}
