@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,600;1,400&family=Source+Sans+3:wght@400;600;700&display=swap");
/* Existing rule: hide site name on the portal index page */
.page_index_site .pkp_site_name,
.page_index_site .pkp_site_name_wrapper {
    display: none !important;
}

/* ---------- AJEET layout fixes (themeEight) ---------- */

/* 1. Logo */
.navbar-brand img,
.pkp_site_name .is_img img,
.site-header img,
header img,
img[src*="pageHeaderLogoImage"] {
  max-width: 420px !important;
  width: auto !important;
  height: auto !important;
}

/* 2. Page container: fits screen, no sideways overflow */
html, body { overflow-x: hidden; }
*, *:before, *:after { box-sizing: border-box; }
.pkp_structure_page {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 15px auto !important;
  padding: 20px 25px !important;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25);
}

/* 3. Menu bar: stay inside page, solid navy (overrides theme gradient) */
.navbar,
.navbar-default,
#headerNavigationContainer,
#nav-menu,
.navbar-collapse {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #0b2a4a !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.navbar { border-radius: 3px; min-height: 0; margin-bottom: 20px; }
.navbar-nav > li > a,
#main-navigation > li > a {
  color: #ffffff !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  background: transparent !important;
  border-right: 1px solid rgba(255,255,255,0.15) !important;
}
.navbar-nav > li > a:hover,
#main-navigation > li > a:hover,
#main-navigation > li > a.active {
  background: #c8102e !important;
  color: #ffffff !important;
}

/* 4. Two columns: content left, sidebar right (desktop) */
@media (min-width: 992px) {
  .pkp_structure_main {
    float: left !important;
    width: 71% !important;
    max-width: 71% !important;
    border: 0 !important;
    padding-right: 25px !important;
  }
  .pkp_structure_sidebar {
    float: right !important;
    width: 28% !important;
    display: block !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }
  .pkp_structure_sidebar .pkp_block { margin-bottom: 18px !important; }
  .pkp_structure_page:after { content: ""; display: block; clear: both; }
}
/* On phones and tablets: stack, sidebar below */
@media (max-width: 991px) {
  .pkp_structure_main, .pkp_structure_sidebar {
    float: none !important; width: 100% !important; max-width: 100% !important;
  }
  .pkp_structure_sidebar { display: block; margin-top: 25px; }
}

/* Homepage banner: full width of the page */
img[src*="homepageImage"],
.homepage_image img,
.page_index_journal .homepage_image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 3px;
}

/* 5. Images scale with the page */
.pkp_structure_main img,
.page_index_journal img {
  max-width: 100%;
  height: auto;
}

/* 6. Headings: consistent accents */
.pkp_structure_main h2,
.pkp_structure_main h3 {
  color: #0b2a4a;
  border-bottom: 2px solid #c8102e;
  padding-bottom: 6px;
}

/* 7. Sidebar blocks: tidy boxes */
.pkp_structure_sidebar .pkp_block {
  background: #f7f8fa;
  border: 1px solid #dde1e6;
  border-top: 3px solid #c8102e;
  border-radius: 3px;
  padding: 12px 14px;
  margin-bottom: 18px;
}
.pkp_structure_sidebar .pkp_block .title {
  color: #0b2a4a;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
}

/* ---------- v5: avoid stretched look ---------- */

/* Banner keeps its proportions: capped height, cropped not stretched */
img[src*="homepageImage"],
.homepage_image img,
.page_index_journal .homepage_image img {
  width: 100% !important;
  height: auto !important;
  max-height: 300px !important;
  object-fit: cover !important;
  object-position: center right !important;
}

/* Logo: natural proportions, never stretched */
img[src*="pageHeaderLogoImage"] {
  width: auto !important;
  height: auto !important;
  max-width: 380px !important;
  object-fit: contain !important;
}

/* Comfortable reading size for article lists */
.pkp_structure_main { font-size: 15px; line-height: 1.55; }
.pkp_structure_main .title a,
.pkp_structure_main h3 a,
.obj_article_summary .title a {
  color: #0b2a4a !important;
  font-size: 16px;
  font-weight: 600;
}
.pkp_structure_main .title a:hover,
.obj_article_summary .title a:hover { color: #c8102e !important; }

/* Menu: even spacing, all items same colour */
.navbar-nav > li > a,
#main-navigation > li > a { padding: 14px 20px !important; }

/* ---------- v7: banner reaches the end of the column ---------- */
.homepage_image,
.page_index_journal .homepage_image,
.page_index_journal .journal-description,
.page_index_journal .description,
a:has(> img[src*="homepageImage"]),
p:has(> img[src*="homepageImage"]),
div:has(> img[src*="homepageImage"]) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  display: block !important;
  text-align: left !important;
}
img[src*="homepageImage"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

/* ---------- v8: banner spans full page width, sidebar starts below it ---------- */
@media (min-width: 992px) {
  /* main column is 71% wide with 25px right padding; stretch banner over the sidebar column too */
  img[src*="homepageImage"] {
    width: calc(140.85% + 35px) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 340px !important;
    max-height: 340px !important;
    object-fit: cover !important;
    position: relative;
    z-index: 2;
  }
  .pkp_structure_main { overflow: visible !important; }
}
/* Sidebar offset ONLY on pages that contain the homepage banner */
@media (min-width: 992px) {
  .pkp_structure_page:has(img[src*="homepageImage"]) .pkp_structure_sidebar {
    margin-top: 410px !important;
  }
  .pkp_structure_sidebar { margin-top: 0 !important; }
  .pkp_structure_page:has(img[src*="homepageImage"]) .pkp_structure_sidebar { margin-top: 410px !important; }
}

/* ---------- v10: use more of wide screens ---------- */
.pkp_structure_page {
  width: 96% !important;
  max-width: 1500px !important;
}
@media (min-width: 1400px) {
  .pkp_structure_main { width: 73% !important; max-width: 73% !important; }
  .pkp_structure_sidebar { width: 26% !important; }
  img[src*="homepageImage"] { width: calc(136.99% + 33px) !important; }
}

/* ---------- v12: visible Login / Register links ---------- */
/* Default (white header area): dark navy text */
a[href*="/login"],
a[href*="/user/register"],
a[href*="/user/profile"],
a[href*="/login/signOut"],
#navigationUser a,
.pkp_navigation_user a,
ul[id*="avigationUser"] a,
.navbar-right a,
.topHeader a,
.top-bar a,
.user-menu a {
  color: #0b2a4a !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}
a[href*="/login"]:hover,
a[href*="/user/register"]:hover,
#navigationUser a:hover,
.pkp_navigation_user a:hover { color: #c8102e !important; }

/* Inside the navy menu bar: white text */
.navbar a[href*="/login"],
.navbar a[href*="/user/register"],
.navbar #navigationUser a,
.navbar .navbar-right a {
  color: #ffffff !important;
}
.navbar a[href*="/login"]:hover,
.navbar a[href*="/user/register"]:hover {
  background: #c8102e !important;
  color: #ffffff !important;
}

/* Dropdown menu items stay readable */
.navbar .dropdown-menu > li > a {
  color: #0b2a4a !important;
  text-transform: none;
  background: #ffffff !important;
}
.navbar .dropdown-menu > li > a:hover {
  background: #c8102e !important;
  color: #ffffff !important;
}

/* ---------- v13: Login/Register pushed to the right, calmer menu text ---------- */
@media (min-width: 992px) {
  .navbar-collapse,
  #nav-menu,
  #headerNavigationContainer .container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
  }
  .navbar-nav,
  #main-navigation {
    display: flex !important;
    flex-wrap: wrap;
    float: none !important;
    margin: 0 !important;
  }
  /* user menu (if it is its own list) goes to the far right */
  #navigationUser,
  ul[id*="avigationUser"],
  .navbar-right {
    order: 2;
    margin-left: auto !important;
  }
  /* if Login/Register are in the same list as the main menu */
  li:has(> a[href*="/login"]:not([href*="signOut"])),
  li:has(> a[href*="/user/register"]) {
    order: 10;
  }
  li:has(> a[href*="/login"]:not([href*="signOut"])) { margin-left: auto !important; }
}
/* Slightly smaller menu text */
.navbar-nav > li > a,
#main-navigation > li > a {
  font-size: 14px !important;
  padding: 16px 20px !important;
}

/* ---------- v14: smaller type, journal fonts, Login/Register far right ---------- */
body, .pkp_structure_page, .pkp_structure_main {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.pkp_structure_main { font-size: 14px !important; }
.pkp_structure_main .title a,
.pkp_structure_main h3 a,
.obj_article_summary .title a { font-size: 15px !important; }
h1, h2, h3, h4, h5, h6,
.navbar, .navbar a, .btn, button, .pkp_block .title,
.pkp_structure_sidebar, .pkp_structure_sidebar a,
.breadcrumb, label, .pkp_structure_main h2, .pkp_structure_main h3 {
  font-family: "Source Sans 3", Arial, Helvetica, sans-serif !important;
}
h1 { font-size: 24px !important; }
h2 { font-size: 19px !important; }
h3 { font-size: 16px !important; }
.navbar-nav > li > a,
#main-navigation > li > a {
  font-size: 13px !important;
  padding: 16px 18px !important;
}
.pkp_structure_sidebar .pkp_block { font-size: 13px !important; }

/* Login / Register pushed to the far right (flex layout, desktop) */
@media (min-width: 992px) {
  .navbar-collapse,
  #nav-menu {
    display: flex !important;
    flex-wrap: nowrap;
    width: 100% !important;
    overflow: visible !important;
  }
  .navbar-nav,
  #main-navigation {
    display: flex !important;
    flex-wrap: nowrap;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .navbar-nav > li,
  #main-navigation > li {
    float: none !important;
    flex: 0 0 auto;
    position: relative;
  }
  /* separate user list, if the theme renders one */
  #navigationUser, ul[id*="avigationUser"], .navbar-right {
    order: 2;
    margin-left: auto !important;
    width: auto !important;
  }
  /* Login then Register, last in the row, pushed right */
  li:has(> a[href*="/login"]:not([href*="signOut"])) {
    order: 20;
    margin-left: auto !important;
    border-left: 1px solid rgba(255,255,255,0.25);
  }
  li:has(> a[href*="/user/register"]) {
    order: 21;
    margin-left: 0 !important;
  }
  li:has(> a[href*="/user/register"]) > a {
    background: #c8102e !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 16px 22px !important;
    border: 0 !important;
  }
  li:has(> a[href*="/login"]:not([href*="signOut"])) > a {
    margin: 0 !important;
    padding: 16px 22px !important;
  }
}


/* ---------- v18: dropdown menu stands out from the page ---------- */
.navbar .dropdown-menu,
#main-navigation .dropdown .dropdown-menu,
.navbar-nav .dropdown-menu {
  background: #0b2a4a !important;
  border: 0 !important;
  border-top: 3px solid #c8102e !important;
  border-radius: 0 0 4px 4px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.35) !important;
  padding: 6px 0 !important;
  min-width: 200px;
}
.navbar .dropdown-menu > li > a,
#main-navigation .dropdown .dropdown-menu li a {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 13px !important;
  padding: 10px 18px !important;
  text-transform: none;
}
.navbar .dropdown-menu > li,
#main-navigation .dropdown .dropdown-menu li:not(:last-child) {
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
}
.navbar .dropdown-menu > li > a:hover,
.navbar .dropdown-menu > li > a:focus,
#main-navigation .dropdown .dropdown-menu li a:hover {
  background: #c8102e !important;
  color: #ffffff !important;
}
