.dk-p6 { padding:6px; }
.dk-p8 { padding:8px; }
.dk-curpointe { cursor:pointer; }
.dk-op08 { opacity:0.8; }
.dk-w100pct { width:100%; }
.dk-bd1pxsol { border:1pxsolid#d8d8d8; }
.dk-vatop { vertical-align:top; }
.dk-cwhite { color:white; }
.dk-h20 { height:20px; }
/* #595959 achieves 7.0:1 contrast on white — passes WCAG 1.4.3 at all sizes (was #767676 = 4.54:1, fails at 9px on non-white bg) */
.dk-cgray { color:#595959; }
.dk-fssmall { font-size:small; }
.dk-bgcwhite { background-color:white; }
.dk-pt18 { padding-top:18px; }
.dk-top0 { top:0px; }
.dk-bd0solid { border:0solidwhite; }
.dk-ttupperc { text-transform:uppercase; }
.dk-taright { text-align:right; }
.dk-flleft { float:left; }
.dk-fstitalic { font-style:italic; }
.dk-p12 { padding:12px; }
.dk-taleft { text-align:left; }
.dk-bgcf8f8f8 { background-color:#f8f8f8; }
.dk-p0px20p { padding:0px20px0px20px; }
.dk-w90pct { width:90%; }
.dk-c636363 { color:#636363; }
.dk-vamiddle { vertical-align:middle; }
/* #767676 achieves 4.54:1 contrast on white — passes WCAG 1.4.3 (was #808080 = 3.94:1) */
.dk-c808080 { color:#767676; }
.dk-h100pct { height:100%; }
.dk-clboth { clear:both; }
.dk-cc10101 { color:#c10101; }
.dk-pl7 { padding-left:7px; }
.dk-tacenter { text-align:center; }
.dk-w220 { width:220px; }
.dk-lft0 { left:0px; }
.dk-pr5 { padding-right:5px; }
.dk-maxh500 { max-height:500px; }
.dk-p4 { padding:4px; }
.dk-fwbold { font-weight:bold; }
.dk-p10 { padding:10px; }
.dk-flright { float:right; }
.dk-tdunderl { text-decoration:underline; }
.dk-w400 { width:400px; }

/* WCAG 1.4.3 — #b91c1c = 5.9:1 on white, passes for bold text */
.dk-error-text { color:#b91c1c; font-weight:bold; }

/* WCAG 1.4.3 — #767676 = 4.54:1 on white, replaces failing #808080 (3.94:1) */
.dk-text-secondary { color:#767676; }

/* WCAG 1.4.3 — Issue 2377590: a.dk-standard-button:hover inherits a link hover color
   (#676767) which conflicts with the #636363 hover background (1.06:1 — fails).
   Explicitly restoring color:white gives 7.3:1 on #636363 — passes. */
.dk-standard-button:hover,
a.dk-standard-button:hover {
    color: white;
}

/* WCAG 1.4.3 — Force passing contrast on labels inside radio/checkbox groups
   Targets <label> elements rendered by dk:CustomRadioButtonList and dk:CustomCheckBoxList
   which inherit #808080 from .dk-standard-text ancestors. Issues: 2380800, 2383867 */
div[role="group"] label { color:#767676; }

/* Icon-only buttons — removes default button chrome, adds accessible focus ring */
.dk-btn-icon-only {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}
.dk-btn-icon-only:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

/* WCAG 2.4.7 / 2.4.11 — SC Groups 5, 9 (register.aspx)
   Combobox input/select had outline:none!important — now restored via :focus-visible.
   Token: --dk-color-focus = #005fcc (7.1:1), --dk-focus-width = 2px */
.dk-combobox > input[dk-textbox]:focus-visible,
.dk-combobox > select[dk-dropdownlist]:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 1px;
    z-index: 3;
}

/* WCAG 2.4.7 — SC 2.4.7 Groups 5 (register.aspx)
   Restore focus rings on link-buttons, submit buttons rendered inside registration form.
   Covers: a.dk-standard-button (btnYes/btnNo), input[type=submit] (CancelRegistrationButton, ContinueButton) */
a.dk-standard-button:focus-visible,
.dk-standard-button:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}
input.dk-btn-back:focus-visible,
input.dk-btn-middle:focus-visible,
input.dk-btn-continue:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

/* WCAG 1.4.11 — SC Group 12 (register.aspx)
   Active/focus border on text inputs and textareas must be ≥ 3:1 against background.
   Token: --dk-color-border-input = #767676 (4.54:1 on white, SC 1.4.11) */
.dk-ui-input:focus,
.dk-ui-input:active {
    border-color: #767676;
    outline: 2px solid #005fcc;
    outline-offset: 1px;
}

.dk-mauto { margin:auto; }

/* WCAG 2.4.1 — Skip navigation link: visually hidden until focused */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.sr-only.focusable:focus,
.sr-only.focusable:active {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    margin: 0;
    padding: 4px 8px;
    background: #005fcc;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    z-index: 9999;
}

.dk-pt20 { padding-top:20px; }

.dk-p20px02 { padding:20px020px0; }

.dk-p10px01 { padding:10px010px0; }

.dk-p8px08p { padding:8px08px0; }

.dk-wsnowrap { white-space:nowrap; }

.dk-fs12 { font-size:12px; }

.dk-lh25 { line-height:25px; }

.dk-top5 { top:5px; }

/* WCAG 1.4.3 — donate.aspx required-field markers — #b91c1c = 5.9:1 on white (PASS, was red/#ff0000 = 3.99:1 FAIL) — Issues 2378161-2378193 */
.dk-cred { color:#b91c1c; }

.dk-pl35 { padding-left:35px; }

.dk-curtext { cursor:text; }

.dk-lft20 { left:20px; }

.dk-fs20 { font-size:20px; }

.dk-cd4d4d4 { color:#d4d4d4; }

.dk-pt15 { padding-top:15px; }

.dk-pb10 { padding-bottom:10px; }

.dk-bd0 { border:0px; }

.dk-p0 { padding:0px; }

.dk-w98pct { width:98%; }

.dk-w80pct { width:80%; }

/* WCAG 1.4.3 — reglogon.aspx orange prompt — #ff6600 fails 3.0:1; #c45000 = 4.6:1 on white */
.dk-cff6600 { color: #c45000 !important; }

.dk-bgfff { background:#fff; }

.dk-pl10 { padding-left:10px; }

.dk-pr10 { padding-right:10px; }

.dk-pb5 { padding-bottom:5px; }

.dk-pt5 { padding-top:5px; }

.dk-bgcf9f9f9 { background-color:#f9f9f9; }

/* WCAG 1.3.1 — Borderless fieldset for radio/checkbox groups */
.dk-fieldset-borderless {
    border: none;
    padding: 0;
    margin: 0;
}

.dk-bdb1pxsol { border-bottom:1pxsolidrgba(0,0,0,0.2); }

.dk-p20 { padding:20px; }

.dk-top4 { top:4px; }

.dk-rgt0 { right:0; }

.dk-bgcfff { background-color:#fff; }

.dk-lh30 { line-height:30px; }

.dk-w40 { width:40px; }

.dk-top0 { top:0; }

.dk-c939292 { color:#939292; }

.dk-m8 { margin:8px; }

.dk-rgt10 { right:-10px; }

.dk-bot10 { bottom:-10px; }

.dk-bgbackgr { background:'+backgroundcolor+'; }

.dk-maxw300 { max-width:300px; }

.dk-p0px25p { padding:0px25px5px25px; }

.dk-pb20 { padding-bottom:20px; }

.dk-ovauto { overflow:auto; }

.dk-c979797 { color:#979797; }

.dk-mt12 { margin-top:12px; }

.dk-bot10 { bottom:10px; }

.dk-rgt10 { right:10px; }

.dk-w250 { width:250px; }

.dk-c707070 { color:#707070; }

.dk-p24 { padding:24px; }

.dk-w32 { width:32px; }

.dk-h32 { height:32px; }

.dk-top9 { top:-9px; }

.dk-tdnone { text-decoration:none; }

.dk-c000 { color:#000; }

.dk-pr8 { padding-right:8px; }

.dk-pl8 { padding-left:8px; }

.dk-bdb1 { border-bottom:1px; }

.dk-wsnormal { white-space:normal; }

.dk-borddd { border-bottom-color:#ddd; }

.dk-borsolid { border-bottom-style:solid; }

.dk-fs11 { font-size:11px; }

.dk-fs9 { font-size:9px; }

.dk-p2 { padding:2px; }

.dk-bdw1 { border-width:1px; }

.dk-bdssolid { border-style:solid; }

.dk-bdceee { border-color:#eee; }

.dk-top7 { top:-7px; }

.dk-top40pct { top:40%; }

.dk-lft50pct { left:50%; }

.dk-fwbolder { font-weight:bolder; }

.dk-fsmedium { font-size:medium; }

.dk--wetransl { -webkit-transform:translatex(-50%); }

.dk--mstransl { -ms-transform:translatex(-50%); }

.dk-tratransl { transform:translatex(-50%); }

.dk-borsolid { border-left-style:solid; }

.dk-boreee { border-left-color:#eee; }

.dk-bor1 { border-left-width:1px; }

.dk-bgceee { background-color:#eee; }

.dk-bdceaeaea { border-color:#eaeaea; }

.dk-bgcf2f2f2 { background-color:#f2f2f2; }

.dk-m1px0px { margin:1px0px2px0px; }

.dk-top100 { top:100px; }

/* WCAG 1.4.10 - prevent horizontal overflow for CMS content blocks */
#instructionHolder1 img {
    max-width: 100%;
    height: auto;
}

#instructionHolder1 {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.dk-w600 { width:600px; }

.dk-lh20 { line-height:20px; }

.dk-bor1 { border-bottom-width:1px; }

.dk-bgcrebecc { background-color:rebeccapurple; }

.dk-m0auto { margin:0auto; }

.dk-minw180 { min-width:180px; }

.dk-bgcsilver { background-color:silver; }

.dk-h150 { height:150px; }

.dk-w120 { width:120px; }

.dk-fsxsmall { font-size:x-small; }

.dk-h2 { height:2px; }

.dk-c990000 { color:#990000; }

.dk-borcollap { border-collapse:collapse; }

.dk-bgwhite { background:white; }

.dk-c767676 { color:#767676; }

.dk-x32b9 { *zoom:1; }

.dk-bga3e304 { background:#a3e304; }

.dk-m0 { margin:0px; }

.dk-distabler { display:table-row; }

.dk-maxw50pcti { max-width:50%!important; }

.dk-distabler { display:table-row-group; }

.dk-p3 { padding:3px; }

.dk-distablec { display:table-cell; }

.dk-distableh { display:table-header-group; }

.dk-hautoim { height:auto!important; }

.dk-w95pct { width:95%; }

.dk-distable { display:table; }

.dk-maxw25pcti { max-width:25%!important; }

.dk-distablef { display:table-footer-group; }

.dk-disnone { display:none; }

.dk-ovhidden { overflow:hidden; }

.dk-cb91c1c { color:#b91c1c; }

.dk-maxw100pct { max-width:100%!important; }

.dk-wauto9i { width:auto\9!important; }

.dk-cblack { color:black; }

.dk-mt10 { margin-top:10px; }

.dk-disblock { display:block; }

.dk-pr2 { padding-right:2px; }

.dk-bd1 { border:1px; }

.dk-bdce8e8e8 { border-color:#e8e8e8; }

.dk-maxw380 { max-width:380px; }

.dk-bgce8e8e8 { background-color:#e8e8e8; }

.dk-bdnone { border:none; }

.dk-ce8e8e8 { color:#e8e8e8; }

.dk-h1 { height:1px; }

.dk-w140 { width:140px; }

.dk-w100 { width:100px; }

.dk-bd0 { border:0; }

.dk-ml2 { margin-left:2px; }

.dk-w20 { width:20px; }

.dk-fssmalle { font-size:smaller; }

.dk-p5 { padding:5px; }

.dk-p8px0px { padding:8px0px8px0px; }

.dk-p0 { padding:0; }

/* WCAG 1.4.3 — SC 1.4.3 · Issues 2371588, 2371582, 2371583, 2371596, 2371597, 2371598, 2371584, 2371586, 2371587, 2371585 · ReserveFacility.aspx
   Calendar legend item text labels fail contrast against their background.
   #1a1a1a on white = 17.5:1 (PASS >= 4.5:1). */
#dk-color-available,
#dk-color-not-available,
#dk-color-light {
    color: #1a1a1a;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2371911 · ReserveFacility.aspx
   input#Cancel.dkbtn124mid background-image (dkbtn124mid.png) creates a gradient
   where white text fails 4.5:1 against the lighter portions.
   Override to white on #595959 bg = 7.0:1 (PASS). */
input.dkbtn124mid {
    color: white !important;
    background-color: #595959 !important;
    background-image: none !important;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2372635 · ReserveFacility.aspx
   table#DateCal .FR_ItemSelected has color:white on background-color:silver (#C0C0C0) = 1.49:1 (FAIL).
   Override to #1a1a1a on silver = 7.3:1 (PASS >= 4.5:1). */
table#DateCal .FR_ItemSelected {
    color: #1a1a1a !important;
}

.dk-bgcdedede { background-color:#dedede; }

.dk-minh100 { min-height:100px; }

.dk-bd1pxsol { border:1pxsolid#eee; }

.dk-p30 { padding:30px; }

.dk-pl20 { padding-left:20px; }

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2372862 · calendardetail.aspx
   .dk-cd-button background #adadad + white text = 2.24:1 (FAIL).
   Override to #767676 — white text on #767676 = 4.54:1 (PASS). */
.dk-cd-button,
a.dk-cd-button:link {
    background-color: #767676;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2373080 · calendardetail.aspx
   #aContactEmail:link uses color:#808080 = 3.95:1 on white (FAIL).
   Override to #767676 = 4.54:1 on white (PASS). */
#aContactEmail:link,
#aContactEmail:visited {
    color: #767676;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2372761 · calendardetail.aspx · Sprint 5 Phase B
   ul#dk-main-menu > li > a fails 4.5:1 text contrast in :focus state.
   Nav markup is BL-rendered (HeaderFooterBL.cs); fix applied here as stylesheet override.
   Fix: force #000000 text on #ffffff background when focused — 21:1 (AAA).
   Token: --dk-color-text-primary = #000000 (21:1), --dk-color-bg-page = #ffffff,
          --dk-color-focus = #005fcc (7.1:1), --dk-focus-width = 2px, --dk-focus-offset = 2px */
ul#dk-main-menu > li > a:focus-visible {
    color: var(--dk-color-text-primary);
    background-color: var(--dk-color-bg-page);
    outline: var(--dk-focus-width) solid var(--dk-color-focus);
    outline-offset: var(--dk-focus-offset);
    text-decoration: underline;
}
@media (forced-colors: active) {
    ul#dk-main-menu > li > a:focus-visible {
        color: LinkText;
        background-color: Canvas;
        outline-color: Highlight;
    }
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2373038 · reglogon.aspx
   input#RLCancel uses .dkbtn92mid: white text on #767676 bg = 3.95:1 (FAIL, needs ≥ 4.5:1).
   Override to #212529 on #e9ecef = 13.57:1 (PASS). */
input.dkbtn92mid, button.dkbtn92mid { color: #212529; background-color: #e9ecef; }

/* WCAG 1.4.3 — SC 1.4.3 · Issues 2372728 · store_showcart.aspx
   a.dkregerrorsnocart:link and :hover use color:red (#ff0000) = 3.99:1 on white (FAIL).
   Override to #b91c1c = 5.9:1 on white (PASS, ≥ 4.5:1). */
a.dkregerrorsnocart:link,
a.dkregerrorsnocart:hover { color: #b91c1c; }

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2371291, 2372769 · store_showcart.aspx
   .dk-standard-textbox::placeholder inherits #dbdbdb global placeholder (fails).
   Override to #767676 = 4.54:1 on white (PASS). */
.dk-standard-textbox::placeholder,
.dk-standard-controls input[type='text']::placeholder,
.dk-standard-controls input[type='email']::placeholder,
.dk-standard-controls input[type='password']::placeholder { color: #767676; }

/* WCAG 1.4.3 — SC 1.4.3 · Issues 2379375, 2379376 · store_showcart.aspx
   BL-rendered cart table th elements inherit #808080 (3.94:1 on white, FAIL).
   Override to #595959 = 7.06:1 on white (PASS, AAA). */
table.dkgvregister th,
table#cartTable th { color: #595959; }

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2379379 · store_showcart.aspx
   span.dk-standard-text inherits #808080 from .dk-standard-text (3.94:1 on white, FAIL).
   Override to #767676 = 4.54:1 on white (PASS). */
span.dk-standard-text { color: #767676; }

/* WCAG 1.4.11 — SC 1.4.11 · Issues 2366570, 2370400, 2370558, 2371190 · store_showcart.aspx
   .dk-standard-textbox has border-color:#d4d4d4 (source: style_dktopstyles.css line 183).
   #d4d4d4 on white background = 1.6:1 (FAIL, needs ≥ 3:1).
   Override to #767676 = 4.54:1 on white (PASS, exceeds both 3:1 and 4.5:1). */
.dk-standard-textbox,
.dk-standard-controls input[type='text'],
.dk-standard-controls input[type='email'],
.dk-standard-controls input[type='number'],
.dk-standard-controls input[type='date'],
.dk-standard-controls input[type='password'] { border-color: #767676; }

/* WCAG 1.4.3 — donate.aspx — SC 1.4.3 — Issues 2372354, 2378208
   Select option text inherits body color which may fail on custom-styled selects.
   Force #1a1a1a (near-black) for all option elements inside the form — 14.6:1 on white (PASS). */
#FundRaiserForm select option {
    color: #1a1a1a;
}

/* WCAG 1.4.10 — SC 1.4.10 · Issues 2379389, 2371365, 2369270 · store_showcart.aspx
   div#pagetitlediv contains a BL-rendered fixed-width table that clips at 320px viewport.
   At max-width 375px (320px + tolerance), force table cells to block layout so title reflows. */
@media (max-width: 375px) {
    div#pagetitlediv table,
    div#pagetitlediv tr,
    div#pagetitlediv th {
        display: block;
        width: 100% !important;
        white-space: normal !important;
    }
}

/* donate.aspx — donation amount input placeholder (SC 1.4.3) — Issue 2372323
   #767676 = 4.54:1 on white background — PASS */
input#NoButtonTextBox::placeholder {
    color: #767676;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issues 2371873 · donate.aspx
   .InputControl inputs/select/textarea use border #d4d4d4 on white = 1.5:1 (FAIL, needs ≥ 3:1).
   Override to #767676 = 4.54:1 on white (PASS). */
#FundRaiserForm .InputControl input[type="text"],
#FundRaiserForm .InputControl input[type="email"],
#FundRaiserForm .InputControl select,
#FundRaiserForm .InputControl textarea {
    border-color: #767676;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2371976 · donate.aspx
   TributeCheckBox checkbox border fails 3:1 graphical contrast. accent-color sets a11y-safe color.
   #005a9c on white = 4.79:1 (PASS ≥ 3:1 graphical, ≥ 4.5:1 text). */
input#TributeCheckBox {
    accent-color: #005a9c;
}

/* ============================================================================
   WCAG 1.4.3 — Store_ShippingInfo.aspx · Phase A Fixes
   ============================================================================ */

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2371878 · Store_ShippingInfo.aspx
   .dk-rm-ui-field-forms input placeholder text lacks contrast (#dbdbdb = 1.4:1 on white FAIL).
   Override to #767676 = 4.54:1 on white (PASS). */
.dk-rm-ui-field-forms input::placeholder {
    color: #767676;
    opacity: 1;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issues 2372077, 2372078 · Store_ShippingInfo.aspx
   Validator error message text uses inherited red (#ff0000 = 3.99:1 on white FAIL).
   Override to #b91c1c = 5.9:1 on white (PASS). */
.dk-rm-ui-field-forms span[id*="Validator"] {
    color: #b91c1c;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issues 2380860, 2380861 · Store_ShippingInfo.aspx
   Select dropdown option text may lack contrast on certain browsers.
   Force #1a1a1a = 14.6:1 on white (PASS). */
.dk-rm-ui-field-forms select option {
    color: #1a1a1a;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2371881 · Store_ShippingInfo.aspx (Phase B)
   Input and select borders lack 3:1 contrast (#d4d4d4 = 1.55:1 on white FAIL).
   Override to #767676 = 4.54:1 on white (PASS). Focus ring: 2px #005fcc. */
.dk-rm-ui-field-forms input[type="text"],
.dk-rm-ui-field-forms select {
    border: 1px solid #767676;
}

.dk-rm-ui-field-forms input[type="text"]:focus,
.dk-rm-ui-field-forms select:focus {
    border-color: #005fcc;
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2372070 · Store_ShippingInfo.aspx (Phase B)
   Browser default select dropdown arrow lacks 3:1 contrast.
   Replace with custom SVG arrow (#595959 on white = 7.0:1 PASS). */
.dk-rm-ui-field-forms select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23595959' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
    background-color: white;
}

/* WCAG 1.3.1 — SC 1.3.1 · Issue 2380862 · Store_ShippingInfo.aspx
   Headings inside form sections need margin reset to preserve layout. */
.dk-mb0 { margin-bottom: 0; }
.dk-mt0 { margin-top: 0; }

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2372359 · donate.aspx
   a#DonateButton.dk-btn-middle is a LinkButton (rendered as <a>).
   The existing input.dk-btn-middle:focus-visible rule does not cover <a> elements.
   White text (#fff) on #767676 background = 4.54:1 (PASS). Focus ring: 3px #005fcc. */
a.dk-btn-middle:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
    color: white;
    background-color: #767676;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2372291 · donate.aspx
   Custom select arrow is a low-contrast base64 PNG. Replace with high-contrast SVG (#595959 on white = 7.0:1).
   Scoped to #FundRaiserForm to override the inline <style> block without affecting other pages. */
#FundRaiserForm .InputControl select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23595959' d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
}

/* WCAG 1.4.10 — SC 1.4.10 · Issue 2372362 · donate.aspx
   At 320px viewport, div#pagetitlediv and table#DKProgress overflow horizontally.
   Force block display on progress table cells and allow title to word-break. */
@media (max-width: 400px) {
    table#DKProgress,
    table#DKProgress > tbody,
    table#DKProgress > tbody > tr {
        display: block;
        width: 100%;
    }
    table#DKProgress td {
        display: inline-block;
        width: auto;
        white-space: normal;
    }
    div#pagetitlediv {
        word-break: break-word;
        overflow-wrap: break-word;
        overflow-x: hidden;
    }
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2371979 · ReserveFacility.aspx
   dk-info2.png info icon (10px) is insufficient contrast as graphical object (SC 1.4.11 >= 3:1).
   Adding outline ensures the icon boundary meets 3:1. #595959 on #fff = 7.0:1 (PASS). */
td[id*="_ImageDiv"] img {
    outline: 1px solid #595959;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2378415 · ReserveFacility.aspx
   Mobile options icon (.dk-mobile-options) is a base64 PNG sprite; boosting filter contrast
   ensures the icon meets 3:1 against the page background. */
.dk-mobile-options {
    filter: contrast(200%);
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2379893 · ReserveFacility.aspx
   Calendar legend color swatches use border-color:Silver (Silver on white = 1.6:1, FAIL >= 3:1).
   Override to #595959 border = 7.0:1 on white (PASS). */
.dk-st-lbox.FR_CalendarDefault {
    border: 2px solid #595959;
}
span#dk-color-light-class {
    border: 2px solid #595959;
}

/* WCAG 1.4.3 — SC 1.4.3 · Issue 2371947 · ReserveFacility.aspx
   Date range text in facility list items fails 4.5:1 when row is in FR_Selectable hover/focus state
   (background #ffffcc = light yellow). #595959 on #ffffcc = 5.18:1 (PASS). */
.FR_Selectable span,
.FR_Selectable .dk-cgray,
.FR_Selectable .dk-fs9 { color: #595959; }
.FR_Selectable:hover span,
.FR_Selectable:focus-within span { color: #1a1a1a; }

/* WCAG 1.4.3 — SC 1.4.3 · ReserveFacility.aspx
   .dk-cgray.dk-fs9 inside FR_ItemSelected (silver/#C0C0C0 bg): #595959 on silver = 3.91:1 (FAIL).
   Override to #1a1a1a on silver = 9.49:1 (PASS >= 4.5:1). */
.FR_ItemSelected .dk-cgray,
.FR_ItemSelected .dk-fs9 { color: #1a1a1a !important; }

/* WCAG 1.4.3 — SC 1.4.3 · ReserveFacility.aspx
   .FR_CalendarOtherMonths uses color:#ccc on white = 1.61:1 (FAIL >= 4.5:1).
   Override to #767676 on white = 4.54:1 (PASS). */
.FR_CalendarOtherMonths { color: #767676 !important; }

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2372626 · ReserveFacility.aspx
   Selected facility item in active/selected state lacks 3:1 UI component border contrast.
   #003060 on #fff = 13.9:1 (PASS >= 3:1 graphical). */
#FacilityPanel_Data .FR_ItemSelected,
#FacilityPanel_Data [aria-selected="true"] {
    border: 2px solid #003060 !important;
    outline: 2px solid #003060;
}

/* WCAG 1.4.10 — SC 1.4.10 · Issue 2371501 · includes/header.ascx
   Main navigation SmartMenu (ul#dk-main-menu) loses content at 320px (400% zoom on 1280px screen).
   Force block-level display so items stack and remain reachable. */
@media (max-width: 320px) {
    #dk-main-menu,
    #dk-main-menu ul { max-width: 100vw; overflow-x: hidden; }
    #dk-main-menu > li { display: block; width: 100%; }
    #dk-main-menu > li > a { white-space: normal; word-break: break-word; }
}

/* WCAG 1.4.11 — SC 1.4.11 Phase B · PaymentInfo.aspx Issues 2372378, 2372380, 2373150, 2373149
   Input/select borders need ≥ 3:1 contrast against adjacent background.
   Default browser borders are often #767676 (4.54:1) which passes, but some controls
   use lighter borders. Force #595959 on active/focus for 7:1 ratio. */
.dk-payment-profile-input-panel input[type="text"]:focus,
.dk-payment-profile-input-panel input[type="text"]:active,
.dk-payment-profile-input-panel select:focus,
.dk-payment-profile-input-panel select:active,
.dk-ps-field-pad input[type="text"]:focus,
.dk-ps-field-pad input[type="text"]:active,
.dk-ps-field-pad select:focus,
.dk-ps-field-pad select:active {
    border: 1px solid #595959 !important;
    outline: 2px solid #005fcc;
    outline-offset: 1px;
}

/* WCAG 1.4.11 — SC 1.4.11 Phase B · PaymentInfo.aspx Issues 2373422, 2373424, 2373423, 2373426
   Select dropdown arrow icons (graphical objects) need ≥ 3:1 contrast.
   Provide custom dropdown arrow with sufficient contrast using SVG data URI.
   Arrow color #333 on white = 12.6:1 (PASS >= 3:1). */
.dk-payment-profile-input-panel select,
.dk-ps-field-pad select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333333' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 12px;
    padding-right: 28px;
}

/* WCAG 1.4.3 — SC 1.4.3 · Phase A · ProgramManagement/newunit.aspx
   .dk-standard-panel [header] uses #808080 text on #f8f8f8 bg = 3.71:1 (FAIL, needs ≥ 4.5:1).
   Override to #595959 = 5.34:1 on #f8f8f8 (PASS). Applies to GroupInfoLabel and similar headers. */
.dk-standard-panel [header],
.dk-standard-panel [header] span { color: #595959; }

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2371469 · ProgramManagement/NewUnit.aspx
   input#last_name and peer form controls use border #d4d4d4 on white (FAIL < 3:1).
   Force #767676 for a 4.54:1 boundary contrast ratio. */
form#frmNewUnit .FormPanel > input[type="text"],
form#frmNewUnit .FormPanel > select,
form#frmNewUnit .FormPanel > textarea {
    border: 1px solid #767676 !important;
}

/* WCAG 1.4.11 — SC 1.4.11 · Issue 2371470 · ProgramManagement/NewUnit.aspx
   Country select arrow uses low-contrast base64 PNG. Replace with dark SVG arrow.
   #333333 on white = 12.6:1 (PASS). */
form#frmNewUnit .FormPanel > select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333333' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 12px;
    padding-right: 28px;
}

/* WCAG 1.4.11 + 2.4.7 — SC 1.4.11 / 2.4.7 · Issues 2373561, 2373558 · ProgramManagement/NewUnit.aspx
   generic5 radio options need visible active contrast and keyboard focus indicator. */
form#frmNewUnit input[type="radio"][id^="generic5_"] {
    accent-color: #005a9c;
}
form#frmNewUnit input[type="radio"][id^="generic5_"]:focus,
form#frmNewUnit input[type="radio"][id^="generic5_"]:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

/* WCAG 1.4.10 — SC 1.4.10 · Issue 2371656 · ProgramManagement/NewUnit.aspx
   Prevent title clipping in pagetitlediv at 320px viewport by allowing header cell wrap. */
@media (max-width: 320px) {
    div#pagetitlediv,
    div#pagetitlediv > table,
    div#pagetitlediv > table > tbody > tr,
    div#pagetitlediv > table > tbody > tr > th {
        display: block;
        width: 100% !important;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
}
