/* Accessibility for contrast */
.accessibility-high-contrast {
    background-color: var(--es-color-accessibility-black);
}

.accessibility-high-contrast .footer,
.accessibility-high-contrast .popup,
.accessibility-high-contrast .content,
.accessibility-high-contrast .invoice-profile__header,
.accessibility-high-contrast #CybotCookiebotDialog[data-template=popup].CybotCookiebotDialogActive {
    background-color: var(--es-color-accessibility-black) !important;
}

.accessibility-high-contrast input:disabled::placeholder {
    color: var(--es-color-accessibility-disabled) !important;
}

.accessibility-high-contrast button:disabled {
    background: var(--es-color-accessibility-disabled) !important;
    border-color: var(--es-color-accessibility-disabled) !important;
}

.accessibility-high-contrast a,
.accessibility-high-contrast p,
.accessibility-high-contrast li,
.accessibility-high-contrast h1,
.accessibility-high-contrast h2,
.accessibility-high-contrast h3,
.accessibility-high-contrast h4,
.accessibility-high-contrast h5,
.accessibility-high-contrast h6,
.accessibility-high-contrast label,
.accessibility-high-contrast .text,
.accessibility-high-contrast .infobox,
.accessibility-high-contrast input,
.accessibility-high-contrast .invoice-profile-page,
.accessibility-high-contrast .marketing-agreement__content-item .item__button-toggle,
.accessibility-high-contrast th,
.accessibility-high-contrast .select-wrapper__select div, 
.accessibility-high-contrast .button.secondary {
    color: var(--es-color-accessibility-yellow) !important;
    background: transparent !important;
}

.accessibility-high-contrast :where(:is(.accessibility-high-contrast span, .accessibility-high-contrast #cookie-settings):not(.accessibility-panel *, .CybotCookiebotDialogBodyLevelConsentCheckbox, .CybotCookiebotDialogBodyLevelButtonSlider)) {
    color: var(--es-color-accessibility-yellow) !important;
    background: transparent !important;
}

.accessibility-high-contrast :where(:is(svg, path, rect, circle):not(.popup *, .checkbox__input + .checkbox__label .es-icon *, .header__title .title__link svg, .header__title .title__link path, .input-wrapper__icon *)) {
    fill: var(--es-color-accessibility-yellow) !important;
    color: var(--es-color-accessibility-yellow);
    stroke: var(--es-color-accessibility-yellow);
}

.accessibility-high-contrast .button.secondary,
.accessibility-high-contrast .button-splitter__description,
.accessibility-high-contrast .button.secondary span,
.accessibility-high-contrast .button:hover,
.accessibility-high-contrast .button:hover span,
.accessibility-high-contrast #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
.accessibility-high-contrast #CybotCookiebotDialogBodyLevelButtonCustomize {
    background: var(--es-color-accessibility-black) !important;
    color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .button.secondary:hover,
.accessibility-high-contrast .button.secondary:hover span, 
.accessibility-high-contrast .button,
.accessibility-high-contrast .button span, 
.accessibility-high-contrast .accessibility-panel .accessibility-modal__content button[aria-pressed="true"],
.accessibility-high-contrast #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
.accessibility-high-contrast .CybotCookiebotDialogDetailBulkConsentCount {
    background: var(--es-color-accessibility-yellow) !important;
    color: var(--es-color-accessibility-black) !important;
}

.accessibility-high-contrast button:focus, 
.accessibility-high-contrast a:focus, 
.accessibility-high-contrast input:focus,
.accessibility-high-contrast .checkbox__input:focus + .checkbox__label::before {
    outline: 2px solid var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .infobox__icon,
.accessibility-high-contrast .infobox__icon * {
    fill: transparent !important;
}

.accessibility-high-contrast .button,
.accessibility-high-contrast .select-wrapper__select > div:first-of-type, 
.accessibility-high-contrast .banner, 
.accessibility-high-contrast .accessibility-panel .accessibility-modal__content,
.accessibility-high-contrast .accessibility-panel .accessibility-modal__content button,
.accessibility-high-contrast #CybotCookiebotDialog button:before,
.accessibility-high-contrast .CybotCookiebotDialogArrow, 
.accessibility-high-contrast #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
.accessibility-high-contrast .checkbox__label::before,
.accessibility-high-contrast #CybotCookiebotDialog a:after {
    border-color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .button .text,
.accessibility-high-contrast .button.secondary,
.accessibility-high-contrast .link-button,
.accessibility-high-contrast .single-form__address-info-label,
.accessibility-high-contrast .single-form__address-info-description,
.accessibility-high-contrast .table .table__body-td, 
.accessibility-high-contrast .accessibility-panel .accessibility-modal__content span,
.accessibility-high-contrast #CybotCookiebotDialog[data-template=popup].CybotCookiebotDialogActive,
.accessibility-high-contrast input::placeholder,
.accessibility-high-contrast .select-wrapper__select input::placeholder {
    color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .accessibility-panel .accessibility-modal__content button[aria-pressed="true"] span {
    color: var(--es-color-accessibility-black) !important;
}

.accessibility-high-contrast .text.color-error,
.accessibility-high-contrast .error {
    color: var(--es-color-accessibility-red) !important;
}

.accessibility-high-contrast .popup__header::after,
.accessibility-high-contrast .checkbox__input:checked + .checkbox__label::before {
    background-color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .header__button-close {
    stroke: var(--es-color-accessibility-yellow) !important;
    fill: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .header__button-close path {
    fill: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .tabs__on-beginning:before,
.accessibility-high-contrast .tabs__on-end:after,
.accessibility-high-contrast .button span {
    background: none!important;
}

.accessibility-high-contrast .infobox,
.accessibility-high-contrast .infobox__icon-wrapper,
.accessibility-high-contrast .infobox.error,
.accessibility-high-contrast .tabs__list-item,
.accessibility-high-contrast input,
.accessibility-high-contrast input::placeholder,
.accessibility-high-contrast input:disabled,
.accessibility-high-contrast .select-wrapper__select div,
.accessibility-high-contrast .banner, 
.accessibility-high-contrast .banner__content-wrapper, 
.accessibility-high-contrast #tns-play-pause-btn, 
.accessibility-high-contrast .accessibility-button {
    background: transparent;
}

.accessibility-high-contrast .infobox.error,
.accessibility-high-contrast .infobox, 
.accessibility-high-contrast .accessibility-button,
.accessibility-high-contrast .popup,
.accessibility-high-contrast #CybotCookiebotDialog[data-template=popup].CybotCookiebotDialogActive {
    border: 1px solid var(--es-color-accessibility-yellow);
}

.accessibility-high-contrast input,
.accessibility-high-contrast .checkbox__input:checked + .checkbox__label::before {
    border-color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .checkbox__input:checked + .checkbox__label::after {
    filter: brightness(0) saturate(100%);
}

.accessibility-high-contrast .checkbox__input + .checkbox__label .es-icon * {
    fill: var(--es-color-accessibility-black) !important;
}

.accessibility-high-contrast .invoice-profile__table .invoice-profile__table__body-td {
    color: var(--es-color-accessibility-yellow);
}

.accessibility-high-contrast .spinner > * {
    border-color: var(--es-color-accessibility-yellow) transparent transparent transparent;
}

.accessibility-high-contrast .accessibility-reading-line__bar {
    background-color: var(--es-color-accessibility-reading-line-contrast);
    border-top: 2px solid var(--es-color-accessibility-black);
    border-bottom: 2px solid var(--es-color-accessibility-black);
}

.accessibility-high-contrast .select-wrapper__select [role="option"] {
    background-color: var(--es-color-accessibility-black) !important;
    color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast .accessibility-panel .accessibility-modal__content button:hover {
    background: var(--es-color-accessibility-black);
    outline: 2px solid var(--es-color-accessibility-red);
}

.accessibility-high-contrast .CybotCookiebotDialogDetailBodyContentCookieContainerButton {
    border: none !important;
}

.accessibility-high-contrast .CybotCookiebotFader {
    display: none !important;
}

.accessibility-high-contrast #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover,
.accessibility-high-contrast #CybotCookiebotDialogBodyLevelButtonCustomize:hover {
    background: var(--es-color-accessibility-yellow) !important;
    color: var(--es-color-accessibility-black)!important;
    
}

.accessibility-high-contrast #CybotCookiebotDialogBodyLevelButtonCustomize:hover .CybotCookiebotDialogArrow {
    border-color: var(--es-color-accessibility-black)!important;
}

.accessibility-high-contrast #CybotCookiebotDialog input+.CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: var(--es-color-accessibility-yellow) !important;
}

.accessibility-high-contrast #CybotCookiebotDialog input:checked+.CybotCookiebotDialogBodyLevelButtonSlider:before, #CybotCookiebotDialog[dir=rtl] #CybotCookiebotDialogTabContent input+.CybotCookiebotDialogBodyLevelButtonSlider:before,
.accessibility-high-contrast #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider:before {
    background-color: var(--es-color-accessibility-black) !important;
}


.accessibility-high-contrast #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper > button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll.CybotCookiebotDialogBodyButton:last-child:hover {
    background-color: var(--es-color-accessibility-black) !important;
    color: var(--es-color-accessibility-yellow) !important;
}

/* Accessibility for font sizes */
.accessibility-big-font {
    font-size: var(--es-font-scale-big) !important;
}

.accessibility-big-font #CybotCookiebotDialog *,
.accessibility-big-font #CybotCookiebotDialogBodyUnderlay * {
    font-size: var(--es-font-scale-cookies-consent-big) !important;
}

.accessibility-big-font .accessibility-panel .box-font-row {
    flex-wrap: wrap;
}

.accessibility-big-font .accessibility-panel .box-font-row .box {
    flex: 1;
}

.accessibility-super-font {
    font-size: var(--es-font-scale-super);
}

.accessibility-super-font #CybotCookiebotDialog *,
.accessibility-super-font #CybotCookiebotDialogBodyUnderlay * {
    font-size: var(--es-font-scale-cookies-consent-super) !important;
}

.accessibility-super-font .body {
    font-size: var(--es-font-scale-super-body);
}

.accessibility-super-font .accessibility-panel .accessibility-font-row,
.accessibility-big-font .accessibility-panel .accessibility-font-row {
    flex-wrap: wrap;
}

.accessibility-super-font .accessibility-panel .accessibility-font-row .accessibility-modal__element {
    flex: 1;
}

.accessibility-super-font .accessibility-panel .popup {
    padding: 1.6rem;
}

.accessibility-super-font .carousel-legend {
    bottom: -16px;
}

@media(min-width: 992px) and (max-width: 1279px) {
    .accessibility-big-font .page-section,
    .accessibility-super-font .page-section {
        margin-right: 0;
    }
}

/* Accessibility for grayscale */
.accessibility-grayscale header a,
.accessibility-grayscale footer a,
.accessibility-grayscale .logo,
.accessibility-grayscale #main-modal,
.accessibility-grayscale a,
.accessibility-grayscale span,
.accessibility-grayscale p,
.accessibility-grayscale li,
.accessibility-grayscale h2,
.accessibility-grayscale h3,
.accessibility-grayscale h4,
.accessibility-grayscale h5,
.accessibility-grayscale h6,
.accessibility-grayscale label
.accessibility-grayscale .text,
.accessibility-grayscale button,
.accessibility-grayscale input, 
.accessibility-grayscale label,
.accessibility-grayscale .popup,
.accessibility-grayscale #CybotCookiebotDialog[data-template=popup].CybotCookiebotDialogActive,
.accessibility-grayscale #CybotCookiebotDialog button:before,
.accessibility-grayscale .CybotCookiebotDialogArrow,
.accessibility-grayscale #CybotCookiebotDialog a:after {
    filter: grayscale(100%) !important;
}

.accessibility-grayscale :where(:is(svg, path, rect, circle, h1):not(.popup *, .checkbox__input + .checkbox__label .es-icon *, .accessibility-button, .header__title)) {
    filter: grayscale(100%) !important;
}

/* Accessibility reading line */
.accessibility-reading-line .accessibility-reading-line__bar {
    display: block;
}

.accessibility-grayscale .accessibility-reading-line__bar {
    filter: grayscale(100%) !important
}

.accessibility-reading-line__bar {
    display: none;
    position: fixed;
    left: 0;
    width: 100%;
    height: 16px;
    background-color: var(--es-color-accessibility-reading-line);
    border-top: 2px solid var(--es-color-accessibility-white);
    border-bottom: 2px solid var(--es-color-accessibility-white);
    pointer-events: none;
    z-index: 99999;
}

/* Accessibility big cursor */
.accessibility-big-cursor {
    cursor: url("../icons/cursors/big-cursor.svg") 2 0, auto !important;
}

.accessibility-big-cursor.accessibility-grayscale {
    cursor: url("../icons/cursors/big-cursor-grayscale.svg") 2 0, auto !important;
}

.accessibility-big-cursor.accessibility-high-contrast {
    cursor: url("../icons/cursors/big-cursor-contrast.svg") 2 0, auto !important;
}

.accessibility-big-cursor.accessibility-high-contrast.accessibility-grayscale {
    cursor: url("../icons/cursors/big-cursor-grayscale-contrast.svg") 2 0, auto !important;
}

.accessibility-big-cursor input[type="text"],
.accessibility-big-cursor input[type="password"],
.accessibility-big-cursor input[type="text"]:active,
.accessibility-big-cursor input[type="password"]:active {
    cursor: url("../icons/cursors/text-cursor.svg") 6 0, auto !important;
}

.accessibility-big-cursor.accessibility-grayscale input[type="text"],
.accessibility-big-cursor.accessibility-grayscale input[type="password"],
.accessibility-big-cursor.accessibility-grayscale input[type="text"]:active,
.accessibility-big-cursor.accessibility-grayscale input[type="password"]:active {
    cursor: url("../icons/cursors/text-cursor-grayscale.svg") 6 0, auto !important;
}

.accessibility-big-cursor.accessibility-high-contrast input[type="text"],
.accessibility-big-cursor.accessibility-high-contrast input[type="password"],
.accessibility-big-cursor.accessibility-high-contrast input[type="text"]:active,
.accessibility-big-cursor.accessibility-high-contrast input[type="password"]:active {
    cursor: url("../icons/cursors/text-cursor-contrast.svg") 6 0, auto !important;
}

.accessibility-big-cursor.accessibility-high-contrast.accessibility-grayscale input[type="text"],
.accessibility-big-cursor.accessibility-high-contrast.accessibility-grayscale input[type="password"],
.accessibility-big-cursor.accessibility-high-contrast.accessibility-grayscale input[type="text"]:active,
.accessibility-big-cursor.accessibility-high-contrast.accessibility-grayscale input[type="password"]:active {
    cursor: url("../icons/cursors/text-cursor-grayscale-contrast.svg") 6 0, auto !important;
}

.accessibility-big-cursor.accessibility-grayscale input[type="text"],
.accessibility-big-cursor.accessibility-grayscale input[type="password"],
.accessibility-big-cursor.accessibility-grayscale input[type="text"]:active,
.accessibility-big-cursor.accessibility-grayscale input[type="password"]:active {
    cursor: url("../icons/cursors/text-cursor-grayscale.svg") 6 0, auto !important;
}

.accessibility-big-cursor a,
.accessibility-big-cursor button,
.accessibility-big-cursor select,
.accessibility-big-cursor input[type="submit"],
.accessibility-big-cursor input[type="reset"],
.accessibility-big-cursor input[type="button"],
.accessibility-big-cursor input[type="checkbox"],
.accessibility-big-cursor input[type="range"],
.accessibility-big-cursor input[type="radio"],
.accessibility-big-cursor .radio-button__label,
.accessibility-big-cursor .checkbox__label,
.accessibility-big-cursor .switch-button__label,
.accessibility-big-cursor .tab,
.accessibility-big-cursor .input-wrapper__icon,
.accessibility-big-cursor .tns-outer [aria-controls], 
.accessibility-big-cursor .tns-outer [data-action] {
    cursor: url("../icons/cursors/custom-pointer.svg") 6 0, auto !important;
} 

/* Accessibility pause animations */
.accessibility-no-motion *::before,
.accessibility-no-motion *::after,
.accessibility-no-motion *:hover {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

.accessibility-no-motion .spinner > * {
    animation: none !important;
    transform: rotate(0deg);
}

.accessibility-no-motion .spinner > *:nth-child(1) {
    transform: rotate(180deg);
}
.accessibility-no-motion .spinner > *:nth-child(2) {
    transform: rotate(135deg);
}
.accessibility-no-motion .spinner > *:nth-child(3) {
    transform: rotate(90deg);
}

/* Accessibility underline links */
.accessibility-underscore-links :where(:is(a, .link-button, .CybotCookiebotDialogNavItemLink):not(.popup *)) {
    box-shadow: 0 0 0 2px var(--es-color-accessibility-white), 0 0 0 4px var(--es-color-accessibility-red) !important;
    outline-offset: 2px;
}

.accessibility-underscore-links :where(:is(a, .link-button):not(.popup *)):focus,
.accessibility-underscore-links :where(:is(a, .link-button):not(.popup *)):active {
    box-shadow: none !important;
}

.accessibility-underscore-links .footer-link a,
.accessibility-underscore-links .tabs__list-outer-item a {
    box-shadow: none !important;
}

.accessibility-underscore-links .swiper-container {
    overflow: visible !important;
}

.accessibility-underscore-links.accessibility-high-contrast :where(:is(a, .link-button, .CybotCookiebotDialogNavItemLink):not(.popup *)) {
    box-shadow: 0 0 0 2px var(--es-color-accessibility-black), 0 0 0 4px var(--es-color-accessibility-red) !important;
    outline-offset: 2px;
}

.accessibility-underscore-links.accessibility-high-contrast.accessibility-grayscale :where(:is(a, .link-button, .CybotCookiebotDialogNavItemLink):not(.popup *)) {
    box-shadow: 0 0 0 2px var(--es-color-accessibility-black), 0 0 0 4px var(--es-color-accessibility-white) !important;
    outline-offset: 2px;
}

/* Accessibility high contrast && grayscale */

.accessibility-high-contrast.accessibility-grayscale .input-wrapper__description {
    color: var(--es-color-accessibility-white) !important;
}

.accessibility-high-contrast.accessibility-grayscale :where(:is(svg, path, rect, circle, h1):not(.checkbox__input + .checkbox__label .es-icon *, .header__title, .accessibility-modal__button[aria-pressed="true"] * )) {
    fill: var(--es-color-accessibility-white) !important;
    color: var(--es-color-accessibility-white);
}

.accessibility-high-contrast.accessibility-grayscale .accessibility-modal__button:not([aria-pressed="true"]) img {
    filter: brightness(0) invert(1);
}