/* CSS Variables for Contrast Modes */
.contrast-mode {
  --font-color: #000;
  --font-highlight: #000;
  --font-highlight-hover: #000;
  --border-color: #000;
  --border-color-dark: #000;
  --error-color: #000;
  --hint-color: #000;
  --color-grey3: #000;
  --color-grey2: #fff;
  --color-grey4: #000;
  --color-grey5: #fff;
  --color-grey: #000;
  --color-green: #000;
  --color-lightgreen: #fff;
  --color-darkgreen: #000;
  --color-lime: #fff;
}

.contrast-mode-inv {
  --font-color: #fff;
  --font-highlight: #fff;
  --font-highlight-hover: #fff;
  --border-color: #fff;
  --border-color-dark: #fff;
  --error-color: #fff;
  --hint-color: #fff;
  --color-grey3: #fff;
  --color-grey2: #000;
  --color-grey4: #fff;
  --color-grey5: #000;
  --color-grey: #fff;
  --color-green: #fff;
  --color-lightgreen: #000;
  --color-darkgreen: #fff;
  --color-lime: #000;
}

.aria-buttons svg, .aria-buttons button {
  height: 28px;
  width: auto;
}
.aria-buttons {
  display: flex;
  gap: 10px;
  align-items: center;
}
.invisible-a, .nostyle {
  border: none !important;

}
.aria-buttons svg {
  fill: #555555;
}
.contrast-mode-inv .aria-buttons svg,
.contrast-mode .aria-buttons svg,
.grey-mode .aria-buttons svg
{
  fill: #000;
}

.contrast-mode-inv a.hco.active , .contrast-mode a.hco.active,
.contrast-mode .main-nav a[aria-expanded=true] ,
.contrast-mode-inv .main-nav a[aria-expanded=true],
.contrast-mode .main-nav a.active ,
.contrast-mode-inv .main-nav a.active
{
  text-decoration: underline !important;
}
/* ARIA-RELATED */
a:focus-visible {
  text-decoration: underline;
  text-decoration-color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;

}

.tabkey *:focus-visible, .tabkey input[type="checkbox"]:focus-visible + label, .tabkey input[type="radio"]:focus-visible + label, .hamburger:focus-visible, .bx-wrapper .bx-pager.bx-default-pager a:focus-visible, .tabkey a.none:focus-visible {
  /*box-shadow: 0px 0px 0px 3px #DB00FF;*/
  outline: 2px solid #DB00FF !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
  filter: none !important;
}

.tabkey nav a:focus-visible {
  outline-offset: -2px;
}

.tabkey .mobile-navigation a:focus-visible {
  outline: 2px solid #DB00FF !important;
  outline-offset: -2px !important;
  border-radius: 2px !important;
  filter: none !important;
}

.tabkey input, .tabkey select, .tabkey button, .tabkey textarea, .tabkey label {
  /*border-color:#000 !important;*/
}

.tabkey a {
  filter: none !important;
}

.tabkey .highlighted {
  outline: 2px solid #DB00FF;
  outline-offset: -2px;
  border-radius: 2px;
  filter: none !important;
}

.ariabtn {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.skip-links {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 8px 16px;
  text-decoration: none;
  background: #ffffff;
  border-radius: 3px;
  border: 1px solid #000;
  display: flex;
  gap: 20px;
}
.contrast-mode-inv  .skip-links {
  background: #000;
}
.tabkey .skip-links {
  left: 10px;
  top: 10px;
}

.grey-mode .main-content, .grey-mode .head-image, .grey-mode .logo, .grey-mode #consent_info, .grey-mode footer, .grey-mode svg, .grey-mode .hamburger-inner, .grey-mode #lang-box a {
  /*.grey-mode .main-content img, .grey-mode .head-image, .grey-mode .logo, .grey-mode #consent_info, .grey-mode footer, .grey-mode svg {*/
  filter: grayscale(100%);
}
.grey-mode .cd-top, .cd-top:active {
  background-color: #777 !important;
}
.grey-mode:not(.contrast-mode-inv):not(.contrast-mode) .main-content *:not(.form-table):not(.grey) {
  color: #000 !important;
  border-color: #000 ;
}
.grey-mode .main-nav a.active {
  color: #555 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.grey-mode a.p-sb.grey {
  color: #fff !important;
}
.grey-mode .pagenav ul.overlay {
  background-color: #000;
}
.grey-mode .platocontent a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.grey-mode  .main-nav a:hover, .grey-mode  .main-nav a:focus,.grey-mode  .main-nav a.clicked{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  color: #000;
}

/* ARIA CONTRAST */
.arr-w {
  display: none !important;
}

/* Noch besser mit modernem CSS */
.contrast-mode :focus-visible,
.grey-mode :focus-visible,
.contrast-mode-inv :focus-visible {
  outline: 3px solid rgba(255, 0, 140, 0.98) !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 footer {
  background: #000;
}

.contrast-mode h1.highlight.cloud:before,
.contrast-mode-inv h1.highlight.cloud:before {
  display: none;
}

/* ------------------------------------------- */
.contrast-mode .icon-txt {
  filter: invert(1) contrast(0) brightness(0.5);
}


.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 {

}


.contrast-mode .platocontent ul.stdlist li:before {
  /*background: #000;*/
  color: #000;
}


.contrast-mode div.form-table .a label,
.contrast-mode div.form-table .inline > label {
  color: #000;
}


.contrast-mode .p-sb:hover,
.contrast-mode .form-table button:hover,
.contrast-mode a.p-sb:hover {
  color: #fff;
}

.contrast-mode input.p-ti,
.contrast-mode textarea.p-ta,
.contrast-mode select.p-dd, select.p-mul {
  border-color: #000;
}


.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 .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: none;
  border-bottom: 2px solid #000;
}


.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 .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 .pagy a {
  border: 4px solid #000 !important;
}

/* Headlines - make them black */
.contrast-mode h1,
.contrast-mode .h1,
.contrast-mode .xxlhead,
.contrast-mode .icon-hl {
  color: #000 !important;
}

/* Colored backgrounds - convert to black/white */
.contrast-mode .bg-1,
.contrast-mode .bg-2,
.contrast-mode .bg-3 {
  background: transparent !important;
  border: 1px solid #000 !important;
}

.contrast-mode .fullwidth-bg.fwbg-1 .article-div:after,
.contrast-mode .fullwidth-bg.fwbg-2 .article-div:after {
  background: transparent !important;
  border: 1px solid #000 !important;
  box-sizing: border-box;
}

.contrast-mode .job-box-header,
.contrast-mode .image-hero.green-hero {
  background: #fff !important;
}

.contrast-mode .image-hero.bg-2,
.contrast-mode .image-hero.bg-3 {
  background: transparent !important;
  border: 1px solid #000 !important;
}

.contrast-mode .job-pack-3 .job-box-header {
  background-color: #fff !important;
}

/* Overline text */
.contrast-mode .overline {
  color: #000 !important;
}

/* Round icons and buttons */
.contrast-mode .round-icon,
.contrast-mode a.roundbutton,
.contrast-mode .jrb,
.contrast-mode .view-job {
  background-color: #fff !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}
.contrast-mode-inv .view-job {
  background-image: url(/layout/design/icons_white/arrow_right.svg);
}
.contrast-mode .editButton {
  background: #000 !important;
  color: #fff !important;
}

/* Pills */
.contrast-mode .pill {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
}

/* Login bar and wishlist */
.contrast-mode .login-bar,
.contrast-mode .wish {
  background-color: #fff !important;
  border: 2px solid #000 !important;
}

.contrast-mode .wish.wished {
  background-color: #000 !important;
  color: #fff !important;
}

/* Paging */
.contrast-mode ul.paging li:not(.prev):not(.next) div,
.contrast-mode ul.paging li:hover {
  background: #000 !important;
  color: #fff !important;
}

/* Cookie consent */
.contrast-mode #consent_info {
  background-color: #fff !important;
  border-color: #000 !important;
}

.contrast-mode .cookie-note {
  background: #fff !important;
}

.contrast-mode .cookie-note:before {
  background: #000 !important;
  color: #fff !important;
}
.contrast-mode .footerbar {
  background: #000;
}

#aria_bw, #aria_grey {
  position: relative;
}

.contrast-mode #aria_bw:before, .contrast-mode-inv #aria_bw:before, .grey-mode #aria_grey: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;
  font-size: 8px;
  width: 17px;
  height: 17px;
  top: -8px;
  right: -8px;
}

.grey-mode #aria_grey:before {
  content: "✓";
  font-size: 12px;
  width: 17px;
  height: 17px;
  top: -8px;
  right: -8px;
}

.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 .menu {
  color: #fff;
}
.contrast-mode-inv .footerbar {
  background: #000;
}
.contrast-mode-inv #menu_btn img {
  filter: invert(1) !important;
}

.contrast-mode-inv .icon-txt {
  filter: invert(1) contrast(0) brightness(4);
}

.contrast-mode-inv #wish_info, .contrast-mode-inv #savesearch_info {
  background: #000;
}

.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 .list-tab td.smaltx {
  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, .contrast-mode-inv .main-nav-box {
  background-color: #000;
  border-color: #fff !important;
  color: #fff;
}

.contrast-mode header, .contrast-mode header a:link, .contrast-mode header a, .contrast-mode .main-nav-box {
  background-color: #fff !important;
  border-color: #000 !important;
  color: #000 !important;
}

.contrast-mode-inv .login-bar .p-sb {
  background-color: #000 !important;
  color: #fff !important;
}
.contrast-mode-inv div.form-table, .contrast-mode div.form-table {
  background: transparent;
}
.contrast-mode-inv ::placeholder {
  color: #fff !important;
  opacity: 1;
}
.contrast-mode-inv .platocontent ul.stdlist li:before {
  color: #fff;
}
.contrast-mode a.roundbutton.med-green, .contrast-mode a.p-sb.med-green, .contrast-mode button.p-sb.med-green, .contrast-mode a.p-sb.med-green, .contrast-mode input.p-sb.med-green,

.contrast-mode .image-hero.bg-2 .p-sb.grey, .contrast-mode-inv .image-hero.bg-2 .p-sb.grey {
  background: transparent;
  color: #000;
}
.contrast-mode .platocontent .faq-q.readmore  a{
  border:1px solid #000 !important;
}
.contrast-mode-inv .jrb.wish {
  background-image: url(/layout/design/icons_white/heart_plus.svg);
}
.contrast-mode-inv .pdf-dl , .contrast-mode .pdf-dl, .contrast-mode-inv .image-hero.bg-3 .p-sb.grey, .contrast-mode .image-hero.bg-3 .p-sb.grey {
  background-color: transparent;
}
.contrast-mode-inv footer img, .contrast-mode footer img {
  filter: contrast(0.5) invert(1);
}
.contrast-mode-inv .clickstream , .contrast-mode .clickstream{
  opacity: 1;
}
.contrast-mode-inv .clickstream *,

.contrast-mode-inv .foot-1,
.contrast-mode .foot-1 {
  color: #fff;
}
.contrast-mode-inv .clickstream * {
  color: #fff;
}
.contrast-mode-inv a.roundbutton.med-green, .contrast-mode-inv a.p-sb.med-green, .contrast-mode-inv button.p-sb.med-green, .contrast-mode-inv a.p-sb.med-green, .contrast-mode-inv input.p-sb.med-green,
.contrast-mode-inv .form-table a.p-sb,
.contrast-mode-inv .form-table button.p-sb,
.contrast-mode-inv .form-table input.p-sb {
  background: transparent;
  color: #fff;
}
.contrast-mode-inv .main-nav a.hco {
  background: url(/layout/icons_white/chevron.svg) no-repeat calc(100% - 50px) center / 7px auto;
}
.contrast-mode-inv .jobdata ul li::before {
  color: #fff;
}
.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 .p-sb:hover,
.contrast-mode-inv .form-table button:hover,
.contrast-mode-inv a.p-sb:hover {
  color: #fff;
  background-color: #000;
}


.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 .pagination .nav {
  -webkit-filter: invert(100%);
  filter: invert(100%);
  color: white;
}

.contrast-mode-inv .logo img {


  filter: grayscale(100%) invert(100%);
}


.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 .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:none;
  border-bottom: 2px solid #fff;
}

.contrast-mode footer .foot a.stdlink-ext {
  border:none;
  border-bottom: 2px solid #fff  ;
}

.contrast-mode-inv .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #fff;
}


.contrast-mode-inv .info-linkbutton, .contrast-mode-inv .alert-info, .contrast-mode-inv .mand-hint {
  background: #fff;
  color: #000 !important;
}


.contrast-mode-inv .platocontent .std-link, .contrast-mode-inv .platocontent .stdlink-ext {
  border-bottom: 2px solid #fff;
}

.contrast-mode-inv .icon-box svg {
  fill: #fff;
}

.contrast-mode-inv .icon-box svg path {
  fill: #fff !important;
}

.contrast-mode-inv  .fullwidth-bg .article-div:after {
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
}

.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 .download-link span,
.contrast-mode-inv .seemore-link span {
  background: transparent;
  color: #fff !important;
}


.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 .faq-box {
  border: 2px solid #fff;
}

.contrast-mode-inv .micon {
  filter: invert(100%);
}

/* Job Exchange Klassen für Kontrast */
.contrast-mode .cx-over,
.contrast-mode .job-info-box {
  background: #fff !important;
  border: 2px solid #000 !important;
}

.contrast-mode-inv .cx-over,
.contrast-mode-inv .job-info-box {
  background: #000 !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}

/* Company Search Opener Icon */
.contrast-mode .cxopener {
  filter: invert(1);
}

.contrast-mode-inv .cxopener {
  filter: invert(0);
}

.contrast-mode-inv .fake-p-dd {
  background: #fff !important;
  color: #000 !important;
}

/* Headlines - make them white */
.contrast-mode-inv h1,
.contrast-mode-inv .h1,
.contrast-mode-inv .xxlhead,
.contrast-mode-inv .icon-hl {
  color: #fff !important;
}

/* Colored backgrounds - convert to white/black (inverted) */
.contrast-mode-inv .bg-1,
.contrast-mode-inv .bg-2,
.contrast-mode-inv .bg-3 {
  background: transparent !important;
  border: 1px solid #fff !important;
}

.contrast-mode-inv .fullwidth-bg.fwbg-1 .article-div:after,
.contrast-mode-inv .fullwidth-bg.fwbg-2 .article-div:after {
  background: transparent !important;
  border: 1px solid #fff !important;
  box-sizing: border-box;
}

.contrast-mode-inv .job-box-header,
.contrast-mode-inv .image-hero.green-hero {
  background: #000 !important;
}

.contrast-mode-inv .image-hero.bg-2,
.contrast-mode-inv .image-hero.bg-3 {
  background: transparent !important;
  border: 1px solid #fff !important;
}

.contrast-mode-inv .job-pack-3 .job-box-header {
  background-color: #000 !important;
}

/* Overline text */
.contrast-mode-inv .overline {
  color: #fff !important;
}

/* Round icons and buttons */
.contrast-mode-inv .round-icon,
.contrast-mode-inv a.roundbutton,
.contrast-mode-inv .jrb,
.contrast-mode-inv .view-job {
  background-color: #000 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
}

.contrast-mode-inv .editButton {
  background: #fff !important;
  color: #000 !important;
}

/* Pills */
.contrast-mode-inv .pill {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

/* Login bar and wishlist */
.contrast-mode-inv .login-bar,
.contrast-mode-inv .wish {
  background-color: #000 !important;
  border: 2px solid #fff !important;
}

.contrast-mode-inv .wish.wished {
  background-color: #fff !important;
  color: #000 !important;
}

/* Paging */
.contrast-mode-inv ul.paging li:not(.prev):not(.next) div,
.contrast-mode-inv ul.paging li:hover {
  background: #fff !important;
  color: #000 !important;
}

/* Cookie consent */
.contrast-mode-inv #consent_info {
  background-color: #000 !important;
  border-color: #fff !important;
  color: #fff !important;
}

.contrast-mode-inv .cookie-note {
  background: #000 !important;
  color: #fff !important;
}

.contrast-mode-inv .cookie-note:before {
  background: #fff !important;
  color: #000 !important;
}

/* Job boxes */
.contrast-mode-inv .job-box {
  border-color: #fff !important;
}

.contrast-mode-inv .job-box-title {
  border-bottom-color: #000 !important;
}

/* Iconbox borders */
.contrast-mode-inv .iconbox:before,
.contrast-mode-inv .fbc.last .iconbox:after {
  border-color: #fff !important;
}

/* Fineline */
.contrast-mode-inv .fineline:after {
  border-color: #fff !important;
}

/*
BOTH
*/

/* Header */
.contrast-mode .header-bar,
.contrast-mode-inv .header-bar {
  background: #fff;
  border-color: #000;
}

.contrast-mode-inv .header-bar {
  background: #000;
  border-color: #fff;
}

/* Roundfields and colored input fields */
.contrast-mode .p-ti.roundfield,
.contrast-mode .p-ta.roundfield,
.contrast-mode .p-dd.roundfield,
.contrast-mode .p-ti.roundfield-white,
.contrast-mode .p-ta.roundfield-white,
.contrast-mode .p-dd.roundfield-white {
  background-color: #fff !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}

.contrast-mode-inv .p-ti.roundfield,
.contrast-mode-inv .p-ta.roundfield,
.contrast-mode-inv .p-dd.roundfield,
.contrast-mode-inv .p-ti.roundfield-white,
.contrast-mode-inv .p-ta.roundfield-white,
.contrast-mode-inv .p-dd.roundfield-white {
  background-color: #000 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
}

/* Fully round image text overlay */
.contrast-mode .fully-round-image > div {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 10%, transparent 100%) !important;
}

.contrast-mode-inv .fully-round-image > div {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.9) 10%, transparent 100%) !important;
  color: #000 !important;
}

/* To-top button */
.contrast-mode .cd-top {
  background-color: #000 !important;
  color: #fff !important;
}

.contrast-mode-inv .cd-top {
  background-color: #fff !important;
  color: #000 !important;
}

/* Hamburger menu */
.contrast-mode .hamburger-inner,
.contrast-mode .hamburger-inner::before,
.contrast-mode .hamburger-inner::after {
  background-color: #000 !important;
}

.contrast-mode-inv .hamburger-inner,
.contrast-mode-inv .hamburger-inner::before,
.contrast-mode-inv .hamburger-inner::after {
  background-color: #fff !important;
}

.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-inv img,
.contrast-mode img {
  filter: grayscale(60%) contrast(1.3);
}

.contrast-mode .logo img {
  filter: grayscale(60%) contrast(1.3);
}


.contrast-mode-inv header img,
.contrast-mode header img {
  filter: none;
}


.contrast-mode input[type=file] {
  position: static;
}

.contrast-mode-inv input[type=file] {
  position: static;
}

.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;
}

.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-inv .subhead-1, .contrast-mode .subhead-1, .contrast-mode-inv .foot-2 *, .contrast-mode .foot-2 * {
  color: #fff;
}

.contrast-mode .fullwidth-bg .article-div:after {
  border-top: 1px dashed #000;
  border-bottom: 1px dashed #000;
}




