/* Accessibility overrides — WCAG 2.1 / EN 301 549 */

:root {
	--a11y-primary: #005a9e;
	--a11y-primary-hover: #00487e;
	--a11y-focus: #005a9e;
	--a11y-body: #4a4a4a;
	--a11y-footer-text: #d4d4d4;
	--a11y-footer-link: #e8e8e8;
	--a11y-tertiary: #0a6e9c;
}

.skip-link {
	position: absolute;
	left: 0.75rem;
	top: -3.5rem;
	z-index: 10000;
	padding: 0.6rem 1rem;
	background: #000;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 4px 4px;
}

.skip-link:focus,
.skip-link:focus-visible {
	top: 0;
	color: #fff !important;
	outline: 3px solid #ffcc00 !important;
	outline-offset: 2px;
}

body {
	color: var(--a11y-body);
}

html body p,
html body .lead {
	color: var(--a11y-body);
}

a {
	color: var(--a11y-primary);
}

a:hover,
a:focus {
	color: var(--a11y-primary-hover);
}

html .text-color-primary,
html .text-primary {
	color: var(--a11y-primary) !important;
}

.text-muted {
	color: #595959 !important;
}

body a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible,
.dropdown-item:focus-visible,
.owl-dot:focus-visible,
.header-btn-collapse-nav:focus-visible {
	outline: 3px solid var(--a11y-focus) !important;
	outline-offset: 3px;
}

#header .header-btn-collapse-nav:focus,
#header .header-btn-collapse-nav:focus-visible {
	outline: 3px solid var(--a11y-focus) !important;
	outline-offset: 3px;
}

#footer,
#footer p,
#footer li,
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
	color: var(--a11y-footer-text);
}

#footer a:not(.btn):not(.no-footer-css),
#footer a:not(.btn):not(.no-footer-css).text-color-default {
	color: var(--a11y-footer-link) !important;
}

#footer a:not(.btn):not(.no-footer-css):hover,
#footer a:not(.btn):not(.no-footer-css):focus,
#footer a:not(.btn):not(.no-footer-css):focus-visible {
	color: #ffffff !important;
	text-decoration: underline;
}

@media (min-width: 992px) {
	#header .header-nav-main nav > ul > li.dropdown:focus-within > ul.dropdown-menu,
	#header .header-nav-main nav > ul > li.dropdown-submenu:focus-within > ul.dropdown-menu {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
	}
}

.sitemap-list,
.sitemap-list ul {
	list-style: disc;
	margin: 0 0 1rem 1.25rem;
	padding: 0;
}

.sitemap-list li {
	margin: 0.35rem 0;
}

.accessibility-statement h2 {
	margin-top: 1.75rem;
}

.accessibility-statement h3 {
	margin-top: 1.25rem;
}

#gdpr-cookie-message {
	background-color: #1f1f1f;
	color: #ffffff;
}

#gdpr-cookie-message h4,
#gdpr-cookie-message h5 {
	color: #ffffff;
}

#gdpr-cookie-message p,
#gdpr-cookie-message ul,
#gdpr-cookie-message li {
	color: #f2f2f2;
}

#gdpr-cookie-message a {
	color: #9ecbff;
	border-bottom-color: #9ecbff;
}

#gdpr-cookie-message a:hover,
#gdpr-cookie-message a:focus {
	color: #ffffff;
}

#gdpr-cookie-message button,
button#ihavecookiesBtn {
	background: #005a9e;
	color: #ffffff;
}

#gdpr-cookie-message button:hover,
#gdpr-cookie-message button:focus-visible {
	background: #ffffff;
	color: #005a9e;
}

@media (max-width: 575.98px) {
	.owl-carousel-light .slider-title {
		font-size: 1.75rem !important;
		line-height: 1.3 !important;
	}

	.owl-carousel-light .slider-subtitle {
		font-size: 1.1rem !important;
	}
}

/* Contrast — WCAG 1.4.3 (WAVE Very low contrast) */
#header .header-nav-top .nav > li > a,
#header .header-nav-top .nav > li > span {
	color: var(--a11y-body);
}

#header .header-nav-top .nav > li > a:hover,
#header .header-nav-top .nav > li > a:focus {
	color: var(--a11y-primary);
}

#header .header-btn-collapse-nav {
	background: var(--a11y-primary);
	color: #fff;
}

@media (min-width: 992px) {
	#header .header-nav-main nav > ul > li > a {
		color: var(--a11y-primary);
	}

	#header .header-nav-main nav > ul > li.open > a,
	#header .header-nav-main nav > ul > li:hover > a,
	#header .header-nav-main nav > ul:not(:hover) > li > a.active,
	#header .header-nav-main nav > ul > li > a.active,
	#header .header-nav-main nav > ul > li.open > a.dropdown-item,
	#header .header-nav-main nav > ul > li:hover > a.dropdown-item {
		background-color: var(--a11y-primary);
		color: #fff !important;
	}

	#header .header-nav-main nav > ul > li.dropdown.open > a:before,
	#header .header-nav-main nav > ul > li.dropdown:hover > a:before {
		border-bottom-color: var(--a11y-primary);
	}

	#header .header-nav-main nav > ul > li.dropdown .dropdown-menu {
		border-top-color: var(--a11y-primary);
	}
}

#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu li a,
#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu .dropdown-item {
	color: var(--a11y-body);
}

#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu li a:hover,
#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu li a:focus,
#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu .dropdown-item:hover,
#header .header-nav-main nav > ul > li.dropdown > ul.dropdown-menu .dropdown-item:focus {
	color: var(--a11y-primary);
}

html .bg-color-primary,
html .bg-primary {
	background-color: var(--a11y-primary) !important;
}

html .bg-color-tertiary,
html .bg-tertiary {
	background-color: var(--a11y-tertiary) !important;
}

html .text-color-tertiary,
html .text-tertiary {
	color: var(--a11y-tertiary) !important;
}

.medical-schedules .box-one::after {
	border-left-color: var(--a11y-primary);
}

html .btn-primary {
	background-color: var(--a11y-primary);
	border-color: var(--a11y-primary);
	color: #fff;
}

article.post .post-date .day,
.recent-posts .date .day {
	color: var(--a11y-primary);
}

article.post .post-date .month,
.recent-posts .date .month {
	background-color: var(--a11y-primary);
	color: #fff;
}

#footer .footer-copyright p {
	color: var(--a11y-footer-text);
}

.owl-carousel-light .slider-title,
.owl-carousel-light .slider-title a {
	color: #1a365d;
	background-color: rgba(255, 255, 255, 0.88);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0.12em 0.4em;
}

.owl-carousel-light .slider-subtitle {
	color: #1a365d;
	background-color: rgba(255, 255, 255, 0.88);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0.1em 0.4em;
}
