/* Barrierefreiheits-Menü (a11y-Modul) — eingebunden von rk_a11y_enqueue_assets() in lib/a11y.php */

#hello-rk-a11y-menu button span,
#hello-rk-a11y-menu a { 
	font-family: sans-serif !important;
	text-transform: none !important;
	font-size:17px !important;
	letter-spacing: initial !important;
	font-weight:500 !important;
	min-height:43px;
}

.hello_rk_a11y_icon {
	position: fixed;
	right: 20px;
	bottom: 10px;
	width: 44px;
}
.hello_rk_a11y_icon svg {
	border-radius: 50%;
	background: #fff;
	padding: 1px;
}

html.rk-a11y-text-size .hello_rk_a11y_icon::before,
html.rk-a11y-line-height .hello_rk_a11y_icon::before,
html.rk-a11y-grayscale .hello_rk_a11y_icon::before,
html.rk-a11y-sans-serif .hello_rk_a11y_icon::before,
html.rk-a11y-high-contrast .hello_rk_a11y_icon::before,
html.rk-a11y-hide-images .hello_rk_a11y_icon::before,
html.rk-a11y-highlight-links .hello_rk_a11y_icon::before {
  content: "";
  position: absolute;
  top: -3px;      
  right: -5px;    
  width: 15px;    
  height: 15px;   
  background: red;
  border-radius: 50%;  /* rund */
}


#hello-rk-a11y-menu {
		width:100%;
	min-height:200px;
	max-height:50vH;
	padding:40px 40px 40px 40px;
	flex-wrap:nowrap;
	background:#fcfcfc; 
	border-bottom:2px solid #000;
	position:fixed;
	z-index:99999;
	overflow:hidden;
}

/* Ein-/Ausblenden ohne jQuery: Transition auf opacity; während des Ausblendens
   bleibt das Menü trotz [hidden] kurz sichtbar (Klasse wird per JS nach 200 ms entfernt). */
#hello-rk-a11y-menu { transition: opacity .2s ease; }
#hello-rk-a11y-menu.rk-a11y-fade { opacity: 0; }
#hello-rk-a11y-menu[hidden].rk-a11y-fade { display: block; }
.rk-a11y-menu-inner > svg.a11y-logo {
	height: 60px;
	margin-right:20px
	width:60px;
	min-width:60px;
}
.rk-a11y-menu-inner {
	display:flex;
	align-items:flex-start;
	gap:1rem;
	flex-wrap:nowrap;
	justify-content:space-between;
}


.rk-a11y-menu-col { flex-wrap:wrap;}
.rk-a11y-menu-col { display:flex;flex-wrap:wrap;}
.rk-a11y-menu-col.functions { gap:0.5rem;}
.rk-a11y-menu-col button, .rk-a11y-menu-col a { padding:0.5rem; border: 1px solid #000; border-radius: 3px;color: #000; background:#fff; }

#rk-a11y-menu-close { border-color: #000; color: #000; background:#fff; 
	flex-shrink: 0;
  min-width: 50px;  
}

.rk-a11y-menu-col.toc {
	display:flex;
	max-height:calc(50vH - 45px);
	overflow-y:auto; 
	flex-direction:column;
	gap:5px;
	padding-left:3rem;
	padding-bottom:20px;
	position:relative;
	flex-shrink: 0;
	min-width: 200px;  
	flex-wrap: nowrap;
}

.rk-a11y-menu-col.toc:before {
		content:"Seitenstruktur";
		position:fixed;
		  writing-mode: vertical-rl; 
  transform:rotate(180deg) translateX(40px);

	font-weight:900;
	height:100%;
	text-align:right;
}

.rk-a11y-menu-col.toc a {
	width:auto;padding:8px 20px;
	white-space:nowrap;
	xmax-width:30vW;        /* Zeichenbreite */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rk-a11y-toc-h2 {margin-left:1rem;}
.rk-a11y-toc-h3 {margin-left:2rem;}
#hello-rk-a11y-menu button:focus-visible, #hello-rk-a11y-menu a:focus-visible, .hello_rk:focus-visible {outline:2px solid #000;}


#hello-rk-a11y-menu button.active,
 .rk-a11y-text-size .rk-a11y-button-text-size,
 .rk-a11y-line-height .rk-a11y-button-line-height
 {
	color: #fff !important;
	background-color: #444 !important;
	fill: #fff !important;
}

#hello-rk-a11y-menu button svg {
	height: 17px;
	margin-right: 10px;
	transform: translateY(2px);
	vertical-align: initial;
}

.rk-a11y-menu-inner key, .hello_rk_a11y_icon key {
	background:#111;
	color:#fff;
	width:18px;
	height:18px;
	overflow:hidden;
	padding:0;
	line-height:18px;
	font-size:14px;
	font-family: sans-serif !important;
	display:inline-block;
	text-align:center;
	font-weight:600;
	border-radius:3px;
	text-transform: uppercase;
	transform:translate(0px,3px);
	margin-left:10px;
	
}

.hello_rk_a11y_icon key {
	font-weight:600;
	font-size:12.8px !important;
	position:absolute;
	bottom:6px;
	right:-6px;
	border:1px solid #fff;
}

.rk-a11y-menu-inner .toc key {
	margin:0px 5px 0 -8px;
}
#hello-rk-a11y-menu button.active key,
 .rk-a11y-text-size-125 .rk-a11y-button-text-size key,
 .rk-a11y-text-size-150 .rk-a11y-button-text-size key, 
 .rk-a11y-text-size-200 .rk-a11y-button-text-size key, 
 .rk-a11y-line-height-125 .rk-a11y-button-line-height key,
 .rk-a11y-line-height-150 .rk-a11y-button-line-height key, 
 .rk-a11y-line-height-200 .rk-a11y-button-line-height key 
 {
	 	background:#fff;
	color:#333;

}

body.rk-ally-no-a-key key.key-a {
	display:none;
}

#hello-rk-a11y-menu button:not(.active):focus-visible {
	outline:2px solid #000;
	background:#fff !important;
}
#hello-rk-a11y-menu button:not(.active):focus-visible span {
	color:#000 !important;
	fill:#000 !important;
}


/* MOBIL */

@media (max-width:767px){

	#hello-rk-a11y-menu {
		max-height:50vH;
		overflow-y:auto;
	}
	.rk-a11y-menu-inner {
		flex-direction: column;
	}

	.rk-a11y-menu-col.functions {
		order:2;
		border:1px solid #333;
		border-width: 1px 0;
		padding:30px 0;
		margin-bottom:10px;
		justify-content:center;
	}

	.rk-a11y-menu-col.toc {
		max-height:auto;
		padding-left:10px;
		position:relative;
		flex-shrink: 0;
		width:100%;
		flex-wrap: nowrap;
		order:3;
		overflow:visible;
	}
	
	.rk-a11y-menu-col.toc:before {
			content:"Seitenstruktur";
			position:relative;
			  writing-mode: initial; 
	  transform:rotate(0deg);
		left:0;
		font-weight:900;
		height:auto;
		text-align:center;
	}
	
	#rk-a11y-menu-close {
		order:1;
		align-self:center;

	}

}


/* Funktionen */

html.rk-a11y-grayscale * {filter:grayscale(100%)!important;}
html.rk-a11y-grayscale body,html.rk-a11y-grayscale .hello_rk hello_rk_a11y_icon {filter:none!important;}

.rk-a11y-high-contrast *:not(img):not(#hello-rk-a11y-menu *):not(.jet-parallax-section__layout):not(.jet-parallax-section__layout *):not([class*="overlay"]):not(.a11y_no_bg){
background-color: #fff !important;
color: #000 !important;
border-color: #000;
opacity: 1 !important;
fill: #000 !important;
}
.rk-a11y-high-contrast .e-parent,.rk-a11y-high-contrast .et_pb_section,.rk-a11y-high-contrast section { border-top:1px solid #000 }
.rk-a11y-high-contrast a {color:#a00000 !important;}
.rk-a11y-hide-images img {opacity:0 !important;}
.rk-a11y-hide-images * {background-image:none !important;}
.rk-a11y-hide-images img[alt]::before { content:attr(alt); position:absolute;z-index:9999;background:#000;color:#fff; }
.rk-a11y-alt-images img[alt]::before { content:attr(alt); position:absolute;z-index:9999;background:#000;color:#fff; }
.rk-a11y-highlight-links *:not(#hello-rk-a11y-menu *)  a {background-color:yellow!important;color:black!important; fill:black!important;}

.rk-a11y-high-contrast.rk-a11y-highlight-links a,.rk-a11y-high-contrast.rk-a11y-highlight-links a * { 
		color:#fff !important; 
		background-color:#000 !important;
}

.rk-a11y-sans-serif *:not(.fa):not(.fas) {
	font-family: sans-serif !important;

}

/* Textgröße-Klassen */
.rk-a11y-text-size-100 {  }
.rk-a11y-text-size-125 { 
  zoom: 105%;
  -moz-transform: scale(1.05) !important;
  -moz-transform-origin: 0 0;
  transform: scale(1.05) !important;
  transform-origin: 0 0;
  width: 95.23809524% !important; /* 100/1.1 */
  }
.rk-a11y-text-size-150 { 
  zoom: 110%;
  -moz-transform: scale(1.1) !important;
  -moz-transform-origin: 0 0;
  transform: scale(1.1) !important;
  transform-origin: 0 0;
  width: 90.9091% !important; /* 100/1.1 */

}
.rk-a11y-text-size-200 { 
zoom: 120%;
  -moz-transform: scale(1.2) !important;
  -moz-transform-origin: 0 0;
  transform: scale(1.2) !important;
  transform-origin: 0 0;
  width: 83.3333% !important; /* 100/1.2 */
 }
 

/* Zeilenhöhe-Klassen */
html.rk-a11y-line-height-125 *          { line-height: 125% !important; }
html.rk-a11y-line-height #hello-rk-a11y-menu,
html.rk-a11y-line-height #hello-rk-a11y-menu *,
html.rk-a11y-line-height .hello_rk_a11y_icon,
html.rk-a11y-line-height .hello_rk_a11y_icon *
 { line-height: initial !important; }

html.rk-a11y-line-height-150 *          { line-height: 150% !important; }
html.rk-a11y-line-height-150 #hello-rk-a11y-menu,
html.rk-a11y-line-height-150 #hello-rk-a11y-menu * { line-height: initial !important; }

html.rk-a11y-line-height-200 *          { line-height: 200% !important; }
html.rk-a11y-line-height-200 #hello-rk-a11y-menu,
html.rk-a11y-line-height-200 #hello-rk-a11y-menu * { line-height: initial !important; }

.rk-a11y-alt-images-wrapper {
	display:none;
}

.rk-a11y-alt-images .rk-a11y-alt-images-wrapper,
.rk-a11y-hide-images .rk-a11y-alt-images-wrapper {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 1;
background-color: #ffffff;
padding: 0.5em;
box-sizing: border-box;
border: 1px dashed #000;
display: flex;
font-weight:600;
align-items: center;
justify-content:center;

}
