/* WPK Barrierefreiheit - Funktionsregeln. Jede Funktion haengt an einer Klasse am html-Element. */

/* Lesen */
html.wpk-a11y--schrift-1 { font-size: 112.5%; }
html.wpk-a11y--schrift-2 { font-size: 125%; }
html.wpk-a11y--schrift-3 { font-size: 140%; }
html[class*="wpk-a11y--schrift-"] body { font-size: 1rem; }

html.wpk-a11y--zeilen-1 body, html.wpk-a11y--zeilen-1 p, html.wpk-a11y--zeilen-1 li { line-height: 1.8 !important; }
html.wpk-a11y--zeilen-2 body, html.wpk-a11y--zeilen-2 p, html.wpk-a11y--zeilen-2 li { line-height: 2.2 !important; }

html.wpk-a11y--buchstaben-1 body { letter-spacing: 0.045em !important; word-spacing: 0.1em; }
html.wpk-a11y--buchstaben-2 body { letter-spacing: 0.09em !important; word-spacing: 0.2em; }

html.wpk-a11y--lesbar body,
html.wpk-a11y--lesbar button,
html.wpk-a11y--lesbar input,
html.wpk-a11y--lesbar select,
html.wpk-a11y--lesbar textarea { font-family: Verdana, "DejaVu Sans", Tahoma, sans-serif !important; }

/* Sehen */
html.wpk-a11y--kontrast body, html.wpk-a11y--kontrast body * { color: #14181a !important; text-shadow: none !important; }
html.wpk-a11y--kontrast body,
html.wpk-a11y--kontrast section,
html.wpk-a11y--kontrast article,
html.wpk-a11y--kontrast aside,
html.wpk-a11y--kontrast header,
html.wpk-a11y--kontrast footer,
html.wpk-a11y--kontrast main,
html.wpk-a11y--kontrast div { background-color: #fff !important; background-image: none !important; }
html.wpk-a11y--kontrast a { color: #0b3d91 !important; text-decoration: underline !important; }
html.wpk-a11y--kontrast button,
html.wpk-a11y--kontrast input,
html.wpk-a11y--kontrast select,
html.wpk-a11y--kontrast textarea { background-color: #fff !important; border: 2px solid #14181a !important; }

html.wpk-a11y--dunkel body,
html.wpk-a11y--dunkel section,
html.wpk-a11y--dunkel article,
html.wpk-a11y--dunkel aside,
html.wpk-a11y--dunkel header,
html.wpk-a11y--dunkel footer,
html.wpk-a11y--dunkel main,
html.wpk-a11y--dunkel div { background-color: #101416 !important; background-image: none !important; }
html.wpk-a11y--dunkel body, html.wpk-a11y--dunkel body * { color: #e8eceb !important; }
html.wpk-a11y--dunkel a { color: #8fd3cd !important; }
html.wpk-a11y--dunkel img, html.wpk-a11y--dunkel video { opacity: 0.92; }

html.wpk-a11y--graustufen body { filter: grayscale(1); }
html.wpk-a11y--gedaempft body { filter: saturate(0.45); }
html.wpk-a11y--graustufen.wpk-a11y--gedaempft body { filter: grayscale(1) saturate(0.45); }

/* Orientieren */
html.wpk-a11y--links a { text-decoration: underline !important; text-underline-offset: 2px; outline: 1px dashed currentColor; outline-offset: 2px; }
html.wpk-a11y--ueberschrift :is(h1, h2, h3, h4, h5, h6) { border-inline-start: 4px solid var(--wpk-a11y-akzent, #2b7d78); padding-inline-start: 0.5em; }
html.wpk-a11y--cursor, html.wpk-a11y--cursor * { cursor: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6 1 3.5 7-2.6 1.2L10.4 13 5 17z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2, auto !important; }

.wpk-a11y-leselinie {
	position: fixed;
	inset-inline: 0;
	height: 3.5rem;
	border-top: 2px solid var(--wpk-a11y-akzent, #2b7d78);
	border-bottom: 2px solid var(--wpk-a11y-akzent, #2b7d78);
	background: rgba(0, 0, 0, 0.06);
	pointer-events: none;
	z-index: 2147483000;
}

/* Bewegung */
html.wpk-a11y--ruhig *,
html.wpk-a11y--ruhig *::before,
html.wpk-a11y--ruhig *::after {
	animation-duration: 0.001ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.001ms !important;
	scroll-behavior: auto !important;
}

/* Bedienfeld bleibt unberuehrt */
html[class*="wpk-a11y--"] .wpk-a11y-panel,
html[class*="wpk-a11y--"] .wpk-a11y-panel *,
html[class*="wpk-a11y--"] .wpk-a11y-trigger { filter: none !important; letter-spacing: normal !important; word-spacing: normal !important; }
/* --- ab 1.2.0 --- */
html.wpk-a11y--staerke body, html.wpk-a11y--staerke body * { font-weight: 600 !important; }
html.wpk-a11y--staerke :is(h1,h2,h3,h4,h5,h6), html.wpk-a11y--staerke strong, html.wpk-a11y--staerke b { font-weight: 800 !important; }

html.wpk-a11y--ausrichten body, html.wpk-a11y--ausrichten p, html.wpk-a11y--ausrichten li,
html.wpk-a11y--ausrichten :is(h1,h2,h3,h4,h5,h6) { text-align: left !important; }

html.wpk-a11y--bilder img,
html.wpk-a11y--bilder picture,
html.wpk-a11y--bilder video,
html.wpk-a11y--bilder svg:not(.wpk-a11y-panel svg):not(.wpk-a11y-trigger svg) { visibility: hidden !important; }
html.wpk-a11y--bilder .wpk-a11y-panel svg,
html.wpk-a11y--bilder .wpk-a11y-trigger svg { visibility: visible !important; }

html.wpk-a11y--fokus :is(a, button, input, select, textarea, [tabindex]):focus,
html.wpk-a11y--fokus :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 4px solid #0b3d91 !important;
	outline-offset: 3px !important;
	border-radius: 3px;
}

.wpk-a11y-lesemaske {
	position: fixed;
	left: 0;
	right: 0;
	height: 130px;
	box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.62);
	pointer-events: none;
	z-index: 2147482999;
}
/* --- ab 1.3.0 --- */
html.wpk-a11y--legasthenie body,
html.wpk-a11y--legasthenie button,
html.wpk-a11y--legasthenie input,
html.wpk-a11y--legasthenie select,
html.wpk-a11y--legasthenie textarea {
	font-family: 'OpenDyslexic', 'Atkinson Hyperlegible', 'Comic Sans MS', 'Trebuchet MS', Verdana, sans-serif !important;
	letter-spacing: 0.03em !important;
	word-spacing: 0.12em;
}

html.wpk-a11y--hell body,
html.wpk-a11y--hell section,
html.wpk-a11y--hell article,
html.wpk-a11y--hell aside,
html.wpk-a11y--hell header,
html.wpk-a11y--hell footer,
html.wpk-a11y--hell main,
html.wpk-a11y--hell div { background-color: #fff !important; background-image: none !important; }
html.wpk-a11y--hell body, html.wpk-a11y--hell body * { color: #22292b !important; }
html.wpk-a11y--hell a { color: #1a5e79 !important; }

html.wpk-a11y--markieren :is(p, li, h1, h2, h3, h4, h5, h6, article, figure, blockquote):hover {
	outline: 2px solid var(--wpk-a11y-akzent, #2b7d78);
	outline-offset: 3px;
	background-color: rgba(43, 125, 120, 0.06);
}

.wpk-a11y-lupe {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 2147483004;
	max-height: 32vh;
	overflow-y: auto;
	padding: 18px 22px;
	border-radius: 14px;
	background: #101416;
	color: #fff;
	font-size: 26px;
	line-height: 1.4;
	box-shadow: 0 8px 40px rgba(0,0,0,.4);
}
