.contrast-mode :focus-visible,
.grey-mode :focus-visible
 {
  outline: 3px solid rgba(255, 0, 140, 0.98) !important;
  outline: 3px solid #000 !important;
  outline-offset: 3px !important;
  filter: none !important;
}

.contrast-mode-inv :focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px !important;
  filter: none !important;
}

.tabkey a.none {
  display: block;
}

.contrast-mode a, .contrast-mode a:link {
  color: #000;
}

.contrast-mode footer a:link,
.contrast-mode footer a,
.contrast-mode footer a:visited {
  color: #fff !important;
}
.contrast-mode .blue {
  color: #000;
}
.contrast-mode footer {
  background: #000;
}

.contrast-mode h1.highlight.cloud:before,
.contrast-mode-inv h1.highlight.cloud:before {
  display: none;
}

.grey-mode:not(.contrast-mode):not(.contrast-mode-inv) .icon-box *, .grey-mode:not(.contrast-mode):not(.contrast-mode-inv) .hamburger * {
  filter: grayscale(100%) brightness(0);
}
.grey-mode:not(.contrast-mode):not(.contrast-mode-inv) .mobile-navigation {
  background-color: #000;
}
.grey-mode:not(.contrast-mode):not(.contrast-mode-inv)  li.hco > a {
  background-image: url(/layout/icons_white/plus.svg);

}
.grey-mode ul .back-nav {
  background-image: url(/layout/icons_white/icon_left.svg);
}
.grey-mode .skip-links a {
  color: #000;
}

.contrast-mode-inv .icon-info, .contrast-mode .icon-info  {
  /*filter: grayscale(100%) brightness(1);*/
  background: none;
}
/* ------------------------------------------- */


.contrast-mode .form-table input[type="radio"] + label:before,
.contrast-mode .form-table input[type="checkbox"] + label:before {
  background: white;
  border-color: #000;
}

.contrast-mode .form-table input[type="radio"]:checked + label:after,
.contrast-mode .form-table input[type="checkbox"]:checked + label:after {
  background: #000;
}


/* --- disabled ---*/
.contrast-mode .form-table input[type="checkbox"]:disabled + label:before,
.contrast-mode .form-table input[type="radio"]:disabled + label:before {
  background: #efefef !important;

}

.contrast-mode input,
.contrast-mode select,
.contrast-mode .p-sb,
.contrast-mode textarea,
.contrast-mode a.p-sb,
.contrast-mode button.p-sb {
  color: black;
  background: white;
  border-color: #000;

}


.contrast-mode .download-link:before {
  width: 80px;
  min-width: 80px;
  height: 80px;
  margin-right: 20px;
  background: transparent url(/layout/icons/icon_download.svg) no-repeat center center / 80px auto;

}


.contrast-mode .meal-text > h2 {
  background: transparent;
  border: 2px solid #000;

}

.contrast-mode .meal-addinfo {
  background: transparent;
  border: 2px solid #000;
}

/*
.menu-img-box, #choose_your_canteen {
  display: none !important;
}
*/


.contrast-mode .platocontent ul.stdlist li:before {
  background: #000;
}


.contrast-mode .meal-text > div {
  background: transparent;
  border-top: 5px solid white;
  border-bottom: 2px solid #000;
}

.contrast-mode .additives-list {
  background: #fff;
}

.contrast-mode .platocontent .additives-list dt {
  width: 50px;
}


.contrast-mode div.form-table .a label,
.contrast-mode div.form-table .inline > label {
  color: #000;
}

.contrast-mode .additives,
.contrast-mode .rating {
  color: #000;
}

.contrast-mode .p-sb:hover,
.contrast-mode .form-table button:hover,
.contrast-mode a.p-sb:hover {
  color: #000;
}

.contrast-mode input.p-ti,
.contrast-mode textarea.p-ta,
.contrast-mode select.p-dd, select.p-mul {
  border-color: #000;
}

.contrast-mode .news-more {
  background: #000;
}

.contrast-mode .res-persons-box {
  border: 2px solid #000;
  background: transparent;
}


.contrast-mode .card-table,
.contrast-mode div.ruler, hr {
  border-color: #000
}

.contrast-mode .alert-info a,
.contrast-mode .alert-warning a,
.contrast-mode .man-err-field a,
.contrast-mode .mand-hint a {
  color: #fff;
}


.contrast-mode .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #000;
}

/*.contrast-mode div.form-table .a label, .contrast-mode div.form-table .inline > label {*/
/*  text-transform: none;*/
/*}*/

.contrast-mode .handwriting {
  font-family: Arial, sans-serif;
}

.contrast-mode .info-linkbutton {
  background-color: #526526;
}

.contrast-mode .download-link,
.contrast-mode a.download-link,
.contrast-mode .seemore-link,
.contrast-mode a.seemore-link {
  /*width: auto;*/
}

.contrast-mode .seemore-link span {
  background: #fff;
  color: #000 !important;
}

.contrast-mode .platocontent a:not(.p-sb):not(.nav):not(.mpage):not(.fancybox-iframe),
.contrast-mode a.stdlink,
.contrast-mode a.stdlink-ext,
.contrast-mode a.internal-link,
.contrast-mode a.mail-link,
.contrast-mode a.popup-link, a.email {
  border-bottom: 2px dotted #000;
}


.contrast-mode h1.highlight span {
  background: #000;
  color: #fff !important;
}

.contrast-mode .info-linkbutton,
.contrast-mode .alert-info,
.contrast-mode .mand-hint {
  background: #000;
  color: #fff;
}

.contrast-mode .faq-style-blue div.faq-box {
  background-color: #000;
  color: #fff;
}

.contrast-mode .download-link span {
  background: transparent;
  color: #000 !important;
}

.contrast-mode a.download-link {
  border: 2px solid #000 !important;
  border-radius: 10px;
  padding: 5px 10px;
}

.contrast-mode .pagenav ul.overlay {
  background: #000;
}

.contrast-mode .mobile-navigation a {
  color: #fff !important;
}

.contrast-mode li.hco > a.l-2, .contrast-mode li.hco > a {
  background-image: url(/layout/icons_white/plus.svg);
}
.contrast-mode .tab-row > div {
  color: #000;
}
.contrast-mode ul .back-nav {
  background-image: url(/layout/icons_white/icon_left.svg);
}

.contrast-mode .mobile-navigation {
  background: #000;
}

.contrast-mode .hamburger .hamburger-inner, .contrast-mode .hamburger .hamburger-inner:after, .contrast-mode .hamburger .hamburger-inner:before {

  background: #000;
}

.contrast-mode .mobile-navigation .mn-head {
  color: #000 !important;
  background: #fff;
}


.contrast-mode .icon-box svg {
  fill: #000;
}

.contrast-mode .icon-box svg path {
  fill: #000 !important;
}

.contrast-mode .p-sb {
  border-radius: 10px;
  border: 2px solid #000;
  padding: 0.7rem 3.5rem 0.7rem 3.5rem;
}

.contrast-mode .ca-ta-head > div {
  background: #000;
}

.contrast-mode .allergy-consent, .contrast-mode .cho {
  background: #000;
  color: #fff;
}
.contrast-mode .sm-inf.grey {
  color: #000;
}
.contrast-mode .pagy a {
  border: 4px solid #000 !important;
}
#aria_bw {
  position: relative;
}
.contrast-mode #aria_bw:before, .contrast-mode-inv #aria_bw:before {
  position: absolute;
  content: "S/W";
  top: -12px;
  right: -12px;
  color: #fff;
  background: #000;
  border-radius: 100%;
  width: 22px;
  height: 22px;
  font-size: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*border: 2px solid #fff !important;*/
  filter: none !important;
  z-index: 5;
}
.contrast-mode .faq-style-green .faq-box {
  background-color: #000;
  color: #fff;
}
/*  INVERTED  ------------------------------ */
/*  INVERTED  ------------------------------ */
/*  INVERTED  ------------------------------ */
/*  INVERTED  ------------------------------ */
.contrast-mode-inv #aria_bw:before {
  content: "W/S";
}
.contrast-mode-inv {
  background: #000;
}
.contrast-mode-inv .pagy a {
  border: 4px solid #000 !important; /* INV FILTER! */
}
.contrast-mode-inv a, .contrast-mode-inv a:link {
  color: #fff !important;
  border-color: #fff;
}

.contrast-mode-inv .pagy a, .contrast-mode-inv .pagy a:link {
  filter: invert(1);
}

.contrast-mode-inv .social-text img {
  /*filter: invert(1);*/
}

.contrast-mode-inv .seam {
  filter: invert(1);
}

.contrast-mode-inv footer a:link, .contrast-mode-inv footer a, .contrast-mode-inv footer a:visited {
  color: #fff !important;
}

.contrast-mode-inv footer {
  border-top: 2px solid #fff;
  background: transparent;
  color: #fff;
}

.contrast-mode-inv footer * {
  color: #fff;
}

.contrast-mode-inv header {
  background: #000;
  color: white;
}

.contrast-mode-inv, .contrast-mode-inv input, .contrast-mode-inv select, .contrast-mode-inv .date-image-text {
  color: white;
}

.contrast-mode-inv input, .contrast-mode-inv select, .contrast-mode-inv .p-sb, .contrast-mode-inv textarea {
  color: white;
  background: black;
  border: 2px solid #fff;
}

.contrast-mode-inv header, .contrast-mode-inv header a:link, .contrast-mode-inv header a {
  /*background: #000;*/
  color: #fff;
}


.contrast-mode-inv .meal-text > h2 {
  background: transparent;
  border-color: white;
}

.contrast-mode-inv .platocontent ul.stdlist li:before {
  background: #fff;
}

.contrast-mode-inv .meal-text > div {
  border-top: 5px solid #000;
  border-bottom: 2px solid #fff;
  background: transparent;
}

.contrast-mode-inv .additives-list {
  background: #000;
}

.contrast-mode-inv div.form-table .a label,
.contrast-mode-inv div.form-table .inline > label {
  color: #fff;
}

.contrast-mode-inv .additives,
.contrast-mode-inv .rating {
  color: #000;
}
.contrast-mode-inv .tab-row > div {
  color: #fff;
}
.contrast-mode-inv .p-sb:hover,
.contrast-mode-inv .form-table button:hover,
.contrast-mode-inv a.p-sb:hover {
  color: #fff;
}

.contrast-mode-inv .news-more {
  background: #fff;
  color: #000;
}

.contrast-mode-inv .res-persons-box {
  border-color: #fff;
}

.contrast-mode .p-sb.p-simple-lang, .contrast-mode-inv .p-sb.p-simple-lang {
  background-image: url(/layout/icons_black/simple_lang.svg);
  background-size: 20px auto;
  background-position: 18px center;
  background-repeat: no-repeat;
  padding-left: 50px;
  padding-right: 20px;
}
.contrast-mode-inv .p-sb.p-simple-lang {
  background-image: url(/layout/icons_white/simple_lang.svg);
}
.contrast-mode-inv .platocontent .stdlink,
.contrast-mode-inv .platocontent .stdlink-ext {
  border-color: #fff;
}

.contrast-mode-inv .page-area {
  background: #000;
  color: #fff;
}

.contrast-mode-inv .page, .contrast-mode-inv .platocontent, .contrast-mode-inv .platocontent p, .contrast-mode-inv .platocontent tbody, .contrast-mode-inv .content-wrapper, .contrast-mode-inv .cms_content_content, .contrast-mode-inv section, .contrast-mode-inv section p {
  color: #fff;
}

.contrast-mode-inv .page {
  background: #000;
}

.contrast-mode-inv .dd-box {
  background: #000;
  color: white;
  border-color: white;

}
.contrast-mode-inv .blue {
  color: #fff;
}
.contrast-mode-inv .consent_text  {
  color: #fff;
  background: #000;
}

.contrast-mode-inv .pagination .nav {
  filter: invert(100%);
  color: white;
}
.contrast-mode-inv .pagination > button.nav:focus-visible {
  filter: invert(100%) !important;
  outline: 3px solid #000 !important
}
.contrast-mode-inv .tabkey .mobile-navigation a:focus-visible {
  outline: 3px solid #fff !important;
}


.contrast-mode-inv .logo img {
  filter: grayscale(100%) invert(100%);
}

.contrast-mode-inv .meal-addinfo {
  border-color: #fff;
  background: transparent;
}

.contrast-mode-inv .p-ta:focus, .contrast-mode-inv .p-ti:focus, .contrast-mode-inv .p-dd:focus {
  color: #fff;
  background: #000;
}

.contrast-mode-inv .card-table, .contrast-mode-inv div.ruler, .contrast-mode-inv hr {
  border-color: #fff;
}

.contrast-mode-inv .card-table:nth-child(even) {
  background: transparent;
}

.contrast-mode-inv .faq-box {
  background: transparent;
  color: #fff;
}

.contrast-mode-inv .platocontent a:not(.p-sb),
.contrast-mode-inv a.stdlink,
.contrast-mode-inv a.stdlink-ext,
.contrast-mode-inv a.internal-link,
.contrast-mode-inv a.mail-link,
.contrast-mode-inv a.popup-link, a.email {
  border-bottom: 2px dotted #fff;
}


.contrast-mode-inv .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #fff;
}

.contrast-mode-inv h1.highlight span {
  background: #fff;
  color: #000;
}


.contrast-mode-inv .info-linkbutton, .contrast-mode-inv .alert-info, .contrast-mode-inv .mand-hint {
  background: #fff;
  color: #000 !important;
}

.contrast-mode-inv a.news-more {
  color: #000 !important;
}

.contrast-mode-inv .legend-button, .contrast-mode-inv #leg {
  background: transparent;
}

.contrast-mode-inv .legend-button img {
  filter: invert(1);
}

.contrast-mode-inv .res-persons-box {
  background: transparent;
  border-color: #fff;
}

.contrast-mode-inv .seemore-link span {
  background-color: #000;
  color: #fff !important;
  border: 1px solid #fff;
}

.contrast-mode-inv .hamburger .hamburger-inner, .contrast-mode-inv .hamburger .hamburger-inner:after, .contrast-mode-inv .hamburger .hamburger-inner:before {
  background: #fff;
}

.contrast-mode-inv .mobile-navigation .mn-head {
  color: #fff !important;
  background: #000;
}

.contrast-mode-inv .mobile-navigation {
  background: #000;
}

.contrast-mode-inv li.hco > a.l-2, .contrast-mode-inv li.hco > a {
  background-image: url(/layout/icons_white/plus.svg);
}

.contrast-mode-inv ul .back-nav {
  background-image: url(/layout/icons_white/icon_left.svg);
}

.contrast-mode-inv .pagenav ul.overlay {
  background: #000;
}

.contrast-mode-inv .platocontent .std-link, .contrast-mode-inv .platocontent .stdlink-ext {
  border-bottom: 2px dotted #fff;
}

.contrast-mode-inv .icon-box svg {
  fill: #fff;
}

.contrast-mode-inv .icon-box svg path {
  fill: #fff !important;
}

.contrast-mode-inv .nav-blur {
  background: #000;
}

.contrast-mode-inv .form-table input[type="radio"] + label:after {
  background: #000;
}

.contrast-mode-inv .p-sb {
  border-radius: 10px;
  border: 2px solid #fff;
  padding: 0.7rem 3.5rem 0.7rem 3.5rem;
}


.contrast-mode-inv .ca-ta-head > div {
  background: #000;
  border: 2px solid #fff;
}

.contrast-mode-inv .sm-inf {
  color: #fff;
}

.contrast-mode-inv .skip-links {
  background: #000;
  border-radius: 3px;
  border: 1px solid #fff;
  display: flex;
  gap: 20px;
}

.contrast-mode-inv .download-link span,
.contrast-mode-inv .seemore-link span {
  background: transparent;
  color: #fff !important;
}

.contrast-mode-inv .allergy-consent, .contrast-mode-inv .cho,
.grey-mode .allergy-consent, .grey-mode .cho {
  background: #000;
  color: #fff;
}

.contrast-mode-inv .arr-w {
  display: block !important;
}
.contrast-mode-inv .arr-b {
  display: none;
}

.contrast-mode-inv a.download-link {
  border: 2px solid #fff !important;
  border-radius: 10px;
  padding: 5px 10px;
}

.contrast-mode-inv .download-link:before {
  width: 80px;
  min-width: 80px;
  height: 80px;
  margin-right: 20px;
  background: transparent url(/layout/icons/icon_download.svg) no-repeat center center / 80px auto;
  filter: invert(1);
}
.contrast-mode-inv .faq-box {
  border:2px solid #fff;
}
/*
BOTH
*/
.contrast-mode-inv #settings_navigation .additives-chooser button, .contrast-mode #settings_navigation .additives-chooser button {
  font-size: 1.8rem;
}
.contrast-mode .pwd_invalid, .contrast-mode-inv .pwd_invalid {
  color: #fff;
  background: #000;
}

.contrast-mode-inv .mobile-navigation, .contrast-mode-inv .mobile-navigation {
  width: 430px;
  right: -430px;
}

.contrast-mode .info-linkbutton:before,
.contrast-mode-inv .info-linkbutton:before,
.contrast-mode .menu-img-box a:before, .contrast-mode-inv .menu-img-box a:before {
  display: none;
}

.contrast-mode .menu-img-box a, .contrast-mode-inv .menu-img-box a {
  background: none;
}

.contrast-mode .me-bo-a:nth-child(even) a, .contrast-mode-inv .me-bo-a:nth-child(even) a {
  background: none;
}

.contrast-mode-inv .me-bo-a img {
  filter: contrast(1.5) invert(1);
}

.contrast-mode-inv img,
.contrast-mode img {
  filter: grayscale(60%) contrast(1.3);
}

.contrast-mode .logo img {
  filter: grayscale(60%) contrast(1.3);
}

.contrast-mode .info-linkbutton, .contrast-mode-inv .info-linkbutton {
  padding: 10px 20px 10px 20px;
  text-align: center;
}

.contrast-mode .handwriting,
.contrast-mode-inv .handwriting {
  font-family: Arial, sans-serif;
}

.contrast-mode input[type=file] {
  position: static;
}

.contrast-mode-inv input[type=file] {
  position: static;
}
.grey-mode .mobile-lang-links,
.grey-mode .meal-links,
.grey-mode .search-links,
.contrast-mode .mobile-lang-links,
.contrast-mode .meal-links,
.contrast-mode .search-links,
.contrast-mode-inv .mobile-lang-links,
.contrast-mode-inv .meal-links,
.contrast-mode-inv .search-links {
  /*padding-left: 0;*/
  filter: invert(1) contrast(0.5) brightness(10.5);
}

.contrast-mode .mobile-lang-links:before,
.contrast-mode .meal-links:before,
.contrast-mode .search-links:before,
.contrast-mode-inv .mobile-lang-links:before,
.contrast-mode-inv .meal-links:before,
.contrast-mode-inv .search-links:before {
  /*display: none;*/
}

.contrast-mode div.form-table .b label {
  font-size: 1.9rem;
}

.contrast-mode-inv div.form-table .b label {
  font-size: 1.9rem;
}

.contrast-mode .form-table input[type="checkbox"]:checked + label:before {
  background: #000 url(/layout/cx.svg) no-repeat center center / 10px;
  border-color: #000 !important;
}

.contrast-mode-inv .form-table input[type="checkbox"]:checked + label:before {
  background: #000 url(/layout/cx.svg) no-repeat center center / 10px;
  border-color: #fff !important;
}

.contrast-mode h2, .contrast-mode-inv h2 {
  font-family: "Custom-Font", Arial, sans-serif;
}

.contrast-mode [data-cous-type="toggle"]:before,
.contrast-mode-inv [data-cous-type="toggle"]:before {
  background-size: 16px auto;
}

.contrast-mode .mn-body button,
.contrast-mode-inv .mn-body button {
  color: #fff;
  text-align: left;
}

.contrast-mode .ruler-menu , .contrast-mode-inv .ruler-menu, .grey-mode .ruler-menu ,
.contrast-mode .ruler-menu-2 , .contrast-mode-inv .ruler-menu-2, .grey-mode .ruler-menu-2
{
  background: url(/layout/divider/divider_menu_w.svg) no-repeat center center / 100% auto;
}

.contrast-mode .fixy-bg, .contrast-mode-inv .fixy-bg {
  background: #fff;
  position: fixed;
  height: 64px;
  width: 100%;
  left: 0;
  z-index: 9;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.contrast-mode-inv .fixy-bg {
  background: #000;
}
.contrast-mode .fixy-bg.visible, .contrast-mode-inv .fixy-bg.visible {
  opacity: 0.8;
  pointer-events: auto;
}