/* ============================================
   BASIC ALIGNMENT HELPERS
   ============================================ */

.aligntop { vertical-align: top; }
.bottomalign { vertical-align: bottom; }
.justbold { font-weight: bold; }
.smalltext { font-size: 11px; }
.redtext { font-size: 13px; color: #F66; }


/* ============================================
   BODY / GLOBAL
   ============================================ */

body {
  background-image: url(images/body.gif);
  background-repeat: repeat-x;
  background-color: #ffffff;
  font-family: system-ui, -apple-system, Arial, Helvetica, sans-serif;
  font-size: 16px; /* increased from 14px */
  margin-top: 30px;
  color: #222;
  line-height: 1.55;
}


/* ============================================
   WIDTH CONTAINERS
   ============================================ */

#wide_content {
  margin: 0 auto;
  width: 1500px; /* increased from 1300px */
}

#narrow_content {
  margin: 0 auto;
  width: 900px; /* increased from 800px */
}


/* ============================================
   HEADER (kept original look)
   ============================================ */

#header h1 {
  font-weight: normal;
  color: #FFF;
  font-size: 24px;
  font-family: Georgia, "Times New Roman", Times, serif;
}

#header #title {
  float: left;
  width: 450px;
}

#wide_content #header #userdata {
  float: right;
  color: #FFF;
  text-align: right;
}

#wide_content #header #userdata a {
  color: #FFF;
  text-decoration: none;
  padding: 0 4px;
  font-size: 15px;
}


/* ============================================
   NAVIGATION BAR — SHRUNK & MODERNIZED
   ============================================ */

#wide_content #navbar {
  border-top: 1px solid #91A9C5;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  color: #FFF;
  clear: both;
  padding: 2px 0 0 0; /* shrunk vertically */
  line-height: 16px;
}

#wide_content #navbar #menu {
  float: left;
  width: 70%;
  margin-top: 2px;
  color: #91A9C5;
}

#wide_content #navbar #menu a {
  color: #FFF;
  text-decoration: none;
  font-size: 15px; /* increased from 13px */
  padding: 2px 8px 4px;
  line-height: 18px;
}

#wide_content #navbar #menu a:hover {
  border-bottom: 2px solid #FFF;
}

#wide_content #navbar #search {
  float: right;
  width: 30%;
  text-align: right;
  padding-top: 0;
  margin-top: 0;
}

#wide_content #navbar #search input[type="text"],
#wide_content #navbar #search input[type="search"],
#wide_content #navbar #search .searchentry {
  height: 24px;
  padding: 2px 28px 2px 6px;
  font-size: 15px; /* increased from 13px */
}


/* ============================================
   PAGE CONTENT LAYOUT
   ============================================ */

#wide_content #pagedata {
  padding: 14px 10px 10px;
  clear: both;
}

#wide_content #pagedata #left {
  float: left;
  width: 50%;
}

#wide_content #pagedata #right {
  float: right;
  width: 50%;
}

#pagedata h1 {
  color: #336699;
  font-size: 20px; /* bumped from 18px */
}


/* ============================================
   FOOTER
   ============================================ */

#footer {
  padding-top: 10px;
  clear: both;
  font-size: 13px; /* slightly larger */
  color: #999;
  border-top: 1px solid #91A9C5;
  text-align: right;
}

#footer a {
  font-weight: bold;
  color: #336699;
  text-decoration: none;
}


/* ============================================
   TABLES — MODERATED MODERNIZATION
   ============================================ */

.fulltable {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}

.tabletop {
  font-size: 13px; /* was 11px */
  padding: 8px 10px; /* was 6px 8px */
  font-family: Verdana, Geneva, sans-serif;
  background-color: #e5e7eb;
  font-weight: 600;
}

.tablerow {
  padding: 8px 10px; /* was 6px 8px */
  vertical-align: top;
  font-size: 14px; /* was 12px */
  border-bottom: 1px solid #e2e8f0;
}

.rowlist:hover {
  background-color: #fff7cc;
}

.tablerow a {
  color: #336699;
  text-decoration: none;
}


/* ============================================
   COLUMN TYPES
   ============================================ */

.halftoptable {
  vertical-align: top;
  width: 50%;
}

.firstcell {
  width: 34%;
  font-size: 12px; /* slightly larger than before */
  font-weight: bold;
  color: #666;
}

.firstcell a {
  font-size: 10px;
  font-weight: bold;
  text-decoration: none;
  color: #336699;
}

.lastcell {
  width: 12%;
}


/* ============================================
   INPUTS / FORMS
   ============================================ */

/* General inputs */
.entrytext,
.entrytextalert,
.bigentrytext,
.smallentrytext,
.entrybox {
  font-family: Arial, Helvetica, sans-serif;
  border-radius: 3px;
  box-sizing: border-box;
}

/* Big entry */
.bigentrytext {
  width: 100%;
  padding: 8px 10px;       /* was 6px 8px */
  font-size: 16px;         /* was 14px */
  border: 1px solid #cbd0d6;
}

/* Small entry */
.smallentrytext {
  padding: 4px 8px;        /* was 3px 6px */
  width: 80px;             /* was 60px */
  border: 1px solid #cbd0d6;
  color: #333;
  font-size: 14px;         /* was un-set / small */
}

/* Multi-line box */
.entrybox {
  width: 100%;
  height: 120px;           /* slightly taller */
  padding: 8px;
  border: 1px solid #cbd0d6;
  background-color: #fafafa;
  color: #333;
  overflow: auto;
  resize: vertical;
}

/* Normal input */
.entrytext {
  width: 100%;
  padding: 6px 9px;        /* was 4px 7px */
  font-size: 14px;         /* was 12px */
  border: 1px solid #e1e1e1;
  background-color: #fbfbfd;
  color: #666;
}

.entrytext:hover {
  border-color: #fbbf24;
  background-color: #fffdf5;
  color: #854d0e;
}

/* Alert input */
.entrytextalert {
  width: 100%;
  padding: 6px 9px;        /* was 4px 7px */
  font-size: 14px;         /* match entrytext */
  border: 1px solid #fecaca;
  color: #c00;
  background-color: #fef2f2;
}

/* Search field */
.searchentry {
  padding: 6px 34px 6px 10px; /* bigger target */
  width: 320px;               /* was 270px */
  border: 1px solid #91A9C5;
  color: #334155;
  font-size: 16px;            /* was 14px */
  border-radius: 999px;
  background-color: #ffffff;
  background-image: url(images/icons/search.png);
  background-position: right 8px center;
  background-repeat: no-repeat;
}


/* ============================================
   AUTOCOMPLETE DROPDOWN
   ============================================ */

#results {
  width: 260px;
  display: none;
  position: absolute;
  background-color: #fff;
  padding: 4px;
  border: 1px solid #91A9C5;
  box-shadow: 0 4px 10px rgba(15,23,42,0.15);
  z-index: 20;
}

#results ul,
#results li {
  padding: 0;
  margin: 0;
  list-style: none;
}

#results li a {
  display: block;
  padding: 4px 6px;
  font-size: 13px;        /* slightly bigger */
  text-decoration: none;
  color: #1d4ed8;
  border-radius: 2px;
}

#results li a:hover {
  background-color: #eef2ff;
  color: #1e3a8a;
}


/* ============================================
   MAP CANVAS
   ============================================ */

#map_canvas {
  height: 220px;           /* was 200px */
  width: 95%;
  margin: 10px auto;
}


/* ============================================
   ICONS
   ============================================ */

.icon {
  padding: 2px;
  border: 1px solid #FFF;
  border-radius: 2px;
}

.icon:hover {
  border-color: #CCC;
}


/* ============================================
   BUTTONS
   ============================================ */

.big_button {
  min-width: 120px;          /* was 100px */
  height: 36px;              /* was 30px */
  background-color: #00a3d5;
  color: #fff;
  border: 1px solid #0080a8;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;           /* was 11px */
  font-weight: bold;
  border-radius: 4px;
  cursor: pointer;
}

.big_button:hover {
  background-color: #008fbf;
}


/* ============================================
   MISC
   ============================================ */

.clear { clear: both; }
.hidden { display: none; margin-bottom: 10px; }

fieldset {
  padding: 8px 12px;        /* slightly larger */
  border: 1px solid #D2DCE8;
  width: 96%;
  margin-top: 10px;
  border-radius: 4px;
  background-color: #f9fafb;
}

legend {
  padding: 4px 10px;
  border: 1px solid #91A9C5;
  font-size: 12px;          /* was 11px */
  font-family: Verdana, Geneva, sans-serif;
  background-color: #f1f5f9;
  margin-left: 6px;
  border-radius: 999px;
}

.captcha { border: 1px solid #E1E1E1; }
.userentry { font-family: "Courier New", Courier, monospace; }

.file {
  padding: 4px 6px;
  background-color: #FFF;
  border: 1px solid #E7E7E7;
  margin: 6px 0;
  border-radius: 3px;
}

.response {
  margin-left: 20px;
  border: 1px solid #CCC;
  background-color: #FFC;
  padding: 4px 6px;
  border-radius: 3px;
}
