/* Accessibility improvements: visible focus, skip link and safer contrast defaults. */
:root {
	--a11y-text: #222;
	--a11y-muted: #4a4a4a;
	--a11y-link: #005fcc;
	--a11y-link-hover: #003f88;
	--a11y-border: #767676;
	--a11y-light-bg: #fff;
	--a11y-dark-bg: #111;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.l-canvas {
	position: relative;
}

.a11y-bvi-topbar {
	position: relative;
	top: 0;
	right: 0;
	left: 0;
	z-index: 100;
	background: #0069c9;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 14px;
	line-height: 1.2;
	pointer-events: none;
}

.a11y-bvi-topbar-h {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: 16px;
	width: 100%;
	min-height: 50px;
	max-width: none;
	margin: 0;
	padding: 0 16px 0 clamp(72px, 5.6vw, 112px);
	box-sizing: border-box;
	text-align: left !important;
}

.a11y-bvi-topbar-button {
	display: inline-flex;
	align-items: center;
	align-self: stretch;
	gap: 6px;
	min-height: 50px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	pointer-events: auto;
	white-space: nowrap;
}

.a11y-bvi-topbar-button:hover,
.a11y-bvi-topbar-button:focus {
	color: #fff;
	background: rgba(0, 48, 112, 0.36);
}

.a11y-bvi-topbar-button:focus,
.a11y-bvi-topbar-button:focus-visible {
	outline: 3px solid #ffbf47;
	outline-offset: -3px;
}

.a11y-bvi-topbar-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #fff;
	color: #0069c9;
	font-size: 11px;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
}

.a11y-bvi-search {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex: 0 0 auto !important;
	flex-wrap: nowrap !important;
	gap: 6px;
	width: auto !important;
	max-width: calc(100% - 360px);
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	pointer-events: auto;
}

.a11y-bvi-search-field {
	display: block !important;
	flex: 0 1 350px !important;
	width: min(350px, 32vw) !important;
	min-width: 220px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 6px 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 4px;
	background: #fff;
	color: #111;
	font: inherit;
	line-height: 1.2 !important;
	box-sizing: border-box;
}

.a11y-bvi-search-field::placeholder {
	color: #4a4a4a;
	opacity: 1;
}

.a11y-bvi-search-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	min-height: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 6px 14px !important;
	border: 1px solid #fff;
	border-radius: 4px;
	background: #fff;
	color: #0069c9;
	font: inherit;
	font-weight: 700;
	line-height: 1.2 !important;
	cursor: pointer;
	white-space: nowrap;
}

.a11y-bvi-search-submit:hover,
.a11y-bvi-search-submit:focus {
	background: #ffbf47;
	border-color: #ffbf47;
	color: #111;
}

.a11y-bvi-launcher-source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

html.bvi-active .a11y-bvi-topbar,
html.bvi-body .a11y-bvi-topbar,
body.bvi-active .a11y-bvi-topbar,
body.bvi-body .a11y-bvi-topbar,
body.a11y-bvi-is-active .a11y-bvi-topbar {
	display: none !important;
}

@media (max-width: 600px) {
	.a11y-bvi-topbar-h {
		gap: 8px;
		padding: 0 10px;
	}

	.a11y-bvi-topbar-text {
		max-width: 42vw;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.a11y-bvi-search {
		max-width: none;
	}

	.a11y-bvi-search-field {
		width: 150px !important;
		min-width: 120px !important;
	}

	.a11y-bvi-search-submit {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
}

body.a11y-site-search-results .l-main,
body.a11y-site-search-results .a11y-site-search-content {
	background: #fff !important;
}

body.a11y-site-search-results .l-titlebar {
	display: none !important;
}

body.a11y-site-search-results .l-main {
	padding-top: 0;
	clear: both;
}

body.a11y-site-search-results .a11y-site-search-content {
	padding-top: 48px !important;
	padding-bottom: 64px !important;
}

body.a11y-site-search-results .a11y-site-search-content .l-section-h {
	max-width: 1160px;
	padding-top: 0;
	padding-bottom: 0;
}

body.a11y-site-search-results .w-blog-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	max-width: 1160px;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.a11y-site-search-results .w-blog-post {
	width: auto !important;
	margin: 0 !important;
	text-align: center;
}

body.a11y-site-search-results .w-blog-post-preview {
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
	max-width: 360px;
	margin-right: auto !important;
	margin-left: auto !important;
	margin-bottom: 22px !important;
	padding-bottom: 0 !important;
	aspect-ratio: 3 / 2;
	border-radius: 8px;
	background: #f2f2f2;
}

body.a11y-site-search-results .w-blog-post-preview img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

body.a11y-site-search-results .w-blog-post-body {
	text-align: center;
}

@media (max-width: 1024px) {
	body.a11y-site-search-results .w-blog-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.a11y-site-search-results .w-blog-list {
		grid-template-columns: 1fr !important;
	}
}

.skip-link {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
	padding: 0.8rem 1rem;
	background: #fff;
	color: #111 !important;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border: 3px solid #005fcc;
	border-radius: 0 0 0.3rem 0;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 4px 12px rgba(0, 0, 0, 0.35);
	transform: translateY(-120%);
	transition: transform 0.15s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
	transform: translateY(0);
	outline: 3px solid #ffbf47;
	outline-offset: 2px;
}

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
summary:focus,
[tabindex]:focus,
[role="button"]:focus,
.w-nav-anchor:focus,
.w-btn:focus,
.w-socials-item-link:focus,
.w-toplink:focus,
.w-header-show:focus,
.owl-prev:focus,
.owl-next:focus,
.rsArrow:focus,
.rsBullet:focus,
.mfp-close:focus,
.mfp-arrow:focus {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 0 0 6px rgba(0, 95, 204, 0.65) !important;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
	outline: 0 !important;
	box-shadow: none !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
.w-nav-anchor:focus-visible,
.w-btn:focus-visible,
.w-socials-item-link:focus-visible,
.w-toplink:focus-visible,
.w-header-show:focus-visible,
.owl-prev:focus-visible,
.owl-next:focus-visible,
.rsArrow:focus-visible,
.rsBullet:focus-visible,
.mfp-close:focus-visible,
.mfp-arrow:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 0 0 6px rgba(0, 95, 204, 0.65) !important;
}

body.a11y-using-mouse a:focus,
body.a11y-using-mouse button:focus,
body.a11y-using-mouse input:focus,
body.a11y-using-mouse textarea:focus,
body.a11y-using-mouse select:focus,
body.a11y-using-mouse summary:focus,
body.a11y-using-mouse [tabindex]:focus,
body.a11y-using-mouse [role="button"]:focus,
body.a11y-using-mouse .w-nav-anchor:focus,
body.a11y-using-mouse .w-btn:focus,
body.a11y-using-mouse .w-socials-item-link:focus,
body.a11y-using-mouse .w-toplink:focus,
body.a11y-using-mouse .w-header-show:focus,
body.a11y-using-mouse .owl-prev:focus,
body.a11y-using-mouse .owl-next:focus,
body.a11y-using-mouse .rsArrow:focus,
body.a11y-using-mouse .rsBullet:focus,
body.a11y-using-mouse .mfp-close:focus,
body.a11y-using-mouse .mfp-arrow:focus {
	outline: 0 !important;
	box-shadow: none !important;
}

body.a11y-using-keyboard a:focus,
body.a11y-using-keyboard button:focus,
body.a11y-using-keyboard input:focus,
body.a11y-using-keyboard textarea:focus,
body.a11y-using-keyboard select:focus,
body.a11y-using-keyboard summary:focus,
body.a11y-using-keyboard [tabindex]:focus,
body.a11y-using-keyboard [role="button"]:focus,
body.a11y-using-keyboard .w-nav-anchor:focus,
body.a11y-using-keyboard .w-btn:focus,
body.a11y-using-keyboard .w-socials-item-link:focus,
body.a11y-using-keyboard .w-toplink:focus,
body.a11y-using-keyboard .w-header-show:focus,
body.a11y-using-keyboard .owl-prev:focus,
body.a11y-using-keyboard .owl-next:focus,
body.a11y-using-keyboard .rsArrow:focus,
body.a11y-using-keyboard .rsBullet:focus,
body.a11y-using-keyboard .mfp-close:focus,
body.a11y-using-keyboard .mfp-arrow:focus {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95), 0 0 0 6px rgba(0, 95, 204, 0.65) !important;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus,
input[type="range"]:focus {
	outline-offset: 4px !important;
}

.w-nav .w-nav-item.menu-item-has-children.opened > .w-nav-list {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	pointer-events: auto !important;
}

.w-nav .w-nav-item.menu-item-has-children.opened > .w-nav-anchor .w-nav-arrow {
	transform: rotate(90deg);
}

body,
.l-main,
.l-main input,
.l-main textarea,
.l-main select {
	color: var(--a11y-text);
}

.l-main a:not(.w-btn):not(.g-btn):not(.w-socials-item-link),
.l-sidebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link),
.l-titlebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link) {
	color: var(--a11y-link);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.l-main a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):hover,
.l-main a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):focus,
.l-sidebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):hover,
.l-sidebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):focus,
.l-titlebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):hover,
.l-titlebar a:not(.w-btn):not(.g-btn):not(.w-socials-item-link):focus {
	color: var(--a11y-link-hover);
}

.l-main input,
.l-main textarea,
.l-main select {
	background-color: var(--a11y-light-bg);
	border-color: var(--a11y-border);
}

.l-main input::placeholder,
.l-main textarea::placeholder {
	color: var(--a11y-muted);
	opacity: 1;
}

.l-main .w-blog-post-meta,
.l-main .w-blog-post-meta a,
.l-main .w-comments-item-date,
.l-main .w-testimonial-author-role,
.l-main .w-slider-item-description,
.l-main .w-gallery-item-description,
.l-main .w-iconbox-text,
.l-main .woocommerce-result-count,
.l-main .woocommerce .product_meta,
.l-main .woocommerce .product_meta a,
.l-main .g-breadcrumbs,
.l-main .g-breadcrumbs a,
.l-main .wp-caption-text,
.l-main figcaption,
.l-main small,
.l-sidebar,
.l-sidebar .widget,
.l-sidebar .widget a {
	color: var(--a11y-muted);
	opacity: 1;
}

.l-main .color_alternate,
.l-main .color_alternate input,
.l-main .color_alternate textarea,
.l-main .color_alternate select {
	color: var(--a11y-text);
}

.l-main .color_alternate a:not(.w-btn):not(.g-btn):not(.w-socials-item-link) {
	color: var(--a11y-link);
}

.l-footer,
.color_footer-top,
.color_footer-bottom,
.l-footer input,
.l-footer textarea,
.l-footer select {
	background-color: var(--a11y-dark-bg);
	color: #f5f5f5;
}

.l-footer a:not(.w-btn):not(.g-btn):not(.w-socials-item-link) {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.l-header.bg_transparent:not(.sticky) .l-subheader.at_top {
	background-color: rgba(0, 0, 0, 0.72);
	color: #fff;
}

.l-titlebar,
.l-titlebar h1,
.l-titlebar p {
	text-shadow: none;
}

.w-btn.color_yellow.style_solid,
.w-btn.color_light.style_solid {
	color: var(--a11y-dark-bg) !important;
}

.w-btn.color_pink.style_solid,
.w-btn.color_blue.style_solid,
.w-btn.color_green.style_solid,
.w-btn.color_orange.style_solid {
	color: #fff !important;
}

.a11y-hidden-image-placeholder {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (forced-colors: active) {
	a:focus,
	button:focus,
	input:focus,
	textarea:focus,
	select:focus,
	summary:focus,
	[tabindex]:focus {
		outline: 3px solid Highlight !important;
		box-shadow: none !important;
	}
}
