h1 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 175%;
}
h2 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 150%;
}
h3 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 125%;
}
h4 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 100%;
}
h5 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 75%;
}
h6 {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: 50%;
}
body, table   {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: small;
	background-color: #F5F5F5;
}
a   {
	color: #5f5f5f;
	text-decoration: none;
}
a:hover   {
	color: #0000a0;
	text-decoration: none;
}
a.hd_link {
	color: #5f5f5f;
	text-decoration: none;
}
a.hd_link:hover {
	color: #5f5f5f;
}
a.copyright:hover {
	text-decoration: underline;
}
a.delete:hover {
	color: red;
}
input,select,textarea     {
	background-color: #FFFFFF;
}
table.header    {
    background-color: #D3DCE3;
	color: #000000;
}
th   {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: small;
	background-color: #D3DCE3;
}
td {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: small;
}
td.tbl_even   {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: small;
	background-color: #DDDDDD;
}
td.tbl_odd   {
	font-family: verdana, arial, helvetica, sans-serif;
	font-size: small;
	background-color: #CCCCCC;
}
.restrict {
	color: red;
}
.vert {
	background: url('../images/vert.png') no-repeat center;
}
.outer {
	background: url('../images/outer.png') no-repeat center;
}
.br {
	background: url('../images/br.png') no-repeat center;
}
.tr	{
	background: url('../images/tr.png') no-repeat center;
}
.rb {
	background: url('../images/rb.png') no-repeat center;
}
.rt	{
	background: url('../images/rt.png') no-repeat center;
}
.label {
font-style: oblique;
display: inline;
}
#useroptions ul {
margin: 1;
padding: 0;
}
#useroptions li {
float:left;
list-style-image:none;
list-style-position:outside;
list-style-type:none;
margin:5px;
padding:0px;
}
#options {
float: right;
position: relative;
}
#options ul {
margin: 0;
padding: 0;
}
#options li {
float:left;
list-style-image:none;
list-style-position:outside;
list-style-type:none;
margin:5px;
padding:0px;
}
#name {
text-align: center;
}
#name h2 {
margin: 0;
padding: 0;
}
div#bd {
padding: 5px 5px;
color:#000000;
font-family:verdana,Arial,Helvetica,sans-serif;
font-size: small;
position: relative;
left: 10%;
width: 80%;
display: block;
}
div.child {
display: block;
}
div.birth {
padding: 10px 10px;
width:40%;
top: 0;
float: left;
}
div.baptism {
width:40%;
float: left;
padding: 10px 10px;
}
div.death {
float: right;
top: 0;
padding: 10px 10px;
width:40%;
}
div.burial {
float: right;
width:40%;
padding: 10px 10px;
}
div#parents {
clear: both;
padding: 10px 10px;
margin-left: 15%;
float: none;
width: 70%;
display: block;
}
div.children {
padding: 10px 10px;
margin-left: 35%;
}
div#siblings {
padding: 10px 10px;
margin-left: 35%;
}
div.insert {
float: right;
}
.location-block {
    margin-bottom: 28px;
    padding: 14px 18px;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.location-header {
    font-size: 1.6em;
    font-weight: 700;
     margin-bottom: 8px;
}

.location-entryOld {
    margin-bottom: 4px;
    line-height: 1.35;
padding: 3px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.location-entryOld:last-child {
    border-bottom: none;
}

.location-entry {
    display: grid;
    grid-template-columns: 3fr 1.2fr 1.4fr;

    column-gap: 16px;
    align-items: baseline;
    padding: 2px 0;
    line-height: 1.15;
}

.le-date {
    text-align: right;
    font-variant-numeric: tabular-nums;
}





.location-header a {
    text-decoration: none;
    color: #222;
}

.location-header a:hover {
    text-decoration: underline;
}

.location-events {
    padding-left: 10px;
}


.location-page {
    max-width: 1100px;
    margin: 40px auto;
}

.source-page {
  max-width: 1100px;
  margin: 40px auto;
}

.source-block {
  padding: 14px 18px;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.source-header {
  font-size: 1.6em;
  font-weight: 700;
  margin-bottom: 8px;
}

.source-meta {
  margin: 6px 0 12px 0;
  color: #444;
}

.source-events {
  margin-top: 6px;
}

.source-entry {
  padding: 2px 0;
  margin: 0;
  line-height: 1.25;
}

.source-empty {
  padding: 6px 0;
  color: #666;
}

/* re-use your table-like grid idea */
.source-entry.le {
  display: grid;
  grid-template-columns: 3.5fr 1fr 110px 2fr; /* widen person col */
  column-gap: 10px;
  align-items: baseline;
}

.le-person { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.le-event  { white-space: nowrap; }
.le-date   { white-space: nowrap; text-align: right; }
.le-place  { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.le-notes  {
  grid-column: 1 / -1;          /* full width below the entry */
  margin: 0 0 6px 1.5em;
  color: #555;
  font-size: 0.92em;
  white-space: normal;
}

/* Locations list (map.php) and location page (location.php) */
.location-list-page {
  max-width: 1300px;
  margin: 20px auto;
}
.loc-summary { color: #444; margin: 0 0 10px 0; }
.loc-filters { margin: 0 0 10px 0; }
.loc-filters input[type=search] { width: 260px; padding: 4px 6px; font-size: 1em; }
.loc-filters label { margin-left: 12px; white-space: nowrap; }
#loc-count { margin-left: 12px; color: #666; }
.loc-table-wrap { overflow-x: auto; }
.loc-table {
  border-collapse: collapse;
  width: 100%;
  background: #ffffff;
}
.loc-table th, .loc-table td {
  padding: 3px 8px;
  border-bottom: 1px solid #e4e4e4;
}
.loc-table th { text-align: right; white-space: nowrap; position: sticky; top: 0; }
.loc-table th:first-child, .loc-table th[data-type=text] { text-align: left; }
.loc-table th.sortable { cursor: pointer; }
.loc-table th.sort-asc:after  { content: " \25B2"; font-size: 0.8em; }
.loc-table th.sort-desc:after { content: " \25BC"; font-size: 0.8em; }
.loc-table td.num, .loc-table td.period {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.loc-table td.coords { text-align: center; color: #3a7d3a; }
.loc-table td.edit { white-space: nowrap; font-size: 0.9em; }
.loc-table tbody tr:hover { background: #f0f4f8; }
.loc-table tr.loc-unused:not(.loc-haschildren) td { color: #999; }
.loc-table tr.loc-unused:not(.loc-haschildren) td.loc-name a { color: #999; font-style: italic; }
.loc-muted { color: #888; }
.loc-empty { color: #666; padding: 6px 0; }
.loc-nav { margin: 0 0 8px 0; }
.location-detail-header { margin-bottom: 16px; }
.location-detail-header h2 { margin: 4px 0; }
.loc-facts { color: #444; margin: 4px 0; }
form.loc-delete, form.loc-delete-all { display: inline; margin: 0; }
form.loc-delete button {
  font-size: 0.85em; padding: 0 4px; cursor: pointer;
  color: #a33; background: none; border: 1px solid #d9b3b3; border-radius: 3px;
}
form.loc-delete button:hover { background: #fbeaea; }
form.loc-delete-all { margin-left: 12px; }
form.loc-delete-all button { color: #a33; cursor: pointer; }
.loc-notice {
  max-width: 1100px; margin: 12px auto 0 auto; padding: 6px 10px;
  background: #eef6ee; border: 1px solid #b9d8b9; border-radius: 4px;
}
.loc-notice.loc-warning { background: #fdf3e6; border-color: #e8c89a; }

/* Maps (Leaflet, inc/location-map.js) */
.loc-map { border: 1px solid #ccc; border-radius: 6px; background: #e8eef3; }
.loc-map-list { height: 420px; margin: 0 0 12px 0; }
.loc-map-detail { height: 300px; margin: 8px 0; max-width: 700px; }
.loc-map-edit { height: 380px; }
.loc-map-geo { height: 520px; position: sticky; top: 10px; }
.loc-edit { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.loc-edit-form { flex: 0 1 auto; }
.loc-edit-map { flex: 1 1 380px; min-width: 300px; }
.loc-hits { margin-top: 4px; max-width: 420px; }
button.loc-hit {
  display: block; width: 100%; text-align: left; margin: 2px 0; padding: 3px 6px;
  background: #fff; border: 1px solid #ccd; border-radius: 3px; cursor: pointer; font-size: 0.9em;
}
button.loc-hit:hover { background: #eef4fb; }
.loc-inline-form { display: inline; margin-left: 6px; }
.loc-geocode-link { margin: 0 0 6px 0; }
.loc-geo { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.loc-geo-list { flex: 1 1 520px; }
.loc-geo-map { flex: 1 1 380px; min-width: 300px; }
.loc-geo td.hits select { max-width: 340px; }
.loc-geo td.act { white-space: nowrap; }
.loc-geo tr.loc-current td { background: #eef4fb; }
.loc-geo tr.loc-done td { background: #eef6ee; color: #2e7d32; }
.loc-geo tr.loc-skipped td, .loc-geo tr.loc-nohit td { color: #999; }

/* Nesting (step 3) */
.loc-tree-tools { margin: 0 0 6px 0; }
.loc-tree-tools button { font-size: 0.85em; }
.loc-parent-form { margin: 0 0 8px 0; padding: 4px 8px; background: #f7f7f7; border: 1px solid #e2e2e2; border-radius: 4px; color: #777; }
.loc-parent-form.active { background: #eef4fb; border-color: #bcd3ea; color: #000; }
.loc-parent-form select { max-width: 320px; }
.loc-table td.sel { width: 18px; }
.loc-table td.loc-name { white-space: nowrap; }
button.loc-toggle {
  border: none; background: none; cursor: pointer; padding: 0; width: 16px;
  font-size: 0.9em; color: #555;
}
.loc-toggle-space { display: inline-block; width: 16px; }
.loc-type { font-size: 0.78em; color: #777; font-weight: normal; }
.loc-path, .loc-childcount { color: #888; font-size: 0.88em; }
table.loc-tree:not(.loc-flat) .loc-path { display: none; }
table.loc-flat .loc-toggle, table.loc-flat .loc-toggle-space { display: none; }
table.loc-flat td.loc-name { padding-left: 8px !important; }
.loc-table td.withsub { color: #24527a; font-weight: bold; }
.loc-table tr.d0.loc-haschildren td.loc-name a { font-weight: bold; }
.loc-breadcrumb { color: #666; font-size: 0.95em; margin: 4px 0 0 0; }
.loc-notes { margin: 6px 0; max-width: 700px; }
.loc-subplaces ul { margin: 4px 0; padding-left: 18px; columns: 2 260px; }
.loc-subplaces h4 { margin: 12px 0 4px 0; }
.loc-small { font-size: 0.85em; max-width: 420px; }
a.loc-new { margin-left: 12px; font-weight: bold; }

/* Historical places (step 3b) */
.loc-status { font-size: 0.8em; font-style: italic; color: #8a5a2b; }
.loc-status-line { margin: 2px 0 6px 0; font-style: italic; color: #8a5a2b; }
.loc-table tr.loc-status2 td.loc-name a { text-decoration: line-through; text-decoration-color: #b99; }

/* Place qualifier (step 4) */
.place-qual { color: #8a5a2b; font-size: 0.9em; }
.location-entry.le-uncertain { color: #777; font-style: italic; }
.location-entry.le-uncertain a { color: #777; }
select.place-qual-select { font-size: 0.9em; }
/* not identified places */
.loc-table tr.loc-unidentified td.loc-name a { color: #b35c00; }

/* Names at the time / addresses (step 5) */
.place-details { margin-top: 2px; }
.place-details input { font-size: 0.9em; }
.place-then { font-style: italic; }
.place-today { color: #666; }
.le-detail { color: #555; font-size: 0.92em; }
.loc-former { color: #777; font-size: 0.85em; }
.loc-details { margin: 4px 0; }
.loc-detail-item { white-space: nowrap; }
table.loc-detail-edit td, table.loc-detail-edit th { padding: 1px 4px; font-size: 0.95em; background: none; }
.attendee-info { margin-top: 3px; font-size: 0.95em; color: #444; }
