/* ==================== ACCESSIBLE SETTINGS AND NAVIGATION ==================== */
.wpm-a11y-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
.wpm-a11y-skip-link {
    position: fixed;
    left: 12px;
    top: 12px;
    transform: translateY(-200%);
    padding: 12px 18px;
    border: 2px solid currentColor;
    border-radius: 6px;
    font-size: 16px;
    z-index: 9999999;
}
.wpm-a11y-skip-link:focus { transform: none; }
.wpm-a11y-settings {
    background: transparent;
    color: inherit;
    padding: 0;
    min-width: 0;
    max-width: 100%;
    font-family: inherit;
    font-size: inherit;
    line-height: 1.5;
    overflow-wrap: anywhere;
    container-type: inline-size;
    scroll-margin-top: 16px;
}
.wpm-a11y-settings *, .wpm-a11y-footer-bar *, .wpm-a11y-footer-links * { box-sizing: border-box; }
.wpm-a11y-intro h2 { font-size: 1.6em; line-height: 1.25; margin: 0 0 12px; color: inherit; }
.wpm-a11y-settings p { margin: 0 0 12px; }
.wpm-a11y-settings fieldset {
    min-width: 0;
    margin: 24px 0 0;
    padding: 0;
    border: 0;
}
.wpm-a11y-settings legend {
    display: block;
    float: none;
    width: 100%;
    margin: 0 0 4px;
    padding: 0 0 10px;
    font-size: 1.15em;
    line-height: 1.4;
    font-weight: 700;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-bottom-color: color-mix(in srgb, currentColor 25%, transparent);
    color: inherit;
}
.wpm-a11y-field { padding: 16px 0; }
.wpm-a11y-field > label { display: block; font-weight: 700; margin-bottom: 8px; }
.wpm-a11y-field > p { font-size: .95em; }
.wpm-a11y-settings select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    height: auto;
    padding: 10px 28px 10px 12px;
}
.wpm-a11y-actions, .wpm-a11y-size-controls {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
}
.wpm-a11y-size-controls > * { flex: 1 1 160px; }
.wpm-a11y-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    height: auto;
    padding: 10px 16px;
    font: inherit;
    line-height: 1.4;
    font-weight: 600;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    cursor: pointer;
}
.wpm-a11y-button:disabled { opacity: .65; cursor: default; }
.wpm-a11y-option {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 0;
    margin: 0;
    border-bottom: 1px solid currentColor;
    border-bottom-color: color-mix(in srgb, currentColor 25%, transparent);
    font-weight: 400;
    cursor: pointer;
}
.wpm-a11y-option > input[type="checkbox"] {
    position: static;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 2px 0 0;
    accent-color: currentColor;
}
.wpm-a11y-option > span { min-width: 0; }
.wpm-a11y-option strong { display: block; font-weight: 600; }
.wpm-a11y-option small { display: block; margin-top: 4px; font-size: .95em; color: inherit; }
.wpm-a11y-keyboard-help { padding-top: 24px; font-size: .9em; }
#wpm-a11y-form-status { margin-top: 12px; }
.wpm-profile-tabs { display: flex; flex-wrap: wrap; }
.wpm-profile-tabs > li { float: none; min-width: 0; }
.wpm-profile-tabs > li > a { white-space: normal; overflow-wrap: anywhere; }
/* ==================== FOOTER ACCESSIBILITY LINKS ==================== */
.wpm-a11y-footer-links,
.wpm-a11y-footer-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 4px;
    margin: 0 auto 6px auto;
    padding: 0;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}
#footer_bottom .wpm-a11y-footer-link,
#footer_bottom .wpm-a11y-footer-links a,
#footer_bottom .wpm-a11y-footer-links button,
.wpm-a11y-footer-link,
.wpm-a11y-footer-links a,
.wpm-a11y-footer-links button,
.wpm-a11y-footer-bar a,
.wpm-a11y-footer-bar button {
    display: inline-block;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 2px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    color: inherit !important;
    opacity: 0.75;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: opacity 0.2s ease, text-decoration 0.2s ease, color 0.2s ease;
    vertical-align: baseline;
}
#footer_bottom .wpm-a11y-footer-link:hover,
#footer_bottom .wpm-a11y-footer-link:focus,
#footer_bottom .wpm-a11y-footer-links a:hover,
#footer_bottom .wpm-a11y-footer-links button:hover,
#footer_bottom .wpm-a11y-footer-links a:focus,
#footer_bottom .wpm-a11y-footer-links button:focus,
.wpm-a11y-footer-link:hover,
.wpm-a11y-footer-link:focus,
.wpm-a11y-footer-links a:hover,
.wpm-a11y-footer-links button:hover,
.wpm-a11y-footer-links a:focus,
.wpm-a11y-footer-links button:focus,
.wpm-a11y-footer-bar a:hover,
.wpm-a11y-footer-bar button:hover,
.wpm-a11y-footer-bar a:focus,
.wpm-a11y-footer-bar button:focus {
    opacity: 1 !important;
    text-decoration: underline !important;
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
}
#footer_bottom .wpm-a11y-footer-link:focus-visible,
#footer_bottom .wpm-a11y-footer-links :focus-visible,
.wpm-a11y-footer-link:focus-visible,
.wpm-a11y-footer-links :focus-visible,
.wpm-a11y-footer-bar :focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px !important;
    opacity: 1 !important;
}
.wpm-a11y-footer-sep {
    display: inline-block;
    padding: 0 4px;
    opacity: 0.45;
    user-select: none;
    font-size: 11px;
    line-height: inherit;
    vertical-align: baseline;
}
.wpm-a11y-settings :focus-visible, .wpm-a11y-footer-bar :focus-visible, .wpm-a11y-footer-links :focus-visible, .wpm-profile-tabs :focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
html[data-wpm-focus="1"] :focus-visible {
    outline: 3px solid #1764bd !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px #ffffff !important;
}
@container (max-width: 340px) {
    .wpm-a11y-actions > *, .wpm-a11y-size-controls > * { flex-basis: 100%; width: 100%; }
}

/* ==================== PROPORTIONAL ZOOM AND RESPONSIVE LAYOUT ==================== */
html[data-wpm-font] .container, html[data-wpm-font] .container-fluid { max-width: 100%; min-width: 0; }
html[data-wpm-font] img, html[data-wpm-font] video { max-width: 100%; height: auto; }
html[data-wpm-font] iframe { max-width: 100%; }
html[data-wpm-font] .panel, html[data-wpm-font] .panel-body { min-width: 0; }
html[data-wpm-font] p, html[data-wpm-font] h1, html[data-wpm-font] h2,
html[data-wpm-font] h3, html[data-wpm-font] h4, html[data-wpm-font] label { overflow-wrap: anywhere; }
html[data-wpm-reflow] .row-flex { flex-wrap: wrap !important; }
html[data-wpm-reflow] [class*="col-md-"], html[data-wpm-reflow] [class*="col-lg-"],
html[data-wpm-reflow="small"] [class*="col-sm-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    float: none !important;
    margin-left: 0 !important;
    left: auto !important;
    right: auto !important;
}
html[data-wpm-reflow] .navbar-nav { display: flex; flex-wrap: wrap; float: none !important; }
html[data-wpm-reflow] .navbar-nav > li { float: none; }
html[data-wpm-reflow] .navbar-header, html[data-wpm-reflow] .navbar-right { float: none !important; }
html[data-wpm-reflow] .navbar-nav > li > a { white-space: normal; }
html[data-wpm-reflow] .navbar { height: auto !important; }
html[data-wpm-reflow] .table-responsive { max-width: 100%; overflow-x: auto; }

/* ==================== TEXT SPACING AND LINK VISIBILITY ==================== */
html[data-wpm-spacing="1"] :is(p, li, td, th, label, input, textarea, button, select, .panel-body, .inhalt) {
    line-height: 1.65 !important;
    letter-spacing: .12em !important;
    word-spacing: .16em !important;
}
html[data-wpm-spacing="1"] p { margin-bottom: 2em !important; }
html[data-wpm-spacing="1"] :is(.btn, button, .form-control, .panel-heading, #main_heading, .nav > li > a) {
    height: auto !important;
    min-height: 44px;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
html[data-wpm-spacing="1"] :is(.panel, .panel-body, .inhalt) { height: auto !important; min-width: 0; }
html[data-wpm-underline="1"] a[href] { text-decoration: underline !important; text-decoration-thickness: .1em !important; text-underline-offset: .18em !important; }

/* ==================== REDUCED MOTION ==================== */
html[data-wpm-motion-active] *, html[data-wpm-motion-active] *::before, html[data-wpm-motion-active] *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
}
html[data-wpm-motion-active] :is(.w_p_slideanim, .slideanim) { visibility: visible !important; opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ==================== EXPLICIT HIGH CONTRAST PALETTES ==================== */
@media (forced-colors: none) {
    html[data-wpm-contrast="high-dark"] { --wpm-contrast-bg: #101010; --wpm-contrast-text: #ffffff; --wpm-contrast-link: #ffeb70; }
    html[data-wpm-contrast="high-light"] { --wpm-contrast-bg: #ffffff; --wpm-contrast-text: #111111; --wpm-contrast-link: #003f91; }
    html[data-wpm-contrast] body, html[data-wpm-contrast] body *,
    html[data-wpm-contrast] body :is(.form-control, .btn),
    html[data-wpm-contrast] body :is(.form-control, .btn):is(:hover, :focus, :active, :disabled) {
        background-color: var(--wpm-contrast-bg) !important;
        background-image: none !important;
        color: var(--wpm-contrast-text) !important;
        border-color: var(--wpm-contrast-text) !important;
        text-shadow: none !important;
        box-shadow: none !important;
    }
    html[data-wpm-contrast] a[href], html[data-wpm-contrast] button { color: var(--wpm-contrast-link) !important; }
    html[data-wpm-contrast] a[href] { text-decoration: underline !important; }
    html[data-wpm-contrast] :focus-visible { outline: 3px solid var(--wpm-contrast-link) !important; outline-offset: 3px !important; }
    html[data-wpm-contrast] input::placeholder, html[data-wpm-contrast] textarea::placeholder { color: var(--wpm-contrast-text) !important; opacity: 1; }
}

/* ==================== AVATAR 1:1 RATIO SAFETY ==================== */
.profile-userpic img,
.profile-userpic .img-responsive,
.profile-userpic_list img,
.profile-userpic_list_user img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    height: auto !important;
}
