/* NoviTaps paid layouts and behaviour; printed directly after assets/navigation.css. */
.novitaps .novitaps__description {
	font-size: 0.8em;
	opacity: 0.8;
}
.novitaps .novitaps__icon img {
	inline-size: 1.2em;
	block-size: 1.2em;
	border-radius: 50%;
}
.novitaps .novitaps__badge {
	font-size: 11px;
	background: #1745a0;
	color: #fff;
	padding: 2px 6px;
	border-radius: 99px;
	line-height: 1.4;
	white-space: nowrap;
}
.novitaps .novitaps__tooltip {
	display: none;
	position: absolute;
	inset-inline-start: calc(100% + 8px);
	top: 50%;
	transform: translateY(-50%);
	padding: 6px 10px;
	background: #152038;
	color: #fff;
	white-space: nowrap;
	border-radius: 6px;
	pointer-events: none;
	font-size: 13px;
	z-index: 5;
}
.novitaps .novitaps__mega {
	padding: 16px;
	max-inline-size: 100%;
	overflow-wrap: anywhere;
}
.novitaps .novitaps__mega img {
	max-inline-size: 100%;
	block-size: auto;
}
.novitaps .novitaps__search {
	grid-column: 1/-1;
}
.novitaps .novitaps__search summary {
	cursor: pointer;
}
.novitaps .novitaps__search form {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px;
}
.novitaps .novitaps__search-label {
	inline-size: 100%;
	font-size: 0.85em;
}
.novitaps .novitaps__search input {
	min-inline-size: 0;
	flex: 1;
	padding: 10px;
	font: inherit;
	color: var(--nt-color);
	background: var(--nt-background);
	border: 1px solid currentColor;
	border-radius: 6px;
}
.novitaps .novitaps__search button {
	min-block-size: 44px;
	cursor: pointer;
}
.novitaps .is-cta > .novitaps__link {
	background: var(--nt-active-background);
	color: var(--nt-active-color);
	font-weight: 600;
}
.novitaps[data-icon-position="end"] .novitaps__link > .novitaps__icon {
	order: 2;
}
.novitaps[data-icon-position="top"] .novitaps__link {
	flex-direction: column;
	justify-content: center;
}
.novitaps.is-enhanced[data-mode="mega"] > .novitaps__surface > .novitaps__list {
	flex-direction: row;
	flex-wrap: wrap;
}
.novitaps.is-enhanced[data-mode="mega"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__panel {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	z-index: 20;
	overflow: auto;
}
.novitaps.is-enhanced[data-mode="rail"] .novitaps__panel {
	position: absolute;
	inset-inline-start: 100%;
	inset-block-start: 0;
	z-index: 21;
	overflow: auto;
}
/* Look of mega and rail panels: zero specificity, so the widget's
   "Submenus" and "Mega menu" settings always win. */
:where(.novitaps.is-enhanced[data-mode="mega"])
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__panel {
	inline-size: min(90vw, 900px);
	min-inline-size: 240px;
	max-inline-size: min(92vw, 960px);
	box-shadow: 0 10px 30px #142d5c26;
}
:where(.novitaps.is-enhanced[data-mode="rail"]) .novitaps__panel {
	min-inline-size: 230px;
	max-inline-size: 90vw;
	box-shadow: 0 10px 30px #142d5c26;
}
.novitaps.is-enhanced[data-flyout-side="start"][data-mode="rail"]
	.novitaps__panel {
	inset-inline-start: auto;
	inset-inline-end: 100%;
}
.novitaps.is-enhanced:is([data-mode="rail"], [data-mode="mega"])
	.novitaps__submenu {
	padding-inline-start: 0;
}
.novitaps.is-enhanced[data-mode="bottom"] {
	position: fixed;
	bottom: 0;
	z-index: 9990;
	max-inline-size: 100%;
	transition: transform 180ms ease;
}
/* Look of the bottom bar: zero specificity on purpose, so every value set in
   the Elementor widget, the block or NoviTaps designs overrides these defaults. */
:where(.novitaps.is-enhanced)[data-mode="bottom"] {
	inset-inline: 0;
	margin: 0;
	border-block-start: 1px solid #8194b133;
	padding-block-end: env(safe-area-inset-bottom, 0px);
	padding-left: env(safe-area-inset-left, 0px);
	padding-right: env(safe-area-inset-right, 0px);
	box-shadow: 0 -4px 24px #142d5c14;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list {
	flex-direction: row;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item {
	position: static;
	display: flex;
	align-items: stretch;
	min-inline-size: 0;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link {
	flex: 1;
	min-inline-size: 0;
}
/* Arrangement defaults of the bottom bar, kept at low specificity so the
   widget's "Arrange entries", "Entry width" and gap settings win. */
:where(.novitaps.is-enhanced[data-mode="bottom"])
	> .novitaps__surface
	> .novitaps__list {
	justify-content: space-around;
	gap: 0;
}
:where(.novitaps.is-enhanced[data-mode="bottom"] > .novitaps__surface > .novitaps__list)
	> .novitaps__item {
	flex: 1 1 0;
}
:where(.novitaps.is-enhanced[data-mode="bottom"] > .novitaps__surface > .novitaps__list)
	> .novitaps__item
	> .novitaps__link {
	flex-direction: column;
	justify-content: center;
}
:where(.novitaps.is-enhanced[data-mode="bottom"] > .novitaps__surface > .novitaps__list)
	> .novitaps__item
	> .novitaps__link {
	gap: 4px;
	font-size: 12px;
	text-align: center;
	padding: 8px 4px;
	min-block-size: 60px;
	line-height: 1.3;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link
	> .novitaps__text {
	min-inline-size: 0;
	max-inline-size: 100%;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link
	> .novitaps__text
	> .novitaps__title {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
:where(.novitaps.is-enhanced[data-mode="bottom"])
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__toggle:not(.novitaps__more) {
	inline-size: 24px;
	min-inline-size: 24px;
	padding: 4px;
}
.novitaps.is-enhanced[data-mode="bottom"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__panel {
	position: absolute;
	inset-inline: 8px;
	inset-block-end: 100%;
	max-block-size: 65dvh;
	overflow: auto;
	z-index: 1;
}
/* The popup (with its Back button) carries the frame. Low specificity on
   purpose: submenu settings from the Elementor widget or NoviTaps designs are
   applied to this popup in the bottom bar and replace these defaults. */
:where(.novitaps.is-enhanced[data-mode="bottom"] > .novitaps__surface > .novitaps__list)
	> .novitaps__item
	> .novitaps__panel {
	box-shadow: 0 -8px 35px #142d5c33;
	border: 1px solid #8194b133;
	padding: 8px;
}
/* No second frame inside the popup. */
.novitaps.is-enhanced[data-mode="bottom"] .novitaps__panel > .novitaps__submenu {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding-block: 0;
	padding-inline-end: 0;
}
.novitaps.is-enhanced[data-mode="bottom"] .novitaps__back {
	display: flex;
}
:where(.novitaps.is-enhanced[data-mode="bottom"])
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link
	> .novitaps__text
	> .novitaps__description {
	display: none;
}
:where(.novitaps.is-enhanced[data-mode="bottom"])[data-floating="yes"] {
	inset-inline: 12px;
	margin-block-end: 12px;
	border-radius: 22px;
	border: 1px solid #8194b133;
	box-shadow: 0 8px 36px #142d5c33;
}
.novitaps.is-enhanced[data-mode="bottom"].is-scroll-hidden,
.novitaps.is-enhanced[data-mode="bottom"].is-typing {
	transform: translateY(calc(100% + 20px));
	visibility: hidden;
}
.novitaps.is-enhanced[data-mode="rail"] > .novitaps__surface > .novitaps__list {
	inline-size: max-content;
	max-inline-size: 100%;
	gap: 8px;
}
.novitaps.is-enhanced[data-mode="rail"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	font-size: 12px;
	padding: 10px;
	min-inline-size: 64px;
}
.novitaps.is-enhanced[data-labels="no"]:is(
		[data-mode="rail"],
		[data-mode="bottom"]
	)
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link
	> .novitaps__text {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.novitaps.is-enhanced[data-labels="no"][data-mode="rail"]
	> .novitaps__surface
	> .novitaps__list
	> .novitaps__item
	> .novitaps__link:is(:hover, :focus-visible)
	> .novitaps__tooltip {
	display: block;
}
.novitaps.is-enhanced[data-animation="fade"] .novitaps__panel:not([hidden]) {
	animation: novitaps-fade 150ms ease;
}
.novitaps.is-enhanced[data-animation="slide"] .novitaps__panel:not([hidden]) {
	animation: novitaps-slide 180ms ease;
}
@keyframes novitaps-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes novitaps-slide {
	from {
		opacity: 0;
		translate: 0 -8px;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}
.novitaps[data-animation="none"] .novitaps__toggle > :is(svg, i) {
	transition: none;
}
.novitaps .novitaps__icon {
	transition: transform 150ms ease;
}
.novitaps[data-icon-animation="lift"]
	.novitaps__link:is(:hover, :focus-visible)
	> .novitaps__icon {
	transform: translateY(-3px);
}
.novitaps[data-icon-animation="zoom"]
	.novitaps__link:is(:hover, :focus-visible)
	> .novitaps__icon {
	transform: scale(1.12);
}
.novitaps[data-icon-animation="rotate"]
	.novitaps__link:is(:hover, :focus-visible)
	> .novitaps__icon {
	transform: rotate(8deg);
}
@media (prefers-reduced-motion: reduce) {
	.novitaps .novitaps__icon {
		transform: none !important;
	}
}
/* Keep the inline fallback above the rail flyout rules. */
.novitaps.is-enhanced .novitaps__panel.is-inline-fallback {
	position: static !important;
	inset: auto !important;
	box-shadow: none;
	min-inline-size: 0;
	max-inline-size: 100%;
}
/* Custom "More" slot (link or other script): all entries stay in the bar, which scrolls sideways. */
.novitaps.is-enhanced.is-more-scroll[data-mode="bottom"] > .novitaps__surface > .novitaps__list { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; justify-content: flex-start !important; /* a centred row that overflows cannot be scrolled back to its start */ }
.novitaps.is-enhanced.is-more-scroll[data-mode="bottom"] > .novitaps__surface > .novitaps__list::-webkit-scrollbar { display: none; }
.novitaps.is-enhanced.is-more-scroll[data-mode="bottom"] > .novitaps__surface > .novitaps__list > .novitaps__item { min-inline-size: calc(100% / var(--nt-bottom-slots, 5)); }
.novitaps.is-enhanced.is-more-scroll[data-mode="bottom"] > .novitaps__surface > .novitaps__list > .novitaps__more-item { position: sticky; inset-inline-end: 0; z-index: 1; }
