#home #content, #home #content .grid-container {
    padding: 0;
    max-width: 100%;
    margin: 0;
}
#home .featured-records {
    display: none;
}
#home-hero {
    height: calc(.4 * 100vw);
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
}
header .banner {
    width: 100%;
    height: calc(.2 * 100vw);
    background-position: center;
    background-size: cover;
}
#home header .banner {
    display: none;
}
/* ================================================
   EMH Custom Styles — Item Pages
   ================================================ */
/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
/* Item page title */
#content h1.item-title,
body.items.show #content h2,
body.items.show #content h1 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 2.2rem;
  line-height: 1.2;
}
/* Metadata labels (Title, Description, Creator etc.) */
body.items.show .element h3,
body.items.show dl dt,
#item-metadata .element-set h2,
#item-metadata .element h3 {
  color: #8B1A1A;
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  letter-spacing: 0.03em;
  border-bottom: 1px solid #e8d5c4;
  padding-bottom: 4px;
  margin-bottom: 6px;
}
/* Collection tag black boxes → burgundy */
body.items.show .item-collection a,
body.items.show ul.collection a,
span.item-collection,
.collection-link {
  background-color: #8B1A1A !important;
  color: #fff !important;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 0.8rem;
  text-decoration: none;
}
/* Item Relations heading */
#item-relations h2,
#item-relations h3 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
}
/* Previous / Next buttons */
.item-pagination a,
ul.item-pagination a,
.pagination a.button,
.item-pagination .button {
  background-color: #8B1A1A !important;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  padding: 8px 18px;
  text-decoration: none;
  font-family: 'Playfair Display', serif;
  transition: background 0.2s ease;
}
.item-pagination a:hover,
.pagination a.button:hover {
  background-color: #6b1414 !important;
  color: #fff !important;
}
/* Item body text — slightly larger */
body.items.show .element-text p {
  font-size: 1.1rem;
  line-height: 1.8;
}
/* Constrain item image size */
body.items.show .item-file img,
body.items.show img {
  max-width: 500px;
  max-height: 400px;
  width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* ================================================
   EMH Custom Styles — Browse Items list
   ================================================ */
/* Item title link on Browse pages: burgundy by default, black on hover */
.resources .item h4 a.permalink,
.resources .item .permalink {
  color: #8B1A1A !important;
  font-weight: 700;
  font-family: 'Playfair Display', serif;
  text-decoration: none;
}

.resources .item h4 a.permalink:hover,
.resources .item .permalink:hover {
  color: #1a1a1a !important;
  text-decoration: underline;
}

/* Whole row gets a hover affordance so it visually reads as clickable */
.resources .item.resource {
  cursor: pointer;
  padding: 12px;
  margin: -12px;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}

.resources .item.resource:hover {
  background-color: #F5F0EB;
}
/* Pagination "Next Page" / "Previous Page" buttons — same fix pattern as
   the item-pagination buttons, applied to the browse-list pagination too */
.pagination-nav .button,
.pagination-next a.button,
.pagination-previous a.button {
  background-color: #8B1A1A !important;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  padding: 8px 18px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
}

.pagination-nav .button:hover,
.pagination-next a.button:hover,
.pagination-previous a.button:hover {
  background-color: #6b1414 !important;
  color: #fff !important;
}
/* ================================================
   EMH Custom Styles — Kill remaining black boxes
   in the burgundy nav strip, and label pagination
   ================================================ */

/* Force pagination buttons to show real text instead of
   relying on a broken icon font */
.pagination_previous a.button,
.pagination_next a.button {
  font-size: 0 !important; /* hide any broken icon glyph */
}

.pagination_previous a.button::before {
  content: "← Previous Page";
  font-size: 0.85rem;
  font-weight: 600;
}

.pagination_next a.button::before {
  content: "Next Page →";
  font-size: 0.85rem;
  font-weight: 600;
}

/* Remove every black background in the burgundy nav strip —
   Explore / About dropdown toggles, Browse Items "active" state */
.top-bar #top-nav a,
.top-bar #top-nav li a,
.top-bar #top-nav li.active > a,
.top-bar #top-nav a:hover,
.top-bar #top-nav a:focus,
.top-bar #top-nav a:active {
  background: transparent !important;
  background-color: transparent !important;
}

/* Remove black background around the search icon toggle */
.top-bar .search-toggle,
.top-bar .menu-toggle {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
}
/* Restore hover highlight on the Explore/About dropdown submenu items,
   without bringing back the black background on the main nav bar */
.top-bar #top-nav .menu.vertical.nested a:hover,
.top-bar #top-nav .menu.vertical.nested a:focus {
  background-color: #F5F0EB !important;
  color: #8B1A1A !important;
}
/* Search icon toggle in the burgundy nav — blends with burgundy background */
.top-bar .search-toggle {
  background-color: transparent !important;
  color: #F5F0EB !important;
  border: none !important;
}

.top-bar .search-toggle:hover {
  color: #ffffff !important;
}
/* Search button inside the white site header (not the burgundy nav strip) */
header.sticky button[aria-label="Search"] {
  background-color: #ffffff !important;
  color: #8B1A1A !important;
  border: 1px solid #e6e3e1 !important;
  border-radius: 4px;
}

header.sticky button[aria-label="Search"]:hover {
  background-color: #F5F0EB !important;
}
/* Hide Omeka's native search panel — redundant with the branded
   search box already in the site header */
#search-container {
  display: none !important;
}
/* Hide Foundation's own mobile menu-toggle button entirely — we already
   have our own custom hamburger menu in header.html, this one is unused
   and was leaving a stray white box in the burgundy strip */
.top-bar .title-bar,
.top-bar .menu-toggle {
  display: none !important;
}
/* Hide the "Tags" label icon/badge on collection & browse pages — same
   root cause as the earlier "Item" badge and admin-bar black boxes:
   Omeka's default .label styling shows as an unreadable black square */
.tags.label,
span.tags.label {
  display: none !important;
}
/* Remove the redundant "Englewood Makes History" text in the burgundy
   nav bar — the logo/title already appears once in the white header above */
.top-bar .site-title {
  display: none !important;
}
/* ================================================
   EMH Custom Styles — Collection show pages
   ================================================ */
/* Style the collection title to match item pages */
body.collections.show #content h1 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 2.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e8d5c4;
}

/* Hide the raw "Title: [name]" metadata dump right under the heading —
   it's just repeating the h1 above with no new information */
body.collections.show #content > .element {
  display: none;
}

/* Style the "Collection Items" heading */
body.collections.show #collection-items h3 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 1.6rem;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}
/* Fix the "Narrow by Specific Fields" black label on the map search form —
   same root cause as the Tags/Item badges: Omeka's default .label styling */
#search-narrow-by-fields label.label {
  background-color: #8B1A1A !important;
  color: #F5F0EB !important;
  font-size: 0.85rem !important;
  padding: 6px 14px !important;
  border-radius: 4px;
  display: inline-block;
  cursor: pointer;
}

#search-narrow-by-fields label.label:hover {
  background-color: #6b1414 !important;
}
/* Broad safety net: any remaining Omeka .label element that hasn't been
   specifically restyled gets a readable burgundy treatment by default,
   instead of falling back to invisible black-on-black */
.label {
  background-color: #8B1A1A !important;
  color: #F5F0EB !important;
}
/* Broad safety net: any remaining black Foundation .button element
   (like "Add a Field" on the map search form) gets burgundy styling
   instead of falling back to black */
.button {
  background-color: #8B1A1A !important;
  color: #F5F0EB !important;
  border: none !important;
  border-radius: 4px;
}

.button:hover {
  background-color: #6b1414 !important;
  color: #ffffff !important;
}
/* Sticky footer: push footer.html to the true bottom of the viewport
   even when a page's content is short */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.off-canvas-content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

#content {
  flex: 1 0 auto;
}

footer.border-t {
  flex-shrink: 0;
}
/* Sticky footer — full version: fills every ancestor container so the
   cream footer background always touches the true bottom of the viewport,
   with zero gap, on every page regardless of content length */
html, body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.off-canvas-content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

#content {
  flex: 1 0 auto;
}

footer.border-t {
  flex-shrink: 0;
  margin: 0;
}
/* Prevent any element on the page from causing horizontal overflow,
   which was leaving a thin gap on the right edge of the footer on
   pages with long unbroken text (like tag lists) */
html, body {
  overflow-x: hidden;
}
/* Force the vertical scrollbar to always reserve its space, even on
   pages short enough not to need one — this keeps the page width
   calculation consistent everywhere, so the footer never falls short
   by the scrollbar's width on long, scrolling pages */
html {
  overflow-y: scroll;
}
/* The actual fix: override the max-width constraint hitting the footer
   directly (confirmed via DevTools Computed panel: max-width was 1350px) */
footer.border-t {
  max-width: none !important;
  width: 100% !important;
}
/* ===== CONTRIBUTION FORM RESKIN ===== */

/* Page heading */
.contribution #primary h1 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 0.5rem;
}

/* "Contribute a Photograph" subheading */
#contribution-type-form h2 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 1.6rem;
  border-bottom: 2px solid #8B1A1A;
  padding-bottom: 0.5rem;
  margin: 1.5rem 0 1.5rem;
}

/* Type selector row */
#contribution-item-metadata > .inputs {
  background: #F5F0EB;
  padding: 1.25rem 1.5rem;
  border-radius: 10px;
  margin-bottom: 1.5rem;
}

#contribution-item-metadata > .inputs label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 1rem;
  margin-bottom: 0.5rem;
  display: block;
}

#contribution-type {
  font-family: 'Inter', sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  max-width: 300px;
}

#submit-type {
  background: #8B1A1A;
  color: #F5F0EB;
  border: none;
  border-radius: 6px;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  cursor: pointer;
  margin-left: 0.5rem;
}

#submit-type:hover {
  background: #6e1414;
}

/* Form fields */
#contribution-type-form .field {
  margin-bottom: 1.25rem;
  padding: 1rem 0;
  border-bottom: 1px solid #eee;
}

#contribution-type-form .field:last-of-type {
  border-bottom: none;
}

#contribution-type-form label {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 0.95rem;
}

#contribution-type-form input[type="text"],
#contribution-type-form input[type="email"],
#contribution-type-form textarea,
#contribution-type-form select {
  font-family: 'Inter', sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.6rem 0.75rem;
  font-size: 0.95rem;
  width: 100%;
  max-width: 500px;
  transition: border-color 0.2s;
}

#contribution-type-form input[type="text"]:focus,
#contribution-type-form input[type="email"]:focus,
#contribution-type-form textarea:focus {
  border-color: #8B1A1A;
  outline: none;
  box-shadow: 0 0 0 2px rgba(139, 26, 26, 0.15);
}

/* File upload */
#contributed_file {
  font-family: 'Inter', sans-serif;
  padding: 0.5rem 0;
}

/* Geolocation section */
.geolocation-list h3,
.geolocation-add-form h3 {
  font-family: 'Playfair Display', serif;
  color: #8B1A1A;
  font-size: 1.2rem;
  margin: 1.5rem 0 0.75rem;
}

.geolocation-add-form .button {
  background: #8B1A1A !important;
  color: #F5F0EB !important;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  padding: 0.4rem 1rem;
}

.geolocation-add-form .button:hover {
  background: #6e1414 !important;
}

#geolocation_address {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 0.95rem;
}

#omeka-map-form {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e6ddd3;
  margin: 1rem 0 2rem;
}

/* Bottom section: checkboxes, terms, submit */
#contribution-confirm-submit {
  background: #F5F0EB;
  border: 1px solid #e6ddd3;
  border-radius: 10px;
  padding: 1.5rem 2rem;
  margin-top: 2rem;
}

#contribution-confirm-submit .inputs {
  margin-bottom: 0.75rem;
}

#contribution-confirm-submit label {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: #4a4a4a;
  cursor: pointer;
}

#contribution-confirm-submit input[type="checkbox"] {
  accent-color: #8B1A1A;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  vertical-align: middle;
}

#contribution-confirm-submit p {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: #4a4a4a;
  margin: 1rem 0 0.5rem;
}

#contribution-confirm-submit p a {
  color: #8B1A1A;
  font-weight: 600;
}

#contribution-confirm-submit p a:hover {
  text-decoration: underline;
}

/* Submit button */
#form-submit {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 1.5rem auto 0;
  background: #8B1A1A;
  color: #F5F0EB;
  border: none;
  border-radius: 8px;
  padding: 0.9rem 2rem;
  font-family: 'Inter', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

#form-submit:hover {
  background: #6e1414;
}

/* reCAPTCHA spacing */
#captcha {
  margin-bottom: 1rem;
}

/* Overall content area breathing room */
.contribution #primary {
  max-width: 720px;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* Geolocation table cleanup */
.geolocation-locations {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
}

.geolocation-locations th {
  background: #F5F0EB;
  color: #1a1a1a;
  font-weight: 600;
  padding: 0.5rem;
}

.geolocation-locations td {
  padding: 0.5rem;
  color: #4a4a4a;
}

.geolocation-locations .button {
  background: #8B1A1A !important;
  color: #F5F0EB !important;
  border-radius: 4px;
  font-size: 0.8rem;
}

/* ===== END CONTRIBUTION FORM RESKIN ===== */
/* Hide Terms and Conditions (already agreed on static page) */
#contribution-confirm-submit p,
#contribution-confirm-submit .inputs:has(#terms-agree) {
  visibility: hidden;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}