/* Public interaction contracts; loaded after legacy CSS to retain component geometry. */
:root { --public-teal: #187d74; --header-clearance: 80px; --search-footer-height: 0px; }
html { scroll-padding-top: var(--header-clearance); }
body { padding-bottom: var(--search-footer-height); line-height: 1.6; color: #435b68; }
.btn-primary:not(.red):not(.btn-blue):not(.btn-dark-blue) { background-color: var(--public-teal); }
.btn-primary:not(.red):not(.btn-blue):not(.btn-dark-blue):is(:hover,:focus) { background-color: #12655d; }
.btn-blue { background-color: #1565c0; }
.btn-blue:is(:hover,:focus) { background-color: #124f99; }
#us-map { width: 100%; height: auto; aspect-ratio: 700 / 440; }
.chat-message:not(.user) .chat-text { color: #435b68; }
[hidden] { display: none !important; }
main { min-width: 0; }
main :is(h1,h2,h3,h4,p,li,td,th,.nav-breadcrumb) { overflow-wrap: anywhere; }
main :is(h1,h2,h3) { text-wrap: balance; }
main :is([id],a[name]), :is(input,select,textarea,button,a):focus { scroll-margin-top: var(--header-clearance); scroll-margin-bottom: calc(var(--search-footer-height) + 20px); }
:is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #0a4a83 !important; outline-offset: 3px; }
.navbar :is(a,button):focus-visible { outline-color: #fff !important; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100001; padding: 12px 20px; background: #fff; color: #123f68; }
.skip-link:focus { top: 8px; }
.navbar button { border: 0; background: transparent; color: inherit; font: inherit; min-height: 48px; }
.navbar :is(.button-collapse,.trigger-search) { width: 48px; min-height: 48px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.navbar .button-collapse { vertical-align: middle; }
.navbar .navbar-nav { align-items: center; height: 64px; margin-top: 0; margin-bottom: 0; }
.navbar .navbar-nav > li { display: flex; align-items: center; height: 64px; }
.navbar .navbar-nav > li > .nav-link { display: inline-flex; align-items: center; justify-content: center; height: 64px; font-size: 14px; line-height: 1.5; padding: 0 15px !important; }
.navbar .navbar-nav > li > .trigger-search { padding: 0 !important; }
.navbar .search-item { position: relative; }
.jail-search-wrap[hidden] { visibility: hidden; }
.jail-search-wrap { transition: width .25s ease; }
nav.search-open .jail-search-wrap { top: 64px; right: 0; transform: none; margin: 0; width: min(500px,calc(100vw - 24px)); background: white; padding: 8px; box-shadow: 0 4px 12px #0003; }
nav.search-open .jail-search-wrap.mobile-search { top: 64px; left: 0; right: 0; width: 100%; }
.search-label { display: block; color: #343434; font-size: 16px; line-height: 1.5; }
.jail-search-results { width: 100%; max-height: min(60vh,400px); overflow-y: auto; z-index: 100; }
.jail-search-results a[aria-selected=true] { background: #e3f2fd; outline: 2px solid #12629b; outline-offset: -2px; }
.search-status { color: #343434; background: #fff; font-size: .9rem; line-height: 1.5; }
.mobile-search-control { position: absolute; right: 10px; top: 8px; }
.side-nav { width: min(320px,100vw); height: 100dvh; padding: 0 0 20px; }
#side-nav-overlay { inset: 0; }
.side-nav .mobile-links { padding: 0; margin: 0; list-style: none; }
.drawer-close { position: absolute; right: 8px; top: 6px; width: 48px; height: 48px; border: 0; background: #fff; color: #123f68; font-size: 30px; }
.side-nav .drawer-submenu-toggle { display: block; width: 100%; min-height: 48px; text-align: left; padding: 0 32px; background: transparent; border: 0; font-size: 14px; font-weight: 500; color: #212121; }
.side-nav .logo { padding-right: 56px; }
.side-nav .logo img { max-width: 100%; height: auto; }
body.side-nav-visible { overflow: hidden; }
.inmate-locator :is(input:not([type=hidden]),select), .jail-search, #chat-input { min-height: 48px; font-size: 16px; }
.inmate-locator label { display: block; color: #343434; font-size: 1rem; margin-bottom: 4px; }
.inmate-locator .field-error { color: #a32121; font-size: .9rem; }
.inmate-locator [aria-invalid=true] { border: 2px solid #a32121; }
.inmate-locator .btn, #search-footer .btn, #chat-send { min-height: 48px; min-width: 48px; background-color: var(--public-teal) !important; color: #fff; }
.jail-buttons .btn, .inmate-search-button { background-color: var(--public-teal) !important; color: #fff !important; }
.jail-buttons .btn:is(:hover,:focus), .inmate-search-button:is(:hover,:focus) { background-color: #12655d !important; }

.editorial-byline, .editorial-byline a { color: #38516a !important; }
.facility-byline, .facility-byline a { color: #fff !important; }
.facility-byline a { text-decoration: underline; }
.background-video-toggle { min-height: 48px; border: 2px solid white; background: #124477; color: white; position: relative; z-index: 10; margin: 8px 16px; }
#close-search { width: 48px; height: 48px; top: 4px; right: 8px; background: transparent; border: 0; font-size: 30px; line-height: 1; }
.question-text .section-disclosure { width: 100%; min-height: 48px; display: flex; gap: 12px; align-items: center; padding: 0; text-align: left; background: transparent; color: inherit; border: 0; font: inherit; }
.section-disclosure::after { content: '−'; margin-left: auto; font-size: 24px; }
.section-disclosure[aria-expanded=false]::after { content: '+'; }
.question-text h2 { margin: 0; width: 100%; }
.question:not(.disclosure-enhanced) > .answer[data-initial-expanded] { max-height: none !important; height: auto !important; overflow: visible !important; }
.question:not(.disclosure-enhanced) > .answer[data-initial-expanded]::after { display: none; }
.section-disclosure:disabled { cursor: default; opacity: 1; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.question:not(.disclosure-enhanced) > .answer[data-initial-expanded] > .learn-more-link, .question:not(.disclosure-enhanced) > .answer[data-initial-expanded] > .show-less-link { display: none; }
.table-scroll { max-width: 100%; overflow-x: auto; }
main iframe { max-width: 100%; }
main img { max-width: 100%; }
@media (min-width: 992px) { .answer > :is(p,ul,ol), .paragraphs > p { max-width: 72ch; } }
@media (max-width: 600px) {
  .navbar #logo-container2 img { width: 190px; height: auto; }
  .navbar .container { padding-left: 6px; padding-right: 6px; }
  .inmate-locator .card-body { padding: 16px; }
  .inmate-locator h2 { font-size: 1.7rem !important; line-height: 1.3; }
  main h1 { font-size: clamp(1.8rem,7vw,2.92rem); }
  #search-footer .container { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
main .dropdown-menu a.dropdown-item {
    color: white;
}
