/* PenScholar Journals: premium layer for the OJS 3.5 Default theme.
   Upload in Settings > Website > Appearance > Advanced > Journal style sheet.
   Keep the theme colour (Theme tab) equal to --ps-primary below.
   Journal 2 (prss): teal primary, navy accent. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

:root {
  color-scheme: only light; /* stop phone browsers (e.g. Samsung Internet dark mode) recolouring the design */
  --ps-primary: #376D6A;
  --ps-primary-deep: #1F3F3D;
  --ps-accent: #10233F;
  --ps-gold: #C2A15B;
  --ps-paper: #F6F4EF;
  --ps-ink: #1E2A38;
  --ps-muted: #5B6675;
  --ps-line: #E3DFD5;
  --ps-radius: 10px;
  --ps-shadow: 0 1px 2px rgba(16, 35, 63, .06), 0 8px 24px rgba(16, 35, 63, .06);
}

/* Base */
body { background: var(--ps-paper); color: var(--ps-ink); font-family: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
.pkp_structure_page { background: var(--ps-paper); font-family: inherit; }
h1, h2, h3, h4, .page_title, .obj_article_summary .title, .obj_issue_toc .title, .pkp_block .title {
  font-family: 'Newsreader', Georgia, serif; font-weight: 600; letter-spacing: -.01em; color: var(--ps-primary);
}
a { color: var(--ps-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--ps-primary); }

/* Header */
.pkp_structure_head {
  background: linear-gradient(135deg, var(--ps-primary) 0%, var(--ps-primary-deep) 100%);
  border-bottom: 3px solid var(--ps-gold);
}
.pkp_site_name_wrapper { padding-top: 14px; }
.pkp_site_name .is_img img {
  max-height: 72px; width: auto; /* logo is a transparent light wordmark: no white tile */
}
.pkp_navigation_primary_row { border-top: 1px solid rgba(255, 255, 255, .12); }
@media (min-width: 992px) {
  .pkp_site_nav_menu { background: transparent; }
  .pkp_navigation_primary > li > a,
  .pkp_navigation_primary > li:first-child > a { margin-left: 0; }
}
.pkp_navigation_primary > li > a {
  font-size: 12px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase;
  padding-left: 0; padding-right: 0; margin-right: 20px;
  color: rgba(255, 255, 255, .88); border-bottom: 2px solid transparent; transition: color .2s, border-color .2s;
}
.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus { color: #fff; border-bottom-color: var(--ps-gold); }
/* The Default theme paints a white background on focus; keep the link readable after a click. */
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a:active { background: transparent; color: #fff; outline: none; }
.pkp_navigation_primary > li > a:focus-visible { outline: 2px solid var(--ps-gold); outline-offset: 4px; }
.pkp_navigation_primary ul a:focus,
.pkp_navigation_primary ul a:active { background: var(--ps-paper); color: var(--ps-accent); outline: none; }
.pkp_navigation_primary ul a:focus-visible { outline: 2px solid var(--ps-gold); outline-offset: -2px; }
/* Header Search link: same treatment as the menu, no white box after a click. */
.pkp_navigation_search_wrapper a.pkp_search,
.pkp_navigation_search_wrapper a.pkp_search:hover,
.pkp_navigation_search_wrapper a.pkp_search:focus,
.pkp_navigation_search_wrapper a.pkp_search:active { background: transparent; color: #fff; outline: none; box-shadow: none; }
.pkp_navigation_search_wrapper a.pkp_search:focus-visible { outline: 2px solid var(--ps-gold); outline-offset: 4px; }
.pkp_navigation_primary ul {
  border-radius: 0 0 var(--ps-radius) var(--ps-radius); box-shadow: var(--ps-shadow); border-top: 2px solid var(--ps-gold);
}
.pkp_navigation_primary ul a { font-size: 14px; color: var(--ps-ink); }
.pkp_navigation_primary ul a:hover { color: var(--ps-accent); border-left-color: var(--ps-gold); }
.pkp_navigation_user > li > a, .pkp_navigation_search_wrapper a { color: rgba(255, 255, 255, .85); }

/* Content frame */
.pkp_structure_content { padding-top: 28px; padding-bottom: 40px; }
.pkp_structure_main {
  background: #fff; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); box-shadow: var(--ps-shadow); overflow: hidden;
}
.pkp_structure_main::before, .pkp_structure_main::after { display: none; }
@media (min-width: 992px) {
  .pkp_structure_content.has_sidebar .pkp_structure_main { width: calc(100% - 324px); }
  .pkp_structure_sidebar { margin-left: 24px; }
}

/* Homepage */
.homepage_image img { display: block; width: 100%; height: auto; }
.homepage_about { padding: 28px 32px; border-bottom: 1px solid var(--ps-line); }
.homepage_about h2 { font-size: 24px; margin-top: 0; }
.homepage_about h2::after { content: ''; display: block; width: 44px; height: 2px; margin-top: 10px; background: var(--ps-gold); }
.homepage_about p { font-size: 17px; line-height: 1.65; color: var(--ps-muted); }
.cmp_announcements { border-bottom: 1px solid var(--ps-line); }
.cmp_announcements .obj_announcement_summary { padding: 28px 32px; }
.obj_announcement_summary h2 a, .obj_announcement_summary h3 a { color: var(--ps-primary); text-decoration: none; }
.obj_announcement_summary h2 a:hover, .obj_announcement_summary h3 a:hover { color: var(--ps-accent); }
.cmp_announcements.highlight_first .obj_announcement_summary:first-child { border-left: 4px solid var(--ps-gold); }
.obj_announcement_summary .date { color: var(--ps-muted); font-size: 13px; letter-spacing: .03em; }
.obj_announcement_summary .read_more {
  display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ps-accent);
}
.additional_content { padding: 24px 32px; color: var(--ps-muted); }

/* Sidebar */
.pkp_structure_sidebar .pkp_block {
  background: #fff; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); box-shadow: var(--ps-shadow);
  padding: 22px 24px; margin-bottom: 20px;
}
.pkp_block .title {
  font-size: 18px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--ps-line); position: relative;
}
.pkp_block .title::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 36px; height: 2px; background: var(--ps-gold); }
.pkp_block .content { font-size: 14px; line-height: 1.7; }
.pkp_block .content strong { color: var(--ps-primary); font-weight: 600; }
.block_information ul li a { display: block; padding: 4px 0; text-decoration: none; }
.block_information ul li a::before { content: '\2192\00a0'; color: var(--ps-gold); }

/* Make a Submission */
.pkp_structure_sidebar .block_make_submission { background: var(--ps-primary); border-color: var(--ps-primary); padding: 22px 24px; }
.block_make_submission a,
.cmp_button, .pkp_button_primary {
  display: block; text-align: center; background: var(--ps-gold); border: 0; border-radius: 6px; color: var(--ps-primary-deep);
  font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; padding: 14px 16px; box-shadow: none; text-decoration: none;
  transition: transform .15s, background .2s;
}
.block_make_submission a:hover, .block_make_submission a:focus,
.cmp_button:hover, .pkp_button_primary:hover { background: #fff; color: var(--ps-primary); transform: translateY(-1px); }

/* Inner pages */
.page_title { font-size: 32px; }
.pkp_structure_main .page { padding: 32px; }
.page h2 { border-bottom: 1px solid var(--ps-line); padding-bottom: 8px; margin-top: 2em; }
.page ul li { line-height: 1.7; }
.cmp_breadcrumbs { font-size: 13px; color: var(--ps-muted); }

/* Footer */
.pkp_structure_footer_wrapper { background: var(--ps-primary-deep); color: #fff; border-top: 3px solid var(--ps-gold); }
.pkp_structure_footer_wrapper a { color: #fff; }
.pkp_structure_footer_wrapper a:hover { color: var(--ps-gold); }
.pkp_footer_content { padding: 36px 32px 20px; font-size: 14px; line-height: 1.7; }
.pkp_brand_footer { opacity: 1; }
.pkp_brand_footer img { filter: brightness(0) invert(1); opacity: .85; transition: opacity .2s; }
.pkp_brand_footer a:hover img { opacity: 1; }

/* Phones */
@media (max-width: 991px) {
  /* Header: the theme keeps it 40px tall on phones, which cut the logo off. */
  .pkp_head_wrapper { height: 64px; padding-top: 0; }
  .pkp_site_name_wrapper { height: 64px; padding: 0 12px 0 0; }
  .pkp_site_name { top: 0; left: 52px; right: 0; height: 64px !important; padding: 0; }
  .pkp_site_name > a { display: block; height: 64px; padding: 0; }
  .pkp_site_name .is_img img { max-height: 34px; max-width: 100%; width: auto; margin-top: 15px; background: none; padding: 0; box-shadow: none; border-radius: 0; }
  .pkp_site_nav_toggle { top: 12px; left: 8px; }
  .pkp_site_nav_menu { top: 64px; }
  /* Menu drawer: sub-items were navy on navy. */
  .pkp_navigation_primary ul { background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0 0 6px; }
  .pkp_navigation_primary ul a { color: rgba(255, 255, 255, .72); padding: 6px 0 6px 16px; border-left: 0; font-size: 14px; }
  .pkp_navigation_primary ul a:hover, .pkp_navigation_primary ul a:focus { background: transparent; color: #fff; }
  .pkp_structure_main { border-radius: 0; border-left: 0; border-right: 0; }
  .homepage_about, .cmp_announcements .obj_announcement_summary, .additional_content, .pkp_structure_main .page { padding: 20px 16px; }
  .pkp_navigation_primary > li > a { text-transform: none; letter-spacing: 0; font-size: 15px; }
}

/* User menu (Dashboard, View Profile, Administration, Logout) */
.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_navigation_user > li > a:active { background: transparent; color: rgba(255, 255, 255, .9); outline: none; box-shadow: none; }
.pkp_navigation_user > li > a:focus-visible { outline: 2px solid var(--ps-gold); outline-offset: 2px; }
.pkp_navigation_user ul {
  z-index: 1000; min-width: 210px; padding: 6px 0; background: #fff;
  border: 1px solid var(--ps-line); border-top: 2px solid var(--ps-gold); border-radius: 0 0 6px 6px;
  box-shadow: 0 10px 28px rgba(16, 35, 63, .18);
}
.pkp_navigation_user ul a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 9px 16px; border-left: 3px solid transparent; border-radius: 0;
  font-size: 14px; color: var(--ps-ink); text-decoration: none;
}
.pkp_navigation_user ul a:hover,
.pkp_navigation_user ul a:focus { background: var(--ps-paper); color: var(--ps-accent); border-left-color: var(--ps-gold); outline: none; }
.pkp_navigation_user ul a:focus-visible { outline: 2px solid var(--ps-gold); outline-offset: -2px; }
.pkp_navigation_user ul li:last-child { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--ps-line); }
.pkp_navigation_user .task_count {
  min-width: 20px; padding: 1px 7px; border-radius: 10px; text-align: center;
  background: var(--ps-gold); color: var(--ps-primary-deep); font-size: 11px; font-weight: 700; line-height: 1.5;
}

/* Contact page: the floated Edit link pushed Support Contact below Principal Contact. */
.page_contact .cmp_edit_link { float: none; display: block; width: max-content; margin: 0 0 8px auto; }
.page_contact .contact_section { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; clear: both; }
.page_contact .contact_section::before,
.page_contact .contact_section::after { display: none; content: none; }
.page_contact .contact_section .contact { float: none; width: auto; margin: 0; padding: 0; }
@media (max-width: 767px) { .page_contact .contact_section { grid-template-columns: 1fr; gap: 20px; } }

/* Search page: plain catalogue style */
.page_search .search_input { margin: 0 0 28px; }
.page_search .search_input input.query {
  width: 100%; height: 48px; box-sizing: border-box; padding: 0 14px;
  font-family: inherit; font-size: 17px; color: var(--ps-ink);
  background: #fff; border: 1px solid #B9C0C8; border-radius: 3px; box-shadow: none;
}
.page_search .search_advanced {
  background: none; border: 0; border-top: 1px solid var(--ps-line); border-radius: 0;
  padding: 20px 0 0; margin: 0 0 24px;
}
.page_search .search_advanced > legend {
  float: left; width: 100%; padding: 0 0 14px; margin: 0;
  font-family: 'Newsreader', Georgia, serif; font-size: 20px; font-weight: 600; letter-spacing: 0; text-transform: none;
  color: var(--ps-primary);
}
.page_search .search_advanced > legend + * { clear: both; }
.page_search .date_range fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.page_search .date_range legend,
.page_search .search_advanced .author .label {
  padding: 0; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--ps-ink);
}
/* The theme hides the Year / Month / Day labels, which leaves three blank boxes. Show them. */
/* The theme hides them with !important, so these overrides need !important too. */
.page_search .date_range fieldset label {
  position: static !important; left: auto !important; clip: auto !important; width: auto !important; height: auto !important;
  display: inline-block !important; margin: 0 6px 0 0 !important;
  overflow: visible; white-space: nowrap; font-size: 14px; font-weight: 400; color: var(--ps-muted);
}
.page_search .search_advanced select,
.page_search .search_advanced input[type="text"] {
  height: 32px; line-height: 30px; box-sizing: border-box; padding: 0 8px; margin: 0 16px 0 0;
  font-family: inherit; font-size: 14px; color: var(--ps-ink);
  background-color: #fff; border: 1px solid #B9C0C8; border-radius: 3px; box-shadow: none;
}
/* Dates take the full width so Year, Month and Day sit on one line; author goes below. */
.page_search .search_advanced .date_range,
.page_search .search_advanced .author { float: none; width: 100%; max-width: none; margin: 0; padding: 0; }
.page_search .search_advanced .author { margin-top: 18px; }
.page_search .date_range select { margin-right: 16px; }
.page_search #dateFromYear, .page_search #dateToYear { width: 84px; }
.page_search #dateFromMonth, .page_search #dateToMonth { width: 96px; }
.page_search #dateFromDay, .page_search #dateToDay { width: 64px; }
.page_search .date_range fieldset { display: flex; align-items: center; flex-wrap: wrap; }
.page_search .date_range fieldset > legend { width: 100%; }
.page_search .search_advanced .author input[type="text"] { width: 100%; max-width: 320px; }
.page_search input.query:focus,
.page_search .search_advanced select:focus,
.page_search .search_advanced input[type="text"]:focus {
  outline: 2px solid var(--ps-accent); outline-offset: 1px; border-color: var(--ps-accent); box-shadow: none;
}
.page_search .submit { text-align: left; }
.page_search .submit button.submit {
  height: 42px; padding: 0 24px;
  font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none;
  color: #fff; background: var(--ps-primary); border: 0; border-radius: 3px; box-shadow: none; cursor: pointer;
}
/* Own chevron inside the select instead of the browser's default arrow. */
.page_search .search_advanced select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0 28px 0 10px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%235B6675' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 10px 7px;
}
/* Drop the theme's blue magnifier box on the button. */
.page_search .submit button.submit::after { display: none; }
.page_search .submit button.submit:hover,
.page_search .submit button.submit:focus { background: var(--ps-primary-deep); color: #fff; }
.page_search .submit button.submit:focus-visible { outline: 2px solid var(--ps-accent); outline-offset: 2px; }
.page_search .cmp_notification {
  margin-top: 32px; padding: 20px 0 0; border: 0; border-top: 1px solid var(--ps-line); border-radius: 0;
  background: none; color: var(--ps-muted); font-size: 15px;
}
