/* Preserve the existing 775px blue/white design; repair narrow-screen overflow. */
body { margin:0; background:#E6E4E5; }
#container { max-width:calc(100% - 2px); background:#fff; }
.header-top { display:block; width:100%; height:auto; }
.banner { display:block; width:100%; background:url(images/header_btm.jpg) center/cover; }
.banner img { display:block; width:100%; height:auto; }
#nav { height:auto; min-height:25px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
#nav a,#nav img { display:block; }
#nav a:focus-visible { outline:3px solid #fff; outline-offset:2px; }
#pagebody { display:flow-root; overflow-wrap:break-word; }
#pagebody img { max-width:100%; height:auto; }
.site-footer { clear:both; padding:24px 7% 30px; display:flex; gap:16px; justify-content:space-between; font:italic 12px 'Times New Roman',serif; color:#666; }
.site-footer a { color:#53616a; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { position:fixed; top:0; left:0; background:white; padding:12px; z-index:10; }
input,textarea { box-sizing:border-box; max-width:100%; }
input:not([type=checkbox]):not([type=submit]),textarea { width:100%; }
input[type=submit] { cursor:pointer; }
.form-trap { display:none; }
.contact-layout { table-layout:fixed; width:100%; }
.contact-layout td { overflow-wrap:anywhere; }
.contact-layout table { max-width:100%; box-sizing:border-box; }
.contact-layout .img_border { margin:0; }
@media(max-width:650px) {
 #header2 { font-size:clamp(18px,5vw,32px); padding-right:10px; padding-top:12px; padding-left:70px; background-size:auto 100%; }
 #nav { justify-content:space-evenly; gap:8px 12px; padding:8px; }
 .nav-divider { display:none!important; }
 #pagebody { font-size:14px; padding:14px; }
 #pagebody img[align=right] { max-width:45%; margin:0 0 12px 12px; }
 .contact-layout,.contact-layout>tbody,.contact-layout>tbody>tr,.contact-layout>tbody>tr>td { display:block; width:100%; }
 .contact-layout>tbody>tr>td { padding:0 0 16px; }
 .site-footer { flex-wrap:wrap; padding:20px 14px; }
 #pagebody table { max-width:100%; }
 input,textarea { font-size:16px; }
}

/* Contact and career posting alignment corrections. */
#pagebody.contact-page { padding-top:0; }
.job-postings { width:100%; border-collapse:collapse; margin:12px 0 20px; text-align:left; }
.job-postings th,.job-postings td { padding:7px 12px 7px 0; vertical-align:top; }
.job-postings th:first-child,.job-postings td:first-child { width:65%; }
.job-postings th:last-child,.job-postings td:last-child { white-space:nowrap; text-align:left; }
.job-postings td a { color:blue; text-decoration:underline; font-weight:bold; font-style:italic; }
.job-postings time { font-weight:bold; font-style:italic; }
