/* =========================================================
   OJS STM v1.0 CUSTOM STYLESHEET  by Syed Mughees Ul Hassan
   ========================================================= */


/* =========================================================
   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: 2s;
    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;
}

.pkp_structure_main {
    padding-bottom: 20px;
}

@media (max-width: 768px) {

    .pkp_structure_main p,
    .pkp_structure_main ul {
        text-align: left !important;
        padding-bottom: 20px;
    }
}

/* =========================================================
   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: #1E6292;
    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: #1E6292;
}

@media (max-width: 768px) {
    .pkp_navigation_search_wrapper a {
        color: white;
    }
}

.pkp_navigation_search_wrapper a:hover {
    color: #1E6292;
}

@media (max-width: 768px) {
    .pkp_navigation_search_wrapper a:hover {
        color: White;
    }
}

/* Primary Navigation menue item colour */
#navigationPrimary>li>a {
    color: #1E6292
}

@media (max-width: 768px) {
    #navigationPrimary>li>a {
        color: white;
    }
}

.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 #1E6292;
}

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

.pkp_nav_list ul a {
    color: #1E6292;
}

@media (max-width: 768px) {
    .pkp_nav_list ul a {
        color: white;
    }
}

.pkp_nav_list ul a:hover {
    color: #1E6292;
}

@media (max-width: 768px) {
    .pkp_nav_list ul a:hover {
        color: white;
    }
}

.cmp_breadcrumbs a {
    color: #1E6292;
}

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


.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: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}