/* =========================================================
   OJS STM v1.0 CUSTOM STYLESHEET 
   ========================================================= */


/* =========================================================
   1) PAGE LAYOUT
   - Remove default top/bottom spacing on the main page wrapper
   ========================================================= */
.pkp_structure_page {
    margin-top: 0;
    margin-bottom: 0;
    /*max-width: 100% !important;*/
    /*width: 100% !important;*/
}



/* =========================================================
   2) CALL-TO-ACTION (SUBMISSION LINK) ANIMATION
   - Makes the submission link blink continuously
   ========================================================= */
.block_make_submission_link {
   animation-name: blink;
   animation-duration: 1s;
   animation-timing-function: linear;
   animation-iteration-count: infinite;
}
/* Blink keyframes */
@keyframes blink
{
   0%{opacity: 1.0}   
   50%{opacity: 0.0}
   100%{opacity: 1.0}
}


/* =========================================================
   4) ARTICLE DETAILS PAGE (JUSTIFIED CONTENT)
   - Justify common article detail blocks for cleaner reading
   ========================================================= */
.obj_article_details .abstract {
    text-align: justify;
}
.obj_article_details .references {
    text-align: justify;
}
.obj_article_details .keywords {
    text-align: justify;
}
.obj_article_details .authors {
    text-align: justify;
}
.obj_article_details .affiliation {
    text-align: justify;
}
.obj_article_details .item.citation {
    text-align: justify;
}
.obj_article_details .item.issue {
    text-align: justify;
}
.obj_article_details .item.copyright {
    text-align: justify;
}


/* =========================================================
   5) ISSUE TOC & ISSUE SUMMARY (JUSTIFIED DESCRIPTIONS)
   - Justify the description text on issue TOC and summary pages
   ========================================================= */
.obj_issue_toc .description {
    text-align: justify;
}
.obj_issue_summary .description {
    text-align: justify;
}


/* =========================================================
   6) ARTICLE SUMMARY LISTING (GRID + CARD UI)
   - Two-column grid layout on desktop
   - Card styling for each article summary
   - Hover elevation effect
   - Mobile responsive fallback to one column
   ========================================================= */

/* Article list grid (desktop: 2 columns) */
.cmp_article_list.articles {
  display: grid;
  grid-template-columns: 1fr 1fr; /* two balanced columns */
  gap: 14px;
  margin-top: 20px;
  align-items: stretch; /* keep card heights consistent */
}

/* Article summary card styling */
.cmp_article_list.articles .obj_article_summary {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  border: 1px solid #e0e0e0;
  padding: 16px;
  border-radius: 8px;
  background-color: #fafafa;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
}

/* Card hover effect */
.cmp_article_list.articles .obj_article_summary:hover {
  box-shadow: 0 10px 12px rgba(0, 0, 0, 0.08);
}

/* Mobile: single column layout */
@media (max-width: 768px) {
  .cmp_article_list.articles {
    grid-template-columns: 1fr;
  }
}

/* Article meta typography */
.obj_article_summary .meta {
    position: relative;
    padding-top: .357rem;
    font-size: 11px;
    line-height: 14px;
}


/* =========================================================
   7) ISSUE ARCHIVE (GRID + CARD UI + RESPONSIVE)
   - Grid layout for archive items
   - Card styling with hover lift
   - Breakpoints for different screen sizes
   ========================================================= */

/* Archive list grid */
.page_issue_archive .issues_archive {
  list-style: none;
  padding-left: 0;
  margin: 20px 0 0;

  display: grid;
  gap: 14px;
  align-items: stretch;

  /* Default layout (as provided) */
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Reset list item spacing */
.page_issue_archive .issues_archive > li {
  margin: 0;
  padding: 0;
}

/* Issue summary card styling */
.page_issue_archive .issues_archive .obj_issue_summary {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  border: 1px solid #e0e0e0;
  padding: 16px;
  border-radius: 8px;
  background-color: #fafafa;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}

/* Archive card hover effect */
.page_issue_archive .issues_archive .obj_issue_summary:hover {
  box-shadow: 0 10px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

/* Responsive breakpoints */
@media (max-width: 1200px) {
  .page_issue_archive .issues_archive {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .page_issue_archive .issues_archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .page_issue_archive .issues_archive {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   8) FOOTER CUSTOMIZATION
   - Hide PKP brand footer
   - Adjust footer content spacing and alignment
   ========================================================= */
.pkp_brand_footer {
  display: none !important;
}
.pkp_footer_content {
    padding: 30px;
    text-align: left;
}

/* =========================================================
   9) FONT AWESOME ICONS (MENUS + ARTICLE META + DOI LABEL)
   - User navigation: Home, (User name), Dashboard, View Profile,
     Administration, Quick Submit, Logout
   - Primary navigation: Current, Archive, Editorial Policies,
     Author Index, About
   - Replace visible "DOI:" label with a DOI-relevant icon (keeps label for screen readers)
   - Add icons before author name strings + page numbers
   ========================================================= */

/* Shared icon styling (works with FA4+; FA5/6/7 will use the first available family) */
.pkp_navigation_primary a::before,
.pkp_navigation_user a::before,
.obj_article_summary .meta .authors::before,
.obj_article_summary .meta .pages::before,
.obj_article_details .authors::before,
.obj_article_details .pages::before,
.obj_article_details .item.pages .value::before,
.obj_article_summary .doi .value::before,
.obj_article_details .item.doi .value::before,
.obj_article_details .doi .value::before {
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome";
  font-weight: 900;
  display: inline-block;
  width: 1.15em;
  margin-right: .35em;
  text-align: center;
  line-height: 1;
}

/* -------------------------
   A) USER NAVIGATION MENU
   ------------------------- */

/* Username (dropdown label) */
.pkp_navigation_user > li.profile > a::before {
  content: "\f2bd"; /* user-circle */
}

/* Home = first item in user nav */
.pkp_navigation_user > li:first-child > a::before {
  content: "\f015";
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome";
  font-weight: 900;
  display: inline-block;
  width: 1.15em;
  margin-right: .35em;
  text-align: center;
}

/* Dashboard */
.pkp_navigation_user a[href*="page=submissions"]::before,
.pkp_navigation_user a[href*="/submissions"]::before {
  content: "\f0e4"; /* tachometer */
}

/* Register */
.pkp_site_nav_menu a[href*="/index/user/register"]::before,
.pkp_site_nav_menu a[href*="user/register"]::before,
.pkp_navigation_user a[href*="/index/user/register"]::before,
.pkp_navigation_user a[href*="user/register"]::before {
  content: "\f234" !important; /* fa-user-plus */
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome" !important;
  font-weight: 900 !important;
  display: inline-block;
  width: 1.15em;
  margin-right: .35em;
  text-align: center;
}

/* Login */
.pkp_site_nav_menu a[href*="/index/login"]::before,
.pkp_site_nav_menu a[href*="/login"]::before,
.pkp_navigation_user a[href*="page=login"]::before {
  content: "\f090" !important; /* fa-user-plus */
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome" !important;
  font-weight: 900 !important;
  display: inline-block;
  width: 1.15em;
  margin-right: .35em;
  text-align: center;
}

/* View Profile */
.pkp_navigation_user a[href*="page=user"][href*="op=profile"]::before,
.pkp_navigation_user a[href*="/user/profile"]::before {
  content: "\f2c2"; /* id-card */
}

/* Administration */
.pkp_navigation_user a[href*="page=management"]::before,
.pkp_navigation_user a[href*="/index/admin"]::before {
  content: "\f085"; /* cogs */
}

/* Quick Submit (matches QuickSubmit plugin URLs) */
.pkp_navigation_user a[href*="quickSubmit"]::before,
.pkp_navigation_user a[href*="management"]::before {
  content: "\f1d8"; /* paper-plane */
}

/* Logout */
.pkp_navigation_user a[href*="login/signOut"]::before,
.pkp_navigation_user a[href*="op=signOut"]::before,
.pkp_navigation_user a[href*="signOut"]::before {
  content: "\f08b"; /* sign-out */
}

/* -------------------------
   B) PRIMARY NAVIGATION MENU
   ------------------------- */

/* Current */
.pkp_navigation_primary a[href*="issue/current"]::before,
.pkp_navigation_primary a[href*="page=issue"][href*="op=current"]::before {
  content: "\f1ea"; /* newspaper-o */
}

/* Archive */
.pkp_navigation_primary a[href*="issue/archive"]::before,
.pkp_navigation_primary a[href*="page=issue"][href*="op=archive"]::before {
  content: "\f187"; /* archive */
}

/* Editorial Policies (often under /about/... so keep this AFTER "About" if you add one) */
.pkp_navigation_primary a[href*="editorial Policies"]::before,
.pkp_navigation_primary a[href*="editorial-policies"]::before {
  content: "\f24e"; /* balance-scale */
}

/* Author Index */
.pkp_navigation_primary a[href*="Author Index"]::before,
.pkp_navigation_primary a[href*="authors"]::before {
  content: "\f0c0"; /* users */
}

/* About (generic about link) */
.pkp_navigation_primary a[href*="page=about"]::before,
.pkp_navigation_primary a[href*="#"]::before {
  content: "\f05a"; /* info-circle */
}

/* -------------------------
   C) AUTHORS + PAGES ICONS
   ------------------------- */

/* Authors icon (summary + details) */

/* Summary page: authors block */
.obj_article_summary .meta .authors::before,

/* Details page: before EACH author name (common OJS markup variants) */
.obj_article_details .authors .userGroup::before,
.obj_article_details .authors .userGroup a::before,
.obj_article_details .authors li .userGroup::before,
.obj_article_details .authors li .userGroup a::before,
.obj_article_details .authors .author .userGroup::before,
.obj_article_details .authors .author .userGroup a::before {
  content: "\f007"; /* fa-user */

  /* Font Awesome (covers FA6/FA5/FA4 stacks) */
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome";
  font-weight: 900;

  display: inline-block;
  width: 1.15em;
  margin-right: .2em;
  text-align: center;
}

/* Page numbers (summary + details) */
.obj_article_summary .meta .pages::before,
.obj_article_details .pages::before,
.obj_article_details .item.pages .value::before {
  content: "\f0f6"; /* file-text-o */
}

/* -------------------------
   D) DOI LABEL -> ICON ONLY
   - Visually replaces "DOI:" with an icon
   - Keeps the label accessible for screen readers
   ------------------------- */

/* Hide the visible "DOI:" label (but keep it readable by assistive tech) */
.obj_article_summary .doiInSummary strong,
.obj_issue_toc .pub_id .type,
.obj_article_summary .item.doi .label,
.obj_article_details .doi .label,
.obj_article_details .item.doi .label,
.obj_article_details .item.doi > strong {
  position: absolute !important;
  width: 2px !important;
  height: 2px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Add DOI SVG icon before the DOI value (replaces FA link icon) */
:root{
  --doi-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http%3A//www.w3.org/2000/svg%22%20viewBox=%220%200%2064%2064%22%20role=%22img%22%20aria-label=%22DOI%22%3E%3Ccircle%20cx=%2232%22%20cy=%2232%22%20r=%2230%22%20fill=%22%23000%22/%3E%3Ctext%20x=%2232%22%20y=%2234%22%20text-anchor=%22middle%22%20dominant-baseline=%22middle%22%20fill=%22%23fff%22%20font-family=%22Inter%2C%20Arial%2C%20sans-serif%22%20font-weight=%22700%22%20font-size=%2235%22%20letter-spacing=%220.5%22%3Edoi%3C/text%3E%3C/svg%3E");
}

.obj_article_summary .doiInSummary ::before,
.obj_issue_toc .pub_id .id ::before,
.obj_article_summary .item.doi .value::before,
.obj_article_details .doi .value::before,
.obj_article_details .item.doi .value::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-right: .2em;
  background: no-repeat center / contain var(--doi-icon-svg);
}
.pkp_navigation_user ul {
  width: 12em;
}

.pkp_navigation_user_wrapper{
  width: 30%;
}

.cmp_button_wire:hover, .cmp_button_wire:focus{
  background: #372348;
  color: white
}

.pkp_navigation_primary > li > a{
  border-top: 4px solid transparent;
    border-top-width: 4px;
  padding-top: 0px;
}

.pkp_navigation_search_wrapper a{
  color: #372348;
}

.pkp_navigation_search_wrapper a:hover{
  color: #372348;
}
/* Primary Navigation menue item colour */
#navigationPrimary > li > a{
  color: #372348
}

.pkp_navigation_primary{
  max-width: 90%;
}

/* Home icon before bread crum */
.cmp_breadcrumbs li:first-child > a::before{
  content: "\f015";
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free","Font Awesome 5 Pro","Font Awesome 5 Free","FontAwesome";
  font-weight: 900;
  display: inline-block;
  width: 1.15em;
  margin-right: .35em;
  text-align: center;
}

.pkp_page_index .current_issue h2{
  border-bottom: 3px solid #372348;
}

.pkp_block .title{
  border-bottom: 3px solid #372348;
}

.pkp_nav_list ul a{
  color: #372348;
}
.pkp_nav_list ul a:hover{
  color: #372348;
}

.cmp_breadcrumbs a{
  color: #372348;
}

.obj_article_summary > .title a:hover{
  color: #372348;
}


.flag-counter-wrapper {
  position: relative;
  display: inline-block;
}

.flag-counter-wrapper img {
  display: block;
}

.flag-counter-wrapper .flag-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 22px;   /* adjust to match logo height */
  background: #fff;  /* white bar */
}

.obj_galley_link{
  animation-name: blink;
   animation-duration: 1s;
   animation-timing-function: linear;
   animation-iteration-count: infinite;
}