body *:focus-visible {
  outline: 2px solid blue;
  }

form.header__search__form {
  display: inline-block;
  /*border: 2px solid blue;*/
}

button.text-scaling-toggle, button.contrast-mode-toggle {
  margin-right: 1rem; 
  content: "";
  color: rgba(0, 0, 0, 0);
  font-size: 0px;
  border: none;
  background: #fff
}

.text-scaling-toggle:after, .contrast-mode-toggle:after {
  color: #212529;
  font-size: 24px;
  font-family: 'icomoon' !important;
  display: block;
  height: 2rem;
  margin-bottom: .5rem;
}

@media (max-width: 767px) {
  .text-scaling-toggle:after, .contrast-mode-toggle:after {
      font-size: 32px;
      margin-top: -3rem;
      margin-bottom: 0;
      height: auto;
  }
  button.text-scaling-toggle {
      margin-right: 1.2rem;
  }
}
  

.text-scaling-toggle:after {
  content: "\e91b";
}
.contrast-mode-toggle:after {
  content: "\e90b";
}


body .text-scaling {
    position: relative;
    display: inline-block;
}

body .text-scaling-popup {
    display: none;
    position: -webkit-fixed;
    position: fixed;
    right: 0%;
    top: 10%;

    width: max-content;
    flex-direction: row;
    gap: 20px;
    padding: 20px;
    align-items: center;
    transition-property: opacity;
    transition-timing-function: ease-in-out;
    background-color: #212529;

    @media(min-width: 768px) {
        top: 6%;
        right: 30%;
    }

    @media(min-width: 1000px) {
        top: 8%;
        right: 22%;
    }

    z-index: 1000;

    &[data-popup-status="inactive"] {
        pointer-events: none;
        transition-duration: 1s;
        opacity: 0;
    }

    &[data-popup-status="active"] {
        transition-duration: .2s;
        opacity: 1;
        display: flex;
    }

    .text-scaling-resize {
        font-size: 24px;
        color: #212529;
        background-color: #fff;
        cursor: pointer;
        width: 3rem;
        height: 3rem;
    }

    .text-scaling-text {
        color: #fff;
    }

    .text-scaling-size {
        width: 30px;
        display: inline-block;
        text-align: center;
    }

    button:focus-visible {
        outline: 1px solid white;
    }
}

/* Scaling Zoom Classes */
body {
  --sf-150: 1.5;
  --sf-200: 2;

  --h1-fs: 1.8rem;
  --h1-lh: 1.2;

  --h2-fs: 1.2rem;
  --h2-lh: 1.2;

  --p-fs: 0.875rem;
  --p-lh: 1.5;

  --h2-fs: 1.2rem;
  --h2-lh: 1.2;
}



body.zoom-150 p,
body.zoom-150 li,
body.zoom-150 .cards__type__1__more-link a,
body.zoom-150 .newsletter__details,
body.zoom-150 .grey__box__time, 
body.zoom-150 .contact__card__name,
body.zoom-150 .contact__card__specialities,
body.zoom-150 .contact__card__phone,
body.zoom-150 .contact__card__email, 
body.zoom-150 span.checkmark, 
body.zoom-150 textarea.custom-input, 
body.zoom-150 input.custom-input,
body.zoom-150 label,
body.zoom-150 .footer__credits__contact,
body.zoom-150 button.right-arrow-link-field,
body.zoom-150 .seminarinfo__link,
body.zoom-150 .cards__type__1__subheading {
    font-size: calc((var(--p-fs) * var(--sf-150))*1) !important;  
    line-height: calc((var(--p-lh) * var(--sf-150))*0.6) !important;
}

body.zoom-150 li.nav-li {
    font-size: calc((var(--p-fs) * var(--sf-150))*0.8) !important;  
    line-height: calc((var(--p-lh) * var(--sf-150))*0.6) !important;
}

body.zoom-150 .footer__credits__contact,
body.zoom-150 .footer__credits__motto,
body.zoom-150 li.footer-li {
    font-size: calc((var(--p-fs) * var(--sf-150))*0.8) !important;  
    line-height: calc((var(--p-lh) * var(--sf-150))*0.6) !important;
}

body.zoom-200 p,
body.zoom-200 li,
body.zoom-200 .cards__type__1__more-link a,
body.zoom-200 .newsletter__details,
body.zoom-200 .grey__box__time, 
body.zoom-200 .contact__card__name,
body.zoom-200 .contact__card__specialities,
body.zoom-200 .contact__card__phone,
body.zoom-200 .contact__card__email, 
body.zoom-200 span.checkmark, 
body.zoom-200 textarea.custom-input, 
body.zoom-200 input.custom-input,
body.zoom-200 label,
body.zoom-200 button.right-arrow-link-field,
body.zoom-200 .seminarinfo__link,
body.zoom-200 .cards__type__1__subheading {
    font-size: calc((var(--p-fs) * var(--sf-200))) !important; 
    line-height: calc((var(--p-lh) * var(--sf-150))*0,6) !important;
}

body.zoom-200 li.nav-li {
    font-size: calc((var(--p-fs) * var(--sf-150))*0.8) !important;  
    line-height: calc((var(--p-lh) * var(--sf-150))*0.7) !important;
}

body.zoom-200 .footer__credits__contact,
body.zoom-200 .footer__credits__motto,
body.zoom-200 li.footer-li {
    font-size: calc((var(--p-fs) * var(--sf-150))*1) !important;  
    line-height: calc((var(--p-lh) * var(--sf-150))*0.7) !important;
}

body.contrast-mode {
    background: #212529 !important;
    background-color: #212529 !important;
    color: #fff !important
}

body.contrast-mode #subcatalogSeminarFilter,
body.contrast-mode .download__link i,
body.contrast-mode .layout2 .breadcrumb {
    background: #212529;
}

/* ELEMENTS WHITE ON BLACK */
body.contrast-mode span.right-arrow,
body.contrast-mode .flag,
body.contrast-mode .pagination-search .page.active,
body.contrast-mode .activities-list .city.online,
body.contrast-mode .link-row .booking-link,
body.contrast-mode button.link-row.booking-link,
body.contrast-mode .menu__button > a,
body.contrast-mode .newsletter__heading,
body.contrast-mode .newsletter__details,
body.contrast-mode .footer__credits__contact,
body.contrast-mode .footer__newsletter .footer__newsletter__text .cards__type__1__heading,
body.contrast-mode .cookie-overlay,
body.contrast-mode .close-modal-button, 
body.contrast-mode .ht-element-text-field-text,
body.contrast-mode .ht-element-small-text-field-text,
body.contrast-mode .feature__link a i,
body.contrast-mode .green__background__box,
body.contrast-mode .lightgrey__background,
body.contrast-mode .grey__background__box,
body.contrast-mode .carousel__text-field-headline,
body.contrast-mode .carousel__text-field-text,
body.contrast-mode .contact__card,
body.contrast-mode .layout2 .container,
body.contrast-mode .nc__container,
body.contrast-mode .sd-cart-count {
    background: #212529 !important;
    background-color: #212529 !important;
    color: #fff !important;
}

/* BUTTONS WHITE ON BLACK */
body.contrast-mode .raspberry__text, 
body.contrast-mode .raspberry__text:hover,
body.contrast-mode .right-arrow-link-field,
body.contrast-mode .sorting .relevanceSorting,
body.contrast-mode .sorting .dateSorting,
body.contrast-mode .sorting .relevanceSorting.active, 
body.contrast-mode .sorting .dateSorting.active,
body.contrast-mode .download__link,
body.contrast-mode .grey__box__grey__button,
body.contrast-mode button.subscribe__form__button,
body.contrast-mode .social__sharing__email a,
body.contrast-mode .social__sharing__share a,
body.contrast-mode .button-light-green, 
body.contrast-mode .registration__form__inputs .form__submit__button, 
body.contrast-mode .registration__form .form__submit__button {
    background: #212529 !important;
    background-color: #212529 !important;
    color: #fff !important;
    border: 1px solid #fff;
}

/* ELEMENTS BLACK ON WHITE*/
body.contrast-mode .mobile__menu__1 span.right-arrow,
body.contrast-mode .pagination-search .page,
body.contrast-mode .footer__credits__bottom,
body.contrast-mode .footer .footer__credits__bottom a,
body.contrast-mode .cookie-btn, 
body.contrast-mode .modal-header .close span, 
body.contrast-mode .modal-header,
body.contrast-mode .modal-content p, 
body.contrast-mode .ht-element-text-field-headline h2,
body.contrast-mode .ht-element-small-text-field-headline h2,
body.contrast-mode .heading__underline__green,
body.contrast-mode .has__flag span,
body.contrast-mode .cards__type__1__link.text-right::before,
body.contrast-mode .with__green__bar:after {
    background: #fff !important;
    background-color: #fff !important;
    color: #212529 !important;
}

body.contrast-mode #header {
  background: #fff !important;
  background-color: #fff !important;
  color: #212529 !important;
}


/* NAVIGATION BLACK ON WHITE*/
body.contrast-mode .desktop__header,
body.contrast-mode .header__navbar,
body.contrast-mode .header__tabs ul > li > a,
body.contrast-mode .header__navigation > li > a {
    background: #fff !important;
    background-color: #fff !important;
    color: #212529 !important;
}
body.contrast-mode .header__navigation li > ul {
  background: #fff !important;
  background-color: #fff !important;
  color: #212529 !important;
}
body.contrast-mode .submenu > li > a {
  color: #212529 !important;
  text-decoration: none !important;
}

/* TYPOGRAPY WHITE ON BLACK */
body.contrast-mode h1, 
body.contrast-mode h2, 
body.contrast-mode h3,
body.contrast-mode h4,
body.contrast-mode h5, 
body.contrast-mode h6, 
body.contrast-mode ul, 
body.contrast-mode li, 
body.contrast-mode p, 
body.contrast-mode span, 
body.contrast-mode a,
body.contrast-mode .quote__subheading,
body.contrast-mode .contact__card__name,
body.contrast-mode .contact__card__specialities,
body.contrast-mode .content__list__li:before,
body.contrast-mode .text-section li:before,
body.contrast-mode .right-arrow-link-field i,
body.contrast-mode .termine__list .termine__city.online,
body.contrast-mode .termine__list .termine__city {
    color: #fff !important;
}


/* INPUTS PLACEHOLDERS BLACK ON WHITE */
body.contrast-mode input::placeholder,
body.contrast-mode textarea::placeholder,
body.contrast-mode .form__group__select select {
    color: #212529 !important;
}


body.contrast-mode a {
    text-decoration: underline !important;
}

body.contrast-mode .header__navigation > li > a,
body.contrast-mode .header__tabs ul > li > a {
    text-decoration: none !important;
}

body.contrast-mode .mobile__menu__1,
body.contrast-mode .mobile__menu__1 > li > ul,
body.contrast-mode .mobile__menu__1 .submenu > li a,
body.contrast-mode .mobile__menu__1 li.nav-li a {
    background: #fff!important;
    background-color: #fff !important;
    color: #212529  !important;
    text-decoration: none !important;
}

body.contrast-mode .right-arrow-link-field.button-hover-underline-effect {
  border: none
}

body.contrast-mode footer,
body.contrast-mode footer.footer,
body.contrast-mode .homepage {
    background-image: none !important;
}

body.contrast-mode img {
  filter: contrast(150%) !important;
}

body.contrast-mode .ht-element,
body.contrast-mode .ht-element-small {
    filter: contrast(150%);
}

body.contrast-mode .ht-element-text-field-wrapper,
body.contrast-mode .ht-element-small-text-field-wrapper {
    filter: contrast(.66);
}

body.contrast-mode .header__logo img {
  filter: contrast(100%) !important;
}


body.contrast-mode .modal-header .close {
  opacity: 1 !important;
}

/*
body.contrast-mode .lagend__green:before {
  background: #fff !important;
  background-color: #fff !important;
} 
*/

body.contrast-mode .lagend__green:before {
  background: #5b8632 !important;
}
body.contrast-mode .lagend__yellow:before {
  background-color: #ffcc00 !important;
}
body.contrast-mode .lagend__red:before {
  background-color: #ff0000 !important;
}


/* Skip Content Link */
.show-on-focus {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  top: 0;
  left: 0;
}
.show-on-focus:focus {
  z-index: 99999;
  width: auto;
  height: auto;
  clip: auto;
}
a.skip-link,
.skip-link {
  background-color: #24292e;
  color: #fff !important;
  padding: 10px 20px;
}
a.skip-link:hover,
.skip-link:hover {
  color: #fff !important;
  text-decoration: underline;
}

.display-elem {
  display: block !important;
}
