/* Platecraft Addons – Nav Menu. Desktop: items in a row or a column with
   dropdowns; small screens (".is-mobile", set by nav-menu.js): a menu button
   that opens the menu below, as a side panel or full screen. Sizes and
   colors are CSS variables the widget's controls set. */

.pl-nav {
	--pl-nav-gap: 4px;
	--pl-nav-pointer: var(--e-global-color-accent, currentColor);
	--pl-nav-pointer-size: 2px;
	--pl-nav-pointer-gap: 0px;
	--pl-nav-arrow: 10px;
	--pl-nav-arrow-gap: 6px;
	--pl-nav-speed: 0.3s;
	--pl-nav-sub-w: 220px;
	--pl-nav-sub-offset: 0px;
	--pl-nav-burger-icon: 22px;
	--pl-nav-panel-w: 320px;
	--pl-nav-panel-top: 0px;
	--pl-nav-overlay: rgba(0, 0, 0, 0.45);
	--pl-nav-m-indent: 16px;
	--pl-nav-close: 22px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: var(--pl-nav-burger-justify, flex-start);
}
.pl-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.pl-nav .pl-nav__panel {
	width: 100%;
}
.pl-nav .pl-nav__link {
	color: inherit;
	text-decoration: none;
	transition: color var(--pl-nav-speed) ease, background-color var(--pl-nav-speed) ease;
}
.pl-nav .pl-nav__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
/* Buttons look like nothing until styled (stronger than theme button rules). */
.pl-nav .pl-nav__arrow,
.pl-nav .pl-nav__burger,
.pl-nav .pl-nav__close {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0 solid transparent;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: 1;
	text-transform: none;
	cursor: pointer;
}
.pl-nav .pl-nav__arrow:hover,
.pl-nav .pl-nav__arrow:focus,
.pl-nav .pl-nav__close:hover,
.pl-nav .pl-nav__close:focus {
	background: none;
	color: inherit;
}
.pl-nav .pl-nav__burger {
	box-shadow: var(--pl-nav-burger-shadow, none);
	transition: color var(--pl-nav-speed) ease, background-color var(--pl-nav-speed) ease, border-color var(--pl-nav-speed) ease, box-shadow var(--pl-nav-speed) ease;
}
.pl-nav .pl-nav__burger:hover,
.pl-nav.is-open .pl-nav__burger {
	box-shadow: var(--pl-nav-burger-shadow-h, var(--pl-nav-burger-shadow, none));
}
.pl-nav .pl-nav__arrow {
	display: inline-flex;
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	margin-left: var(--pl-nav-arrow-gap);
}
.pl-nav .pl-nav__arrow svg,
.pl-nav .pl-nav__arrow i {
	width: var(--pl-nav-arrow);
	height: var(--pl-nav-arrow);
	font-size: var(--pl-nav-arrow);
	fill: currentColor;
	transition: transform var(--pl-nav-speed) ease;
}
.pl-nav .pl-nav__item.is-open > .pl-nav__arrow svg,
.pl-nav .pl-nav__item.is-open > .pl-nav__arrow i {
	transform: rotate(180deg);
}
.pl-nav__overlay {
	display: none;
}
.pl-nav__notice {
	margin: 0;
	padding: 10px 14px;
	background: #fff8e5;
	color: #1d2327;
	font-size: 13px;
}

/* ---------- Desktop ---------- */
.pl-nav:not(.is-mobile) .pl-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--pl-nav-justify, flex-start);
	gap: var(--pl-nav-gap);
}
.pl-nav--vertical .pl-nav:not(.is-mobile) .pl-nav__list {
	flex-direction: column;
	align-items: stretch;
}
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-grow: var(--pl-nav-grow, 0);
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	transition: background-color var(--pl-nav-speed) ease;
}
.pl-nav--vertical .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item {
	justify-content: var(--pl-nav-justify, flex-start);
}
/* The whole item is the link's click area. */
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item > .pl-nav__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item > .pl-nav__link {
	display: inline-flex;
	align-items: center;
}

/* Hover effects of the top items. */
.pl-nav--pt-underline .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after,
.pl-nav--pt-both .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after,
.pl-nav--pt-overline .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pt-both .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pt-framed .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pt-background .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pt-dot .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	pointer-events: none;
	transition: opacity var(--pl-nav-speed) ease, transform var(--pl-nav-speed) ease, background-color var(--pl-nav-speed) ease, border-color var(--pl-nav-speed) ease;
}
.pl-nav--pt-underline .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after,
.pl-nav--pt-both .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	bottom: calc(0px - var(--pl-nav-pointer-gap));
	height: var(--pl-nav-pointer-size);
	background-color: var(--pl-nav-pointer);
}
.pl-nav--pt-overline .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pt-both .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before {
	top: calc(0px - var(--pl-nav-pointer-gap));
	height: var(--pl-nav-pointer-size);
	background-color: var(--pl-nav-pointer);
}
.pl-nav--pt-framed .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before {
	top: 0;
	bottom: 0;
	border: var(--pl-nav-pointer-size) solid var(--pl-nav-pointer);
	border-radius: inherit;
}
.pl-nav--pt-background .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before {
	top: 0;
	bottom: 0;
	z-index: -1;
	border-radius: inherit;
	background-color: var(--pl-nav-pointer);
}
.pl-nav--pt-dot .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	bottom: calc(2px - var(--pl-nav-pointer-gap));
	left: 50%;
	width: calc(var(--pl-nav-pointer-size) * 2 + 2px);
	height: calc(var(--pl-nav-pointer-size) * 2 + 2px);
	margin-left: calc(0px - var(--pl-nav-pointer-size) - 1px);
	border-radius: 50%;
	background-color: var(--pl-nav-pointer);
}
/* Hidden until hover (or the current page). */
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	opacity: 0;
}
.pl-nav--pa-grow .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pa-grow .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	opacity: 1;
	transform: scale(0, 1);
}
.pl-nav--pa-grow.pl-nav--pt-framed .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pa-grow.pl-nav--pt-background .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pa-grow.pl-nav--pt-dot .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	transform: scale(0);
}
.pl-nav--pa-slide .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::before,
.pl-nav--pa-slide .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	opacity: 1;
	transform: scale(0, 1);
	transform-origin: left center;
}
.pl-nav--pa-slide.pl-nav--pt-dot .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item::after {
	opacity: 0;
	transform: translateX(-12px);
}
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item:hover::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item:hover::after,
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item:focus-within::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item:focus-within::after,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-item::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-item::after,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-ancestor::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-ancestor::after {
	opacity: 1;
	transform: none;
}
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-item::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-item::after,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-ancestor::before,
.pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-ancestor::after {
	--pl-nav-pointer: var(--pl-nav-pointer-active, var(--e-global-color-accent, currentColor));
}
.pl-nav--pt-framed .pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-item::before,
.pl-nav--pt-framed .pl-nav:not(.is-mobile) .pl-nav__list > .current-menu-ancestor::before {
	border-color: var(--pl-nav-pointer-active, var(--pl-nav-pointer));
}

/* Dropdowns. */
.pl-nav:not(.is-mobile) .pl-nav__sub {
	position: absolute;
	top: calc(100% + var(--pl-nav-sub-offset));
	left: 0;
	z-index: 50;
	min-width: var(--pl-nav-sub-w);
	padding: 6px 0;
	border: 0 solid transparent;
	border-radius: 4px;
	background-color: #fff;
	box-shadow: var(--pl-nav-sub-shadow, 0 10px 28px rgba(0, 0, 0, 0.12));
	color: #1d2327;
	text-align: left;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--pl-nav-speed) ease, transform var(--pl-nav-speed) ease, visibility 0s linear var(--pl-nav-speed);
}
/* Keeps the pointer over the menu while crossing the gap above a dropdown. */
.pl-nav:not(.is-mobile) .pl-nav__sub::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: var(--pl-nav-sub-offset);
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__sub,
.pl-nav--vertical .pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item > .pl-nav__sub {
	top: 0;
	left: 100%;
	margin-left: var(--pl-nav-sub-offset);
}
.pl-nav:not(.is-mobile) .pl-nav__list > .pl-nav__item.is-flip > .pl-nav__sub {
	right: 0;
	left: auto;
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__item.is-flip > .pl-nav__sub {
	right: 100%;
	left: auto;
	margin-right: var(--pl-nav-sub-offset);
	margin-left: 0;
}
.pl-nav--sa-slide .pl-nav:not(.is-mobile) .pl-nav__sub {
	transform: translateY(10px);
}
.pl-nav--sa-grow .pl-nav:not(.is-mobile) .pl-nav__sub {
	transform: scaleY(0.85);
	transform-origin: top center;
}
.pl-nav--sa-none .pl-nav:not(.is-mobile) .pl-nav__sub {
	transition: none;
}
.pl-nav--open-hover .pl-nav:not(.is-mobile) .pl-nav__item:hover > .pl-nav__sub,
.pl-nav--open-hover .pl-nav:not(.is-mobile) .pl-nav__item:focus-within > .pl-nav__sub,
.pl-nav:not(.is-mobile) .pl-nav__item.is-open > .pl-nav__sub {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s;
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}
.pl-nav:not(.is-mobile) .pl-nav__sub > .pl-nav__item + .pl-nav__item {
	border-top: var(--pl-nav-sub-divider-w, 1px) var(--pl-nav-sub-divider-style, solid) var(--pl-nav-sub-divider, transparent);
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__link {
	display: block;
	flex: 1 1 auto;
	padding: 9px 18px;
	white-space: nowrap;
}
.pl-nav:not(.is-mobile) .pl-nav__sub .has-sub > .pl-nav__link {
	padding-right: 34px;
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__arrow {
	position: absolute;
	top: 50%;
	right: 12px;
	margin: 0;
	transform: translateY(-50%) rotate(-90deg);
}
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__item.is-open > .pl-nav__arrow svg,
.pl-nav:not(.is-mobile) .pl-nav__sub .pl-nav__item.is-open > .pl-nav__arrow i {
	transform: none;
}

/* ---------- Small screens ---------- */
.pl-nav.is-mobile .pl-nav__burger {
	display: inline-flex;
	gap: 8px;
	padding: 8px;
}
.pl-nav .pl-nav__burger-icon {
	display: inline-flex;
}
.pl-nav .pl-nav__burger-icon svg,
.pl-nav .pl-nav__burger-icon i {
	width: var(--pl-nav-burger-icon);
	height: var(--pl-nav-burger-icon);
	font-size: var(--pl-nav-burger-icon);
	fill: currentColor;
}
.pl-nav .pl-nav__burger-icon--close,
.pl-nav.is-open .pl-nav__burger-icon--open {
	display: none;
}
.pl-nav.is-open .pl-nav__burger-icon--close {
	display: inline-flex;
}
.pl-nav.is-mobile .pl-nav__panel {
	display: none;
	position: absolute;
	top: calc(100% + var(--pl-nav-panel-top));
	right: 0;
	left: 0;
	z-index: 9990;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	border: 0 solid transparent;
	background-color: #fff;
	box-shadow: var(--pl-nav-panel-shadow, 0 14px 28px rgba(0, 0, 0, 0.14));
	color: #1d2327;
	text-align: left;
}
.pl-nav.is-mobile.is-open .pl-nav__panel {
	display: block;
}
.pl-nav--full-yes .pl-nav.is-mobile .pl-nav__panel {
	right: auto;
	left: var(--pl-nav-full-left, 0px);
	width: 100vw;
}
.pl-nav.is-mobile .pl-nav__list {
	display: block;
}
.pl-nav.is-mobile .pl-nav__item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 0;
}
/* The line below each item: style, thickness, color and room at its ends. */
.pl-nav.is-mobile .pl-nav__item::after {
	content: "";
	position: absolute;
	right: var(--pl-nav-m-divider-inset, 0px);
	bottom: 0;
	left: var(--pl-nav-m-divider-inset, 0px);
	border-top: var(--pl-nav-m-divider-w, 1px) var(--pl-nav-m-divider-style, solid) var(--pl-nav-m-divider, rgba(0, 0, 0, 0.08));
	pointer-events: none;
}
.pl-nav.is-mobile .pl-nav__sub .pl-nav__item:last-child::after {
	display: none;
}
.pl-nav.is-mobile .pl-nav__link {
	display: block;
	flex: 1 1 auto;
	padding: 13px 20px;
}
.pl-nav.is-mobile .pl-nav__arrow {
	align-self: stretch;
	margin: 0;
	padding: 0 18px;
}
.pl-nav.is-mobile .pl-nav__sub {
	display: none;
	flex: 1 0 100%;
	padding-left: var(--pl-nav-m-indent);
	border-top: var(--pl-nav-m-divider-w, 1px) var(--pl-nav-m-divider-style, solid) var(--pl-nav-m-divider, rgba(0, 0, 0, 0.08));
}
.pl-nav.is-mobile .pl-nav__item.is-open > .pl-nav__sub {
	display: block;
}

/* Side panel and full screen. */
.pl-nav--m-offcanvas .pl-nav.is-mobile .pl-nav__panel,
.pl-nav--m-fullscreen .pl-nav.is-mobile .pl-nav__panel {
	display: block;
	position: fixed;
	/* From the very top, over WordPress's admin bar (99999) too. */
	top: 0;
	bottom: 0;
	z-index: 100001;
	max-height: none;
	padding: calc(var(--pl-nav-close) + 40px) 0 28px;
	visibility: hidden;
	transition: transform var(--pl-nav-speed) ease, opacity var(--pl-nav-speed) ease, visibility 0s linear var(--pl-nav-speed);
}
.pl-nav--m-offcanvas .pl-nav.is-mobile .pl-nav__panel {
	right: 0;
	left: auto;
	width: min(var(--pl-nav-panel-w), 100vw);
	transform: translateX(100%);
}
.pl-nav--m-offcanvas.pl-nav--side-left .pl-nav.is-mobile .pl-nav__panel {
	right: auto;
	left: 0;
	transform: translateX(-100%);
}
.pl-nav--m-fullscreen .pl-nav.is-mobile .pl-nav__panel {
	right: 0;
	left: 0;
	width: auto;
	opacity: 0;
	box-shadow: none;
}
.pl-nav--m-offcanvas .pl-nav.is-mobile.is-open .pl-nav__panel,
.pl-nav--m-fullscreen .pl-nav.is-mobile.is-open .pl-nav__panel {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition-delay: 0s;
}
.pl-nav--m-fullscreen .pl-nav.is-mobile .pl-nav__list {
	max-width: 520px;
	margin: 0 auto;
}
.pl-nav--m-offcanvas .pl-nav.is-mobile .pl-nav__close,
.pl-nav--m-fullscreen .pl-nav.is-mobile .pl-nav__close {
	display: inline-flex;
	position: absolute;
	top: 16px;
	right: 16px;
	width: calc(var(--pl-nav-close) + 16px);
	height: calc(var(--pl-nav-close) + 16px);
}
.pl-nav .pl-nav__close svg,
.pl-nav .pl-nav__close i {
	width: var(--pl-nav-close);
	height: var(--pl-nav-close);
	font-size: var(--pl-nav-close);
	fill: currentColor;
}
.pl-nav--m-offcanvas .pl-nav.is-mobile .pl-nav__overlay {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 100000;
	background-color: var(--pl-nav-overlay);
	visibility: hidden;
	opacity: 0;
	transition: opacity var(--pl-nav-speed) ease, visibility 0s linear var(--pl-nav-speed);
}
.pl-nav--m-offcanvas .pl-nav.is-mobile.is-open .pl-nav__overlay {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}
html.pl-nav-lock {
	overflow: hidden;
}

/* Before the script runs: the button instead of the menu on small screens. */
.pl-nav--bp-always .pl-nav:not(.is-ready) .pl-nav__panel {
	display: none;
}
.pl-nav--bp-always .pl-nav:not(.is-ready) .pl-nav__burger {
	display: inline-flex;
}
@media (max-width: 1024px) {
	.pl-nav--bp-tablet .pl-nav:not(.is-ready) .pl-nav__panel {
		display: none;
	}
	.pl-nav--bp-tablet .pl-nav:not(.is-ready) .pl-nav__burger {
		display: inline-flex;
	}
}
@media (max-width: 767px) {
	.pl-nav--bp-mobile .pl-nav:not(.is-ready) .pl-nav__panel {
		display: none;
	}
	.pl-nav--bp-mobile .pl-nav:not(.is-ready) .pl-nav__burger {
		display: inline-flex;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pl-nav,
	.pl-nav * {
		transition: none !important;
	}
}
