/* ===============================
   GLOBAL FONT (Montserrat)
================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

html, body,
p, span, div,
table, th, td,
ul, ol, li,
a, label,
input, textarea, select, button,
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif !important;
}


/* ===============================
   PAGE WIDTH & LAYOUT
================================= */
.pkp_structure_page {
    max-width: 1300px !important;
    margin: 0 auto !important;
    box-sizing: border-box;
}

.homepage_about {
    text-align: justify;
}


/* ===============================
   REMOVE OJS BRAND FOOTER
================================= */
.pkp_brand_footer,
.pkp_footer_content {
    display: none !important;
}


/* ===============================
   LINKS HOVER EFFECT
================================= */
a {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}

a:hover {
    transform: translateY(3px);
}


/* ===============================
   ANIMATIONS
================================= */
@keyframes galleyBlink {
    0%   { opacity: 1; }
    50%  { opacity: 0.5; }
    100% { opacity: 1; }
}

@keyframes bounce {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(3px); }
    100% { transform: translateY(0); }
}

/* Article button blink */
.obj_galley_link.blink-article {
    animation: galleyBlink 2.5s infinite;
}

/* Sidebar hover bounce */
.pkp_block .title {
    display: inline-block;
    cursor: pointer;
}

.pkp_block .title:hover {
    animation: bounce 0.3s ease;
}


/* ===============================
   ARTICLE TITLE (BOLD + SIZE)
================================= */
.obj_article_details h1,
.page_article h1 {
    font-weight: 700 !important;
    font-size: 32px !important;
    line-height: 1.3 !important;
}


/* ===============================
   AUTHOR NAME (BOLD)
================================= */
.obj_article_details .authors,
.obj_article_details .authors a,
.article-details .authors {
    font-weight: 600 !important;
}


/* ===============================
   ABSTRACT JUSTIFICATION
================================= */
.article-summary .abstract,
.item.abstract p,
.pkp_structure_main .abstract p,
div.abstract,
div.abstract p,
section.abstract,
.article-details .abstract {
    text-align: justify !important;
}


/* ===============================
   ABSTRACT & REFERENCES TITLES
================================= */
.item.abstract .title,
.item.references .title,
.article-details .references h2,
.article-details .references h3 {
    text-align: justify;
    font-weight: 700;
    margin-bottom: 10px;
}


/* ===============================
   PAGE TITLES JUSTIFIED
================================= */
.page_title {
    text-align: justify !important;
}
