/* =========================================================
   HIGIVARA — Journal of Health Sciences and Policy
   FINAL CUSTOM THEME
   OJS 3.4 / Yudhistira-based layout
   Version: 6.0 — 11 August 2026
   Revision: balanced homepage indexing; prevents raw Additional Content images
   from expanding to full width and restores a compact 3x2 logo cluster.

   Design direction:
   - clinical / academic / restrained
   - dark navy + teal identity
   - no decorative gradients or ornamental UI
   - compact, readable sidebar
   - supports both legacy PHD custom-block classes and raw OJS links
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

:root {
  --hgv-primary: #168fa6;
  --hgv-primary-dark: #0d7184;
  --hgv-primary-deep: #095b6c;
  --hgv-navy: #1f2937;
  --hgv-navy-deep: #17222f;
  --hgv-navy-soft: #364152;
  --hgv-text: #263342;
  --hgv-muted: #667085;
  --hgv-bg: #f4f7f8;
  --hgv-surface: #ffffff;
  --hgv-soft: #eef6f7;
  --hgv-soft-2: #f8fafb;
  --hgv-line: #d9e3e7;
  --hgv-line-soft: #e9eef0;
  --hgv-danger: #c84b4b;
  --hgv-danger-dark: #aa3939;
  --hgv-radius: 5px;
  --hgv-radius-sm: 3px;
  --hgv-shadow: 0 2px 8px rgba(31, 41, 55, 0.06);

  /* Legacy aliases: preserve old custom HTML/CSS references */
  --phd-primary: var(--hgv-primary);
  --phd-primary-dark: var(--hgv-primary-dark);
  --phd-primary-deep: var(--hgv-primary-deep);
  --phd-light: #d6eef2;
  --phd-pale: var(--hgv-soft);
  --phd-porcelain: #e6e9ec;
  --phd-slate: var(--hgv-navy);
  --phd-slate-soft: var(--hgv-navy-soft);
  --phd-text: var(--hgv-text);
  --phd-muted: var(--hgv-muted);
  --phd-white: #ffffff;
  --phd-border: var(--hgv-line);
  --phd-danger: var(--hgv-danger);
  --phd-shadow: var(--hgv-shadow);
  --phd-shadow-soft: var(--hgv-shadow);
  --phd-radius: var(--hgv-radius);
}

/* =========================================================
   1. GLOBAL
   ========================================================= */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden !important;
  color: var(--hgv-text);
  background: var(--hgv-bg);
  font-family: "Nunito Sans", Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: var(--hgv-primary-dark);
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

a:hover,
a:focus {
  color: var(--hgv-primary-deep);
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

::selection {
  color: #fff;
  background: var(--hgv-primary);
}

:focus-visible {
  outline: 3px solid rgba(22, 143, 166, 0.32);
  outline-offset: 2px;
}

.pkp_structure_page {
  overflow-x: hidden !important;
  background: var(--hgv-bg);
}

.container-fluid {
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.container {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Do not justify interface text globally. */
.pkp_structure_sidebar,
.navbar,
.breadcrumb,
.btn,
.pkp_block {
  text-align: left;
}

/* Justification only where it belongs editorially. */
.issue-details .description p,
.article-summary .article-abstract p,
.page.page_about > p,
.page.page_about ol > li,
.page.page_about ul > li,
.additional_content .about p {
  text-align: justify;
}

/* =========================================================
   2. MAIN PAGE STRUCTURE
   ========================================================= */

.pkp_structure_content.container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 42px 24px 48px !important;
  overflow-x: hidden !important;
  border-top: 3px solid var(--hgv-primary);
  background: var(--hgv-surface) !important;
  box-shadow: none;
}

.page_index_journal {
  display: flex;
  flex-direction: column-reverse;
  gap: 22px;
}

.additional_content {
  margin-top: 0 !important;
}

/* Safe default for images inserted through Additional Content.
   Do not force every image to 100% width: that made indexing logos gigantic. */
.additional_content div p strong img,
.additional_content div p strong a img {
  display: block;
  width: auto !important;
  max-width: 170px !important;
  height: auto !important;
  max-height: 56px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  object-fit: contain !important;
}

/* The journal cover is intentionally large and must not inherit the logo cap. */
.additional_content .additional__header .cover img,
.additional_content .cover img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* =========================================================
   3. HEADER + PRIMARY NAVIGATION
   ========================================================= */

.site-name {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: #ffffff;
}

.site-name a,
.site-name a img {
  display: block;
  width: 100% !important;
}

.navbar-brand {
  height: auto !important;
  padding: 0 !important;
}

.navbar,
.navbar-default {
  width: 100% !important;
  min-height: 48px;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: var(--hgv-navy-deep);
  box-shadow: none;
}

.navbar {
  border-bottom: 3px solid var(--hgv-primary);
}

.navbar-collapse {
  padding: 7px 20px !important;
}

.nav.nav-pills {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-nav > .open > a {
  padding-top: 13px;
  padding-bottom: 13px;
  color: rgba(255, 255, 255, 0.93) !important;
  background: transparent !important;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.07) !important;
}

.dropdown-menu {
  padding: 4px 0;
  border: 1px solid var(--hgv-line);
  border-radius: 0 0 var(--hgv-radius) var(--hgv-radius);
  background: #fff;
  box-shadow: 0 8px 20px rgba(20, 39, 47, 0.10);
}

.dropdown-menu > li > a {
  padding: 9px 14px;
  color: var(--hgv-text);
  border-bottom: 1px solid var(--hgv-line-soft);
  font-size: 12.5px;
  font-weight: 500;
}

.dropdown-menu > li:last-child > a {
  border-bottom: 0;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: var(--hgv-primary-deep);
  background: var(--hgv-soft);
}

/* Search */
.pull-md-right .navbar-form.navbar-left .form-group .form-control,
.navbar-form .form-control {
  height: 36px;
  border: 1px solid #cfdadd;
  border-radius: var(--hgv-radius-sm);
  color: var(--hgv-text);
  background: #fff;
  box-shadow: none;
  font-size: 12.5px;
}

.navbar-form .form-control:focus {
  border-color: var(--hgv-primary);
  box-shadow: 0 0 0 2px rgba(22, 143, 166, 0.12);
}

.navbar-form .btn,
.navbar-form.navbar-left .btn.btn-default {
  height: 36px;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--hgv-radius-sm);
  background: var(--hgv-primary) !important;
  font-size: 12px;
  font-weight: 700;
}

.navbar-form .btn:hover,
.navbar-form .btn:focus,
.navbar-form.navbar-left .btn.btn-default:hover,
.navbar-form.navbar-left .btn.btn-default:focus {
  background: var(--hgv-primary-dark) !important;
}

/* =========================================================
   4. HOMEPAGE INTRODUCTION
   ========================================================= */

.additional__title {
  margin: 0;
  color: var(--hgv-navy);
  font-family: "Nunito Sans", Arial, sans-serif;
  font-size: 24px !important;
  font-weight: 800;
  letter-spacing: 0;
}

.additional__title::after {
  display: block;
  width: 44px;
  height: 2px;
  margin-top: 8px;
  background: var(--hgv-primary);
  content: "";
}

.additional__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 34px;
}

.additional__header .about {
  order: 2;
}

.additional__header .cover {
  width: min(56%, 280px);
  margin: 0 auto;
}

.additional__header .about p {
  margin-bottom: 12px;
  color: var(--hgv-text);
  font-size: 14.5px;
  line-height: 1.72;
}

/* =========================================================
   4A. HOMEPAGE INDEXING — BALANCED / COMPACT
   Goal:
   - not microscopic
   - not full-width banners
   - 3 columns x 2 rows on desktop
   - 2 columns on tablet, 1 on small phones
   - supports both known class-based markup and raw OJS Additional Content HTML
   ========================================================= */

/* Known wrapper variants */
.additional_content .additional_indexing,
.additional_content .additional_indexing_container,
.additional_indexing,
.additional_indexing_container {
  width: 100% !important;
  max-width: none !important;
  margin: 26px 0 38px !important;
  padding: 0 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* When .additional_indexing itself contains the logo items */
.additional_content .additional_indexing {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(145px, 175px)) !important;
  gap: 10px !important;
  align-items: stretch !important;
  justify-content: start !important;
}

/* Heading spans the entire indexing area */
.additional_content .additional_indexing > :first-child.additional__title,
.additional_content .additional_indexing > .additional__title,
.additional_content .additional_indexing > h1,
.additional_content .additional_indexing > h2,
.additional_content .additional_indexing > h3,
.additional_content .additional_indexing_container > .additional__title,
.additional_content .additional_indexing_container > h1,
.additional_content .additional_indexing_container > h2,
.additional_content .additional_indexing_container > h3 {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
}

/* When the real logo grid is nested in .indexing__container */
.additional_content .additional_indexing_container .indexing__container,
.additional_indexing_container .indexing__container,
.additional_content .indexing__container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(145px, 175px)) !important;
  width: 100% !important;
  max-width: 545px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 10px !important;
  align-items: stretch !important;
  justify-content: start !important;
  box-sizing: border-box !important;
}

/* Normalize item wrappers */
.additional_content .additional_indexing > div,
.additional_content .additional_indexing > p,
.additional_content .additional_indexing > a,
.additional_content .additional_indexing_container .indexing__container > div,
.additional_content .additional_indexing_container .indexing__container > p,
.additional_content .additional_indexing_container .indexing__container > a {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Compact logo cell */
.additional_content .additional_indexing a,
.additional_content .additional_indexing_container .indexing__container a,
.additional_content .indexing__container a {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid var(--hgv-line) !important;
  border-radius: var(--hgv-radius-sm) !important;
  background: #ffffff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

.additional_content .additional_indexing a:hover,
.additional_content .additional_indexing a:focus,
.additional_content .additional_indexing_container .indexing__container a:hover,
.additional_content .additional_indexing_container .indexing__container a:focus,
.additional_content .indexing__container a:hover,
.additional_content .indexing__container a:focus {
  border-color: #b7d3d8 !important;
  background: #fbfdfd !important;
}

/* Moderate logo dimensions */
.additional_content .additional_indexing img,
.additional_content .additional_indexing a img,
.additional_content .additional_indexing_container .indexing__container img,
.additional_content .additional_indexing_container .indexing__container a img,
.additional_content .indexing__container img,
.additional_content .indexing__container a img {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 145px !important;
  height: auto !important;
  max-height: 42px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   RAW HTML FALLBACK
   Some homepage indexing logos are inserted as:
   <p><strong><a><img ...></a></strong></p>
   without .additional_indexing / .indexing__container.
   These paragraphs should flow as compact logo cells instead
   of becoming giant full-width image banners.
   --------------------------------------------------------- */

.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > a > img),
.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > img) {
  display: inline-flex !important;
  width: 165px !important;
  min-width: 165px !important;
  max-width: 165px !important;
  min-height: 64px !important;
  margin: 0 8px 10px 0 !important;
  padding: 7px 10px !important;
  vertical-align: top !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--hgv-line) !important;
  border-radius: var(--hgv-radius-sm) !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > a > img) strong,
.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > img) strong,
.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > a > img) a {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}

.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > a > img) img,
.additional_content div:not(.additional__header):not(.about):not(.cover)
  > p:has(> strong > img) img {
  display: block !important;
  width: auto !important;
  max-width: 145px !important;
  height: auto !important;
  max-height: 42px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Tablet */
@media (max-width: 900px) {
  .additional_content .additional_indexing,
  .additional_content .additional_indexing_container .indexing__container,
  .additional_indexing_container .indexing__container,
  .additional_content .indexing__container {
    grid-template-columns: repeat(2, minmax(140px, 170px)) !important;
    max-width: 350px !important;
  }
}

/* Small phones */
@media (max-width: 480px) {
  .additional_content .additional_indexing,
  .additional_content .additional_indexing_container .indexing__container,
  .additional_indexing_container .indexing__container,
  .additional_content .indexing__container {
    grid-template-columns: minmax(140px, 170px) !important;
    max-width: 170px !important;
  }

  .additional_content div:not(.additional__header):not(.about):not(.cover)
    > p:has(> strong > a > img),
  .additional_content div:not(.additional__header):not(.about):not(.cover)
    > p:has(> strong > img) {
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
  }
}

/* =========================================================
   5. SIDEBAR — GENERAL
   ========================================================= */

.pkp_structure_sidebar {
  color: var(--hgv-text);
  font-size: 14px;
  line-height: 1.55;
}

.pkp_structure_sidebar .pkp_block,
.pkp_block.block_custom,
.pkp_block.block_web_feed {
  margin: 0 0 16px;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--hgv-line);
  border-radius: var(--hgv-radius) !important;
  background: #fff;
  box-shadow: none;
}

/* Native OJS block headings */
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block .title {
  display: block;
  margin: 0;
  padding: 10px 12px 8px;
  border: 0;
  border-bottom: 2px solid var(--hgv-primary);
  background: var(--hgv-soft-2);
  color: var(--hgv-navy);
  font-family: "Nunito Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

/* Legacy custom title used by current HIGIVARA blocks */
.pkp_block.block_custom .content .sidebar__title {
  margin: 0;
  padding: 11px 13px 9px;
  border: 0;
  border-bottom: 2px solid var(--hgv-primary);
  background: var(--hgv-soft-2);
  color: var(--hgv-navy);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

/* Normal content: keep image/logo blocks clean */
.pkp_structure_sidebar .pkp_block > .content,
.pkp_structure_sidebar .pkp_block .content {
  padding: 11px 12px 13px;
}

.pkp_block.block_custom .content {
  padding: 0 !important;
}

/* Legacy .sidebar__container no longer looks like a second nested card */
.pkp_block.block_custom .content .sidebar__container {
  margin: 0;
  padding: 11px 12px 13px;
  overflow: hidden;
  border: 0;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: none;
}

.pkp_block.block_custom .content .sidebar__container .ojs-logo {
  display: block;
  margin-top: 12px;
}

.pkp_block.block_custom .content .sidebar__container .menu__title {
  margin: 16px 0 6px;
  color: var(--hgv-muted);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

/* =========================================================
   6. SIDEBAR MENU — FINAL
   Works with:
   A. #customblock-Menu / #customblock-menu / #customblock-MENU
   B. legacy .menu__group .menu__link
   C. a custom block detected by the Editorial Team link
   ========================================================= */

/* Menu content padding */
:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content {
  padding: 4px 0 6px !important;
}

/* Raw links and legacy menu links become a vertical editorial menu */
:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content a:not(:has(img)),
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 13px 8px 18px;
  border: 0;
  border-bottom: 1px solid var(--hgv-line-soft);
  border-radius: 0;
  color: #176b78 !important;
  background: transparent;
  text-align: left;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.38;
  transition: color 150ms ease, background-color 150ms ease, padding-left 150ms ease;
}

:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content a:not(:has(img))::before,
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link::before {
  position: absolute;
  top: 50%;
  left: 9px;
  width: 3px;
  height: 3px;
  margin-top: -1.5px;
  border-radius: 50%;
  background: #9ebec4;
  content: "";
}

:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content a:not(:has(img)):hover,
:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content a:not(:has(img)):focus,
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:hover,
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:focus {
  padding-left: 21px;
  color: var(--hgv-primary-deep) !important;
  background: var(--hgv-soft);
}

:is(
  #customblock-Menu,
  #customblock-menu,
  #customblock-MENU,
  .pkp_block.block_custom:has(a[href*="/about/editorialTeam"])
) .content a:not(:has(img)):hover::before,
.pkp_block.block_custom .content .sidebar__container .menu__group .menu__link:hover::before {
  background: var(--hgv-primary);
}

/* Optional labels if added to menu HTML later */
.higivara-menu-label {
  display: block;
  padding: 12px 13px 5px;
  color: var(--hgv-muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Image / logo blocks */
.pkp_structure_sidebar .pkp_block img {
  max-width: 100%;
  height: auto;
}

.pkp_structure_sidebar .pkp_block a:has(img) {
  display: inline-block;
  padding: 0;
  border: 0;
  background: transparent;
}

/* Indexing */
.pkp_block.block_custom .content .sidebar__container .indexing__group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}

.pkp_block.block_custom .content .sidebar__container .indexing__group a {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
}

.pkp_block.block_custom .content .sidebar__container .indexing__group img {
  width: 100%;
  max-height: 48px;
  object-fit: contain;
}

/* Certificates / tools */
.pkp_block.block_custom .content .sidebar__container .certificate__group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

/* Supported / sponsor logos */
.pkp_block.block_custom .content .sidebar__container .sponsored__group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

/* Sidebar actions */
.pkp_block.block_custom .content .sidebar__container .issue__journal-expand,
.pkp_block.block_custom .content .sidebar__container .submissions__btn {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--hgv-radius-sm);
  color: #fff !important;
  background: var(--hgv-primary);
  text-align: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700 !important;
}

.pkp_block.block_custom .content .sidebar__container .issue__journal-expand:hover,
.pkp_block.block_custom .content .sidebar__container .submissions__btn:hover {
  background: var(--hgv-primary-dark);
}

/* =========================================================
   7. CURRENT ISSUE + ARTICLE LIST
   ========================================================= */

.page-header {
  margin-bottom: 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--hgv-line);
}

.current_issue .page-header h2,
.sections .section .page-header h2 small {
  margin: 0;
  color: var(--hgv-navy);
  font-family: "Nunito Sans", Arial, sans-serif;
  font-size: 24px !important;
  font-weight: 800;
}

.current_issue .current_issue_title.lead {
  margin-bottom: 16px;
  color: var(--hgv-primary-dark);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
}

.thumbnail {
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
}

.media-list {
  margin-top: 4px;
}

.media-list > li,
.sections .media-list > li {
  margin: 0;
  padding: 17px 0 18px;
  border-bottom: 1px solid var(--hgv-line-soft);
}

.media-list > li:last-child,
.sections .media-list > li:last-child {
  border-bottom: 0;
}

.media-list a {
  color: var(--hgv-navy);
  font-weight: 700 !important;
}

.media-list a:hover,
.media-list a:focus {
  color: var(--hgv-primary-dark);
}

.media-heading,
.media-heading a,
.article-summary .title a {
  line-height: 1.38;
}

.media-list .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  margin: 8px 0 0 !important;
  padding: 6px 9px;
  gap: 2px 5px;
  border: 1px solid #d9e7ea;
  border-radius: var(--hgv-radius-sm);
  background: #f2f8f9;
  box-shadow: none;
  color: var(--hgv-muted);
  font-size: 10.5px;
  line-height: 1.4;
}

.media-body .well {
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid var(--hgv-line);
  border-radius: var(--hgv-radius-sm);
  background: #fbfcfc;
  box-shadow: none;
}

.meta .authors .bi,
.breadcrumb .bi {
  color: var(--hgv-primary);
}

.galley_info {
  margin-top: 8px;
  margin-left: 0;
}

.galley-link.btn.btn-primary.pdf {
  padding: 6px 12px;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--hgv-radius-sm);
  background: var(--hgv-danger) !important;
  font-size: 11px;
  font-weight: 700;
}

.galley-link.btn.btn-primary.pdf:hover,
.galley-link.btn.btn-primary.pdf:focus {
  background: var(--hgv-danger-dark) !important;
}

.btn.btn-primary.read-more,
.btn-primary {
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--hgv-radius-sm);
  background: var(--hgv-primary) !important;
  box-shadow: none;
  font-weight: 700;
}

.btn.btn-primary.read-more {
  float: right;
  margin-bottom: 42px;
}

.btn.btn-primary.read-more:hover,
.btn-primary:hover,
.btn-primary:focus {
  background: var(--hgv-primary-dark) !important;
}

/* =========================================================
   8. PANELS + ARTICLE DETAIL
   ========================================================= */

.panel.panel-default.issue,
.panel.panel-default.how-to-cite,
.panel.panel-default.section,
.panel.panel-default.copyright {
  overflow: hidden;
  border: 1px solid var(--hgv-line) !important;
  border-radius: var(--hgv-radius);
  background: #fff;
  box-shadow: none;
}

.panel.panel-default.issue .panel-heading,
.panel.panel-default.how-to-cite .panel-heading,
.panel.panel-default.section .panel-heading {
  color: #fff !important;
  border: 0;
  background: var(--hgv-navy);
  font-weight: 700;
}

.list-group-item.date-published {
  color: #fff;
  border: 0;
  border-radius: var(--hgv-radius-sm) var(--hgv-radius-sm) 0 0;
  background: var(--hgv-primary);
  font-weight: 700;
  box-shadow: none;
}

.list-group-item.keywords {
  border: 1px solid var(--hgv-line);
  border-top: 0;
  border-radius: 0 0 var(--hgv-radius-sm) var(--hgv-radius-sm);
  background: #fff;
  box-shadow: none;
}

/* Breadcrumbs */
.cmp_breadcrumbs .breadcrumb {
  border-radius: var(--hgv-radius-sm);
  background: #f7fafb;
}

.cmp_breadcrumbs .breadcrumb li a {
  color: var(--hgv-primary-dark) !important;
}

.cmp_breadcrumbs .breadcrumb li a:hover {
  color: var(--hgv-primary-deep) !important;
}

/* =========================================================
   9. FORMS + SUBMISSIONS
   ========================================================= */

.pkp_form.login .form-group input,
.pkp_form.register fieldset .fields .form-group label input,
.pkp_form.register fieldset .fields .form-group label select {
  width: 100%;
  border: 1px solid var(--hgv-line);
  border-radius: var(--hgv-radius) !important;
}

.pkp_form.login .form-group input:focus,
.pkp_form.register fieldset .fields .form-group label input:focus,
.pkp_form.register fieldset .fields .form-group label select:focus {
  border-color: var(--hgv-primary);
  box-shadow: 0 0 0 2px rgba(22, 143, 166, 0.12);
}

.pkp_form.login .buttons,
.pkp_form.register .buttons {
  display: flex !important;
  justify-content: flex-end;
  gap: 10px;
}

.pkp_form.login .buttons button,
.pkp_form.register .buttons button {
  order: 2;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--hgv-radius);
  background: var(--hgv-primary);
  font-weight: 700;
}

.pkp_form.login .buttons button:hover,
.pkp_form.register .buttons button:hover {
  background: var(--hgv-primary-dark);
}

.pkp_form.login .buttons a,
.pkp_form.register .buttons a {
  color: #fff !important;
  border: 0;
  border-radius: var(--hgv-radius);
  background: var(--hgv-navy);
  font-weight: 700;
}

.pkp_form.login .buttons a:hover,
.pkp_form.register .buttons a:hover {
  background: var(--hgv-navy-soft);
}

.pkp_form.register fieldset .fields .form-group,
.pkp_form.register fieldset .fields .form-group label {
  width: 100%;
}

.pkp_form.register .reviewer .fields .form-group.optin label {
  display: flex !important;
  width: fit-content;
  gap: 6px;
}

.pkp_form.register .reviewer .fields .form-group.optin label input {
  width: 14px !important;
  aspect-ratio: 1 / 1;
}

.page.page_submissions .alert.alert-info {
  color: var(--hgv-navy);
  border: 1px solid #bfdde2;
  background: #edf7f8;
}

/* =========================================================
   10. FOOTER
   ========================================================= */

footer,
.footer {
  width: 100% !important;
  margin: 0 auto !important;
  padding-bottom: 0 !important;
  border-top: 3px solid var(--hgv-primary);
  background: var(--hgv-navy-deep) !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

footer .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

footer .container .row .col-md-10 {
  width: 100%;
}

footer .container .row .col-md-2 {
  display: none;
}

.footer__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 34px 0 24px;
}

.footer__content .footer__identity {
  display: flex;
  gap: 30px;
}

.footer__content .footer__identity .info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer__content .footer__identity .info h6,
.footer__content .footer__identity .info p,
.footer-copy p,
footer p,
footer span,
footer li {
  color: rgba(255, 255, 255, 0.82) !important;
}

.footer__content .footer__identity .info h6 {
  margin: 0 0 4px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800 !important;
}

.footer__content .footer__identity .info p {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400 !important;
}

.footer__content .footer__ojs {
  filter: invert(100%);
}

.footer__content .footer__ojs img {
  float: right;
  width: 135px;
}

.footer-copy {
  display: flex;
  width: 100%;
  padding-bottom: 24px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.footer-copy a,
footer a {
  color: #bfe4e9;
}

.footer-copy a:hover,
footer a:hover {
  color: #fff;
}

.footer-copy a img {
  width: 90px;
  margin-bottom: 14px;
}

.footer-copy p {
  font-size: 11px;
}

/* =========================================================
   11. DESKTOP / TABLET
   ========================================================= */

@media (min-width: 746px) {
  .additional__header {
    grid-template-columns: minmax(0, 2fr) minmax(210px, 0.85fr);
    align-items: start;
  }

  .additional__header .about {
    grid-column: auto;
    order: 1;
    padding-top: 4px;
  }

  .additional__header .cover {
    order: 2 !important;
    width: 100%;
    max-width: 290px;
  }
}

@media (min-width: 743px) {
  .footer__content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 547px) {
  .container,
  footer,
  .navbar {
    width: 100% !important;
  }
}

@media (min-width: 768px) {
  .container,
  footer,
  .navbar {
    width: 100% !important;
  }

  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand,
  .header_view > .container .navbar-brand,
  .header_view > .container-fluid .navbar-brand {
    display: block;
    width: 100%;
    height: 100%;
    margin-left: 0;
    padding: 0 !important;
  }

  .navbar-default .container-fluid {
    display: flex;
    flex-direction: column;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

@media (min-width: 1024px) {
  .container,
  footer,
  .navbar {
    width: 100% !important;
  }

  .navbar-form.navbar-left .btn.btn-default {
    position: absolute !important;
    right: 35px;
    height: 36px !important;
    border-radius: 0 var(--hgv-radius-sm) var(--hgv-radius-sm) 0 !important;
  }

  .navbar-form.navbar-left .form-group .form-control {
    width: 280px !important;
  }
}

/* =========================================================
   12. MOBILE
   ========================================================= */

@media (max-width: 991px) {
  button.navbar-toggle {
    position: fixed !important;
    z-index: 999999 !important;
    top: 14px !important;
    right: 14px !important;
    display: block !important;
    visibility: visible !important;
    width: 46px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    border-radius: var(--hgv-radius) !important;
    background: var(--hgv-primary) !important;
    box-shadow: 0 4px 10px rgba(31, 41, 55, 0.20) !important;
  }

  button.navbar-toggle:hover,
  button.navbar-toggle:focus {
    background: var(--hgv-primary-dark) !important;
  }

  button.navbar-toggle .icon-bar {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 4px auto !important;
    border-radius: 2px !important;
    background: #fff !important;
  }

  button.navbar-toggle::after {
    display: block;
    margin-top: 2px;
    color: #fff;
    content: "MENU";
    text-align: center;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
  }

  .navbar-collapse.collapse.in {
    position: fixed !important;
    z-index: 999998 !important;
    top: 66px;
    right: 14px;
    left: 14px;
    display: block !important;
    overflow-y: auto !important;
    max-height: 72vh;
    padding: 0 !important;
    border: 1px solid var(--hgv-line) !important;
    border-top: 3px solid var(--hgv-primary) !important;
    border-radius: 0 0 var(--hgv-radius) var(--hgv-radius) !important;
    background: #fff !important;
    box-shadow: 0 14px 32px rgba(31, 41, 55, 0.24) !important;
  }

  .nav.navbar-nav {
    width: 100% !important;
    margin: 0 !important;
  }

  .nav.navbar-nav li {
    display: block !important;
    width: 100% !important;
  }

  .nav.navbar-nav li a,
  .navbar-default .navbar-nav > li > a {
    padding: 13px 17px !important;
    border-bottom: 1px solid var(--hgv-line-soft) !important;
    color: var(--hgv-navy) !important;
    background: #fff !important;
    text-align: left !important;
    text-transform: none;
    font-family: "Nunito Sans", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    letter-spacing: 0;
  }

  .nav.navbar-nav li a:hover,
  .nav.navbar-nav li a:focus,
  .nav.navbar-nav .active > a,
  .navbar-default .navbar-nav > .active > a {
    padding-left: 14px !important;
    border-left: 3px solid var(--hgv-primary) !important;
    color: var(--hgv-primary-dark) !important;
    background: var(--hgv-soft) !important;
  }

  .navbar-form {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    border-top: 1px solid var(--hgv-line) !important;
    background: #f8fafb !important;
  }

  .navbar-form .form-group {
    width: auto !important;
    margin-bottom: 0 !important;
    flex-grow: 1 !important;
  }

  .navbar-form .form-control {
    width: 100% !important;
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: var(--hgv-radius-sm) !important;
    font-size: 13px !important;
  }

  .navbar-form .btn {
    width: auto !important;
    height: 38px !important;
    margin-top: 0 !important;
    padding: 0 17px !important;
    border-radius: var(--hgv-radius-sm) !important;
    font-size: 12px !important;
    line-height: 38px !important;
    flex-shrink: 0 !important;
  }

  .navbar-form .btn::after {
    display: none !important;
    content: "" !important;
  }
}

@media (max-width: 767px) {
  .pkp_structure_content.container {
    padding: 27px 16px 38px !important;
  }

  .additional_content .additional_indexing {
    grid-template-columns: repeat(2, minmax(125px, 1fr)) !important;
    gap: 8px !important;
  }

  .additional_content .additional_indexing a {
    min-height: 74px !important;
    padding: 10px !important;
  }

  .additional_content .additional_indexing img,
  .additional_content .additional_indexing a img,
  .additional_content .additional_indexing div a img,
  .additional_content .additional_indexing p a img {
    width: 88% !important;
    min-width: 90px !important;
    max-width: 165px !important;
    height: 46px !important;
    max-height: 46px !important;
  }
}

@media (max-width: 547px) {
  .navbar-header .site-name {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0;
    flex-direction: column;
  }

  .container-fluid > .navbar-header,
  .navbar-default .container-fluid {
    margin-right: 0;
    margin-left: 0;
    padding: 0 !important;
  }

  .navbar-brand {
    float: left;
    height: 100% !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 21px;
  }

  .additional__header .cover {
    width: min(72%, 260px);
  }
}

@media (max-width: 498px) {
  .article-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .media-left img {
    max-width: 100%;
    margin-bottom: 18px;
  }

  .galley-link.btn.btn-primary.pdf {
    width: 100%;
  }

  .media-list .breadcrumb {
    display: block;
  }

  .galley_info {
    text-align: left;
    font-size: 9.5px;
  }

  .breadcrumb {
    margin-bottom: 18px;
    padding: 7px;
    border-radius: 0;
  }

  footer .container {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .footer__content .footer__identity {
    flex-direction: column;
    gap: 14px;
  }
}

@media (max-width: 390px) {
  .additional_content .additional_indexing {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   13. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
