:root {
	--accessi-outline-width: 2px;
	--accessi-outline-offset: 4px;
	--accessi-reading-mask: rgba(0, 0, 0, 0.8);
}

/* readable-font*/
body.accessi-readable-font *:not(i) {
	font-family: Arial, Helvetica, Verdana, sans-serif !important;
}

/* dyslexia-font */
body.accessi-dyslexia-font,
body.accessi-dyslexia-font h1,
body.accessi-dyslexia-font h1 span,
body.accessi-dyslexia-font h2,
body.accessi-dyslexia-font h2 span,
body.accessi-dyslexia-font h3,
body.accessi-dyslexia-font h3 span,
body.accessi-dyslexia-font h4,
body.accessi-dyslexia-font h4 span,
body.accessi-dyslexia-font h5,
body.accessi-dyslexia-font h5 span,
body.accessi-dyslexia-font h6,
body.accessi-dyslexia-font h6 span,
body.accessi-dyslexia-font a,
body.accessi-dyslexia-font p,
body.accessi-dyslexia-font li a,
body.accessi-dyslexia-font label,
body.accessi-dyslexia-font input,
body.accessi-dyslexia-font select,
body.accessi-dyslexia-font textarea,
body.accessi-dyslexia-font legend,
body.accessi-dyslexia-font code,
body.accessi-dyslexia-font pre,
body.accessi-dyslexia-font dd,
body.accessi-dyslexia-font dt,
body.accessi-dyslexia-font span,
body.accessi-dyslexia-font blockquote {
	font-family: 'OpenDyslexic', serif !important;
}

/* Exclude icons in psudo elements */
body.accessi-readable-font *::before,
body.accessi-readable-font *::after,
body.accessi-dyslexia-font *::before,
body.accessi-dyslexia-font *::after {
	font-family: inherit !important;
}

/* highlight-titles */
body.accessi-highlight-titles h1,
body.accessi-highlight-titles h2,
body.accessi-highlight-titles h3,
body.accessi-highlight-titles h4,
body.accessi-highlight-titles h5,
body.accessi-highlight-titles h6,
body.accessi-highlight-titles [role='heading'] {
	outline-style: solid !important;
	outline-color: var(--accessi-accent) !important;
	outline-width: var(--accessi-outline-width) !important;
	outline-offset: var(--accessi-outline-offset) !important;
}

/* highlight-links */
body.accessi-highlight-links a,
[ng-click*=''] {
	outline-style: solid !important;
	outline-color: #28a228 !important;
	outline-width: var(--accessi-outline-width) !important;
	outline-offset: var(--accessi-outline-offset) !important;
}

/* text-magnifier */
body.accessi-text-magnifier .accessi-text-magnifier-tooltip {
	position: fixed;
	padding: 16px;
	border-radius: 4px;
	background: #333;
	color: #fff;
	font-size: 36px !important;
	line-height: 1.5;
	z-index: 999999;
	word-break: break-word;
	max-width: 680px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	background-color: #333333 !important;
	color: #ffffff !important;
	font-size: 36px !important;
}

/* content-scaling */

/* font-size */

/* line-height */

/* letter-spacing */

/* align-left */
body.accessi-align-left,
body.accessi-align-left h1,
body.accessi-align-left h1 span,
body.accessi-align-left h2,
body.accessi-align-left h2 span,
body.accessi-align-left h3,
body.accessi-align-left h3 span,
body.accessi-align-left h4,
body.accessi-align-left h4 span,
body.accessi-align-left h5,
body.accessi-align-left h5 span,
body.accessi-align-left h6,
body.accessi-align-left h6 span,
body.accessi-align-left p,
body.accessi-align-left li,
body.accessi-align-left label,
body.accessi-align-left input,
body.accessi-align-left select,
body.accessi-align-left textarea,
body.accessi-align-left legend,
body.accessi-align-left code,
body.accessi-align-left pre,
body.accessi-align-left dd,
body.accessi-align-left dt,
body.accessi-align-left span,
body.accessi-align-left blockquote {
	text-align: left !important;
}

/* align-center */
body.accessi-align-center,
body.accessi-align-center h1,
body.accessi-align-center h1 span,
body.accessi-align-center h2,
body.accessi-align-center h2 span,
body.accessi-align-center h3,
body.accessi-align-center h3 span,
body.accessi-align-center h4,
body.accessi-align-center h4 span,
body.accessi-align-center h5,
body.accessi-align-center h5 span,
body.accessi-align-center h6,
body.accessi-align-center h6 span,
body.accessi-align-center p,
body.accessi-align-center li,
body.accessi-align-center label,
body.accessi-align-center input,
body.accessi-align-center select,
body.accessi-align-center textarea,
body.accessi-align-center legend,
body.accessi-align-center code,
body.accessi-align-center pre,
body.accessi-align-center dd,
body.accessi-align-center dt,
body.accessi-align-center span,
body.accessi-align-center blockquote {
	text-align: center !important;
}

/* align-right */
body.accessi-align-right,
body.accessi-align-right h1,
body.accessi-align-right h1 span,
body.accessi-align-right h2,
body.accessi-align-right h2 span,
body.accessi-align-right h3,
body.accessi-align-right h3 span,
body.accessi-align-right h4,
body.accessi-align-right h4 span,
body.accessi-align-right h5,
body.accessi-align-right h5 span,
body.accessi-align-right h6,
body.accessi-align-right h6 span,
body.accessi-align-right p,
body.accessi-align-right li,
body.accessi-align-right label,
body.accessi-align-right input,
body.accessi-align-right select,
body.accessi-align-right textarea,
body.accessi-align-right legend,
body.accessi-align-right code,
body.accessi-align-right pre,
body.accessi-align-right dd,
body.accessi-align-right dt,
body.accessi-align-right span,
body.accessi-align-right blockquote {
	text-align: right !important;
}

/* text-ltr */
/*
body.accessi-text-ltr,
body.accessi-text-ltr h1,
body.accessi-text-ltr h1 span,
body.accessi-text-ltr h2,
body.accessi-text-ltr h2 span,
body.accessi-text-ltr h3,
body.accessi-text-ltr h3 span,
body.accessi-text-ltr h4,
body.accessi-text-ltr h4 span,
body.accessi-text-ltr h5,
body.accessi-text-ltr h5 span,
body.accessi-text-ltr h6,
body.accessi-text-ltr h6 span,
body.accessi-text-ltr p,
body.accessi-text-ltr li,
body.accessi-text-ltr label,
body.accessi-text-ltr input,
body.accessi-text-ltr select,
body.accessi-text-ltr textarea,
body.accessi-text-ltr legend,
body.accessi-text-ltr code,
body.accessi-text-ltr pre,
body.accessi-text-ltr dd,
body.accessi-text-ltr dt,
body.accessi-text-ltr span,
body.accessi-text-ltr blockquote {
	direction: ltr !important;
}
*/

/* text-ltr */
/*
body.accessi-text-rtl,
body.accessi-text-rtl h1,
body.accessi-text-rtl h1 span,
body.accessi-text-rtl h2,
body.accessi-text-rtl h2 span,
body.accessi-text-rtl h3,
body.accessi-text-rtl h3 span,
body.accessi-text-rtl h4,
body.accessi-text-rtl h4 span,
body.accessi-text-rtl h5,
body.accessi-text-rtl h5 span,
body.accessi-text-rtl h6,
body.accessi-text-rtl h6 span,
body.accessi-text-rtl p,
body.accessi-text-rtl li,
body.accessi-text-rtl label,
body.accessi-text-rtl input,
body.accessi-text-rtl select,
body.accessi-text-rtl textarea,
body.accessi-text-rtl legend,
body.accessi-text-rtl code,
body.accessi-text-rtl pre,
body.accessi-text-rtl dd,
body.accessi-text-rtl dt,
body.accessi-text-rtl span,
body.accessi-text-rtl blockquote {
	direction: rtl !important;
}
*/

/****************************/
/* Design and Color Controls */
/****************************/

/* Dark Contrast */
html.accessi-dark-contrast
	*
	:not(.slider):not(.toggle-text-on):not(.toggle-text-off):not(.accessi-option-icon):not(.acc-excluded *):not(
		.accessi-modal *
	),
html.accessi-dark-contrast > blockquote,
html.accessi-dark-contrast > .reset-button {
	color: #fff !important;
	background-color: #181818 !important;
}

/* Invert Colors */
html.accessi-invert-colors {
	-webkit-filter: invert(1) !important;
	filter: invert(1) !important;
	-moz-filter: invert(1) !important;
	-ms-filter: invert(1) !important;
	-o-filter: invert(1) !important;
}

/* Light Contrast */
html.accessi-light-contrast
	*
	:not(.slider):not(.toggle-text-on):not(.toggle-text-off):not(.acc-excluded *):not(.accessi-modal *),
html.accessi-light-contrast > blockquote,
html.accessi-light-contrast > .reset-button {
	color: #075f39 !important;
	background-color: #fff !important;
	fill: var(--accessi-text);
}

/* Monochrome */
html.accessi-monochrome {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
}

/* High Contrast */
html.accessi-high-contrast {
	-webkit-filter: contrast(135%);
	filter: contrast(135%);
	-moz-filter: contrast(135%);
	-ms-filter: contrast(135%);
	-o-filter: contrast(135%);
}

/* High Saturation */
html.accessi-high-saturation {
	filter: saturate(140%);
	-webkit-filter: saturate(140%);
	-moz-filter: saturate(140%);
	-ms-filter: saturate(140%);
	-o-filter: saturate(140%);
}

/* Low Saturation */
html.accessi-low-saturation {
	-webkit-filter: saturate(80%);
	filter: saturate(80%);
	-moz-filter: saturate(80%);
	-ms-filter: saturate(80%);
	-o-filter: saturate(80%);
}

/****************************/
/* Media and Other Controls */
/****************************/

/* Mute Sounds */
/* JS Handled */

/* Hide Images */
body.accessi-hide-images img,
body.accessi-hide-images video {
	opacity: 0 !important;
	visibility: hidden !important;
}
body.accessi-hide-images * {
	background-image: none !important;
}
/* Reading Guide */
.accessi-reading-guide-element {
	display: flex;
	justify-content: center;
	position: fixed;
	top: 0;
	left: auto;
	right: auto;
	margin: auto;
	max-width: 90%;
	pointer-events: none;
	z-index: 999999;
	width: 60%;
	height: 10px;
	border-radius: 10px;
	background-color: #007cba;
	border: 2px solid #000;

	&::before {
		content: '';
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 10px solid #000;
		margin-top: -12px;
	}
}
/* Stop Animations */
body.accessi-stop-animations * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
	-webkit-animation-fill-mode: forwards !important;
	-moz-animation-fill-mode: forwards !important;
	-ms-animation-fill-mode: forwards !important;
	-o-animation-fill-mode: forwards !important;
	animation-fill-mode: forwards !important;
	-webkit-animation-iteration-count: 1 !important;
	-moz-animation-iteration-count: 1 !important;
	-ms-animation-iteration-count: 1 !important;
	-o-animation-iteration-count: 1 !important;
	animation-iteration-count: 1 !important;
	-webkit-animation-duration: 0.01s !important;
	-moz-animation-duration: 0.01s !important;
	-ms-animation-duration: 0.01s !important;
	-o-animation-duration: 0.01s !important;
	animation-duration: 0.01s !important;
	transition-timing-function: step-end !important;
	transition-duration: 0s !important;
	animation-timing-function: step-end !important;
	animation-iteration-count: 1 !important;
	animation-duration: 0s !important;
}

/* Reading Mask */
body.accessi-reading-mask .accessi-reading-mask-top,
body.accessi-reading-mask .accessi-reading-mask-bottom {
	display: block;
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 999999;
	background-color: var(--accessi-reading-mask);
}
body.accessi-reading-mask .accessi-reading-mask-top {
	top: 0;
	bottom: auto;
}
body.accessi-reading-mask .accessi-reading-mask-bottom {
	bottom: 0;
	top: auto;
}

/* Highlight Hover */
body.accessi-highlight-hover *:hover {
	outline-style: solid !important;
	outline-color: var(--accessi-accent) !important;
	outline-width: var(--accessi-outline-width) !important;
	outline-offset: var(--accessi-outline-offset) !important;
}

/* Highlight Focus */
body.accessi-highlight-focus *:focus {
	outline-style: solid !important;
	outline-color: var(--accessi-accent) !important;
	outline-width: var(--accessi-outline-width) !important;
	outline-offset: var(--accessi-outline-offset) !important;
}

/* Large Cursor */
body.accessi-large-cursor,
body.accessi-large-cursor * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 33.33 50'%3E%3Cpath fill='%23000' d='M16.67,49.5a.56.56,0,0,1-.5-.31L10.29,36.43,1.46,47.22a.56.56,0,0,1-.42.2l-.18,0a.56.56,0,0,1-.36-.51V1A.54.54,0,0,1,.83.54.52.52,0,0,1,1,.5a.57.57,0,0,1,.39.16L32.68,31.91a.54.54,0,0,1-.39.92H18.55l5.9,12.78a.51.51,0,0,1,0,.42.53.53,0,0,1-.29.3l-7.29,3.13A.52.52,0,0,1,16.67,49.5Z'/%3E%3Cpath fill='%23fff' d='M2,3.35l28,28H16.21l1.31,2.84,5.16,11.17-5.53,2.37L12,36.53l-1.33-2.9-2,2.47L2,44.19V3.35M1,0a1.14,1.14,0,0,0-.4.08A1,1,0,0,0,0,1V46.87a1.06,1.06,0,0,0,.69,1,1.07,1.07,0,0,0,.35.06,1.06,1.06,0,0,0,.81-.38l8.32-10.17,5.55,12a1,1,0,0,0,1.36.51l7.29-3.12a1,1,0,0,0,.53-1.39L19.34,33.33h13A1,1,0,0,0,33,31.55L1.78.3A1.09,1.09,0,0,0,1,0Z'/%3E%3C/svg%3E")
			15 0,
		default !important;
}
body.accessi-large-cursor * input,
body.accessi-large-cursor * textarea,
body.accessi-large-cursor * select,
body.accessi-large-cursor * a,
body.accessi-large-cursor * button,
body.accessi-large-cursor * .accessi-option-toggle,
body.accessi-large-cursor * [role='button'],
body.accessi-large-cursor * input,
body.accessi-large-cursor * textarea,
body.accessi-large-cursor * select:hover,
body.accessi-large-cursor * a:hover,
body.accessi-large-cursor * button:hover,
body.accessi-large-cursor * .accessi-option-toggle:hover,
body.accessi-large-cursor * [role='button']:hover,
body.accessi-large-cursor .accessi-cursor-pointer {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cpath d='m12.6 27.5c-0.1 0-0.1-0.1-0.2-0.1-0.8-0.6-1.6-1.3-2.4-2-1.1-0.9-2.3-1.9-3.2-2.7-0.6-0.5-1.3-0.8-1.9-1-0.4-0.1-0.8-0.1-1.1 0-0.2 0.1-0.4 0.3-0.6 0.6-0.2 0.4-0.3 1-0.2 1.8 0 0.7 0.3 1.4 0.6 2.2 0.5 1.1 1.1 2.1 1.6 2.7l0.1 0.1 9.4 13.6c0.1 0.2 0.2 0.4 0.2 0.6 0.2 1.6 0.5 2.7 1 3.5 0.4 0.5 0.8 0.8 1.4 0.8h14.7 0.1c0.9 0 1.8-0.3 2.5-0.8 0.8-0.6 1.6-1.5 2.3-2.7v-0.1c0.3-0.5 0.6-1.1 1-1.6 1.5-2.5 2.8-4.7 3-7.8l-0.1-4.3v-0.2-1c0-2.8 0.1-6.3-2.5-6.8h-1.6c0 0.8-0.1 1.6-0.1 2.4 0 0.7-0.1 1.4-0.1 2 0 0.7-0.6 1.3-1.2 1.3s-1.3-0.5-1.3-1.2c0-0.6 0-1.4 0.1-2.2 0.2-2.7 0.4-5.7-1.8-6.1h-1.6-0.3c0 1 0 2-0.1 2.9 0 0.7-0.1 1.4-0.1 2 0 0.7-0.6 1.3-1.2 1.3-0.7 0-1.2-0.6-1.2-1.3 0-0.6 0-1.4 0.1-2.2 0.2-2.7 0.4-5.7-1.8-6.1h-1.6-0.3v4.9c0 0.7-0.6 1.3-1.2 1.3-0.7 0-1.2-0.6-1.2-1.3v-13c0-2.2-0.9-3.6-2-4.1-0.4-0.2-0.9-0.3-1.3-0.3s-0.9 0.1-1.3 0.3c-1.1 0.6-2 2-2 4.2v22.8c0 0.7-0.6 1.3-1.2 1.3-0.7 0-1.2-0.6-1.2-1.3l-0.2-2.4zm11.6-14.8h0.3 1.7 0.3c2.3 0.4 3.3 1.7 3.7 3.4 0.2-0.1 0.3-0.1 0.5-0.1h1.7 0.3c2.5 0.4 3.4 1.9 3.8 3.8h0.2 1.7 0.3c4.7 0.7 4.6 5.5 4.6 9.3v1l0.1 4.4v0.1c-0.2 3.7-1.6 6.2-3.3 9-0.3 0.5-0.6 0.9-0.9 1.6v0.1c-0.9 1.5-1.9 2.7-3.1 3.5s-2.5 1.2-3.9 1.3h-0.1-14.8c-1.5 0-2.6-0.6-3.5-1.9-0.7-1-1.1-2.5-1.4-4.3l-9.2-13.3c-0.5-0.7-1.3-1.9-1.9-3.2-0.4-1-0.7-2-0.8-3-0.1-1.2 0.1-2.2 0.4-2.9 0.4-0.9 1.1-1.6 1.9-1.9s1.6-0.4 2.5-0.2c1 0.2 2.1 0.7 3 1.5 0.8 0.6 2 1.7 3.2 2.7l1 0.8v-17.4c0-3.3 1.5-5.5 3.3-6.4 0.9-0.4 1.7-0.6 2.6-0.6 0.8 0 1.7 0.2 2.4 0.6 1.9 1 3.4 3.1 3.4 6.4v5.7z'/%3E%3Cpath d='m12.6 27.5c-0.1 0-0.1-0.1-0.2-0.1-0.8-0.6-1.6-1.3-2.4-2-1.1-0.9-2.3-1.9-3.2-2.7-0.6-0.5-1.3-0.8-1.9-1-0.4-0.1-0.8-0.1-1.1 0-0.2 0.1-0.4 0.3-0.6 0.6-0.2 0.4-0.3 1-0.2 1.8 0 0.7 0.3 1.4 0.6 2.2 0.5 1.1 1.1 2.1 1.6 2.7l0.1 0.1 9.4 13.6c0.1 0.2 0.2 0.4 0.2 0.6 0.2 1.6 0.5 2.7 1 3.5 0.4 0.5 0.8 0.8 1.4 0.8h14.7 0.1c0.9 0 1.8-0.3 2.5-0.8 0.8-0.6 1.6-1.5 2.3-2.7v-0.1c0.3-0.5 0.6-1.1 1-1.6 1.5-2.5 2.8-4.7 3-7.8l-0.1-4.3v-0.2-1c0-2.8 0.1-6.3-2.5-6.8h-1.6c0 0.8-0.1 1.6-0.1 2.4 0 0.7-0.1 1.4-0.1 2 0 0.7-0.6 1.3-1.2 1.3s-1.3-0.5-1.3-1.2c0-0.6 0-1.4 0.1-2.2 0.2-2.7 0.4-5.7-1.8-6.1h-1.6-0.3c0 1 0 2-0.1 2.9 0 0.7-0.1 1.4-0.1 2 0 0.7-0.6 1.3-1.2 1.3-0.7 0-1.2-0.6-1.2-1.3 0-0.6 0-1.4 0.1-2.2 0.2-2.7 0.4-5.7-1.8-6.1h-1.6-0.3v4.9c0 0.7-0.6 1.3-1.2 1.3s-1.2-0.6-1.2-1.3v-13c0-2.2-0.9-3.6-2-4.1-0.4-0.2-0.9-0.3-1.3-0.3s-0.9 0.1-1.3 0.3c-1.1 0.6-2 2-2 4.2v22.8c0 0.7-0.6 1.3-1.2 1.3-0.7 0-1.2-0.6-1.2-1.3l-0.2-2.4z' fill='%23fff'/%3E%3C/svg%3E%0A")
			15 0,
		auto !important;
}
