/* Existing Portal: keyboard, dialog and authentication remediation. */
body :focus-visible {
    outline: 3px solid #005a9c !important;
    outline-offset: 3px;
}
.portal-error-summary:focus {
    outline: 3px solid #005a9c;
    outline-offset: 3px;
}
.portal-error-summary h2 {
    margin: 0 0 .5rem;
    font-size: 1.2em;
}
.portal-error-summary ul { margin-bottom: 0; }
.applicant-forms-table .portal-form-action {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 2px;
    color: #005a78;
    cursor: pointer;
    font: inherit;
    padding: .35em .5em;
    text-decoration: underline;
    min-height: 24px;
}
#privacy .account-builder-wrapper.account-privacy {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: calc(100dvh - 2rem);
}
#privacy .account-privacy-aside {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    float: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
}
#privacy .portal-privacy-text {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    height: auto;
    overflow-y: auto;
    overflow-wrap: anywhere;
    overscroll-behavior: contain;
    padding-bottom: 1rem;
}
#privacy .ab-footer {
    box-sizing: border-box;
    position: static;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    height: auto;
    min-height: 70px;
    padding: 1rem;
}
#privacy .ab-next-button { float: none; margin: 0; }
#privacy .ab-footer a { color: #fff !important; text-decoration: underline; }
#privacy:not(.active-window) { display: none !important; }
#image-library .image-step[hidden] { display: none !important; }
.callout[data-portal-active-dialog] { z-index: 10001 !important; }
.portal-zoom-tools {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .75rem 0;
}
.portal-zoom-tools button {
    min-width: 44px;
    min-height: 36px;
    font: inherit;
}
.portal-zoom-help {
    flex-basis: 100%;
    margin: .25rem 0;
    text-align: center;
    font-size: .95em;
}
#image-library .cr-slider { min-height: 32px; }
@media (forced-colors: active) {
    body :focus-visible { outline-color: Highlight !important; }
}
.portal-visually-hidden { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.portal-confirm-review { clear:both; padding:1rem 2rem; text-align:left; }
.portal-confirm-review:focus { outline:3px solid #005a9c; }
.portal-confirm-answers { margin:1rem 0; }
.portal-confirm-answer { display:grid; grid-template-columns:minmax(8rem,1fr) minmax(0,2fr); border-bottom:1px solid #ccc; padding:.5rem; gap:1rem; overflow-wrap:anywhere; }
.portal-confirm-answer dt { font-weight:700; }
.portal-confirm-answer dd { margin:0; white-space:pre-wrap; }
.portal-upload-error { color:#8b0000; padding:.75rem; }
.portal-form-list { list-style:none; margin:0 0 1.5rem; padding:0; width:100%; min-width:0; }
.portal-form-item { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:center; gap:1rem; padding:.75rem 0; border-bottom:1px solid #ccc; min-width:0; }
.portal-form-name { font-weight:600; }
.portal-form-name, .portal-form-state, .portal-form-action-wrap { min-width:0; overflow-wrap:anywhere; }
.portal-form-action-wrap { justify-self:end; }
@media (max-width:640px) {
    #portal-main, #portal-main .container, #portal-main .two-column, #portal-main .forms-container,
    #portal-main #content-table, #portal-main #content-table-inner { width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box; }
    #portal-main .forms-container { float:none!important; }
    #portal-main .portal-form-item { display:flex; flex-direction:column; align-items:stretch; gap:.5rem; }
    #portal-main .portal-form-action-wrap { align-self:flex-start; }
    #portal-main .portal-form-action { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
    #confirm-callout-full .Form-row[class*="layout-"] { float:none!important; width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box; }
    #confirm-callout-full .Form-label, #confirm-callout-full .Form-label-text,
    #confirm-callout-full .Form-inputHolder, #confirm-callout-full .Form-input { float:none!important; display:block; width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box; }
    #confirm-callout-full > section { box-sizing:border-box; }
    .portal-confirm-answer { display:block; }
}
