/* ============================================================
   MODERN OJS CUSTOM THEME
   Clean • Professional • Academic • Responsive
   ============================================================ */

/* ---------- Google Fonts ---------- */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@400;700&display=swap');


/* ============================================================
   CSS VARIABLES
   ============================================================ */

:root {
    --primary: #1e3a5f;
    --primary-dark: #0f2744;
    --primary-light: #2c5282;

    --accent: #3182ce;
    --accent-hover: #2b6cb0;

    --text: #1a202c;
    --text-muted: #4a5568;

    --bg: #f7fafc;
    --bg-white: #ffffff;

    --border: #e2e8f0;
    --sidebar-bg: #edf2f7;

    --success: #38a169;
    --warning: #dd6b20;
    --danger: #e53e3e;

    --radius: 8px;
    --radius-lg: 12px;

    --shadow:
        0 1px 3px rgba(0, 0, 0, 0.08),
        0 1px 2px rgba(0, 0, 0, 0.06);

    --shadow-md:
        0 4px 6px -1px rgba(0, 0, 0, 0.10),
        0 2px 4px -1px rgba(0, 0, 0, 0.06);

    --shadow-lg:
        0 10px 15px -3px rgba(0, 0, 0, 0.10),
        0 4px 6px -2px rgba(0, 0, 0, 0.05);

    --transition: all 0.2s ease;
}


/* ============================================================
   RESET
   ============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    background-color: var(--bg);

    color: var(--text);

    font-family:
        'Inter',
        -apple-system,
        BlinkMacSystemFont,
        'Segoe UI',
        Roboto,
        Arial,
        sans-serif;

    font-size: 16px;
    line-height: 1.7;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

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

a {
    transition: var(--transition);
}

a:link,
a:visited {
    color: var(--accent);
    text-decoration: none;
}

a:hover,
a:active {
    color: var(--accent-hover);
    text-decoration: underline;
}


/* ============================================================
   MAIN CONTAINER
   ============================================================ */

#container {
    width: 100%;
    max-width: 1280px;

    min-width: 320px;

    margin: 0 auto;

    background: var(--bg-white);

    box-shadow: var(--shadow-lg);

    text-align: left;
}


/* ============================================================
   HEADER
   ============================================================ */

#header {
    position: relative;

    width: 100%;

    margin: 0;
    padding: 0;

    background:
        linear-gradient(
            135deg,
            var(--primary) 0%,
            var(--primary-dark) 100%
        );

    overflow: hidden;
}


/* Header decorative effect */

#header::after {
    content: "";

    position: absolute;

    right: -100px;
    top: -100px;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background: rgba(255,255,255,0.04);

    pointer-events: none;
}


/* ============================================================
   HEADER TITLE / LOGO
   ============================================================ */

#headerTitle {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;

    padding: 28px 32px;

    display: flex;

    align-items: center;

    gap: 24px;

    position: relative;
    z-index: 2;
}


/* ------------------------------------------------------------
   LOGO
   ------------------------------------------------------------ */

#headerTitle img {
    display: block;

    float: none;

    width: auto;

    /*
       LOGO DIPERBESAR
       Sebelumnya 80px
       Sekarang sampai 130px
    */

    max-height: 130px;

    max-width: 240px;

    height: auto;

    object-fit: contain;

    margin: 0;

    padding: 0;

    flex: 0 0 auto;

    filter:
        drop-shadow(
            0 3px 8px rgba(0, 0, 0, 0.18)
        );
}


/* Jika logo berupa link */

#headerTitle a {
    display: inline-flex;

    align-items: center;

    flex-shrink: 0;
}

#headerTitle a img {
    max-height: 130px;
}


/* ============================================================
   JOURNAL TITLE
   ============================================================ */

#header h1 {
    margin: 0;
    padding: 0;

    color: #ffffff;

    font-family:
        'Merriweather',
        Georgia,
        serif;

    font-size: 2rem;

    font-weight: 700;

    line-height: 1.35;

    letter-spacing: 0.2px;

    text-shadow:
        0 2px 4px rgba(0,0,0,0.15);
}


/* ============================================================
   NAVIGATION
   ============================================================ */

#navbar {
    width: 100%;
    max-width: 1280px;

    margin: 0;

    padding: 0;

    background: var(--primary-dark);

    border: 0;

    height: auto;

    clear: both;

    display: block !important;

    box-shadow:
        0 2px 5px rgba(0,0,0,0.15);

    position: relative;
    z-index: 10;
}


#navbar ul {
    margin: 0;
    padding: 0 18px;

    list-style: none;

    display: flex;

    flex-wrap: wrap;

    align-items: center;
}


#navbar ul li {
    float: none;

    margin: 0;
    padding: 0;
}


#navbar a,
#navbar a:link,
#navbar a:visited {
    display: block;

    margin: 0;
    padding: 16px 18px;

    color: rgba(255,255,255,0.94);

    font-size: 0.9rem;

    font-weight: 600;

    line-height: 1.2;

    text-decoration: none;

    border-radius: 0;

    transition: var(--transition);
}


#navbar a::before,
#navbar a::after {
    display: none !important;
}


#navbar a:hover,
#navbar a:active {
    background: var(--accent);

    color: #ffffff;

    text-decoration: none;

    transform: none;
}


/* ============================================================
   BODY
   ============================================================ */

#body {
    width: 100% !important;
    max-width: 1280px;

    margin: 0 auto;

    padding: 32px 0 50px;

    background: var(--bg-white);

    display: block !important;
}


#body::after {
    content: "";

    display: table;

    clear: both;
}


/* ============================================================
   MAIN CONTENT
   ============================================================ */

#main {
    position: relative;

    float: left;

    width: calc(100% - 280px);

    margin: 0;

    padding: 0 32px;

    display: block !important;

    overflow: visible !important;
}


#main::after {
    content: "";

    display: table;

    clear: both;
}


#content {
    width: 100%;

    border-top: 0;

    padding: 0;

    color: var(--text);

    font-size: 16px;

    line-height: 1.75;
}


/* ============================================================
   ARTICLE TEXT
   ============================================================ */

/*
   Membuat paragraf artikel lebih rapi dan akademik.
*/

#content p,
#main p {
    margin-top: 0;

    margin-bottom: 1.15em;

    line-height: 1.8;

    text-align: justify;

    text-justify: inter-word;

    word-break: normal;

    overflow-wrap: break-word;
}


/* Paragraf pertama */

#content > p:first-of-type {
    margin-top: 0;
}


/* ============================================================
   HEADINGS
   ============================================================ */

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#main > h2 {
    color: var(--primary);

    font-family:
        'Merriweather',
        Georgia,
        serif;

    font-weight: 700;

    line-height: 1.4;

    margin-top: 1.6em;

    margin-bottom: 0.7em;
}


#content h1 {
    font-size: 1.9rem;
}


#content h2 {
    font-size: 1.5rem;

    padding-bottom: 8px;

    border-bottom:
        2px solid var(--border);
}


#content h3 {
    font-size: 1.25rem;
}


#content h4 {
    font-size: 1.1rem;
}


#content h5 {
    font-size: 1rem;
}


#content h6 {
    font-size: 0.95rem;
}


/* ============================================================
   ARTICLE TITLE
   ============================================================ */

.articleTitle,
#content .articleTitle {
    color: var(--primary);

    font-family:
        'Merriweather',
        Georgia,
        serif;

    font-size: 1.8rem;

    font-weight: 700;

    line-height: 1.45;

    margin-bottom: 18px;
}


/* ============================================================
   BREADCRUMB
   ============================================================ */

#breadcrumb {
    margin: 0 0 22px;

    padding: 12px 0;

    border-bottom:
        1px solid var(--border);

    color: var(--text-muted);

    font-size: 0.875rem;

    line-height: 1.5;
}


/* ============================================================
   LINKS DALAM KONTEN
   ============================================================ */

#content a {
    color: var(--accent);

    font-weight: 500;
}

#content a:hover {
    color: var(--accent-hover);

    text-decoration: underline;
}


/* ============================================================
   LIST
   ============================================================ */

#content ul,
#content ol {
    margin-top: 0.8em;

    margin-bottom: 1.2em;

    padding-left: 2em;
}


#content li {
    margin-bottom: 0.45em;

    line-height: 1.7;
}


/* Jangan justify item menu */

#content ul.menu,
ul.sidemenu {
    text-align: left;
}


/* ============================================================
   BLOCKQUOTE
   ============================================================ */

#content blockquote {
    margin: 24px 0;

    padding: 18px 22px;

    border-left:
        4px solid var(--accent);

    border-radius: 6px;

    background: #f7fafc;

    color: var(--text-muted);

    font-style: italic;
}


/* ============================================================
   TABLE
   ============================================================ */

#content table {
    width: 100%;

    border-collapse: collapse;

    margin: 24px 0;

    font-size: 0.95rem;
}


#content table th {
    background: var(--primary);

    color: #ffffff;

    font-weight: 600;

    text-align: left;

    padding: 12px 14px;

    border:
        1px solid var(--primary);
}


#content table td {
    padding: 11px 14px;

    border:
        1px solid var(--border);

    vertical-align: top;
}


#content table tr:nth-child(even) {
    background: #f8fafc;
}


#content table tr:hover {
    background: #edf6ff;
}


/* ============================================================
   RIGHT SIDEBAR
   ============================================================ */

#leftSidebar {
    display: none;

    width: 0;
}


#rightSidebar {
    float: right;

    width: 280px;

    margin: 0;

    padding: 24px 18px;

    background: var(--sidebar-bg);

    border-left:
        1px solid var(--border);

    font-size: 0.875rem;

    height: auto;

    overflow: hidden;
}


/* Sidebar blocks */

#leftSidebar div.block,
#rightSidebar div.block {
    margin-bottom: 18px;

    padding: 18px;

    background: var(--bg-white);

    border:
        1px solid rgba(226,232,240,0.8);

    border-radius: var(--radius);

    box-shadow: var(--shadow);

    color: inherit;
}


/* Sidebar title */

#leftSidebar div.block span.blockTitle,
#rightSidebar div.block span.blockTitle,
#sidebarDevelopedBy.block,
#sidebarHelp.block {
    display: block;

    margin-bottom: 14px;

    padding:
        0 0 10px !important;

    background: none !important;

    color: var(--primary);

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.7px;

    text-transform: uppercase;

    border-bottom:
        2px solid var(--accent);
}


/* Sidebar paragraph */

#rightSidebar p,
#leftSidebar p {
    margin:
        0 0 10px !important;

    line-height: 1.65;

    text-align: left;
}


/* Sidebar links */

#sidebarDevelopedBy.block a,
#sidebarHelp.block a {
    color: var(--text-muted);

    font-size: 0.82rem;

    text-decoration: none;

    font-weight: 400;
}


#sidebarDevelopedBy.block a:hover,
#sidebarHelp.block a:hover {
    color: var(--accent);

    text-decoration: underline;
}


/* Sidebar lists */

.block ul {
    list-style: none;

    margin: 0;

    padding-left: 0;
}


.block li {
    position: relative;

    margin: 0;

    padding:
        5px 0 5px 18px;

    line-height: 1.55;
}


.block li::before {
    content: "›";

    position: absolute;

    left: 0;

    color: var(--accent);

    font-weight: 700;
}


/* ============================================================
   SIDE MENU
   ============================================================ */

ul.sidemenu {
    margin: 0 !important;

    padding: 0 !important;

    list-style: none;
}


ul.sidemenu li {
    margin: 0;

    padding: 0;
}


ul.sidemenu li a {
    display: block;

    padding: 12px 16px;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--primary-light)
        );

    border-bottom:
        1px solid rgba(255,255,255,0.10);

    color: #ffffff;

    font-size: 0.875rem;

    font-weight: 500;

    text-decoration: none;
}


ul.sidemenu li:first-child a {
    border-radius:
        var(--radius)
        var(--radius)
        0
        0;
}


ul.sidemenu li:last-child a {
    border-bottom: 0;

    border-radius:
        0
        0
        var(--radius)
        var(--radius);
}


ul.sidemenu li a:hover {
    background: var(--accent);

    color: #ffffff;

    text-decoration: none;
}


/* ============================================================
   TABLE OF CONTENT / ARTICLE LIST
   ============================================================ */

table.tocArticle {
    width: 100%;

    margin-bottom: 14px;

    border-collapse: separate;

    border-spacing: 0;

    border-radius: var(--radius);

    overflow: hidden;

    box-shadow: var(--shadow);

    border:
        1px solid var(--border);
}


table.tocArticle:nth-child(2n+1) tr {
    background-color: #f7fbff;
}


table.tocArticle:nth-child(2n) tr {
    background-color: #ffffff;
}


table.tocArticle tr {
    transition: var(--transition);
}


table.tocArticle tr:hover {
    background-color: #edf6ff !important;
}


table.tocArticle td {
    padding: 14px 16px;

    border: none;

    vertical-align: top;
}


.tocTitle {
    color: var(--primary);

    font-size: 1.05rem;

    font-weight: 700;

    line-height: 1.5;
}


.tocTitle a {
    color: var(--primary);

    font-weight: 700;
}


.tocTitle a:hover {
    color: var(--accent);
}


.tocAuthors,
.tocDOI,
.articleDOI {
    margin-top: 7px;

    padding-left: 28px;

    color: var(--text-muted);

    font-size: 0.85rem;

    line-height: 1.5;
}


.tocAuthors {
    background:
        url(/public/site/images/admin/icons/icon-group.png)
        1px 3px
        no-repeat;

    font-style: italic;

    padding-bottom: 3px;
}


.articleDOI,
.tocDOI {
    background:
        url(/public/site/images/admin/icons/icon-doi.png)
        1px 3px
        no-repeat;
}


td.tocGalleys {
    padding-right: 16px;

    white-space: nowrap;

    vertical-align: middle;
}


/* ============================================================
   GALLEY ICON
   ============================================================ */

.tocGaleyPdf {
    display: inline-block;

    width: 30px;

    height: 30px;

    float: right;

    background:
        url(/public/site/images/admin/icons/icon-pdf.png)
        center
        no-repeat;

    background-size: contain;
}


.tocGaleyFile {
    display: inline-block;

    width: 30px;

    height: 30px;

    background:
        url(/public/site/images/admin/icons/icon-file.png)
        center
        no-repeat;

    background-size: contain;
}


/* ============================================================
   CONTENT MENU
   ============================================================ */

#content ul.menu {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin: 0 0 24px;

    padding: 0;

    list-style: none;
}


#content ul.menu li {
    padding: 9px 16px;

    background:
        linear-gradient(
            to bottom,
            var(--primary),
            var(--primary-light)
        );

    border-radius: 6px;

    box-shadow: var(--shadow);

    transition: var(--transition);
}


#content ul.menu li.current,
#content ul.menu li:hover {
    background:
        linear-gradient(
            to bottom,
            var(--accent),
            var(--accent-hover)
        );

    transform:
        translateY(-1px);

    box-shadow: var(--shadow-md);
}


#content ul.menu a {
    color: #ffffff;

    font-size: 0.875rem;

    font-weight: 600;

    text-decoration: none;
}


#content ul.menu a:hover {
    color: #ffffff;

    text-decoration: none;
}


/* ============================================================
   FORMS
   ============================================================ */

input.textField,
input.uploadField,
select.selectMenu,
textarea.textArea {
    width: 100%;

    max-width: 100%;

    padding: 11px 13px;

    background: var(--bg-white);

    border:
        1px solid var(--border);

    border-radius: 6px;

    color: var(--text);

    font-family: inherit;

    font-size: 0.95rem;

    line-height: 1.5;

    transition: var(--transition);
}


input.textField:focus,
input.uploadField:focus,
select.selectMenu:focus,
textarea.textArea:focus {
    border-color: var(--accent);

    outline: none;

    box-shadow:
        0 0 0 3px
        rgba(49,130,206,0.18);
}


textarea.textArea {
    min-height: 140px;

    resize: vertical;
}


/* ============================================================
   BUTTONS
   ============================================================ */

input[type="button"],
input[type="submit"],
button {
    padding: 11px 20px;

    background:
        linear-gradient(
            to bottom,
            var(--primary),
            var(--primary-light)
        );

    border: none;

    border-radius: 6px;

    color: #ffffff;

    font-family: inherit;

    font-size: 0.9rem;

    font-weight: 600;

    cursor: pointer;

    text-shadow: none;

    box-shadow: var(--shadow);

    transition: var(--transition);
}


input[type="button"]:hover,
input[type="submit"]:hover,
button:hover {
    background:
        linear-gradient(
            to bottom,
            var(--accent),
            var(--accent-hover)
        );

    color: #ffffff;

    transform:
        translateY(-1px);

    box-shadow: var(--shadow-md);
}


input.defaultButton {
    color: #ffffff;

    font-weight: 700;
}


/* ============================================================
   SETUP FORM
   ============================================================ */

#setupForm .uploadField {
    width: auto !important;

    max-width: 400px;

    margin-right: 10px;

    float: left !important;
}


/* ============================================================
   SEPARATOR
   ============================================================ */

div.separator {
    margin: 24px 0;

    border-bottom:
        1px solid var(--border);
}


div.thickSeparator {
    margin-bottom: 20px;

    border-bottom:
        2px solid var(--border);
}


/* ============================================================
   HIGHLIGHT
   ============================================================ */

span.highlight,
.highlight {
    display: inline-block;

    padding: 4px 8px;

    background: #fefcbf;

    border:
        1px solid #f6e05e;

    border-radius: 4px;
}


/* ============================================================
   INTRO BOX
   ============================================================ */

.intro {
    margin-bottom: 24px;

    padding: 18px 22px;

    background: #ebf8ff;

    border:
        1px solid #90cdf4;

    border-left:
        4px solid var(--accent);

    border-radius: var(--radius);

    color: var(--text);

    line-height: 1.7;
}


.intro p {
    margin-bottom: 0.8em;
}


.intro ul {
    margin: 8px 0 0;

    padding-left: 1.3em;
}


/* ============================================================
   BANNER
   ============================================================ */

.banner-img {
    display: inline-block;

    margin-bottom: 14px;

    border-radius: var(--radius);

    overflow: hidden;

    transition: var(--transition);
}


.banner-img:hover {
    opacity: 0.92;

    transform:
        translateY(-2px);

    box-shadow: var(--shadow-md);
}


/* ============================================================
   INDEXERS
   ============================================================ */

.indexers {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 12px;

    margin: 18px 0;
}


.indexers a {
    display: inline-block;

    padding: 8px 12px;

    background: var(--bg-white);

    border:
        1px solid var(--border);

    border-radius: 6px;

    transition: var(--transition);
}


.indexers a:hover {
    border-color: var(--accent);

    box-shadow: var(--shadow);

    opacity: 1;
}


.indexers a img {
    width: auto;

    height: 40px;
}


/* ============================================================
   ISSUE COVER
   ============================================================ */

.issueCoverImage {
    margin: 0;

    padding: 0;

    border: none;
}


.issueCoverImage img {
    width: 140px;

    margin:
        1em
        1.5em
        1em
        0;

    border: none;

    border-radius: 6px;

    box-shadow: var(--shadow-md);

    transition: var(--transition);
}


.issueCoverImage img:hover {
    transform:
        scale(1.03);

    box-shadow: var(--shadow-lg);
}


.cover-image-intro {
    width: 140px;

    margin:
        0
        0
        0
        1em;

    border: none;

    border-radius: 6px;

    box-shadow: var(--shadow-md);
}


/* ============================================================
   HOMEPAGE
   ============================================================ */

#journalDescription {
    float: left;

    width: 60%;

    padding-right: 30px;

    line-height: 1.8;
}


#journalDescription p {
    text-align: justify;

    line-height: 1.8;

    margin-bottom: 1.1em;
}


#homepageImage {
    float: right;

    width: 38%;

    margin-bottom: 20px;
}


#homepageImage img {
    width: 100%;

    height: auto;

    margin-top: 0;

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-md);
}


#setupForm #homepageImage,
#setupForm #journalDescription {
    width: 100%;

    float: none;
}


#setupForm #homepageImage img {
    margin-left: 0;

    margin-top: 0;
}


#additionalHomeContent,
#announcementsHome {
    clear: both;
}


#announcements {
    width: auto;
}


/* ============================================================
   ANNOUNCEMENTS
   ============================================================ */

#announcementsHome .section {
    margin-top: 30px;
}


#announcementsHome .section h3 {
    color: var(--primary);

    font-family:
        'Merriweather',
        Georgia,
        serif;
}


/* ============================================================
   COLOR BOXES
   ============================================================ */

.color-box {
    display: block;

    float: left;

    width: 60px;

    height: 40px;

    margin-right: 8px;

    border-radius: 4px;
}


.color1 {
    background-color: var(--primary);
}


.color1-light {
    background-color: #ebf8ff;
}


.color2 {
    background-color: var(--accent);
}


.color2-light {
    background-color: #bee3f8;
}


.color-grey-light {
    background-color: #edf2f7;
}


/* ============================================================
   CLEARFIX
   ============================================================ */

#headerTitle::after,
#body::after,
#main::after {
    content: "";

    display: table;

    clear: both;
}


/* ============================================================
   RESPONSIVE - TABLET
   ============================================================ */

@media (max-width: 960px) {

    #headerTitle {
        padding: 24px;
    }


    #headerTitle img,
    #headerTitle a img {
        max-height: 110px;
    }


    #header h1 {
        font-size: 1.55rem;
    }


    #main {
        width: 100%;

        float: none;

        padding:
            0 24px;
    }


    #rightSidebar {
        width: 100%;

        float: none;

        display: flex;

        flex-wrap: wrap;

        gap: 16px;

        padding: 22px;

        border-left: none;

        border-top:
            1px solid var(--border);
    }


    #rightSidebar div.block {
        flex:
            1 1 280px;

        margin-bottom: 0;
    }


    #journalDescription,
    #homepageImage {
        width: 100%;

        float: none;

        padding-right: 0;
    }


    #homepageImage {
        margin-bottom: 24px;

        text-align: center;
    }


    #homepageImage img {
        max-width: 100%;
    }
}


/* ============================================================
   RESPONSIVE - MOBILE
   ============================================================ */

@media (max-width: 640px) {

    body {
        font-size: 15px;

        line-height: 1.65;
    }


    #container {
        box-shadow: none;
    }


    #headerTitle {
        flex-direction: column;

        justify-content: center;

        text-align: center;

        gap: 14px;

        padding:
            22px 16px 24px;
    }


    /*
       Logo mobile tetap besar,
       tetapi tidak memenuhi layar.
    */

    #headerTitle img,
    #headerTitle a img {
        max-width: 190px;

        max-height: 100px;
    }


    #header h1 {
        font-size: 1.25rem;

        line-height: 1.4;
    }


    #navbar ul {
        flex-direction: column;

        width: 100%;

        padding: 0;
    }


    #navbar ul li {
        width: 100%;
    }


    #navbar a {
        width: 100%;

        padding: 13px 16px;

        text-align: center;

        border-bottom:
            1px solid
            rgba(255,255,255,0.08);
    }


    #body {
        padding:
            20px 0 35px;
    }


    #main {
        padding:
            0 16px;
    }


    #content {
        font-size: 15px;

        line-height: 1.7;
    }


    #content p,
    #main p {
        line-height: 1.75;

        text-align: justify;
    }


    #content h1 {
        font-size: 1.5rem;
    }


    #content h2 {
        font-size: 1.3rem;
    }


    #content h3 {
        font-size: 1.15rem;
    }


    #content ul.menu {
        flex-direction: column;

        gap: 6px;
    }


    #content ul.menu li {
        width: 100%;

        text-align: center;
    }


    table.tocArticle {
        display: block;

        overflow-x: auto;
    }


    table.tocArticle td {
        display: block;

        width: 100%;

        padding:
            9px 12px;
    }


    td.tocGalleys {
        text-align: left;

        white-space: normal;
    }


    .tocGaleyPdf {
        float: none;

        margin-top: 6px;
    }


    .issueCoverImage img {
        width: 110px;

        display: block;

        margin:
            0.5em
            auto
            1em;
    }


    .cover-image-intro {
        width: 110px;

        margin:
            0
            auto
            1em;
    }


    #rightSidebar {
        display: block;

        padding: 16px;
    }


    #rightSidebar div.block {
        margin-bottom: 16px;
    }


    #content table {
        display: block;

        overflow-x: auto;

        white-space: nowrap;
    }


    #content table td,
    #content table th {
        padding:
            9px 11px;
    }
}


/* ============================================================
   EXTRA SMALL DEVICES
   ============================================================ */

@media (max-width: 420px) {

    #headerTitle img,
    #headerTitle a img {
        max-width: 160px;

        max-height: 90px;
    }


    #header h1 {
        font-size: 1.1rem;
    }


    #main {
        padding:
            0 13px;
    }


    #content p,
    #main p {
        text-align: justify;

        line-height: 1.7;
    }


    .indexers {
        justify-content: center;
    }


    .indexers a img {
        height: 34px;
    }
}


/* ============================================================
   PRINT
   ============================================================ */

@media print {

    #navbar,
    #rightSidebar,
    #leftSidebar {
        display: none !important;
    }


    #main {
        width: 100% !important;

        float: none;

        padding: 0;
    }


    body {
        background: #ffffff;

        font-size: 12pt;

        color: #000000;
    }


    #header {
        background: #ffffff;

        color: #000000;
    }


    #header h1 {
        color: #000000;

        text-shadow: none;
    }


    #content p,
    #main p {
        text-align: justify;
    }


    a {
        color: #000000;

        text-decoration: underline;
    }
}


/* ============================================================
   FINAL OVERRIDES - LOGO & JUSTIFY
   ============================================================ */

/* Logo jurnal dibuat lebih besar dan tidak dibatasi max-height
   oleh aturan OJS/theme sebelumnya. */
#headerTitle img,
#headerTitle a img,
#headerTitle .logo {
    width: auto !important;
    height: 160px !important;
    max-width: 300px !important;
    max-height: 160px !important;
    min-width: 0 !important;
    object-fit: contain !important;
}

/* Desktop: logo lebih besar */
@media (min-width: 961px) {
    #headerTitle img,
    #headerTitle a img,
    #headerTitle .logo {
        height: 180px !important;
        max-width: 340px !important;
        max-height: 180px !important;
    }
}

/* Tablet */
@media (max-width: 960px) {
    #headerTitle img,
    #headerTitle a img,
    #headerTitle .logo {
        height: 140px !important;
        max-width: 280px !important;
        max-height: 140px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    #headerTitle img,
    #headerTitle a img,
    #headerTitle .logo {
        height: 120px !important;
        max-width: 240px !important;
        max-height: 120px !important;
    }
}

/* Tulisan/isi jurnal dibuat rata kiri-kanan (justify). */
#content,
#content p,
#content div,
#content article,
#main,
#main p,
#main .article-summary,
#journalDescription,
#journalDescription p,
.articleFullText,
.articleFullText p,
.articleAbstract,
.articleAbstract p {
    text-align: justify !important;
    text-justify: inter-word;
}

/* Jangan justify elemen navigasi/menu/form dan metadata tertentu. */
#navbar,
#navbar *,
#rightSidebar,
#rightSidebar *,
#leftSidebar,
#leftSidebar *,
#content ul,
#content ol,
#content table,
#content th,
#content td,
#content ul.menu,
#content ul.menu *,
.tocAuthors,
.tocDOI,
.articleDOI,
td.tocGalleys {
    text-align: left;
}

/* Judul tetap rata kiri agar tampilan jurnal lebih rapi. */
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
.articleTitle,
#header h1 {
    text-align: left !important;
}
/* ============================================================
   OJS HEADER LOGO - FORCE SIZE
   ============================================================ */

#headerTitle img[src*="pageHeaderTitleImage"] {
    width: auto !important;
    height: 180px !important;
    max-width: 400px !important;
    max-height: 180px !important;
    min-width: 0 !important;
    object-fit: contain !important;
    display: block !important;
}

/* Jika gambar berada di dalam link */
#headerTitle a img[src*="pageHeaderTitleImage"] {
    width: auto !important;
    height: 180px !important;
    max-width: 400px !important;
    max-height: 180px !important;
}

/* Container logo jangan membatasi ukuran gambar */
#headerTitle,
#headerTitle a {
    overflow: visible !important;
}

/* Desktop */
@media (min-width: 961px) {
    #headerTitle img[src*="pageHeaderTitleImage"] {
        height: 200px !important;
        max-width: 450px !important;
        max-height: 200px !important;
    }
}

/* Tablet */
@media (max-width: 960px) {
    #headerTitle img[src*="pageHeaderTitleImage"] {
        height: 150px !important;
        max-width: 320px !important;
        max-height: 150px !important;
    }
}

/* Mobile */
@media (max-width: 640px) {
    #headerTitle img[src*="pageHeaderTitleImage"] {
        height: 120px !important;
        max-width: 260px !important;
        max-height: 120px !important;
    }
}