
:root {

  --wf-access-font-family: 'Roboto Condensed';
  --wf-access-font-icon: 'icon-barrierfree';
  --wf-access-color1: #fff;
  --wf-access-color2: #000;
  --wf-access-color3: #ffcd00;  
  --wf-access-color4: #f0f0f0;
  --wf-access-color5: #f3efed;
  --wf-access-color6: #dedede;  
  --wf-access-show: #108700;        
  --wf-access-focusvisible: #0092d1;
 
}


/* ----------------------------------------
   DESIGNMODI: GRAYSCALE / DYSLEXIA / HIGHLIGHT
---------------------------------------- */
html.my-grayscale-mode header,
html.my-grayscale-mode main,
html.my-grayscale-mode footer,
html.my-grayscale-mode .page-wrapper,
html.my-grayscale-mode .wf-icon-box-flex,
html.my-grayscale-mode .wf-header-logo,
html.my-grayscale-mode .wf-col.mk-footer-box,
html.my-grayscale-mode .hidden-reveal-icon,
html.my-grayscale-mode .hidden-content-open-close,
html.my-grayscale-mode .content-wrapper,
html.my-grayscale-mode .scrollToTop  {
  filter: grayscale(100%);
}

html.my-grayscale-mode .wf-link-color p a,
html.my-grayscale-mode .wf-offers-details-price,
html.my-grayscale-mode .mk-17-offers-details-title,
html.my-grayscale-mode .wf-offers-titel,
html.my-grayscale-mode .wf-headline {
	color:#000 !important;
}

html.my-grayscale-mode .wf-strong-font strong {
	color:#000 !important;
	font-weight:600;
}


html.my-grayscale-mode .wf-btn-display.wf-btn-courses {
	color:#000;
	border-color:#000;
}

html.my-grayscale-mode .header-slider, 
html.my-grayscale-mode .header,
html.my-grayscale-mode .wf-btn-link-item,
html.my-grayscale-mode .wf-btn-display.wf-btn-courses:after {
	 background-color: #000;
}

html.my-grayscale-mode .wf-btn-display.wf-btn-courses:hover {
	color:#fff !important;
}

html.my-grayscale-mode .fixed-on .logo-desktop:after {
    background-color: #000 !important;
}

html.my-grayscale-mode .my-access-widget {
  filter: grayscale(0%) !important;
}



/* ----------------------------------------
  DESIGNMODI: DYSLEXIA 
---------------------------------------- */

html.my-dyslexia-mode:root {
  --wf-navi-menu: 'OpenDyslexic';
  --wf-page-font-family: 'OpenDyslexic';
  --wf-headline-font-family: 'OpenDyslexic';
  --wf-subtitel-font-family: 'OpenDyslexic';
  --wf-page-font-size: 16.5px;
  --wf-page-sm-font-size: 18px;
  --wf-page-lg-font-size: 16.5px;
  --wf-page-xl-font-size: 16.5px;
}

html.my-dyslexia-mode .wf-font-uppercase{
	text-transform:none;
}

html.my-dyslexia-mode .content-container-preise,
html.my-dyslexia-mode .wf-btn-header,
html.my-dyslexia-mode .wf-footer-nav {
	letter-spacing: -0.1em;
	word-spacing: -0.1em;
}


@media (min-width: 768px) {
	html.my-dyslexia-mode .content-container-preise {
	  font-size:16px;
	}
}

html.my-dyslexia-mode .single{
	letter-spacing: 0 !important;
	word-spacing:0 !important;
}

html.my-dyslexia-mode .wf-footer-nav {
	letter-spacing: -0.10em;
	word-spacing: -0.12em;
	font-size:0.85em;
}

html.my-dyslexia-mode .preise-owl-date {
	font-size:0.95em;
}


html.my-dyslexia-mode .mk-18-aside-body {
	letter-spacing: -0.15em;
	font-size:0.87em;
}

html.my-dyslexia-mode .navigation-dropdown-item > .navigation-dropdown-link,
html.my-dyslexia-mode .navigation-link  {
	letter-spacing: -0.1em;
	word-spacing: -0.1em;
}	
 
 
 
    
@media (min-width: 992px) {
html.my-dyslexia-mode .navigation-link  {
	letter-spacing: -0.1em;
	word-spacing: -0.15em;
	font-size:11px;
}

html.my-dyslexia-mode .navigation-dropdown-item > .navigation-dropdown-link {
	font-size:18px !important;
}	

}

@media (min-width: 1300px) { 

html.my-dyslexia-mode .navigation-link {
		font-size: 14px;
	}	

}
	

/* ----------------------------------------
   DESIGNMODI: HIGHLIGHT
---------------------------------------- */


html.my-highlight-links-mode footer a,
html.my-highlight-links-mode main a {
    outline: 2px solid #1473e6;
	
}	

html.my-highlight-links-mode footer a:focus,
html.my-highlight-links-mode footer a:hover,
html.my-highlight-links-mode main a:focus,
html.my-highlight-links-mode main a:hover {
	 outline: 2px solid 0fa8d6;
}

html.my-highlight-links-mode .wf-footer-logos-flex a  {
	display:block !important;
}

html.my-highlight-links-mode main a.wf-btn-link-item {
	outline-offset: 2px;
}	 

html.my-highlight-links-mode main .wf-btn-header{
	outline-offset: 2px;
	outline: 2px solid #1473e6;
}	 

/* ----------------------------------------
   Popup-Grundstruktur
---------------------------------------- */


.my-accessibility-popup {
  position: fixed;
  z-index:99999999999;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.my-accessibility-popup[hidden] {
  display: none;
}

.my-accessibility-popup-content {  
  width: 575px;
  max-width: 95vw;
  max-width: 95dvw;
  max-height:95vh;
  max-height:95dvh;
  z-index: 2000;
  background:  var(--wf-access-color4);
  font-family: var(--wf-access-font-family);
  font-weight:400;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction:column;  
  
}


@media (max-width: 480px) {

.my-accessibility-popup {

  top: 0;
  right: 0;
  transform: none;
}

.my-accessibility-popup-content {  
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-width: 100dvw;
  max-height:100vh;
  max-height:100dvh;
   
}
    
    
}
    

    
.my-accessibility-popup-header {
  margin-bottom: 0.4rem;
  background-color: var(--wf-access-color1);
  display:flex;
  align-items: center;
  justify-content: space-between;
  width:100%;

}

.my-popup-all-back,
.my-popup-close {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #000;
  width:40px;
  height:40px;
  border-radius:50px;
  display:inline-block;
  transition: transform 0.2s ease;
  caret-color: transparent;

}

.my-popup-all-back{
  font-size: 27px;
  line-height: 1px;
  text-align:center;
  margin-left:1.5rem;
  display:inline-block;

}

.my-popup-close {
  font-size: 32px;
  line-height: 1px;
  padding-bottom:0.35rem;
  margin-right:1.5rem;

}

.my-popup-all-back:hover,
.my-popup-close:hover {
  border: 1px solid var(--wf-access-show);
  color: var(--wf-access-show);
  
}




#my-accessibility-popup-title {
  font-size: 1.5rem;
  color: var(--wf-access-color2);
  padding: 0.75rem 0.5rem;
  font-weight: 500;
}

.my-popup-content-body {
	padding:1.5rem 1.5rem;
	overflow-y: scroll;
	overflow:auto;
}

.my-popup-content-info {
	text-align:center;
	margin-bottom:1.5rem;
}




.my-access-widget {
  position: fixed;
  top:auto;
  right: auto;
  bottom: 3.5rem;
  left: 8px;
  border-radius: 50%;
  width: 2.7rem;
  height: 2.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 90;
  cursor: pointer;
  color: #000;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important;
  user-select: none;
  caret-color: transparent;
  background-color: var(--wf-access-color3) 

}

.my-access-widget.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s ease;
}

.my-access-widget i {
  font-size: 43.5px;
  position: relative;
  left: 2px;
  top:1px;
}

.my-access-widget:focus-visible {
  outline: 2px solid var(--wf-access-focusvisible);
  outline-offset: 4px;		
	
}


@media (min-width: 992px) {

.my-access-widget.access-open {
  display: flex;
}    

}

@media (max-width: 767px) {


.my-access-widget {
  position: fixed;
  top:auto;
  left: auto;
  bottom: 165px;
  right: 5px;
  width: 45px;
  height: 45px;
}


.my-access-widget i {
  font-size: 42px;
  left: 2.5px;
  top:0px;
}    
    

}





/* ----------------------------------------
   TOGGLE CONTAINER
---------------------------------------- */

.my-accessibility-toggle-button {
	position:relative;
	display:flex;
	flex-direction:column;
	width:100%;
	height:100%;
	font-family: var(--wf-access-font-family);
	background-color: var(--wf-access-color1);
	border: 1px solid var(--wf-access-color6);
	text-align:center;
	padding:1.5rem;
	cursor: pointer;
}

.my-accessibility-toggle-button span {
	display:block;
}

.my-accessibility-toggle-button.show {
	border-color:var( --wf-access-show);
}

.my-accessibility-toggle-button.show:after {
	font-family: var(--wf-access-font-icon);
	content: "\e905";
	position:absolute;
	z-index:99;
	right:5px;
	top:5px;
	color:var( --wf-access-show);
	font-size:20px;
}

.my-accessibility-toggle-icon {
	color:#000;
	font-size:3.2rem;
}

.my-big .my-accessibility-toggle-icon {
	font-size:4.5rem;
	line-height:1px;
}


.my-accessibility-toggle-title {
	color:#000;
	font-weight:500;
	font-size:1.35rem;
	padding-top:0.5rem;
}

.my-accessibility-toggle-button.show .my-accessibility-toggle-title,
.my-accessibility-toggle-button.show .my-accessibility-toggle-icon {
	color:var( --wf-access-show);
}

.my-accessibility-toggle-description{
	color:#000;
	font-weight:400;
	font-size:0.95rem;
	padding-top:0.5rem;
}

.my-accessibility-row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
.my-accessibility-row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
}

.my-accessibility-col {
  padding:0.5rem;
}

@media (min-width: 481px) {

.my-accessibility-col {
  flex: 0 0 auto;
  width: 50%;
}

}





/* Tooltip-Träger */
.my-popup-all-back[data-tooltip] {
	position: relative;
	cursor: pointer;
}

/* Tooltip selbst */
.my-popup-all-back[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: -3.5rem;
	left: 0rem;
	visibility: hidden;
	opacity: 0;

	font-family: var(--wf-access-font-family);
	 white-space: nowrap;
	font-size: 16.5px;
	line-height: 1.2em;
	color: #fff;
	text-align: left;
	background-color: var(--wf-access-show);
	border: 1px solid var(--wf-access-show);
	padding: 0.75rem 0.95rem 0.75rem 0.95rem;
	width: auto;
	display: inline-block;
	z-index: 999;
}


/* Tooltip selbst */
.my-popup-all-back[data-tooltip]::before {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 0.5rem;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 900;
	width:20px;
	height:20px;
	transform: rotate(45deg);
	background-color: var(--wf-access-show);
	overflow:hidden;
}



/* Tooltip sichtbar bei Maus oder Tastatur-Fokus */
.my-popup-all-back[data-tooltip]:hover::before,
.my-popup-all-back[data-tooltip]:focus-visible::before,
.my-popup-all-back[data-tooltip]:hover::after,
.my-popup-all-back[data-tooltip]:focus-visible::after {
	visibility: visible;
	opacity: 1;
}

.my-accessibility-popup-footer {
	 background-color: var(--wf-access-color1);
	 text-align:center;
	 padding:0.5rem;
	 font-size:0.75em;
	 color:#000;
}


.my-popup-close:focus-visible,
.my-popup-all-back:focus-visible,
.my-accessibility-toggle-button:focus-visible {
  outline: 2px solid var(--wf-access-focusvisible);
  outline-offset: 0px;
}

/* wenn eine Funktion aktiv ist → Access-Widget aktiv */
.my-grayscale-mode .my-access-widget,
.my-dyslexia-mode .my-access-widget,
.my-highlight-links-mode .my-access-widget,
.my-read-out .my-access-widget {
  background: var(--wf-access-show); /* #0092d1; Beispiel: Farbe ändern */
  color:#fff;
}

.my-grayscale-mode .my-access-widget i:before,
.my-dyslexia-mode .my-access-widget i:before,
.my-highlight-links-mode .my-access-widget i:before,
.my-read-out .my-access-widget i:before {
  content: "\e903" !important;
}