/* Site Toolkit: STK Adaptive Menu — menu button with animated icons and a full-screen or side panel.
   Every value the widget sets is a CSS variable or a rule under the widget's wrapper; the panel keeps them after it
   is moved to the end of <body> (adaptive-menu.js copies the wrapper classes around it). */

.stk-am {
	display: flex;
	align-items: center;
}

/* Buttons: reset theme and Elementor kit button styles (borders, backgrounds, hover colours). The class is doubled
   so that these rules outrank ".elementor-kit-N button" (and its :hover) from Site Settings → Buttons. */
button.stk-am__trigger.stk-am__trigger,
button.stk-am__twin.stk-am__twin,
button.stk-am__close.stk-am__close,
button.stk-am__sub-toggle.stk-am__sub-toggle,
button.stk-am__trigger.stk-am__trigger:is(:hover, :focus, :active),
button.stk-am__twin.stk-am__twin:is(:hover, :focus, :active),
button.stk-am__close.stk-am__close:is(:hover, :focus, :active),
button.stk-am__sub-toggle.stk-am__sub-toggle:is(:hover, :focus, :active) {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	margin: 0;
	border: 0;
	box-shadow: none;
	font: inherit;
	letter-spacing: inherit;
	text-transform: none;
	line-height: 1;
	min-height: 0;
	min-width: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

button.stk-am__trigger.stk-am__trigger,
button.stk-am__twin.stk-am__twin,
button.stk-am__trigger.stk-am__trigger:active,
button.stk-am__twin.stk-am__twin:is(:hover, :focus, :active) {
	display: inline-flex;
	align-items: center;
	gap: var(--stk-am-tgap, 10px);
	padding: 6px;
	border-radius: 0;
	color: var(--stk-am-color, currentColor);
	background: var(--stk-am-bg, transparent);
	transition: color .2s, background-color .2s;
}

button.stk-am__trigger.stk-am__trigger:focus {
	color: var(--stk-am-color, currentColor);
	background: var(--stk-am-bg, transparent);
}

button.stk-am__trigger.stk-am__trigger:hover,
button.stk-am__trigger.stk-am__trigger:focus-visible {
	color: var(--stk-am-color-hover, var(--stk-am-color, currentColor));
	background: var(--stk-am-bg-hover, var(--stk-am-bg, transparent));
}

button.stk-am__twin.stk-am__twin,
button.stk-am__twin.stk-am__twin:is(:hover, :focus, :active) {
	position: fixed;
	z-index: 3;
	top: var(--stk-am-ty, 16px);
	left: var(--stk-am-tx, auto);
	right: auto;
	color: var(--stk-am-x-color, var(--stk-am-color, #fff));
	background: var(--stk-am-x-bg, var(--stk-am-bg, transparent));
}

.stk-am__trigger.is-text-before,
.stk-am__twin.is-text-before {
	flex-direction: row-reverse;
}

.stk-am__label {
	white-space: nowrap;
}

.stk-am__label--close,
.is-x.has-close-text > .stk-am__label--open {
	display: none;
}

.is-x.has-close-text > .stk-am__label--close {
	display: inline;
}

button.stk-am__trigger.stk-am__trigger:focus-visible,
.stk-am__overlay a:focus-visible,
.stk-am__overlay button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* ---- The icon: three bars that each style lays out; .is-x on the button shows the close look. ---- */
.stk-am__icon {
	--s: var(--stk-am-size, 28px);
	--t: var(--stk-am-thick, 2px);
	--g: var(--stk-am-gap, 6px);
	--p: calc(var(--t) + var(--g));
	--d: max(4px, calc(var(--t) * 2));
	--h: 180ms;
	position: relative;
	display: inline-block;
	flex: none;
	width: var(--s);
	height: var(--s);
	transition: rotate calc(var(--h) * 2) ease;
}

.stk-am__bar {
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--s);
	height: var(--t);
	margin: calc(var(--t) / -2) 0 0 calc(var(--s) / -2);
	border-radius: var(--stk-am-radius, 99px);
	background: currentColor;
	translate: 0 0;
	rotate: 0deg;
	/* Closing: straighten first, then move apart. */
	transition: rotate var(--h) ease 0s, translate var(--h) ease var(--h), width var(--h) ease var(--h), height var(--h) ease var(--h), margin var(--h) ease var(--h), opacity var(--h) ease var(--h), border-radius var(--h) ease var(--h);
}

.stk-am__icon--lines3 .stk-am__bar:nth-child(1),
.stk-am__icon--lines3-uneven .stk-am__bar:nth-child(1) {
	translate: 0 calc(var(--p) * -1);
}

.stk-am__icon--lines3 .stk-am__bar:nth-child(3),
.stk-am__icon--lines3-uneven .stk-am__bar:nth-child(3) {
	translate: 0 var(--p);
}

.stk-am__icon--lines3-uneven .stk-am__bar:nth-child(2) {
	width: calc(var(--s) * .72);
}

.stk-am__icon--lines3-uneven .stk-am__bar:nth-child(3) {
	width: calc(var(--s) * .45);
}

.stk-am__icon--lines2 .stk-am__bar:nth-child(1) {
	translate: 0 calc(var(--p) / -2);
}

.stk-am__icon--lines2 .stk-am__bar:nth-child(2) {
	opacity: 0;
}

.stk-am__icon--lines2 .stk-am__bar:nth-child(3) {
	translate: 0 calc(var(--p) / 2);
}

.stk-am__icon--dots .stk-am__bar,
.stk-am__icon--dots-v .stk-am__bar {
	width: var(--d);
	height: var(--d);
	margin: calc(var(--d) / -2) 0 0 calc(var(--d) / -2);
	border-radius: 50%;
}

.stk-am__icon--dots .stk-am__bar:nth-child(1) {
	translate: calc((var(--d) + var(--g)) * -1) 0;
}

.stk-am__icon--dots .stk-am__bar:nth-child(3) {
	translate: calc(var(--d) + var(--g)) 0;
}

.stk-am__icon--dots-v .stk-am__bar:nth-child(1) {
	translate: 0 calc((var(--d) + var(--g)) * -1);
}

.stk-am__icon--dots-v .stk-am__bar:nth-child(3) {
	translate: 0 calc(var(--d) + var(--g));
}

.stk-am__icon--plus .stk-am__bar:nth-child(2) {
	opacity: 0;
}

.stk-am__icon--plus .stk-am__bar:nth-child(3) {
	rotate: 90deg;
}

/* Open look. */
.is-x .stk-am__icon:not(.stk-am__icon--morph-none) .stk-am__bar {
	width: var(--s);
	height: var(--t);
	margin: calc(var(--t) / -2) 0 0 calc(var(--s) / -2);
	border-radius: var(--stk-am-radius, 99px);
	translate: 0 0;
	/* Opening: come together first, then turn. */
	transition: translate var(--h) ease 0s, width var(--h) ease 0s, height var(--h) ease 0s, margin var(--h) ease 0s, opacity var(--h) ease 0s, border-radius var(--h) ease 0s, rotate var(--h) ease var(--h);
}

.is-x .stk-am__icon--morph-x .stk-am__bar:nth-child(1),
.is-x .stk-am__icon--morph-spin .stk-am__bar:nth-child(1) {
	rotate: 45deg;
}

.is-x .stk-am__icon--morph-x .stk-am__bar:nth-child(2),
.is-x .stk-am__icon--morph-spin .stk-am__bar:nth-child(2) {
	opacity: 0;
}

.is-x .stk-am__icon--morph-x .stk-am__bar:nth-child(3),
.is-x .stk-am__icon--morph-spin .stk-am__bar:nth-child(3) {
	rotate: -45deg;
}

.is-x .stk-am__icon--plus.stk-am__icon--morph-x .stk-am__bar:nth-child(3),
.is-x .stk-am__icon--plus.stk-am__icon--morph-spin .stk-am__bar:nth-child(3) {
	rotate: 135deg;
}

.is-x .stk-am__icon--morph-spin {
	rotate: 180deg;
}

.stk-am__icon--morph-arrow .stk-am__bar {
	transform-origin: calc(var(--t) / 2) 50%;
}

.is-x .stk-am__icon--morph-arrow .stk-am__bar:nth-child(1),
.is-x .stk-am__icon--morph-arrow .stk-am__bar:nth-child(3) {
	width: calc(var(--s) * .55);
}

.is-x .stk-am__icon--morph-arrow .stk-am__bar:nth-child(1) {
	rotate: -40deg;
}

.is-x .stk-am__icon--morph-arrow .stk-am__bar:nth-child(2) {
	opacity: 1;
}

.is-x .stk-am__icon--morph-arrow .stk-am__bar:nth-child(3) {
	rotate: 40deg;
}

.stk-am__icon--morph-arrow:dir(rtl) {
	scale: -1 1;
}

/* Own icons: the open icon turns away, the close icon turns in. */
.stk-am__icon--custom {
	font-size: var(--s);
}

.stk-am__ico {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: opacity calc(var(--h) * 1.5) ease, rotate calc(var(--h) * 1.5) ease, scale calc(var(--h) * 1.5) ease;
}

.stk-am__ico svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.stk-am__ico--close {
	opacity: 0;
	rotate: -90deg;
	scale: .6;
}

.is-x .stk-am__icon--custom:not(.is-single):not(.stk-am__icon--morph-none) .stk-am__ico--open {
	opacity: 0;
	rotate: 90deg;
	scale: .6;
}

.is-x .stk-am__icon--custom:not(.stk-am__icon--morph-none) .stk-am__ico--close {
	opacity: 1;
	rotate: 0deg;
	scale: 1;
}

.is-x .stk-am__icon--custom.stk-am__icon--morph-spin {
	rotate: 180deg;
}

/* ---- The panel. ---- */
.stk-am__overlay {
	--stk-am-d: var(--stk-am-dur, 450ms);
	--stk-am-e: var(--stk-am-ease, cubic-bezier(.22, .8, .24, 1));
	position: fixed;
	inset: var(--wp-admin--admin-bar--height, 0px) 0 0 0;
	z-index: 9999;
	display: block;
	box-sizing: border-box;
	text-align: start;
}

.stk-am__overlay[hidden] {
	display: none !important;
}

.stk-am__overlay.is-measuring,
.stk-am__overlay.is-measuring * {
	transition: none !important;
}

.stk-am__overlay *,
.stk-am__overlay *::before,
.stk-am__overlay *::after {
	box-sizing: border-box;
}

.stk-am__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(2, 11, 46, .55);
	opacity: 0;
	transition: opacity var(--stk-am-d) ease;
}

.stk-am--side-full .stk-am__backdrop {
	display: none;
}

.stk-am__panel {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background-color: #020b2e;
	color: #fff;
	outline: none;
	transition: opacity var(--stk-am-d) var(--stk-am-e), translate var(--stk-am-d) var(--stk-am-e), scale var(--stk-am-d) var(--stk-am-e), clip-path var(--stk-am-d) var(--stk-am-e);
}

.stk-am--side-left .stk-am__panel {
	right: auto;
	width: var(--stk-am-w, 50%);
	max-width: 100%;
}

.stk-am--side-right .stk-am__panel {
	left: auto;
	width: var(--stk-am-w, 50%);
	max-width: 100%;
}

.stk-am--side-top .stk-am__panel {
	bottom: auto;
	height: var(--stk-am-h, 50%);
	max-height: 100%;
}

.stk-am--side-bottom .stk-am__panel {
	top: auto;
	height: var(--stk-am-h, 50%);
	max-height: 100%;
}

.stk-am__scroll {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.stk-am__inner {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: var(--stk-am-v, center);
	align-items: var(--stk-am-ha, center);
	gap: 32px;
	width: 100%;
	margin: 0 auto;
	padding: 80px 24px 48px;
	text-align: var(--stk-am-ta, center);
}

.stk-am__part {
	max-width: 100%;
}

.stk-am__part--spacer {
	flex: 1 1 0;
	min-height: 0;
	padding: 0;
}

/* Opening animations: the closed state per type; .is-open brings every one to rest. */
.stk-am--anim-fade .stk-am__panel {
	opacity: 0;
}

.stk-am--anim-slide-right .stk-am__panel {
	translate: 100% 0;
}

.stk-am--anim-slide-left .stk-am__panel {
	translate: -100% 0;
}

.stk-am--anim-slide-top .stk-am__panel {
	translate: 0 -100%;
}

.stk-am--anim-slide-bottom .stk-am__panel {
	translate: 0 100%;
}

.stk-am--anim-zoom .stk-am__panel {
	opacity: 0;
	scale: .94;
}

.stk-am--anim-circle .stk-am__panel {
	clip-path: circle(0 at var(--stk-am-cx, 100%) var(--stk-am-cy, 0%));
}

.stk-am--anim-none .stk-am__panel,
.stk-am--anim-none .stk-am__backdrop {
	transition: none;
}

.stk-am__overlay.is-open .stk-am__panel {
	opacity: 1;
	translate: none;
	scale: none;
}

.stk-am--anim-circle.is-open .stk-am__panel {
	clip-path: circle(150% at var(--stk-am-cx, 100%) var(--stk-am-cy, 0%));
}

.stk-am__overlay.is-open .stk-am__backdrop {
	opacity: 1;
}

/* Contents one after another. */
.stk-am--items-up .stk-am__stag,
.stk-am--items-fade .stk-am__stag {
	opacity: 0;
	transition: opacity .2s ease, translate .2s ease;
}

.stk-am--items-up .stk-am__stag {
	translate: 0 18px;
}

.stk-am--items-up.is-open .stk-am__stag,
.stk-am--items-fade.is-open .stk-am__stag {
	opacity: 1;
	translate: none;
	transition: opacity .5s var(--stk-am-e) calc(var(--stk-am-d) * .4 + var(--stk-am-i, 0) * 60ms), translate .5s var(--stk-am-e) calc(var(--stk-am-d) * .4 + var(--stk-am-i, 0) * 60ms);
}

/* Close button in a corner of the panel. */
button.stk-am__close.stk-am__close,
button.stk-am__close.stk-am__close:is(:hover, :focus, :active) {
	position: absolute;
	z-index: 2;
	top: 16px;
	right: var(--stk-am-close-x, 16px);
	padding: 6px;
	border-radius: 0;
	color: inherit;
	background: transparent;
	transition: color .2s, background-color .2s, opacity .2s;
}

.stk-am__close .stk-am__icon {
	--s: var(--stk-am-size, 28px);
}

/* ---- Parts. ---- */
.stk-am__logo {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	line-height: 0;
}

.stk-am__logo-img {
	display: block;
	width: 160px;
	max-width: 100%;
	height: auto;
}

.stk-am__logo-text {
	display: block;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.2;
}

.stk-am__nav {
	width: 100%;
}

.stk-am__menu,
.stk-am__sub {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.stk-am__menu {
	flex-wrap: wrap;
	gap: 14px;
	align-items: var(--stk-am-ma, var(--stk-am-ha, center));
	justify-content: var(--stk-am-ma, var(--stk-am-ha, center));
	text-align: var(--stk-am-mt, var(--stk-am-ta, center));
}

.stk-am__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.stk-am__item::before,
.stk-am__item::marker {
	content: none;
}

.stk-am__row {
	display: inline-flex;
	align-items: center;
	gap: .2em;
	max-width: 100%;
}

.stk-am__menu > .stk-am__item > .stk-am__row > .stk-am__link {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
}

.stk-am__link {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	transition: color .2s, background-color .2s, opacity .2s;
}

.stk-am__link:hover {
	opacity: .8;
}

.stk-am__sub {
	gap: 8px;
	padding: 10px 0 4px;
	align-items: inherit;
}

.stk-am__sub .stk-am__link {
	font-size: 1.125rem;
	line-height: 1.3;
	opacity: .85;
}

.stk-am__sub[hidden] {
	display: none;
}

button.stk-am__sub-toggle.stk-am__sub-toggle,
button.stk-am__sub-toggle.stk-am__sub-toggle:is(:hover, :focus, :active) {
	--c: var(--stk-am-chev, 10px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: calc(var(--c) * 3);
	height: calc(var(--c) * 3);
	padding: 0;
	border-radius: 50%;
	color: inherit;
	background: transparent;
}

.stk-am__chev {
	display: block;
	width: var(--c);
	height: var(--c);
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	rotate: 45deg;
	translate: 0 -25%;
	transition: rotate .25s ease, translate .25s ease;
}

.stk-am__sub-toggle[aria-expanded="true"] .stk-am__chev {
	rotate: 225deg;
	translate: 0 25%;
}

.stk-am__contacts {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: var(--stk-am-ha, center);
	justify-content: var(--stk-am-ha, center);
	gap: 12px;
}

.stk-am__contact {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	color: inherit;
	text-decoration: none;
	transition: color .2s, opacity .2s;
}

.stk-am__contact:hover {
	opacity: .8;
}

.stk-am__cicon {
	flex: none;
}

.stk-am__button {
	display: inline-block;
	padding: 14px 32px;
	border-radius: 999px;
	background-color: #5bc8f0;
	color: #020b2e;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: color .2s, background-color .2s, border-color .2s;
}

.stk-am__text > :first-child {
	margin-top: 0;
}

.stk-am__text > :last-child {
	margin-bottom: 0;
}

.stk-am__template {
	width: 100%;
}

.stk-am__note {
	margin: 0;
	opacity: .7;
	font-size: 14px;
}

@media (prefers-reduced-motion: reduce) {
	.stk-am__panel,
	.stk-am__backdrop,
	.stk-am__stag,
	.stk-am__icon,
	.stk-am__bar,
	.stk-am__ico,
	.stk-am__chev {
		transition-duration: 1ms !important;
		transition-delay: 0s !important;
	}
}
