/* Original ACS theme is preserved; these styles support restored forms and phones. */
* { box-sizing: border-box; }
body { overflow-wrap: break-word; }
#header { box-sizing: content-box; }
#authorize { width: auto; max-width: 48%; }
#authorize ul { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
#authorize li { list-style: none; }
#slideshow-wrapper { position: relative; }
.slideshow { position: relative; }
.slideshow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.slideshow img:first-child { display: block; }
.mission { box-sizing: content-box; }
input, textarea, select, button { font: inherit; }
.form-item { margin: 18px 0; }
label { display: block; margin: 12px 0 5px; font-weight: bold; }
input:not([type=hidden]):not([type=file]), textarea { width: 100%; max-width: 100%; padding: 9px 10px; background: white; border: 1px solid #aaa; border-radius: 3px; }
input[type=file] { display: block; margin: 12px 0; max-width: 100%; }
select { display: block; padding: 8px; margin: 6px 0 18px; border: 1px solid #aaa; background: white; max-width: 100%; }
button, .button { cursor: pointer; display: inline-block; padding: 9px 16px; margin: 8px 0; border: 1px solid #0b5ed8; border-radius: 3px; background: #0b5ed8; color: white!important; font-weight: bold; }
button:hover, .button:hover { background: #084aaa; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .rich-editor:focus-visible { outline: 3px solid #e87e17; outline-offset: 3px; }
.notice { background: #eaf4ed; padding: 14px; border-left: 4px solid #47804f; margin: 0 0 20px; }
.error { color: #a42020; padding: 10px; background: #fff0f0; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid #ddd; }
.admin-nav a { font-weight: bold; }
.admin-table { width: 100%; border-collapse: collapse; margin: 20px 0; table-layout: fixed; }
.admin-table th, .admin-table td { padding: 10px 7px; text-align: left; border-bottom: 1px solid #ddd; vertical-align: top; }
.admin-table th { background: #edf2f9; }
.dashboard-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 25px 0; }
.dashboard-cards a { background: #edf2f9; border: 1px solid #cedcf2; padding: 18px; }
.dashboard-cards strong { display: block; font-size: 30px; margin-bottom: 10px; }
.message-body { white-space: pre-wrap; padding: 20px; border: 1px solid #ddd; margin: 20px 0; }
.rich-editor { background: white; border: 1px solid #aaa; padding: 15px; min-height: 320px; max-height: 650px; overflow: auto; }
.rich-editor img { max-width: 100%; height: auto; }
.rich-editor:focus { border-color: #0b5ed8; }
.editor-tools { display: flex; flex-wrap: wrap; gap: 6px; }
.editor-tools button { font-size: 13px; padding: 5px 10px; }
.html-source { font-family: Consolas, monospace; }
.news-entry { border-bottom: 1px solid #ddd; padding: 20px 0; }
.news-entry h2 { margin-bottom: 8px; }
.meta { font-size: 12px; color: #777; }
.views-table,.views-view-grid { max-width: 100%; }
#main-content img { max-width: 100%; }
@media(max-width: 840px) {
  #header-wrapper { height: auto; min-height: 90px; }
  #header, #container-outer, #container-inner, #menu-wrapper, .menu-outer, .menu-inner, #shadow-bottom, #slideshow-wrapper, .slideshow, #footer, #footer-wrapper { width: 100%!important; max-width: 818px; }
  #container-outer, #container-wrapper, #container-inner { background-image: none; }
  #header { box-sizing: border-box; padding: 10px 16px; height: auto; min-height: 90px; }
  #branding-wrapper { width: 55%; height: auto; }
  .name-slogan-wrapper { max-width: 240px; }
  #authorize { max-width: 45%; margin-top: 8px; }
  #menu, #menu ul.links { width: 100%; height: auto; display: flex; flex-wrap: wrap; }
  #menu li { float: none; }
  #menu-wrapper, .menu-outer, .menu-inner { height: auto; min-height: 43px; background: #f5f5f5; }
  .menu-left, .menu-right { display: none; }
  #menu a { padding: 10px 14px; }
  #content-wrapper { padding: 25px 22px!important; }
  #slideshow-wrapper, .slideshow { height: auto; aspect-ratio: 804/375; }
  .mission { font-size: 16px; width: auto; max-width: calc(100% - 48px); margin: 0; left: 24px; bottom: 28px; padding: 14px; }
  #footer { padding: 20px; }
}
@media(max-width: 580px) {
  #header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  #branding-wrapper { width: 100%; float: none; }
  .branding { float: none; display: flex; align-items: center; margin: 8px 0; }
  .name-slogan-wrapper { float: none; max-width: none; flex: 1; }
  .logo { float: none; flex-shrink: 0; }
  #authorize { float: none; max-width: 100%; width: 100%; }
  #authorize ul { justify-content: flex-start; padding: 0; margin: 0; }
  .site-name { font-size: 20px!important; }
  #menu a { font-size: 13px; padding: 9px 10px; }
  .mission { box-sizing: border-box; width: calc(100% - 48px); font-size: 13px; bottom: 18px; line-height: 1.4; padding: 10px; }
  #main-content .panels-flexible-column, #main-content .panels-flexible-region, #main-content .panel-flexible { width: 100%!important; float: none!important; }
  #main-content .panels-flexible-column-last { margin-top: 26px; }
  #main-content img[style] { float: none!important; height: auto!important; }
  .admin-table th, .admin-table td { font-size: 12px; padding: 7px 4px; }
  .dashboard-cards { gap: 8px; }
  .dashboard-cards a { padding: 12px; }
}
@media(prefers-reduced-motion: reduce) { * { scroll-behavior: auto!important; } }
