@import url("../../prosilver/theme/stylesheet.css");
/* Palette/font values measured from the live default LongeCity IPB skin. */
html, body { background: #d8dde8; color: #5a5a5a; font-family: Helvetica, Arial, sans-serif; }
body { font-size: 15px; padding: 0; }
.wrap { max-width: 1450px; margin: 0 auto; border: 0; border-radius: 0; padding: 0 14px 22px; background: #fff; }
.lc-brand { display: flex; align-items: center; gap: 16px; padding: 18px 20px 12px; background: #204066; color: white; }
.lc-brand img { width: 68px; height: 63px; object-fit: contain; flex-shrink: 0; }
.lc-brand-name { font-size: 40px; font-weight: 600; line-height: 1.1; color: #fff; text-decoration: none; }
.lc-brand-name:hover { color: white; text-decoration: none; }
.lc-tagline { margin: 7px 0 0; color: #e8edf5; font-size: 14px; }
.lc-nav { display: flex; align-items: stretch; flex-wrap: wrap; gap: 1px; padding: 0 12px; background: #204066; }
.lc-nav > a, .lc-nav summary { color: white; padding: 10px 12px; display: block; cursor: pointer; font-size: 14px; }
.lc-nav > a:hover, .lc-nav summary:hover, .lc-nav summary:focus { background: #2c5687; color: white; }
.lc-nav details { position: relative; }
.lc-nav details > div { position: absolute; left: 0; top: 100%; z-index: 50; min-width: 180px; background: white; border: 1px solid #bbc6d4; box-shadow: 0 4px 8px #0002; }
.lc-nav details > div a { display: block; padding: 9px 14px; color: #225985; }
.lc-nav details > div a:hover { background: #ebf0f3; }
.lc-staging { background: #fff4ce; color: #624c04; padding: 8px 14px; font-size: 13px; border-bottom: 1px solid #dcc989; }
.headerbar { background: #204066; background-image: none; border-radius: 0; min-height: 36px; margin-bottom: 0; padding: 4px 14px; }
.headerbar .site-description { display: none; }
.headerbar .search-header { margin-top: 0; box-shadow: none; }
.navbar { background: #ebf0f3; border-radius: 0; font-size: 13px; }
.forabg, .forumbg { background: #2c5687; background-image: url("images/maintitle.png"); background-repeat: repeat-x; border-radius: 3px; padding: 0 1px 1px; }
.forabg li.header, .forumbg li.header { padding: 9px 10px; }
.forabg li.header dt, .forumbg li.header dt { font-size: 16px; font-family: Helvetica, Arial, sans-serif; text-transform: none; font-weight: normal; }
ul.forums { background: #ebf0f3; background-image: none; }
li.row { background: #f7f9fa; border-bottom: 1px solid #dce2e8; }
li.row:hover { background: #eef3f7; }
a.forumtitle, a.topictitle, a { color: #225985; }
a.forumtitle { font-family: Helvetica, Arial, sans-serif; font-size: 16px; }
.bg1 { background: #f7f9fa; }
.bg2 { background: #ebf0f3; }
.post { border-radius: 3px; border: 1px solid #dce2e8; }
.postbody .content { font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.postbody .content img { max-width: 100%; height: auto; }
.lc-profile-biography, .lc-archive-body { overflow-wrap: anywhere; }
.lc-profile-biography img, .lc-archive-body img { max-width: 100%; height: auto; }
.postprofile { font-family: Helvetica, Arial, sans-serif; float: left; border-left: 0; border-right: 1px solid #dce2e8; padding-right: 10px; width: 20%; }
.postbody { float: right; width: 76%; }
/* Media archives share the forum shell, with readable articles and fluid cards. */
.lc-archive { max-width: 1800px; margin: 24px auto; color: #334155; overflow-wrap: anywhere; }
.lc-archive-nav, .lc-archive-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.lc-archive-nav a, .lc-archive-categories a { display: inline-block; padding: 9px 14px; background: #ebf0f3; border: 1px solid #dce2e8; border-radius: 6px; font-size: 14px; }
.lc-archive-nav a[aria-current="page"], .lc-archive-nav a:hover { background: #204066; color: #fff; text-decoration: none; }
.lc-archive a:focus-visible { outline: 3px solid #c28b21; outline-offset: 3px; }
.lc-archive-heading { padding: 12px 0 24px; border-bottom: 1px solid #dce2e8; margin-bottom: 24px; }
.lc-archive-eyebrow, .lc-archive-type { font-size: 12px; letter-spacing: .04em; color: #52677d; margin: 0 0 8px; }
.lc-archive-heading h2 { font: 600 clamp(26px, 2vw, 38px)/1.2 Helvetica, Arial, sans-serif; margin: 0 0 12px; color: #204066; }
.lc-archive-description { font-size: 16px; line-height: 1.6; max-width: 85ch; margin-bottom: 12px; }
.lc-archive-date, .lc-archive-meta, .lc-archive-results { color: #52677d; font-size: 13px; line-height: 1.5; }
.lc-archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 18px; margin: 16px 0 24px; }
.lc-archive-card { min-width: 0; border: 1px solid #dce2e8; border-radius: 8px; overflow: hidden; background: #f7f9fa; }
.lc-archive-card-text { padding: 20px; }
.lc-archive-card h3 { margin: 0 0 14px; padding: 0; border: 0; font: 600 18px/1.4 Helvetica, Arial, sans-serif; text-transform: none; }
.lc-archive-item-desc { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: #334155; }
.lc-archive-card .lc-archive-meta { margin: 0 0 8px; }
.lc-archive-thumbnail { display: block; background: #ebf0f3; }
.lc-archive-thumbnail img { display: block; width: 100%; height: 180px; object-fit: cover; }
.lc-archive-body { box-sizing: border-box; max-width: 110ch; margin: 24px auto; padding: clamp(16px, 2vw, 32px); background: #f7f9fa; border: 1px solid #dce2e8; border-radius: 8px; font: 16px/1.55 Helvetica, Arial, sans-serif; }
.lc-archive-body img { max-width: 100%; height: auto; }
.lc-archive-body img[height][width] { max-width: min(100%, 220px); }
.lc-archive-body br { content: normal; display: block; margin: 0; }
.lc-archive-body br + br { margin-top: .55em; }
.lc-archive-body a { text-decoration: underline; }
.lc-archive-body blockquote { margin: 16px 0; }
.lc-archive-body .codebox { max-width: 100%; }
.lc-archive-player { max-width: 900px; margin: 24px auto; padding: 20px; border-radius: 8px; background: #ebf0f3; }
.lc-archive-player audio { width: 100%; margin: 10px 0; }
.lc-archive-files { margin: 24px 0; padding: 16px; background: #f7f9fa; border: 1px solid #dce2e8; border-radius: 6px; }
.lc-archive-files summary { cursor: pointer; font-weight: 600; }
.lc-archive-files ul { margin: 16px 0 0 20px; }
.lc-archive-files li { padding: 6px 0; }
.lc-archive-meta { display: block; }
.lc-archive-pagination { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.lc-archive-notice { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid #dce2e8; font-size: 12px; color: #52677d; }
.lc-archive-empty { padding: 24px; background: #f7f9fa; border-radius: 8px; }
.lc-archive-unavailable { display: inline-block; padding: 8px 12px; background: #ebf0f3; color: #52677d; border-radius: 4px; font-size: 14px; }
/* Film: restore the original portrait/name relationships as responsive cards. */
.lc-archive-body:has(> .lc-film) { max-width: 1200px; padding: 0; border: 0; background: transparent; }
.lc-film { line-height: 1.6; }
.lc-film br { display: revert; content: normal; margin: 0; }
.lc-film br + br { margin: 0; }
.lc-film h3 { font: 600 22px/1.3 Helvetica, Arial, sans-serif; color: #204066; text-transform: none; border: 0; padding: 0; margin: 24px 0 16px; }
.lc-film h3, .lc-film-anchor { scroll-margin-top: 24px; }
.lc-film-menu { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.lc-film-menu a { display: block; padding: 8px 12px; border: 1px solid #ccd6e0; border-radius: 5px; text-decoration: none; }
.lc-film-resources { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin: 24px 0; }
.lc-film-watch { padding: 28px; border-radius: 8px; background: #204066; color: #fff; align-content: center; }
.lc-film-watch h3 { color: #fff; margin: 12px 0 20px; font-size: 28px; }
.lc-film-watch .lc-film-watch-link { display: inline-block; padding: 12px 18px; border-radius: 5px; background: #fff; color: #204066; font-weight: 600; text-decoration: none; }
.lc-film-kicker { font-size: 13px; letter-spacing: .04em; }
.lc-film-transcripts { padding: 24px; border: 1px solid #dce2e8; border-radius: 8px; background: #f7f9fa; }
.lc-film-transcripts h3 { margin-top: 0; }
.lc-film-story { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.lc-film-story-block { min-width: 0; padding: 20px; background: #f7f9fa; border-radius: 6px; }
.lc-film-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 14px; margin: 16px 0 28px; }
.lc-film-person { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 16px; border: 1px solid #dce2e8; border-radius: 6px; background: #f7f9fa; align-items: start; }
.lc-film-person-text { min-width: 0; font-size: 15px; }
.lc-film-person-text > a:first-child { font-weight: 600; }
.lc-film-portrait img { display: block; width: auto; max-width: 64px; max-height: 84px; height: auto; border-radius: 3px; }
.lc-film-missing { display: inline-block; color: #52677d; font-size: 12px; line-height: 1.4; padding: 6px; background: #ebf0f3; }
@media (max-width: 700px) {
  .lc-film-resources, .lc-film-story { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .lc-film-person { padding: 12px; gap: 12px; }
}
/* Book: cover details, review cards, contents and individually paired excerpts. */
.lc-archive-body:has(> .lc-book) { max-width: 1120px; padding: 0; border: 0; background: transparent; }
.lc-book { line-height: 1.65; }
.lc-book br, .lc-book br + br { display: revert; content: normal; margin: 0; }
.lc-book p { margin: 0 0 16px; font-size: 1em; line-height: inherit; }
.lc-book p:last-child { margin-bottom: 0; }
.lc-book h3 { font: 600 23px/1.35 Helvetica, Arial, sans-serif; color: #204066; text-transform: none; border: 0; padding: 0; margin: 28px 0 18px; }
.lc-book h3 br { display: none; }
.lc-book h3, .lc-book-anchor { scroll-margin-top: 24px; }
.lc-book-hero { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; padding: 28px; background: #f7f9fa; border: 1px solid #dce2e8; border-radius: 8px; margin-bottom: 28px; }
.lc-book-cover img { display: block; width: auto; max-width: 100%; max-height: 330px; margin: 0 auto; }
.lc-book-summary h3 { margin-top: 0; font-size: 28px; }
.lc-book-summary p { margin-bottom: 16px; }
.lc-book-unavailable { color: #52677d; }
.lc-book-unavailable small { font-size: 13px; }
.lc-book-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 20px 0 28px; }
.lc-book-review, .lc-book-excerpt { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 22px; background: #f7f9fa; border: 1px solid #dce2e8; border-radius: 8px; }
.lc-book-review { font-size: 15px; }
.lc-book-portrait img { display: block; width: auto; height: auto; max-width: 64px; max-height: 85px; border-radius: 3px; }
.lc-book-toc { padding: 24px; background: #ebf0f3; border: 1px solid #dce2e8; border-radius: 8px; margin: 20px 0 28px; }
.lc-book-toc ul { columns: 2; column-gap: 32px; list-style: none; margin: 0; padding: 0; }
.lc-book-toc li { break-inside: avoid; margin: 0; padding: 6px 0; }
.lc-book-toc .lc-book-toc-section { font-weight: 600; padding-top: 14px; }
.lc-book-prose { max-width: 88ch; margin: 32px auto; }
.lc-book-excerpt { margin: 20px 0; }
.lc-book-excerpt-text { min-width: 0; }
.lc-book-excerpt h4 { font: 600 18px/1.4 Helvetica, Arial, sans-serif; margin: 0 0 14px; color: #204066; }
.lc-book-excerpt-text p:first-child > strong:first-child { display: block; margin-bottom: 10px; }
.lc-book-excerpt-text img { max-width: 80px; max-height: 85px; vertical-align: middle; }
.lc-book-references { list-style: none; margin: 16px 0 24px !important; padding: 0 !important; }
.lc-book-references li { margin: 0 0 10px; padding: 0; }
.lc-book-missing { font-size: 12px; color: #52677d; }
@media (max-width: 700px) {
  .lc-book-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 18px; }
  .lc-book-reviews { grid-template-columns: minmax(0, 1fr); }
  .lc-book-review, .lc-book-excerpt { padding: 14px; gap: 12px; grid-template-columns: 52px minmax(0, 1fr); }
  .lc-book-portrait img { max-width: 52px; }
  .lc-book-excerpt-text { display: contents; }
  .lc-book-excerpt-text > h4 { grid-column: 2; margin: 0; align-self: center; }
  .lc-book-excerpt-text > p { grid-column: 1 / -1; }
  .lc-book-toc { padding: 16px; }
  .lc-book-toc ul { columns: 1; }
  .lc-book-prose { padding: 0 8px; }
}
/* Write for LongeCity: restored blue section headings and the bordered commissions box. */
.lc-write { line-height: 1.65; }
.lc-write br, .lc-write br + br { display: revert; content: normal; margin: 0; }
.lc-write p { margin: 0 0 16px; font-size: 1em; line-height: inherit; }
.lc-write-heading { font: 600 20px/1.35 Helvetica, Arial, sans-serif; color: #336699; text-transform: none; border: 0; padding: 0; margin: 24px 0 14px; }
.lc-write-commissions { max-width: 520px; box-sizing: border-box; padding: 10px; border: 5px solid #808080; margin: 0 0 16px; }
.lc-write-commissions h4 { font: 600 18px/1.4 Helvetica, Arial, sans-serif; text-decoration: underline; margin: 0 0 10px; }
.lc-write-commissions ul { margin: 0; padding-left: 22px; }
.lc-write-commissions li { margin: 0 0 6px; }
/* Connect: restored page heading. */
.lc-connect { line-height: 1.65; }
.lc-connect br, .lc-connect br + br { display: revert; content: normal; margin: 0; }
.lc-connect p { margin: 0 0 16px; font-size: 1em; line-height: inherit; }
.lc-connect-heading { font: 600 26px/1.35 Helvetica, Arial, sans-serif; text-transform: none; border: 0; padding: 0; margin: 0 0 18px; }
.lc-connect-heading br { display: none; }
/* Thanks and Grants: restored headings, prize and support-type lists. */
.lc-thanks, .lc-grants { line-height: 1.65; }
.lc-thanks br, .lc-thanks br + br, .lc-grants br, .lc-grants br + br { display: revert; content: normal; margin: 0; }
.lc-thanks p, .lc-grants p { margin: 0 0 16px; font-size: 1em; line-height: inherit; }
.lc-thanks-heading { font: 600 18px/1.4 Helvetica, Arial, sans-serif; margin: 20px 0 10px; border: 0; padding: 0; text-transform: none; }
.lc-thanks-underline { text-decoration: underline; }
.lc-thanks-signoff { font-size: 1.2em; }
.lc-thanks-note { color: #52677d; font-size: 13px; }
.lc-thanks-prizes, .lc-grants-types { margin: 0 0 16px; padding-left: 24px; }
.lc-thanks-prizes li, .lc-grants-types li { margin: 0 0 10px; }
/* Contact: restored preserved contact details. */
.lc-contact { line-height: 1.65; }
.lc-contact br, .lc-contact br + br { display: revert; content: normal; margin: 0; }
.lc-contact p { margin: 0 0 16px; font-size: 1em; line-height: inherit; }
.lc-contact-email { font-size: 1.4em; }
/* Districts: preserved portal homepage categories/tag cloud and portal note. */
.lc-districts { line-height: 1.6; }
.lc-districts p { margin: 0 0 14px; }
.lc-districts-note { padding: 12px 16px; background: #ebf0f3; border: 1px solid #dce2e8; border-radius: 6px; font-size: 14px; color: #52677d; }
.lc-districts-cats { margin: 0 0 20px; padding-left: 24px; }
.lc-districts-cats li { margin: 0 0 8px; }
.lc-districts-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 10px; padding: 0; }
.lc-districts-tags a { display: inline-block; padding: 5px 12px; background: #ebf0f3; border: 1px solid #dce2e8; border-radius: 14px; font-size: 14px; }
/* SupportUs: Donate methods, Store cards and Sponsors options restored. */
.lc-support { line-height: 1.6; }
.lc-support p { margin: 0 0 14px; }
.lc-support-heading { font: 600 20px/1.4 Helvetica, Arial, sans-serif; margin: 26px 0 12px; border: 0; padding: 0; text-transform: none; }
.lc-support-list { list-style: none; margin: 0 0 14px; padding-left: 6px; }
.lc-support-list li { margin: 0 0 8px; }
.lc-support-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; margin: 0 0 18px; }
.lc-support-method { padding: 16px; border: 1px solid #dce2e8; border-radius: 8px; background: #f7f9fa; }
.lc-support-method h4 { margin: 0 0 10px; font: 600 16px/1.4 Helvetica, Arial, sans-serif; }
.lc-support-method img { max-width: 120px; height: auto; }
.lc-support-cheque p { margin: 8px 0 0; }
.lc-support-cheque-note { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; background: #ebf0f3; border: 1px solid #dce2e8; border-radius: 6px; }
.lc-support-cheque-note img { width: 40px; height: auto; flex-shrink: 0; }
.lc-support-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; margin: 0 0 18px; }
.lc-support-card { text-align: center; }
.lc-support-card img { max-width: 100%; height: auto; border-radius: 4px; }
.lc-support-card p { margin: 8px 0 0; font-size: 14px; }
.lc-support-auction { margin: 0 0 18px; padding: 14px 18px; background: #f0eef8; border: 1px solid #d8d2ee; border-radius: 6px; text-align: center; }
.lc-support-float { display: flex; gap: 14px; align-items: flex-start; }
.lc-support-float img { width: 110px; height: auto; flex-shrink: 0; }
.lc-support-unavailable { color: #52677d; }
.lc-support-note { color: #52677d; font-size: 13px; }
.lc-support-anchor { scroll-margin-top: 24px; }
@media (max-width: 700px) { .lc-support-cheque-note, .lc-support-float { display: block; } .lc-support-cheque-note img, .lc-support-float img { margin-bottom: 8px; } }
/* Grow beyond the desktop cap with modest gutters on wide displays. The
   breakpoint meets the existing 1478px outer width without a width jump. */
@media (min-width: 1540px) {
  .wrap { max-width: none; margin-inline: 2%; }
  /* Spend the extra thread width on content, rather than the author column. */
  .section-viewtopic .post.has-profile .postprofile { width: 280px; }
  .section-viewtopic .post.has-profile .postbody { width: calc(100% - 312px); }
}
@media (max-width: 700px) {
  .wrap { padding: 0 6px 14px; }
  .lc-brand { padding: 14px 10px; gap: 10px; }
  .lc-brand img { width: 46px; height: 43px; }
  .lc-brand-name { font-size: 30px; }
  .lc-tagline { font-size: 12px; line-height: 1.4; }
  .lc-nav { padding: 0; }
  .lc-nav > a, .lc-nav summary { padding: 10px 8px; font-size: 13px; }
  .lc-nav details > div { position: static; min-width: 0; width: 100%; box-shadow: none; }
  .lc-nav details[open] { flex-basis: 100%; }
  .lc-staging { font-size: 12px; }
  .headerbar { min-height: 0; }
  .postprofile { float: none; width: auto; border-right: 0; padding-right: 0; }
  .postbody { float: none; width: 100%; }
  .forabg li.header dt, .forumbg li.header dt { font-size: 15px; }
}
