:root {
  --wb-navy: #0c3550;
  --wb-blue: #0877ad;
  --wb-text: #18222b;
  --wb-light: #f5f7f8;
  --wb-border: #d7e0e5;
}

html { scroll-behavior: smooth; }
body {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--wb-text);
  font-size: 18px;
  line-height: 1.58;
}

.pkp_structure_content { padding: 0; }
.pkp_structure_main { float: none; width: 100%; padding: 0; }

/* Keep standard informational and search pages aligned with issue/archive content. */
.pkp_structure_main > .page:not(.page_issue):not(.page_issue_archive),
.pkp_structure_main > .page_about,
.pkp_structure_main > .page_search {
  width: 100%;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding: 50px 15px;
}

/* Homepage uses its own full-width section containers. */
.pkp_structure_main > .page_index_journal { max-width: none; padding: 0; }

.wb-header {
  position: relative;
  min-height: 250px;
  background-color: #526b7d;
  background-size: cover;
  background-position: center 42%;
  color: #fff;
}
.pkp_page_index.pkp_op_index .wb-header { min-height: 375px; }
.wb-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 25, 40, 0.13);
  pointer-events: none;
}

.wb-user-nav { position: absolute; right: 12px; top: 6px; z-index: 4; }
.wb-user-nav a {
  color: #fff !important;
  font-size: 12px;
  padding: 4px 8px !important;
  background: rgba(0, 0, 0, 0.45);
}

.wb-brand-row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 190px;
}
.pkp_page_index.pkp_op_index .wb-brand-row { min-height: 305px; }
.wb-brand img { max-height: 115px; max-width: 520px; }
.wb-brand > a { color: #fff; font-size: 44px; text-shadow: 0 1px 3px #000; }

.wb-nav-wrap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
.wb-nav-wrap .container { display: flex; justify-content: center; }
.wb-nav-wrap .navbar-nav > li > a {
  margin: 0 9px 12px;
  padding: 7px 12px;
  background: #fff;
  color: #172633;
  border-radius: 0;
  font-family: Arial, sans-serif;
  font-size: 13px;
}

.wb-about { background: var(--wb-navy); color: #fff; padding: 55px 0; }
.wb-about .container,
.wb-current-issue .container,
.wb-articles .container,
.wb-footer .container,
.additional_content,
.wb-announcements { max-width: 1120px; }
.wb-about h2 { font-size: 24px; }
.wb-about-copy { max-width: 720px; }

.wb-current-issue,
.wb-issue-intro { background: var(--wb-blue); color: #fff; padding: 55px 0; }
.wb-issue-heading { margin-bottom: 30px; }
.wb-kicker { text-transform: uppercase; letter-spacing: .08em; font: 600 12px Arial, sans-serif; margin: 0; }
.wb-issue-heading h1 { font-size: 32px; margin: 5px 0; }
.wb-published { font-size: 14px; }
.wb-issue-grid { display: flex; align-items: flex-start; }
.wb-issue-cover { width: 100%; max-width: 250px; box-shadow: 0 5px 18px rgba(0,0,0,.25); }
.wb-full-issue { margin-top: 18px; }
.wb-full-issue strong { display: block; margin-bottom: 8px; }
.wb-toc-column h2 { margin-top: 0; font-size: 25px; }
.wb-anchor-toc { padding-left: 22px; }
.wb-anchor-toc li { margin-bottom: 10px; }
.wb-anchor-toc a { color: #fff; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wb-issue-description { margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.4); }

.wb-articles {
  padding: 55px 0;
  background: #fff;
  color: var(--wb-text);
}
/* The homepage inherits white text from its full-width current-issue section.
   Reset only the article-list section so abstracts and metadata match issue pages. */
.wb-articles .wb-article-summary,
.wb-articles .wb-authors,
.wb-articles .wb-abstract,
.wb-articles .wb-pages { color: var(--wb-text); }
.wb-articles > .container > h2 { font-size: 26px; margin: 0 0 30px; }
.wb-article-summary { scroll-margin-top: 20px; max-width: 900px; padding: 0 0 38px; margin: 0 0 38px; border-bottom: 1px solid var(--wb-border); }
.wb-authors { font-size: 15px; margin-bottom: 7px; }
.wb-article-summary h3 { font-size: 23px; line-height: 1.25; margin: 0 0 12px; text-transform: uppercase; }
.wb-article-summary h3 a { color: #101820; }
.wb-galleys { margin-bottom: 12px; }
.wb-abstract { display: block !important; font-size: 18px; line-height: 1.58; margin-top: 14px; }
.wb-pages { font-size: 14px; color: #667; }

.page_issue_archive { padding: 50px 0; }
.page_issue_archive > .container { max-width: 1120px; }
.wb-archive-intro { margin: 20px 0 30px; }
.wb-archive-panel { border: 1px solid var(--wb-blue); border-radius: 0; margin-bottom: 12px; }
.wb-archive-panel .panel-heading { padding: 0; background: #fff; }
.wb-accordion-toggle { display: block; width: 100%; border: 0; background: #fff; text-align: left; padding: 20px; font-size: 22px; color: #17344a; }
.wb-accordion-toggle::before { content: "+"; margin-right: 10px; color: var(--wb-blue); }
.wb-accordion-toggle[aria-expanded="true"]::before { content: "−"; }
.wb-archive-year { margin-bottom: 35px; }
.wb-archive-year h3 { border-bottom: 1px solid var(--wb-border); padding-bottom: 8px; }
.wb-issue-grid-archive { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.wb-issue-card img { width: 100%; height: auto; }
.wb-issue-card h3 { font-size: 15px; margin: 10px 0 3px; }
.wb-issue-card p { font-size: 13px; margin: 0; }

.wb-footer { border-top: 1px solid #ccc; padding: 45px 0; margin-top: 0; font-size: 14px; }
.wb-publisher-link { margin-top: 25px; }
.wb-ojs-brand img { max-width: 90px; margin-left: auto; }
.additional_content, .wb-announcements { padding-top: 45px; padding-bottom: 45px; }

@media (max-width: 767px) {
  .wb-header,
  .pkp_page_index.pkp_op_index .wb-header { min-height: 0; }

  .wb-brand-row,
  .pkp_page_index.pkp_op_index .wb-brand-row {
    min-height: 190px;
    padding-top: 32px;
  }

  .wb-brand img { max-width: 80%; max-height: 90px; }

  /* Allow the opened menu to expand the header downward instead of off-screen. */
  .wb-nav-wrap { position: relative; left: auto; right: auto; bottom: auto; z-index: 5; }
  .wb-nav-wrap .container { display: block; padding-bottom: 12px; }

  .wb-nav-wrap .navbar-toggle {
    float: none;
    display: block;
    width: 44px;
    height: 44px;
    margin: 0 0 10px;
    padding: 10px 9px;
    border: 1px solid #172633;
    border-radius: 0;
    background: #fff;
  }
  .wb-nav-wrap .navbar-toggle .icon-bar {
    display: block;
    width: 24px;
    height: 3px;
    margin: 4px auto;
    border-radius: 0;
    background-color: #172633;
  }
  .wb-nav-wrap .navbar-collapse {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
    margin: 0;
    padding: 12px;
    border: 0;
    background: rgba(9, 40, 61, .97);
    box-shadow: none;
  }
  .wb-nav-wrap .navbar-collapse.in { overflow-y: visible; }
  .wb-nav-wrap .navbar-nav { float: none !important; margin: 0; }
  .wb-nav-wrap .navbar-nav > li { float: none; }
  .wb-nav-wrap .navbar-nav > li > a { margin: 4px 0; }

  /* Keep nested About-menu links legible against the dark mobile menu. */
  .wb-nav-wrap .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin: 0 0 6px;
    padding: 4px 0 4px 14px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .wb-nav-wrap .navbar-nav .open .dropdown-menu > li > a,
  .wb-nav-wrap .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff !important;
    padding: 9px 12px;
    background: rgba(255, 255, 255, .08);
    white-space: normal;
  }
  .wb-nav-wrap .navbar-nav .open .dropdown-menu > li > a:hover,
  .wb-nav-wrap .navbar-nav .open .dropdown-menu > .active > a {
    color: #172633 !important;
    background: #fff;
  }

  .wb-issue-grid { display: block; }
  .wb-cover-column { margin-bottom: 30px; }
  .wb-issue-grid-archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wb-article-summary h3 { font-size: 20px; }

  .pkp_structure_main > .page:not(.page_issue):not(.page_issue_archive),
  .pkp_structure_main > .page_about,
  .pkp_structure_main > .page_search { padding-top: 35px; padding-bottom: 35px; }
}

@media (max-width: 430px) {
  .wb-issue-grid-archive { grid-template-columns: 1fr; }
}

/* Western Birds accepts submissions outside OJS. Hide the online submission
   login/register notice even if the Bootstrap parent template is rendered. */
.page_submissions > .alert.alert-info {
  display: none !important;
}


/* PDF galley: the Bootstrap parent assumes a fixed 50px header. The theme
   script measures the actual rendered header (including wrapped mobile
   titles) and writes the correct padding to the embedded PDF.js iframe. */
.pkp_page_article.pkp_op_view #pdfCanvasContainer > iframe,
.pkp_page_article.pkp_op_view .galley_view > iframe {
  box-sizing: border-box;
}
