/* Shared responsive layout for the original table-based pages and admin forms. */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-wrap: anywhere; }
img, video, iframe, embed, object { max-width: 100%; }
img { height: auto; }
table { max-width: 100%; }
input, textarea, select, button { max-width: 100%; font: inherit; }
textarea { width: 100%; min-height: 8rem; }
input:not([type=hidden]), select, button { min-height: 2.5rem; }
button, input[type=submit], input[type=button] { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #126db0; outline-offset: 2px; }
.site-navigation { background: #789327; color: #fff; font: 14px/1.4 Arial,sans-serif; width: 180px; }
.site-navigation a, .site-navigation summary { display: block; padding: 11px 14px; color: #fff !important; text-decoration: none; border-bottom: 1px solid #ffffff40; cursor: pointer; }
.site-navigation summary { display: list-item; list-style-position: inside; }
.site-navigation > summary { font-weight: bold; }
.site-navigation nav > details { background: #607822; }
.site-navigation nav > details > a { padding-left: 25px; }
.site-navigation a:hover { background: #4f651b; }
@media (max-width: 1020px) {
  table[width="1000"], table[width="990"], table[width="980"], table[width="900"], table[width="828"], table[width="821"] { width: 100% !important; }
  td[width="828"], td[width="821"], td[width="981"] { width: auto; }
}
@media (max-width: 1000px) {
  body { font-size: 16px; line-height: 1.45; }
  body > br { display: none; }
  .site-navigation { width: 100%; }
  .sidebar-promo { display: none; }
  img[src*="sky_left"], img[src*="grass_left"], img[src*="curve_top"], img[src*="curve_btm"] { display: none; }
  table { width: 100% !important; height: auto !important; table-layout: auto; }
  table, tbody, thead, tfoot, tr, td, th { max-width: 100%; }
  td, th { overflow-wrap: anywhere; }
  /* Layout tables have no column headings. Data tables remain scrollable. */
  table:not(:has(th)) > tbody > tr > td { display: block; width: 100% !important; height: auto !important; }
  table:has(th) { display: block; overflow-x: auto; }
  table:has(th) > tbody > tr > td { display: table-cell; }
  td:empty { display: none !important; }
  img { max-width: 100% !important; height: auto !important; }
  iframe, embed, object { width: 100% !important; }
  embed[src$=".swf"], object:has(param[value$=".swf"]) { display: none; }
  .ddsmoothmenu-v, .ddsmoothmenu { width: 100% !important; }
  .ddsmoothmenu-v ul, .ddsmoothmenu ul { width: 100% !important; margin: 0; padding: 0; }
  .ddsmoothmenu-v ul li, .ddsmoothmenu ul li { float: none; }
  .ddsmoothmenu-v ul li a, .ddsmoothmenu ul li a { min-height: 44px; height: auto; padding: 10px 16px; }
  .ddsmoothmenu-v ul li ul, .ddsmoothmenu ul li ul { position: static !important; display: block !important; visibility: visible !important; opacity: 1 !important; padding-left: 16px; }
  .ddshadow, .downarrowclass, .rightarrowclass { display: none !important; }
  input[type=text], input[type=password], input[type=email], select, textarea { width: 100%; font-size: 16px; }
  .shadow, .shadow2 { background-image: none; }
}

.news-scroll { max-height: 18rem; overflow: auto; }
@media(max-width:1000px){.news-scroll{max-height:12rem} .newbg{background:#e6eff4 !important} td[background]{background-size:cover} }

.photo-dialog{max-width:95vw;max-height:95vh;border:0;padding:1rem}.photo-dialog::backdrop{background:#000b}.photo-dialog img{display:block;max-height:80vh;margin:auto}.photo-dialog button{display:block;margin:0 0 1rem auto}audio{max-width:100%}

.school-posters{max-width:1000px;margin:auto}.school-posters h1{font:700 1.5rem Arial;padding:1rem}.school-posters img{display:block;width:100%;height:auto}
