
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video { margin:0;     padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }
body { line-height:1; }
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; box-sizing:border-box; }

/* End reset */


@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300&display=swap');

body {padding:25px; font-family: 'Montserrat', sans-serif; background: #fdfdff no-repeat url('/static/images/blank.gif') 0% 0%/150px;}


body.maine-state {background: #fdfdff no-repeat url('/static/images/maine-counties.gif') 0% 0%/150px;}
body.nevada-state {background: #ffdddd no-repeat url('/static/images/nevada-county-map.gif') 0% 0%/150px;}
body.mississippi-state {background: #fdfffd no-repeat url('/static/images/mississippi_map.png') 0% 0%/150px;}
body.missouri-state {background: #f0f0ff no-repeat url('/static/images/missouri_map.png') 0% 0%/150px;}
body.illinois-state {background: #fdfffd no-repeat url('/static/images/illinois-counties.gif') 0% 0%/150px;}
body.delaware-state {background: #fdfffd no-repeat url('/static/images/delaware-county-map.gif') 0% 0%/150px;}
body.rhodeisland-state {background: #fdfffd no-repeat url('/static/images/rhode-island-county-map.gif') 0% 0%/150px;}
body.georgia-state {background: #fff0f0 no-repeat url('/static/images/georgia-county-map.gif') 0% 0%/150px;}
body.newjersey-state {background: #fff0fF no-repeat url('/static/images/newjersey-counties.gif') 0% 0%/150px;}
body.texas-state {background: #f0f0dd no-repeat url('/static/images/texas-counties.gif') 0% 0%/150px;}
body.florida-state {background: #D0EED0 no-repeat url('/static/images/florida-counties.gif') 0% 0%/150px;}
body.nebraska-state {background: #D0EED0 no-repeat url('/static/images/nebraska-counties.png') 0% 0%/150px;}

body {
  padding: 2rem;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #ffffff;
  line-height: 1.6;
  min-height: 100vh;
}

body.missouri-state {
  background: radial-gradient(circle at center, #1a3c34 0%, #1e3a8a 25%, #4a1a4a 50%, #1e3a8a 75%, #1a3c34 100%);
  background-size: 150% 150%;
  animation: gradientPulse 25s ease-in-out infinite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  gap: 1.5rem;
}

body.florida-state {
  background: linear-gradient(45deg, #1c2526 0%, #2c3e50 25%, #4682b4 50%, #800080 75%, #9400d3 100%),
              repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255, 255, 255, 0.05) 20px, rgba(255, 255, 255, 0.05) 40px);
  background-size: 200% 200%;
  animation: waveFlow 15s ease-in-out infinite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  gap: 1.5rem;
}

body.alaska-state {
  background: linear-gradient(45deg, #1c2526 0%, #2c3e50 25%, #4682b4 50%, #800080 75%, #9400d3 100%),
              repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255, 255, 255, 0.05) 20px, rgba(255, 255, 255, 0.05) 40px);
  background-size: 200% 200%;
  animation: waveFlow 15s ease-in-out infinite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  gap: 1.5rem;
}

body.nebraska-state {
  background: linear-gradient(45deg, #1c2526 0%, #2c3e50 25%, #4682b4 50%, #800080 75%, #9400d3 100%),
              repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(255, 255, 255, 0.05) 20px, rgba(255, 255, 255, 0.05) 40px);
  background-size: 200% 200%;
  animation: waveFlow 15s ease-in-out infinite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  gap: 1.5rem;
}

@keyframes waveFlow {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

@keyframes gradientPulse {
  0% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}

.missouri-map {
  display: none; /* Hide Missouri map image */
}

button {border-radius: 8px; border 1px solid #666; padding: 3px 10px; font-size:1.1em; background-color:#eee; cursor: pointer;}
input {font-size: 1.1em;}

body.florida-state input[type="text"],
body.florida-state input[type="password"],
body.florida-state select {
  font-size: 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 2px solid transparent;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: all 0.3s ease;
  box-shadow: inset 0 0 5px rgba(148, 0, 211, 0.3);
  width: 100%;
  box-sizing: border-box;
}
body.florida-state input[type="text"]:focus,
body.florida-state input[type="password"]:focus,
body.florida-state select:focus {
  outline: none;
  border-color: #9400d3;
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 15px rgba(148, 0, 211, 0.5);
  transform: scale(1.02);
}

body.florida-state select option {
  margin: 40px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

body.nebraska-state input[type="text"],
body.nebraska-state input[type="password"],
body.nebraska-state select {
  font-size: 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 2px solid transparent;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: all 0.3s ease;
  box-shadow: inset 0 0 5px rgba(148, 0, 211, 0.3);
  width: 100%;
  box-sizing: border-box;
}
body.nebraska-state input[type="text"]:focus,
body.nebraska-state input[type="password"]:focus,
body.nebraska-state select:focus {
  outline: none;
  border-color: #9400d3;
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 15px rgba(148, 0, 211, 0.5);
  transform: scale(1.02);
}

body.nebraska-state select option {
  margin: 40px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}



body.alaska-state input[type="text"],
body.alaska-state input[type="password"],
body.alaska-state select {
  font-size: 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 2px solid transparent;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: all 0.3s ease;
  box-shadow: inset 0 0 5px rgba(148, 0, 211, 0.3);
  width: 100%;
  box-sizing: border-box;
}
body.alaska-state input[type="text"]:focus,
body.alaska-state input[type="password"]:focus,
body.alaska-state select:focus {
  outline: none;
  border-color: #9400d3;
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 15px rgba(148, 0, 211, 0.5);
  transform: scale(1.02);
}

body.alaska-state select option {
  margin: 40px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}


body.missouri-state input[type="text"],
body.missouri-state input[type="password"],
body.missouri-state select {
  font-size: 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 2px solid transparent;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  transition: all 0.3s ease;
  box-shadow: inset 0 0 5px rgba(42, 157, 143, 0.3);
  width: 100%;
  box-sizing: border-box;
}
body.missouri-state input[type="text"]:focus,
body.missouri-state input[type="password"]:focus,
body.missouri-state select:focus {
  outline: none;
  border-color: #2a9d8f;
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 15px rgba(42, 157, 143, 0.5);
  transform: scale(1.02);
}

body.missouri-state select option {
  margin: 40px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.header h1 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  text-shadow: 0 0 10px rgba(42, 157, 143, 0.5), 0 0 20px rgba(42, 157, 143, 0.3);
  letter-spacing: 1px;
  margin-bottom: 1rem;
  transition: transform 0.3s ease;
}
.header h1:hover {
  transform: scale(1.05);
}

button {
  border-radius: 12px;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  background: #2a9d8f;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
button:hover {
  background: #248b7d;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}
button:active {
  transform: translateY(0);
}
button * { vertical-align: middle; }

.login-form {
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  border-radius: 12px;
  text-align: center;
  color: #ffffff;
  width: 300px;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.main .body {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

ul { padding-left: 1.5rem; }

.row > * { display: inline-block; vertical-align: middle; }

.ctl {
  display: inline-block;
  padding: 0.5rem;
  vertical-align: top;
  margin: 0.25rem;
  width: 95%;
}
.ctl > * { vertical-align: top; }
.row > .ctl { width: auto; }
.ctl .text:after {
  content: '\A';
  white-space: pre;
}

.form {
  padding: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: inline-block;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

.warn, .warning, .ui-dialog .warning {
  border: 1px solid #facc15;
  color: #facc15;
  display: inline-block;
  padding: 0.5rem;
  margin: 0.25rem;
  border-radius: 6px;
}
.info, .ui-dialog .info {
  color: #34d399;
  font-weight: 600;
}
.error, .ui-dialog .error {
  color: #f87171;
  font-weight: 600;
}

.messages .body { display: inline-block; width: 100%; }
.messages .body > * { vertical-align: top; display: inline-block; }

h2 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
h3 {
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
  font-weight: 500;
}

.nav .menu-item {
  display: inline-block;
  list-style: none;
}
.nav .menu-item a {
  text-decoration: none;
  display: inline-block;
  color: #ffffff;
  border: 2px solid #9400d3;
  width: 175px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.75rem;
  margin: 0.25rem;
  transition: all 0.3s ease;
}
.nav .menu-item a:hover {
  background: #9400d3;
  color: #ffffff;
  transform: translateY(-2px);
}
.nav .menu-item a:active {
  background: #b222ff;
  transform: translateY(0);
}
.nav .menu-item a:visited { color: #ffffff; }

.light {
  font-size: 0.9rem;
  font-weight: 400;
  color: #d1d5db;
}
.note {
  font-style: italic;
  color: #9ca3af;
}

.voter-row {
  border: 1px solid #4b5e8a;
  border-radius: 12px;
  padding: 1rem;
  margin: 0.5rem;
  width: 320px;
  height: 295px;
  display: inline-block;
  overflow: hidden;
  clear: both;
  background: rgba(255, 255, 255, 0.05);
  transition: all 0.3s ease;
}
.voter-row:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.voter-row button {
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
}
.voter-row button.accept {
  color: #ffffff;
  background: #9400d3;
  margin: 0.5rem;
}
.voter-row button.reject {
  color: #ffffff;
  background: #f87171;
  float: right;
  margin: 0.5rem;
}
.voter-row.selected {
  box-shadow: 0 0 20px rgba(148, 0, 211, 0.5);
  border: 2px solid #9400d3;
}

.loading { vertical-align: middle; }
.loading > * { vertical-align: middle; }
.loading .text { font-style: italic; color: #9400d3; }

.voterinfo { white-space: pre-line; }

.search-box > * { vertical-align: middle; }
.search-box select, .search-box input { font-size: 1rem; }

.grid {
  overflow-x: auto;
  border: 1px solid #4b5e8a;
  margin: 0.5rem;
  border-radius: 8px;
}
.grid td, .grid th {
  border: 1px solid #4b5e8a;
  padding: 0.5rem;
}
.grid table {
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 8px;
  overflow: hidden;
}
.grid table th {
  color: #ffffff;
  font-weight: 600;
  background: #9400d3;
}
.grid table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.05); }
.grid table tbody tr:nth-child(odd) td { background: rgba(255, 255, 255, 0.1); }

.verify-page .reject { width: 200px; }

.active-petition-frame {}
.petition-form .sample-image { width: 800px; position: relative; min-height: 1200px; }
.petition-form .sample-image > img { width: 100%; position: relative; }
.petition-form .sample-image .field-frame {
  border: 2px solid #9400d3;
  background: rgba(148, 0, 211, 0.2);
  position: absolute;
  border-radius: 6px;
}
.petition-form .sample-image .field-frame .delete-frame {
  line-height: 8px;
  border-radius: 50%;
  height: 24px;
  width: 24px;
  z-index: 10;
  top: -12px;
  right: -12px;
  position: absolute;
  margin: 0;
  padding: 0;
  background: #f87171;
  color: #ffffff;
}
.petition-form .sample-image .field-frame .text { display: none; }
.petition-form .sample-image .field-frame input { max-width: 90%; opacity: 0.7; }
.petition-form .direct-fields { display: inline-block; width: 320px; }
.petition-form .folder-frame { border: 1px solid #4b5e8a; border-radius: 8px; display:none;}
.petition-form .folders {
  display: inline-block;
  width: 800px;
  height: 300px;
  overflow: auto;
  border: 1px solid #4b5e8a;
  border-radius: 8px;
}
.petition-form .folders .ctl { width: auto; }

.active-scan .image-frame img { max-width: 1000px; }
.active-scan .image-frame { overflow: auto; height: 350px; }
.active-scan-frame {
  display: inline-block;
  width: 1000px;
  margin: 1rem;
  border: 1px solid #4b5e8a;
  border-radius: 12px;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
}
.active-scan-frame .new-work { float: right; }

.voter-verify-form { display: inline-block; width: 300px; }

.selected_voter { white-space: pre-line; font-weight: 400; font-size: 0.8rem; }
.voter-info { display: inline-block; float: right; font-size: 0.9rem; }

.petition-name-block { display: inline-block; margin: 0 0.5rem; }
.status-block { display: inline-block; margin: 0 0.5rem; }
.status-block.matched { color: #9400d3; }
.status-block.unmatched, .status-block.fail { color: #f87171; }

.scan-folder {
  border: 1px solid #4b5e8a;
  border-radius: 8px;
  margin: 0.5rem;
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.05);
}
.scan-folder .filecount-block { font-style: italic; font-size: 0.9rem; }
.scan-folder .stats { font-style: italic; font-size: 0.9rem; white-space: pre-line; }
.stat-item {
  min-width: 180px;
  padding: 0.25rem;
  margin: 0.25rem;
  border: 1px solid #4b5e8a;
  display: inline-block;
  clear: both;
  border-radius: 6px;
}
.stat-item .label { padding-right: 0.25rem; }
.stat-item .value { padding-right: 0.25rem; float: right; }
.scan-folder .process-path {}
.voter-score { display: block; }

.admin-stats .controls {}

.classify-btns { vertical-align: top; }
.classify-btns * { vertical-align: top; margin: 0.25rem; }
.classify-btns .rejects { display: inline-block; width: 100%; }
.accept { font-weight: 600; padding: 0.75rem; }
.stat-type-selector { display: inline-block; }
.stat-type-selector .stat-filter { width: 200px; }
.stat-type-selector .stat-type { width: 200px; font-size: 1.1rem; }
.expanded > .when-collapsed, .expanded.when-collapsed { display: none; }
.collapsed > .when-expanded, .collapsed.when-expanded { display: none; }
.child-toggle { margin: 0 0.5rem; padding: 0.5rem; line-height: 0; }
.child-stats-row.collapsed { display: none; }
.grid .grid { background-color: rgba(255, 255, 255, 0.05); border: none; }
.grid .grid .grid { background-color: rgba(255, 255, 255, 0.1); }
.grid .grid .grid .grid { background-color: rgba(255, 255, 255, 0.05); }
.grid .grid .grid .grid .grid { background-color: rgba(255, 255, 255, 0.1); }
.grid .grid .grid .grid .grid .grid { background-color: rgba(255, 255, 255, 0.05); }
.grid .grid.grid .grid .grid .grid .grid { background-color: rgba(255, 255, 255, 0.1); }
.grid .grid.grid .grid .grid .grid .grid .grid { background-color: rgba(255, 255, 255, 0.05); }

.throughput-stats {
  display: inline-block;
  font-size: 0.9rem;
  color: #d1d5db;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.5rem;
  border-radius: 8px;
}
.throughput-stats > * {
  display: inline-block;
  border: 1px solid #4b5e8a;
  padding: 0.25rem;
  margin: 0 0.25rem;
}
.search-form .field-auditedby { width: 420px; }
.search-form .field-auditedby input { width: 99%; }
.search-form .field-county { width: 320px; }
.search-form .field-county input { width: 99%; }
.workload-form .field-auditedby input { width: 520px; }
.workload-form .field-group_tag input { width: 520px; }
.workload-form .field-county input { width: 520px; }

.user-dashboard-container > * { margin-bottom: 1.5rem; }
.user-dashboard-container h3 { margin-bottom: 0.5rem; }
.user-form, .user-form > * { vertical-align: top; }
.user-form .form-elements { display: inline-block; padding: 0.5rem; margin: 0.5rem; }
.user-form .user-dashboard { display: inline-block; padding: 0.5rem; margin: 0.5rem; }

.grid-actions { margin: 1rem 3rem; }

.edit-petition-scans .controls { display: flex; flex-wrap: wrap; gap: 1rem; }
.edit-petition-scans .controls > * { flex: 1; }
.edit-petition-scans .controls .ctl { display: inline-block; min-width: 120px; }
.edit-petition-scans .controls .ternary-selector { min-width: 220px; }

.help { font-style: italic; color: #9400d3; }
.removable-field {
  border: 1px solid #4b5e8a;
  border-radius: 6px;
  padding: 0.5rem;
  margin: 0.25rem;
  display: inline-block;
  background: rgba(255, 255, 255, 0.05);
}

.show-when-manual { display: none; }
.manual-petition .show-when-manual { display: block; }
.manual-petition .hide-when-manual { display: none; }