/*
  STUDENT SYMPOSIUM - WEBSITE CSS
 To jump to a section, press Ctrl+F and search for its number and name

  1. ALL PAGES                text, headings, links, page padding
  2. HEADER                   logo, menu, search bar - top of every page
  3. FOOTER                   navy footer - bottom of every page
  4. HOMEPAGE                 title area, buttons, thank-you bar, gallery, quote, past editions
  5. BROWSE PROJECTS          /faceted-browse/5 - filters and results
  6. PROJECT PAGES            /item/... - viewer, details, tags, map
  7. YEAR + SCHEDULE PAGES    /page/year-2026 etc. - accordions, tables, buttons
  8. MAP PAGE                 /page/student-symposium-map - map and pop-ups
  9. OLD / OTHER              old homepage, banners, workshop box, carousels

  Colours: navy #252159 | orange #e77f11 | light grey #f3f5f9 | link blue #265eac | hover blue #0c4492
  Sizes: 1rem = about 16px. "!important" forces a rule to win over the theme.
  Inside a section, when two rules style the same thing, the LOWER one wins.
*/


/* 1. ALL PAGES - text, headings, links, page padding */
/* Default text colour and size for the whole site */
body { color: #333333; font-size: 18px; }
/* Paragraph spacing and line height */
p { letter-spacing: .26px; line-height: 1.8; }
/* Size of main headings (h1) */
h1 { font-size: 28px; }
/* Size of section headings (h2) */
h2 { font-size: 28px; }
/* Size of sub-headings (h3) */
h3 { font-size: 22px; margin-top: 1em; }
/* Colour of horizontal divider lines */
hr { background-color: lightgray; }
/* Hides the theme sub-menu under page titles */
nav.sub-menu { display: none; }
/* Normal link colour in page text (orange) */
#content a:not(.button),
#content a:not(.button):visited {
    color: #e77f11;
}
/* Link colour when hovered */
#content a:not(.button):hover,
#content a:not(.button):focus {
    color: #e77f11;
    text-decoration: underline;
}
/* Links to projects in lists and metadata (blue instead of orange) */
#content .resource a,
#content .resource__content a,
#content .resource__meta a,
#content .resources a,
#content .resource-list a,
#content .linked-resource a,
#content .resources-linked a,
#content .metadata .value.resource a,
#content a.resource-link {
    color: #265eac !important;
}
/* Project links when hovered (darker blue) */
#content .resource a:hover,
#content .resource__content a:hover,
#content .resource__meta a:hover,
#content .resources a:hover,
#content .resource-list a:hover,
#content .linked-resource a:hover,
#content .resources-linked a:hover,
#content .metadata .value.resource a:hover,
#content a.resource-link:hover,
#content .resource a:focus,
#content .resource__meta a:focus,
#content .resources a:focus,
#content a.resource-link:focus {
    color: #0c4492 !important;
    text-decoration: underline;
}
/* Project links inside schedule tables (blue) */
#content table a,
#content td a,
#content th a {
    color: #265eac !important;
}
/* Schedule table links when hovered */
#content table a:hover,
#content td a:hover,
#content th a:hover,
#content table a:focus,
#content td a:focus,
#content th a:focus {
    color: #0c4492 !important;
    text-decoration: underline;
}
/* Side padding of the main content area on every page */
div#content { padding: 0px 6%; }


/* 2. HEADER - logo, menu, search bar - top of every page */
/* Old search area background */
#search { background-color: #f8f8f8; }
/* Old search button colour */
#search form button[type=submit] { background-color: #252159; color: white; }
/* Keeps the header fixed at the top while scrolling */
.main-header {
    background-color: #f2f2f2;
    position: fixed;
    width: 100%;
    left: 0;
    z-index: 1040;
    box-shadow: 0px 4px 6px 2px rgba(0,0,0,.11);
    transition: top .3s ease-out;
}
/* Navy bar above the header (now hidden at the bottom of this file) */
.main-header__top-bar {
    display: flex;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #252159 !important;
    max-width: 100% !important;
}
/* Menu links: uppercase, spacing */
.main-navigation .navigation > li > a {
    color: var(--primary);
    display: block;
    text-decoration: none;
    text-transform: uppercase;
    padding-top: .3rem;
    padding-bottom: .3rem;
    margin: 30px 18px;
    position: relative;
}
/* Old logo size on large screens */
@media (min-width: 1024px) {
    .main-header__site-title img {
        max-height: 600px;
    }
}
/* Old logo size (the real size is set in NEW HEADER below) */
.main-header__site-title img {
    max-height: none;
    width: auto;
}
/* "Advanced search" link in the top bar */
.main-header__advanced-search {
    font-size: .6875rem;
    padding-right: 10px;
    text-transform: uppercase;
    color: white !important;
}
/* When printing a page: hide the header */
@media print {
    header.main-header {
        display: none !important;
    }
}
/* Mobile menu (opened with the ☰ button) background */
.menu-drawer { background-color: #252159; }
/* Header background: soft white gradient, frosted blur, thin line underneath */
.main-header { background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 249, 252, .9)); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 1px 0 rgba(37, 33, 89, .06); }
/* Top bar size (bar is hidden by the last line of this file) */
.main-header .main-header__top-bar { padding-top: 6px; padding-bottom: 6px; align-items: center; }
/* Search box (in the hidden top bar) */
.main-header .main-header__search-form input[type="text"] { height: 32px; border: 0; border-radius: 16px 0 0 16px; padding: 0 14px; font-size: .85rem; }
/* Orange search button (in the hidden top bar) */
.main-header #search-form button { height: 32px; width: 42px; border: 0; border-radius: 0 16px 16px 0 !important; background: #e77f11; color: #252159; }
/* Rounded search box shape */
.main-header .main-header__search-form, .main-header #search-form { background: transparent; border: 0; border-radius: 16px; overflow: hidden; }
/* Hides the divider line in the header */
.main-header hr.alignfull { display: none; }
/* Logo + menu bar: padding = header height */
.main-header .main-header__main-bar { align-items: center; padding-top: 14px; padding-bottom: 14px; }
/* LOGO SIZE on computers (max-height) */
.main-header .main-header__site-title img { max-height: 130px; }
/* Menu links (HOME, SCHEDULE...): colour, size, spacing between links (margin) */
.main-header .main-navigation .navigation > li > a { margin: 0 14px; padding: .4rem 0; color: #252159; font-size: .85rem; font-weight: 600; letter-spacing: .1em; }
/* Orange underline under menu links (hidden until hover) */
.main-header .main-navigation .navigation > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: #e77f11; transform: scaleX(0); transition: transform .2s; }
/* Shows the orange underline on hover / current page */
.main-header .main-navigation .navigation > li > a:hover::after, .main-header .main-navigation .navigation > li.active > a::after { transform: scaleX(1); }
/* LOGO SIZE on phones */
@media (max-width: 767px) { .main-header .main-header__site-title img { max-height: 76px; } }
/* HIDES the navy top bar (search + Advanced search). Delete this line to bring it back */
.main-header .main-header__top-bar { display: none !important; }


/* 3. FOOTER - navy footer - bottom of every page */
/* Footer background (navy) and text alignment */
footer,
.main-footer,
.main-footer__top,
.main-footer__bottom {
    background-color: #252159 !important;
    color: #ffffff;
    text-align: center;
    max-width: inherit;
}
/* Footer heading colour */
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.main-footer h1, .main-footer h2, .main-footer h3,
.main-footer h4, .main-footer h5, .main-footer h6 {
    color: #ffffff;
}
/* Footer link colour (orange) */
footer a, footer a:visited,
.main-footer a, .main-footer a:visited {
    color: #e77f11;
}
/* Footer links when hovered */
footer a:hover, footer a:focus,
.main-footer a:hover, .main-footer a:focus {
    color: #e77f11;
    text-decoration: underline;
}
/* Centres the copyright / contact lines */
.main-footer__bottom-container { text-align: center; }


/* 4. HOMEPAGE - title area, buttons, thank-you bar, gallery, quote, past editions */
/* Whole title area: centred, rounded corners, space above/below (padding: top sides bottom) */
.home-hero { position: relative; overflow: hidden; isolation: isolate; margin: 0 0 2rem; padding: 4.5rem 1.5rem 4rem; border-radius: 6px; text-align: center; }
/* Background photo: fills the whole title area (object-fit: cover) */
.home-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover; }
/* White veil over the photo: brightest in the middle behind the text (.92), more photo at the edges (.45) */
.home-hero:has(.home-hero__bg)::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 55% 65% at 50% 50%, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .8) 55%, rgba(255, 255, 255, .45) 100%); }
/* Small grey line above the title ("DEREE - THE AMERICAN COLLEGE...") */
.home-hero__eyebrow { margin: 0 0 1rem; color: #666666; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
/* Big title: navy serif; font-size = min, preferred, max size */
.home-hero__title { max-width: 24ch; margin: 0 auto; color: #252159 !important; font-family: "Noto Serif", serif; font-size: clamp(2rem, 4.5vw, 3.1rem); font-weight: 400; line-height: 1.15; }
/* Short orange line under the title (width / thickness / colour) */
.home-hero__title::after { content: ""; display: block; width: 48px; height: 3px; margin: 1.5rem auto; background: #e77f11; }
/* Description sentence under the title */
.home-hero__lead { max-width: 56ch; margin: 0 auto 2rem; color: #000000; font-size: 1.05rem; line-height: 1.7; }
/* Row holding the buttons; gap = SPACE BETWEEN BUTTONS */
.home-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 0; }
/* Outline button (navy border): size via padding, rounded corners, text */
.home-btn { padding: .7rem 1.4rem; border: 2px solid #252159; border-radius: 4px; color: #252159 !important; font-size: .9rem; font-weight: 700; text-decoration: none !important; transition: all .15s; }
/* Outline button when hovered: fills navy */
.home-btn:hover, .home-btn:focus { background: #252159; color: #ffffff !important; }
/* Orange button ("Explore the archive"): orange background, white text */
.home-btn--primary { background: #e77f11; border-color: #e77f11; color: #ffffff !important; }
/* Orange button when hovered: turns navy */
.home-btn--primary:hover, .home-btn--primary:focus { background: #252159; border-color: #252159; }
/* "Thank you to all 2026 presenters!" bar: grey background, orange top line, centred */
.home-note { margin: 0 0 3rem; padding: 1.1rem 1.25rem; background: #f3f5f9; border-top: 3px solid #e77f11; border-radius: 0 0 4px 4px; color: #252159; font-size: .95rem; text-align: center; }
/* Section headings ("Moments from 2026", "Past editions"...) and the line under them */
.preview-block--cards h2, .home-gallery__title, .home-years__title { margin: 0 0 1.25rem !important; padding-bottom: .6rem; border-bottom: 1px solid #e8eaf0; color: #252159 !important; font-family: "Noto Serif", serif; font-size: 1.6rem !important; font-weight: 400 !important; }
/* Space below the cards section */
.preview-block--cards { margin: 0 0 3.5rem; }
/* Card grid: cards at least 220px wide, gap between cards */
.preview-block--cards .resource-list.preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.75rem 1.5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
/* Removes theme borders/shadows on cards */
.preview-block--cards .resource-list.preview > li { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
/* Card: image above title */
.preview-block--cards .resource-link { display: flex; flex-direction: column; gap: .75rem; text-decoration: none !important; }
/* Card image: 4:3 shape, rounded corners */
.preview-block--cards .resource-link img { width: 100%; height: auto; max-height: none; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; border-radius: 4px; }
/* Card title: navy, semi-bold */
.preview-block--cards .resource-name { color: #252159 !important; font-weight: 600; line-height: 1.4; }
/* Card summary: grey, cut to 3 lines */
.preview-block--cards .description { margin-top: .4rem; color: #666666; font-size: .88rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* "View all" and "About the Symposium" links: blue, no underline */
.preview-block--cards .preview-more, .home-more { color: #265eac !important; font-style: normal; font-weight: 600; text-decoration: none !important; }
/* Adds the -> arrow after those links */
.preview-block--cards .preview-more::after, .home-more::after { content: " \2192"; }
/* Quote section: lines above and below, spacing */
.home-quote { margin: 0 0 3.5rem; padding: 2.5rem 0; border-top: 1px solid #e8eaf0; border-bottom: 1px solid #e8eaf0; }
/* The quote: max width, orange line on the left */
.home-quote blockquote { display: block; max-width: none; margin: 0 !important; padding: 0 0 0 1.5rem; border: 0; border-left: 3px solid #e77f11; border-radius: 0; background: none; box-shadow: none; }
/* Removes the theme quote-mark icon */
.home-quote blockquote::before, .home-quote blockquote::after { display: none; }
/* Quote text: navy serif, size */
.home-quote blockquote p { margin: 0 0 1rem; color: #252159; font-family: "Noto Serif", serif; font-size: 1.15rem; font-style: normal; line-height: 1.7; }
/* Name under the quote */
.home-quote cite { display: block; margin-bottom: 1rem; color: #666666; font-size: .85rem; font-style: normal; font-weight: 600; }
/* "About the Symposium" link: aligned right */
.home-quote .home-more { display: block; width: fit-content; margin-left: auto; }
/* Space below the gallery */
.home-gallery { margin: 0 0 3.5rem; }
/* Grid: 4 columns, each row 180px tall, gap = space between photos */
.home-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: .75rem; }
/* Each photo tile: rounded corners */
.home-gallery__item { position: relative; overflow: hidden; border-radius: 4px; text-decoration: none !important; }
/* First photo is big (2 columns x 2 rows) */
.home-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
/* Wide photo (2 columns), use class home-gallery__item--wide */
.home-gallery__item--wide { grid-column: span 2; }
/* Photos fill their tile; transition = zoom speed */
.home-gallery__item img { width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover; transition: transform .4s; }
/* Zoom on hover (1.04 = 4% bigger) */
.home-gallery__item:hover img { transform: scale(1.04); }
/* Project title over the photo: navy fade, hidden until hover */
.home-gallery__caption { position: absolute; inset: auto 0 0; padding: 2.5rem .9rem .8rem; background: linear-gradient(transparent, rgba(37, 33, 89, .92)); color: #ffffff; font-size: .85rem; font-weight: 600; opacity: 0; transition: opacity .25s; }
/* Shows the title on hover */
.home-gallery__item:hover .home-gallery__caption, .home-gallery__item:focus .home-gallery__caption { opacity: 1; }
/* "Find all projects" button: centred; margin top = space above it */
.home-gallery__more { margin: 1.75rem 0 0; text-align: center; }
/* Safety net: a button the editor wraps in an extra grid box still shows centred under the photos */
.home-gallery__grid:not(:has(.home-gallery__item)) { display: block; margin: 1.75rem 0 0; text-align: center; }
/* Safety net: hides empty grid boxes the editor adds when you press Enter */
.home-gallery__grid:not(:has(a)) { display: none; }
/* Space below the section */
.home-years { margin: 0 0 3rem; }
/* 3 tiles side by side; gap = space between tiles */
.home-years__list { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0 !important; padding: 0 !important; list-style: none !important; }
/* Removes list spacing */
.home-years__list li { margin: 0 !important; padding: 0 !important; }
/* Removes bullets */
.home-years__list li::before { display: none !important; }
/* Each tile: border, navy top line, padding */
.home-years__list a { position: relative; display: block; padding: 1.25rem 2.5rem 1.25rem 1.25rem; border: 1px solid #d9dce5; border-top: 3px solid #252159; border-radius: 4px; text-decoration: none !important; transition: all .15s; }
/* Orange arrow on the right of each tile */
.home-years__list a::after { content: "\2192"; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); color: #e77f11; font-size: 1.2rem; }
/* Tile when hovered: orange top line, grey background */
.home-years__list a:hover, .home-years__list a:focus { border-color: #252159; border-top-color: #e77f11; background: #f3f5f9; }
/* The year (2026, 2025...): navy serif, size */
.home-years__year { display: block; color: #252159; font-family: "Noto Serif", serif; font-size: 1.75rem; line-height: 1.1; }
/* "10th Annual Symposium" text under the year */
.home-years__label { display: block; margin-top: .3rem; color: #666666; font-size: .85rem; }
/* All homepage adjustments for phones: smaller padding, stacked buttons, 2-column gallery, stacked year tiles */
@media (max-width: 767px) {
    .home-hero { padding: 3rem 1.25rem 2.5rem; }
    .home-hero__actions .home-btn { flex: 1 1 100%; text-align: center; }
    .preview-block--cards .resource-list.preview, .home-gallery__grid { grid-template-columns: repeat(2, 1fr); }
    .preview-block--cards .description { display: none; }
    .home-gallery__grid { grid-auto-rows: 140px; gap: .5rem; }
    .home-gallery__caption { opacity: 1; padding: 1.75rem .6rem .55rem; font-size: .75rem; }
    .home-years__list { grid-template-columns: 1fr; }
}


/* 5. BROWSE PROJECTS - /faceted-browse/5 - filters and results */
/* Layout: filters column 250px wide on the left, results on the right */
@media (min-width: 768px) {
    .faceted-browse-page #container {
        gap: 3rem;
        align-items: flex-start;
    }
    .faceted-browse-page #section-sidebar {
        flex: 0 0 250px;
        width: 250px;
        min-width: 0;
        padding: 0 1rem 0 0;
    }
    .faceted-browse-page #section-content {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        padding: 0;
    }
}
/* Filter groups: no box, space between groups */
.faceted-browse-page #section-sidebar fieldset {
    min-width: 0;
    display: block;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0 0 1.75rem;
}
/* Filter titles (YEAR, SESSION...): small navy capitals */
.faceted-browse-page #section-sidebar legend {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0 0 .6rem;
    font-family: "Open Sans", sans-serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #252159;
}
/* Categories title: larger serif */
.faceted-browse-page #section-sidebar .categories-container legend {
    font-family: "Noto Serif", serif;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}
/* Keeps filter options under their title */
.faceted-browse-page #section-sidebar .select-list {
    clear: both;
}
/* Filter options: text size and colour */
.faceted-browse-page .facet label {
    align-items: flex-start;
    padding: .15rem 0;
    font-size: .9rem;
    line-height: 1.45;
    color: #444444;
    cursor: pointer;
}
/* Filter options when hovered */
.faceted-browse-page .facet label:hover {
    color: #252159;
}
/* Checkbox spacing */
.faceted-browse-page .facet label input {
    flex-shrink: 0;
    margin: .2rem .5rem 0 0;
}
/* Search boxes in filters: full width */
.faceted-browse-page #section-sidebar input[type="text"] {
    width: 100%;
    margin: 0;
}
/* Results list: no bullets */
.faceted-browse-page #section-content .resource-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Each result: thin line between results, spacing */
.faceted-browse-page #section-content .resource-list .item.resource {
    display: block;
    background: none;
    border: 0;
    border-bottom: 1px solid #e8eaf0;
    box-shadow: none;
    margin: 0;
    padding: 1.1rem 0;
}
/* Result row: thumbnail next to title */
.faceted-browse-page #section-content .resource-link {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem;
    text-decoration: none !important;
}
/* Result thumbnail size (52px square) */
.faceted-browse-page #section-content .resource-link img {
    width: 52px;
    height: 52px;
    max-height: none;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
    margin: 0;
}
/* Result titles: navy, semi-bold */
.faceted-browse-page #section-content .resource-name {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #252159 !important;
    min-width: 0;
    max-width: none !important;
    letter-spacing: normal;
}
/* Result titles underlined on hover */
.faceted-browse-page #section-content .resource-link:hover .resource-name,
.faceted-browse-page #section-content .resource-link:focus .resource-name {
    text-decoration: underline;
}
/* Result summary: grey, cut to 2 lines */
.faceted-browse-page #section-content .resource-list .description {
    margin: .35rem 0 0;
    color: #666666;
    font-size: .9rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* Lines the summary up under the title */
.faceted-browse-page #section-content .resource-link:has(img) + .description {
    padding-left: calc(52px + 1rem);
}
/* Table view (Columns): table borders */
.faceted-browse-page #section-content table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* Table view: header background */
.faceted-browse-page #section-content table thead {
    background: none;
}
/* Table view: column headings */
.faceted-browse-page #section-content table th {
    padding: .5rem .75rem .5rem 0;
    border-bottom: 2px solid #252159;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #252159;
}
/* Table view: rows without shadow */
.faceted-browse-page #section-content table tbody tr {
    box-shadow: none;
    background: none;
}
/* Table view: cells */
.faceted-browse-page #section-content table td {
    padding: .85rem .75rem .85rem 0;
    border: 0;
    border-bottom: 1px solid #e8eaf0 !important;
    font-size: .95rem;
    letter-spacing: normal;
    color: #444444;
}
/* Table view: thumbnail size */
.faceted-browse-page #section-content table .resource-link img {
    width: 44px;
    height: 44px;
}
/* Hides the "Copy permalink" button */
.faceted-browse-page #section-content .button.permalink {
    display: none !important;
}
/* Bar with page numbers and sorting (above results) */
.faceted-browse-page #section-content .browse-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.5rem;
    margin: 0;
    padding: 0 0 .9rem;
    border-bottom: 1px solid #e8eaf0;
}
/* Same bar below the results */
.faceted-browse-page #section-content .browse-controls:last-child {
    border-bottom: 0;
    border-top: 1px solid #e8eaf0;
    padding: .9rem 0 0;
    margin-top: 1rem;
}
/* Removes extra spacing in that bar */
.faceted-browse-page #section-content .browse-controls > * {
    margin: 0 !important;
}
/* Page numbers area */
.faceted-browse-page #section-content .pagination {
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    gap: .75rem;
    justify-content: flex-start;
    font-size: .85rem;
}
/* Spacing between pager parts */
.faceted-browse-page #section-content .pagination .pager-wrapper {
    gap: .4rem;
}
/* "1-25 of 417" text */
.faceted-browse-page #section-content .pagination .row-count {
    margin: 0;
    color: #666666;
    font-size: .85rem;
}
/* "Page ... of ..." text */
.faceted-browse-page #section-content .pagination .pager label,
.faceted-browse-page #section-content .pagination .page-count {
    color: #666666;
    font-size: .85rem;
}
/* Page number box */
.faceted-browse-page #section-content .pagination input[type="text"] {
    width: 3rem;
    height: 32px;
    padding: 2px 4px !important;
    margin: 0 .25rem;
    font-size: .85rem;
}
/* Hides the "Go" button */
.faceted-browse-page #section-content .pagination .gotopage-btn {
    display: none;
}
/* Previous / next arrows */
.faceted-browse-page #section-content .pagination .button {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 1px solid #d9dce5;
    color: #252159;
}
/* Sort controls layout */
.faceted-browse-page #section-content form.sorting {
    display: flex;
    align-items: center;
    gap: .4rem;
}
/* Sort dropdown */
.faceted-browse-page #section-content form.sorting select {
    width: auto;
    height: 32px;
    margin: 0;
    padding: 2px 30px 2px 10px;
    font-size: .85rem;
    background-position: calc(100% - 8px) center;
    background-size: 12px;
}
/* Sort button (navy) */
.faceted-browse-page #section-content form.sorting button {
    height: 32px;
    padding: 0 .9rem;
    font-size: .75rem;
    letter-spacing: .05em;
    background: #252159;
}


/* 6. PROJECT PAGES - /item/... - viewer, details, tags, map */
/* Old item page main column width */
.regions-container .main-region {
    order: -1;
    width: 80%;
}
/* Videos: full width up to a maximum */
video { width: 100%; max-width: 50em; height: auto; }
/* Centres media files */
.media-render.file { text-align: center; }
/* Hides the theme property list */
.properties { display: none; }
/* ...but keeps the Tags list visible */
.properties.tag { display: block; }
/* Old tag style (grey background) */
span.values.tag {
    background-color: #f3f5f9;
    padding: 0.3em;
    margin-right: 1em;
}
/* Description text in Browse lists */
.description.ellipsis {
    padding-top: 1em;
    font-size: 17px;
    line-height: 1.8;
}
/* Item page line height and top spacing */
.regions-container {
    line-height: 1.8;
    margin-top: 5%;
}
/* Thin border around items in Browse lists */
.item.resource {
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
}
/* Height of the tag picker box */
select#select-tag { height: 6em; }
/* Hides "parent item" text on media pages */
p.media-parent-item.textcenter { display: none; }
/* Map height on project pages (older rule, the 300px rule below wins) */
div#mapping-map { height: 400px !important; }
/* Tags heading size (older rule) */
.properties.tag h4 { font-size: 20px; }
/* Space below the Tags list (older rule) */
.properties.tag { margin-bottom: 5rem !important; }
/* Project title size */
body.item.show #content h1 {
    font-size: 2.2rem;
    margin-bottom: 2rem;
}
/* Project title colour (navy) */
body.item.show #content h1 .title {
    color: #252159;
}
/* Space below the image/PDF viewer */
body.item.show .octopusviewer-wrapper {
    margin-bottom: 3rem;
}
/* Image/PDF viewer: height (75vh = 75% of screen), border */
body.item.show octopusviewer-viewer {
    height: 75vh;
    min-height: 560px;
    margin: 0;
    box-shadow: none;
    border: 1px solid #e8eaf0;
    border-radius: 4px;
    overflow: hidden;
}
/* PHONES: viewer height */
@media (max-width: 767px) {
    body.item.show octopusviewer-viewer {
        height: 70vh;
        min-height: 420px;
    }
}
/* Puts everything in one column (viewer, then details) */
body.item.show .regions-container,
body.item.show .regions-container.regions-container--all {
    display: flex !important;
    flex-direction: column !important;
    gap: 3rem !important;
    margin-top: 0 !important;
    padding-bottom: 0;
    border-bottom: none;
}
/* Columns use full width */
body.item.show .regions-container .main-region,
body.item.show .regions-container .sidebar-region {
    width: 100% !important;
}
/* Order of sections: main details first */
body.item.show .regions-container .main-region { order: 1 !important; }
/* Order: left sidebar second */
body.item.show .regions-container .sidebar-region--left { order: 2 !important; }
/* Order: right sidebar (map) third */
body.item.show .regions-container .sidebar-region--right { order: 3 !important; }
/* Removes the theme divider line */
body.item.show .regions-container .sidebar-region::after { display: none !important; }
/* Details list: top border */
body.item.show .main-region .metadata dl {
    margin: 0;
    border-top: 1px solid #e8eaf0;
}
/* Each detail row (Creator, Abstract...): spacing and divider line */
body.item.show .main-region .metadata dl > .property {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: .5rem;
    row-gap: .4rem;
    margin: 0;
    padding: .9rem 0;
    border-bottom: 1px solid #e8eaf0;
}
/* Detail labels (CREATOR, ABSTRACT...): small navy capitals, 170px wide */
body.item.show .main-region .metadata dl > .property dt {
    float: none !important;
    width: auto !important;
    flex: 0 0 170px;
    margin: 0 !important;
    color: #252159;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.9;
}
/* Detail values: text size and colour */
body.item.show .main-region .metadata dl > .property dd {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    color: #333333;
    font-size: 1rem;
    line-height: 1.7;
}
/* Rows with several values (e.g. topics) shown as rounded chips */
body.item.show .main-region .metadata dl > .property:has(dd + dd) dd {
    flex: 0 0 auto;
    border: 1px solid #d9dce5;
    border-radius: 999px;
    padding: 0 .75rem;
    font-size: .85rem;
    line-height: 1.8;
    color: #444444;
}
/* PHONES: labels above values */
@media (max-width: 767px) {
    body.item.show .main-region .metadata dl > .property dt {
        flex-basis: 100%;
    }
}
/* Hides the left sidebar */
body.item.show .sidebar-region--left {
    display: none !important;
}
/* Right sidebar: no box around it */
body.item.show .sidebar-region--right .metadata {
    background: none;
    border: none;
    padding: 0;
}
/* Map height on project pages (300px) */
body.item.show .sidebar-region--right div#mapping-map {
    height: 300px !important;
    border-radius: 4px;
    margin-bottom: 2rem;
}
/* Tags block spacing */
body.item.show .properties.tag {
    margin-bottom: 0 !important;
}
/* "Tags" heading: small navy capitals */
body.item.show .properties.tag h4 {
    color: #252159;
    font-family: "Open Sans", sans-serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .6rem;
}
/* Spacing between tags */
body.item.show span.values.tag {
    display: inline-block;
    background: none;
    padding: 0;
    margin: 0 .35rem .45rem 0;
}
/* Tags as navy outlined pills */
body.item.show span.values.tag a {
    display: inline-block;
    border: 1px solid #252159;
    border-radius: 999px;
    padding: 0 .75rem;
    font-size: .85rem;
    line-height: 1.8;
    color: #252159 !important;
    text-decoration: none;
}
/* Tags when hovered: filled navy */
body.item.show span.values.tag a:hover,
body.item.show span.values.tag a:focus {
    background: #252159;
    color: #ffffff !important;
}
/* Hides the duplicate Tags list at the top */
body.item.show #content > .properties.tag {
    display: none !important;
}


/* 7. YEAR + SCHEDULE PAGES - /page/year-2026 etc. - accordions, tables, buttons */
/* Table header cells: Poster Number, Student(s), Title... */
th { text-align: left; padding-top: 35px; color: #252159; border: none; }
/* Table body cells: font size, padding, divider line */
td {
    border-bottom: 1px solid #cccccc;
    font-size: 15px;
    text-align: left;
    padding-right: 15px;
    line-height: 1.5;
    padding-bottom: 15px;
    padding-top: 5px;
    color: #0d0d0d;
    letter-spacing: 0.5px;
}
/* Orange filled small button */
a.button.button-primary.small {
    background: #e77f11;
    color: #fff;
    line-height: 37px;
    text-align: center;
    font-size: inherit;
    letter-spacing: 2px;
    border: solid 1px #e77f11;
}
/* White button with orange border (past events) */
a.button.button-primary-past.small {
    background: #ffffff;
    color: #e77f11;
    line-height: 37px;
    text-align: center;
    font-size: inherit;
    letter-spacing: 2px;
    border: solid 1px #e77f11;
}
/* White button with orange border (past events) */
a.button.button-primary-past.small:hover { background: #e77f11; color: white; }
/* White button with dark border */
a.button.button-dark.small {
    background: #ffffff;
    color: #404040;
    line-height: 37px;
    text-align: center;
    font-size: inherit;
    letter-spacing: 2px;
    border: solid 1px #333;
}
/* White button with dark border */
a.button.button-dark.small:hover { background: #666666; color: white; }
/* Grey filled button (past events) */
a.button.button-dark-past.small {
    background: #666666;
    color: #ffffff;
    line-height: 37px;
    text-align: center;
    font-size: inherit;
    letter-spacing: 2px;
    border: solid 1px #333;
}
/* Centres accordion group headings (e.g. "Thursday, May 28") */
.accordion-group { text-align: center; }
/* "Full schedule" link floated to the right */
span.full-schedule { float: right; font-size: 16px; color: #e77f11; text-decoration: underline; font-weight: bold; }
/* "Read more" style links floated to the right */
span.info-links { float: right; color: #e77f11; text-decoration: underline; font-weight: bold; }
/* Accordion bar layout: full width, title left, arrow right, height */
.accordion-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: 35px;
}
/* Accordion bars when closed: navy background, white text, orange left edge */
body #content button.accordion-trigger,
body #content button.accordion-trigger:link,
body #content button.accordion-trigger:visited {
    background-color: #252159 !important;
    color: #ffffff !important;
    border-left: 5px solid #e77f11 !important;
    border-bottom: 2px solid #ffffff !important;
    text-shadow: none !important;
    transition: background-color .3s ease, border-left-width .15s ease;
}
/* Accordion bars when hovered or open: lighter navy, thicker orange edge */
body #content button.accordion-trigger:hover,
body #content button.accordion-trigger:focus,
body #content button.accordion-trigger:active,
body #content button.accordion-trigger.expanded,
body #content button.accordion-trigger[aria-expanded="true"] {
    background-color: #322c7a !important;
    color: #ffffff !important;
    border-left: 9px solid #e77f11 !important;
    text-shadow: none !important;
}
/* Table rows: font size and row height */
tr {
    font-size: 16px;
    line-height: 2;
}


/* 8. MAP PAGE - /page/student-symposium-map - map and pop-ups */
/* Spacing inside map pop-ups */
.leaflet-popup-content {
    margin: 13px 24px 13px 20px;
    line-height: 2;
}
/* Hides the heading inside map pop-ups */
h3.mapping-marker-popup-heading { display: none; }
/* Text size inside map pop-ups */
.mapping-marker-popup-text { font-size: 1.3em; }
/* Height of the big map on the Map page */
.mapping-map.leaflet-container.leaflet-touch.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag.leaflet-touch-zoom {
    height: 55em !important;
}


/* 9. OLD / OTHER - old homepage, banners, workshop box, carousels */
/* Name under a quote, floated right (old homepage) */
span.info-name { float: right; font-style: normal; text-align: justify; }
/* Old announcement banner style (.alert class) */
.alert {
    padding: 20px 30px;
    background: #f3f5f9;
    color: #252159;
    text-align: center;
    border: 2px solid #e77f11;
    border-radius: 12px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    box-shadow: 0 8px 20px rgba(37, 33, 89, 0.15);
    position: relative;
    margin: 20px auto;
    transition: all 0.3s ease-in-out;
}
/* Box style for the Workshop page */
.workshop {
    padding: 30px;
    background-color: #f3f5f9;
    color: #252159;
    text-align: center;
    border: 1px solid #252159;
}
/* The x close button on old banners */
.closebtn {
    margin-left: 15px;
    color: #252159;
    font-weight: bold;
    float: right;
    font-size: 22px;
    line-height: 20px;
    cursor: pointer;
    transition: 0.3s;
}
/* The x close button on old banners */
.closebtn:hover { color: black; }
/* Spacing around carousels (Item Carousel block) */
.carousel-block {
    position: relative;
    padding-bottom: 25px;
    margin: 1rem 0;
    padding-top: 2em;
}
/* Carousel slide titles */
.slick-slide .slide-text .title {
    font-weight: bold;
    line-height: 1.7;
    text-decoration: none;
}
/* Featured images on the old homepage */
img.home {
    width: 100%;
    max-width: 80em;
    height: auto;
}
/* Quote margins on larger screens */
@media (min-width: 768px) {
    blockquote {
        margin: 0rem;
    }
}
