/* OK-VISE Mega Menu 2.8.2 */

:root {
	--okv-mega-blue: #1e569e;
	--okv-mega-blue-dark: #17457f;
	--okv-mega-ink: #26364e;
	--okv-mega-muted: #65738a;
	--okv-mega-line: #dde4ed;
	--okv-mega-soft: #f3f6fa;
	--okv-mega-white: #ffffff;
	--okv-mega-font: "proxima-nova", "Proxima Nova", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* The root item's extra text is reused in the generated middle column. */
.okv-mega-root > a .nav-extra-text,
.okv-mega-root > .menu-item-clickable .nav-extra-text,
.okv-mega-root > .nav-extra-text {
	display: none !important;
}

/* A category image belongs to the mega-menu preview, never in the header label. */
.okv-mega-root > a .nav-icon,
.okv-mega-root > a .okv-mega-media-visual,
.okv-mega-root > a img,
.okv-mega-root > .menu-item-clickable .nav-icon,
.okv-mega-root > .menu-item-clickable .okv-mega-media-visual,
.okv-mega-root > .menu-item-clickable img,
.okv-mega-root > .nav-icon,
.okv-mega-root > .okv-mega-media-visual,
.okv-mega-root > img {
	display: none !important;
}

/* Old manually created middle-column items are no longer needed. */
.okv-mega-legacy-intro {
	display: none !important;
}

@media (min-width: 960px) {
	.okv-mega-root,
	.okv-mega-root > a,
	.okv-mega-root > a *,
	.okv-mega-root > .menu-item-clickable,
	.okv-mega-root > .menu-item-clickable *,
	.okv-mega-root > .dropdown-toggle,
	.okv-mega-root > .sub-menu,
	.okv-mega-root > .sub-menu * {
		font-family: var(--okv-mega-font) !important;
	}

	.okv-mega-root > a:focus,
	.okv-mega-root > .menu-item-clickable:focus,
	.okv-mega-root > .dropdown-toggle:focus {
		outline: 0 !important;
	}

	.okv-mega-root > a:focus-visible,
	.okv-mega-root > .menu-item-clickable:focus-visible,
	.okv-mega-root > .dropdown-toggle:focus-visible {
		outline: 2px solid var(--okv-mega-blue) !important;
		outline-offset: 3px !important;
	}

	.okv-mega-root > a,
	.okv-mega-root > .menu-item-clickable {
		font-size: 16px !important;
		font-weight: 600 !important;
	}

	.okv-mega-root > a > [itemprop="name"],
	.okv-mega-root > .menu-item-clickable > [itemprop="name"] {
		font: inherit !important;
	}

	/* Desktop menus open by hover, so the separate downward indicators are unnecessary. */
	.okv-mega-root > .dropdown-toggle,
	.okv-mega-root > a > .dropdown-toggle,
	.okv-mega-root > a > .sub-arrow,
	.okv-mega-root > a > .caret,
	.okv-mega-root > a > svg,
	.okv-mega-root > .menu-item-clickable > .dropdown-toggle,
	.okv-mega-root > .menu-item-clickable > .sub-arrow,
	.okv-mega-root > .menu-item-clickable > .caret,
	.okv-mega-root > .menu-item-clickable > svg {
		display: none !important;
	}

	.okv-mega-root > a::after,
	.okv-mega-root > .menu-item-clickable::after {
		content: none !important;
		display: none !important;
	}

	.okv-mega-root.okv-mega-open {
		background: transparent !important;
	}

	.okv-mega-root.okv-mega-open > a,
	.okv-mega-root.okv-mega-open > .menu-item-clickable {
		background: transparent !important;
		box-shadow: inset 0 -3px 0 var(--okv-mega-blue) !important;
	}

	.okv-mega-root.okv-mega-open > .dropdown-toggle svg {
		transform: rotate(180deg);
	}

	.okv-mega-root > .dropdown-toggle {
		pointer-events: auto;
	}

	/* One restrained two-column surface for every top-level menu. */
	.js .okv-mega-root > .sub-menu,
	.okv-mega-root > .sub-menu {
		background: var(--okv-mega-white) !important;
		border: 1px solid var(--okv-mega-line) !important;
		border-top: 2px solid var(--okv-mega-blue) !important;
		box-shadow: 0 24px 54px -30px rgb(20 43 78 / 45%) !important;
		display: block !important;
		left: var(--okv-mega-left, 16px) !important;
		margin: 0 !important;
		max-height: calc(100vh - var(--okv-mega-top, 96px) - 16px);
		min-height: 568px;
		opacity: 0 !important;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 32px 34px !important;
		pointer-events: none;
		position: fixed !important;
		top: var(--okv-mega-top, 96px) !important;
		transform: translateY(6px) !important;
		transition: opacity 120ms ease, transform 140ms ease, visibility 120ms ease !important;
		visibility: hidden !important;
		width: var(--okv-mega-width, min(1160px, calc(100vw - 32px))) !important;
		z-index: 1000 !important;
	}

	.js .okv-mega-root.okv-mega-open > .sub-menu,
	.okv-mega-root.okv-mega-open > .sub-menu {
		opacity: 1 !important;
		pointer-events: auto;
		transform: translateY(0) !important;
		visibility: visible !important;
	}

	.okv-mega-root > .sub-menu *,
	.okv-mega-root > .sub-menu *::before,
	.okv-mega-root > .sub-menu *::after {
		box-sizing: border-box;
	}

	.okv-mega-root > .sub-menu .menu-item {
		background: transparent !important;
		border: 0 !important;
		list-style: none !important;
		min-width: 0;
		padding: 0 !important;
		position: relative !important;
	}

	.okv-mega-root > .sub-menu a,
	.okv-mega-root > .sub-menu .menu-item-clickable {
		text-decoration: none !important;
	}

	/* Remove theme arrows and other decorations from inside the mega menu. */
	.okv-mega-root > .sub-menu a::before,
	.okv-mega-root > .sub-menu a::after,
	.okv-mega-root > .sub-menu .menu-item-clickable::before,
	.okv-mega-root > .sub-menu .menu-item-clickable::after,
	.okv-mega-root > .sub-menu .dropdown-toggle,
	.okv-mega-root > .sub-menu button.dropdown-toggle,
	.okv-mega-root > .sub-menu svg {
		content: none !important;
		display: none !important;
	}

	.okv-mega-root > .sub-menu .nav-icon,
	.okv-mega-root > .sub-menu .okv-mega-media-visual {
		display: none !important;
	}

	/* Left column: every heading and its product or content links. */
	.okv-mega-root > .sub-menu > .okv-mega-column {
		display: block !important;
		width: 32%;
	}

	.okv-mega-root > .sub-menu > .okv-mega-column + .okv-mega-column {
		margin-top: 22px !important;
	}

	.okv-mega-root > .sub-menu > .menu-item:not(.okv-mega-column):not(.okv-mega-intro):not(.okv-mega-legacy-intro):not(.okv-mega-footer):not(.okv-mega-media):not(.okv-mega-preview) + .okv-mega-column {
		margin-top: 28px !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-column > a,
	.okv-mega-root > .sub-menu > .okv-mega-column > .menu-item-clickable {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: var(--okv-mega-blue) !important;
		cursor: default !important;
		display: flex !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		height: auto !important;
		letter-spacing: 0;
		line-height: 1.3 !important;
		min-height: 0 !important;
		padding: 0 0 3px !important;
		pointer-events: none !important;
		text-align: left !important;
		text-transform: none;
		width: 100% !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-column > a .nav-extra-text,
	.okv-mega-root > .sub-menu > .okv-mega-column > .menu-item-clickable .nav-extra-text {
		display: none !important;
	}

	.js .okv-mega-root .okv-mega-column > .sub-menu,
	.okv-mega-root .okv-mega-column > .sub-menu {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		display: grid !important;
		gap: 0;
		grid-template-columns: minmax(0, 1fr);
		left: auto !important;
		margin: 4px 0 0 !important;
		opacity: 1 !important;
		padding: 0 !important;
		position: static !important;
		transform: none !important;
		visibility: visible !important;
		width: auto !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu::before,
	.okv-mega-root .okv-mega-column > .sub-menu::after {
		content: none !important;
		display: none !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid var(--okv-mega-line) !important;
		box-shadow: none !important;
		color: var(--okv-mega-ink) !important;
		display: flex !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		justify-content: space-between;
		line-height: 1.3 !important;
		min-height: 40px;
		padding: 9px 4px 9px 0 !important;
		transition: border-color 120ms ease, box-shadow 120ms ease, color 120ms ease !important;
		width: 100% !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a::after,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable::after {
		border-bottom: 1.5px solid var(--okv-mega-blue);
		border-right: 1.5px solid var(--okv-mega-blue);
		content: "" !important;
		display: inline-block !important;
		flex: 0 0 auto;
		height: 8px;
		left: 0;
		margin-left: 14px;
		position: relative;
		transform: rotate(-45deg);
		transition: left 120ms ease !important;
		width: 8px;
	}

	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a:hover,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a:focus-visible,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable:hover,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable:focus-visible {
		background: transparent !important;
		border-bottom-color: var(--okv-mega-blue) !important;
		box-shadow: inset 0 -1px 0 var(--okv-mega-blue) !important;
		color: var(--okv-mega-blue) !important;
		outline: 0 !important;
		text-decoration: none !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a:hover::after,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a:focus-visible::after,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable:hover::after,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable:focus-visible::after {
		left: 3px;
	}

	.okv-mega-root .okv-mega-column > .sub-menu [itemprop="name"] {
		color: inherit !important;
		font: inherit !important;
		margin: 0 !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu .nav-extra-text {
		display: none !important;
	}

	/* Right content column: text above a fixed image position. */
	.okv-mega-root > .sub-menu > .okv-mega-intro {
		align-self: start;
		display: block !important;
		left: calc(34px + 32% + 44px);
		max-height: 98px;
		opacity: 0;
		overflow: hidden;
		padding: 2px 0 0 !important;
		position: absolute !important;
		right: 34px;
		top: 32px;
		transition: opacity 110ms ease, visibility 110ms ease;
		visibility: hidden;
		width: auto;
	}

	.okv-mega-root > .sub-menu > .okv-mega-intro.okv-mega-intro-visible {
		opacity: 1;
		visibility: visible;
	}

	.okv-mega-intro-title {
		color: var(--okv-mega-ink) !important;
		display: block !important;
		font-size: 21px !important;
		font-weight: 600 !important;
		height: auto !important;
		line-height: 1.25 !important;
		width: 100% !important;
	}

	.okv-mega-intro-text {
		color: var(--okv-mega-muted) !important;
		display: block !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.55 !important;
		margin: 12px 0 0 !important;
		max-width: 58ch;
		overflow: hidden;
	}

	.okv-mega-intro-text:empty {
		display: none !important;
	}

	/* The image stays fixed below the text regardless of copy length. */
	.okv-mega-root > .sub-menu > .okv-mega-preview {
		align-self: start;
		display: block !important;
		left: calc(34px + 32% + 44px);
		position: absolute !important;
		right: 34px;
		top: 146px;
		width: auto;
	}

	.okv-mega-preview-visual {
		align-items: center;
		aspect-ratio: 16 / 10;
		background: transparent;
		display: flex !important;
		justify-content: center;
		overflow: hidden;
		padding: 0;
		max-width: 620px;
		width: 100%;
	}

	.okv-mega-preview-image {
		display: block !important;
		height: 100% !important;
		margin: 0 !important;
		max-height: none !important;
		max-width: none !important;
		object-fit: contain;
		object-position: left top;
		opacity: 0;
		padding: 0 !important;
		transition: opacity 110ms ease !important;
		width: 100% !important;
	}

	.okv-mega-preview-visible .okv-mega-preview-image {
		opacity: 1;
	}

	.okv-mega-preview-changing .okv-mega-preview-image {
		opacity: 0;
	}

	/* The source item remains editable but only the generated preview is shown. */
	.okv-mega-root > .sub-menu > .okv-mega-media {
		display: none !important;
	}

	/* Browse all is a full-width highlighted action below the left-hand groups. */
	.okv-mega-root > .sub-menu > .okv-mega-footer {
		align-self: end;
		display: block !important;
		margin-top: 22px;
		width: 32%;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer > a,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable {
		align-items: center !important;
		background: var(--okv-mega-white) !important;
		border: 1px solid var(--okv-mega-blue) !important;
		box-shadow: none !important;
		color: var(--okv-mega-blue-dark) !important;
		display: inline-flex !important;
		font-size: 13.5px !important;
		font-weight: 700 !important;
		justify-content: space-between;
		line-height: 1.2 !important;
		min-height: 42px;
		padding: 10px 16px !important;
		transition: background-color 120ms ease, color 120ms ease !important;
		width: 100% !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer > a::after,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable::after {
		border-bottom: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;
		content: "" !important;
		display: inline-block !important;
		flex: 0 0 auto;
		height: 8px;
		left: 0;
		margin-left: 16px;
		position: relative;
		transform: rotate(-45deg);
		transition: left 120ms ease !important;
		width: 8px;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer > a:hover,
	.okv-mega-root > .sub-menu > .okv-mega-footer > a:focus-visible,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable:hover,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable:focus-visible {
		background: var(--okv-mega-blue) !important;
		color: var(--okv-mega-white) !important;
		outline: 0 !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer > a:hover::after,
	.okv-mega-root > .sub-menu > .okv-mega-footer > a:focus-visible::after,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable:hover::after,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable:focus-visible::after {
		left: 3px;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer .nav-extra-text,
	.okv-mega-root > .sub-menu > .okv-mega-footer .nav-icon {
		display: none !important;
	}

	/* Unassigned direct links remain in the left column. */
	.okv-mega-root > .sub-menu > .menu-item:not(.okv-mega-column):not(.okv-mega-intro):not(.okv-mega-legacy-intro):not(.okv-mega-footer):not(.okv-mega-media):not(.okv-mega-preview) {
		width: 32%;
	}

	.okv-mega-root > .sub-menu > .menu-item:not(.okv-mega-column):not(.okv-mega-intro):not(.okv-mega-legacy-intro):not(.okv-mega-footer):not(.okv-mega-media):not(.okv-mega-preview) > a,
	.okv-mega-root > .sub-menu > .menu-item:not(.okv-mega-column):not(.okv-mega-intro):not(.okv-mega-legacy-intro):not(.okv-mega-footer):not(.okv-mega-media):not(.okv-mega-preview) > .menu-item-clickable {
		background: transparent !important;
		border: 0 !important;
		color: var(--okv-mega-ink) !important;
		display: block !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		min-height: 34px;
		padding: 5px 0 !important;
		width: 100% !important;
	}

	/* Menus without an image do not keep the tall image-led panel height. */
	.js .okv-mega-root.okv-mega-no-preview > .sub-menu,
	.okv-mega-root.okv-mega-no-preview > .sub-menu {
		min-height: 275px;
	}
}

@media (min-width: 960px) and (max-width: 1080px) {
	.js .okv-mega-root > .sub-menu,
	.okv-mega-root > .sub-menu {
		min-height: 510px;
		padding: 26px 24px !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-intro {
		left: calc(24px + 32% + 36px);
		right: 24px;
		top: 26px;
		width: auto;
	}

	.okv-mega-root > .sub-menu > .okv-mega-preview {
		left: calc(24px + 32% + 36px);
		right: 24px;
		top: 138px;
		width: auto;
	}

	.okv-mega-preview-visual {
		max-width: 560px;
	}

	.js .okv-mega-root.okv-mega-no-preview > .sub-menu,
	.okv-mega-root.okv-mega-no-preview > .sub-menu {
		min-height: 275px;
	}
}

@media (max-width: 959px) {
	.okv-mega-root,
	.okv-mega-root * {
		font-family: var(--okv-mega-font) !important;
	}

	.okv-mega-root > .sub-menu {
		background: transparent !important;
		box-shadow: none !important;
		margin: 0 !important;
		padding: 0 0 16px !important;
		position: relative !important;
		width: 100% !important;
	}

	.okv-mega-root .nav-icon,
	.okv-mega-root .okv-mega-media-visual,
	.okv-mega-root > .sub-menu > .okv-mega-preview,
	.okv-mega-root > .sub-menu > .okv-mega-media {
		display: none !important;
	}

	.okv-mega-root .menu-item > a,
	.okv-mega-root .menu-item > .menu-item-clickable {
		align-items: center;
		justify-content: flex-start !important;
		min-height: 48px;
		text-align: left !important;
		text-decoration: none !important;
	}

	/* Mobile shows a flat link list: hide group labels and their accordion controls. */
	.okv-mega-root > .sub-menu > .okv-mega-column > a,
	.okv-mega-root > .sub-menu > .okv-mega-column > .menu-item-clickable,
	.okv-mega-root > .sub-menu > .okv-mega-column > .dropdown-toggle {
		display: none !important;
	}

	/* Descriptions belong to the desktop preview and are not repeated in mobile navigation. */
	.okv-mega-root .nav-extra-text {
		display: none !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-column,
	.okv-mega-root > .sub-menu > .okv-mega-intro,
	.okv-mega-root > .sub-menu > .okv-mega-footer {
		display: block !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-column {
		margin: 0 !important;
		padding: 0 !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-intro-generated {
		display: none !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu {
		background: transparent !important;
		box-shadow: none !important;
		display: block !important;
		height: auto !important;
		left: auto !important;
		max-height: none !important;
		margin: 0 !important;
		opacity: 1 !important;
		padding: 0 !important;
		pointer-events: auto !important;
		position: relative !important;
		top: auto !important;
		transform: none !important;
		visibility: visible !important;
		width: 100% !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > a,
	.okv-mega-root .okv-mega-column > .sub-menu > .menu-item > .menu-item-clickable {
		font-weight: 400 !important;
		justify-content: flex-start !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
		text-align: left !important;
	}

	.okv-mega-root .okv-mega-column > .sub-menu [itemprop="name"] {
		margin-left: 0 !important;
		text-align: left !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-intro {
		margin: 14px 24px 0;
		padding: 12px 0 !important;
	}

	.okv-mega-intro-title {
		color: var(--okv-mega-ink) !important;
		display: block !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
	}

	.okv-mega-intro-text {
		color: var(--okv-mega-muted) !important;
		display: block !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.5 !important;
		margin-top: 8px !important;
	}

	.okv-mega-intro-text:empty {
		display: none !important;
	}

	.okv-mega-root > .sub-menu > .okv-mega-footer > a,
	.okv-mega-root > .sub-menu > .okv-mega-footer > .menu-item-clickable {
		border: 1px solid var(--okv-mega-blue) !important;
		color: var(--okv-mega-blue-dark) !important;
		display: inline-flex !important;
		margin: 16px 24px 0;
		min-height: 44px;
		padding: 10px 14px !important;
		width: auto !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.okv-mega-root > .sub-menu,
	.okv-mega-root a,
	.okv-mega-root button,
	.okv-mega-intro,
	.okv-mega-preview-image {
		transition: none !important;
	}
}
