/*
=====================================================================
JQLSE REFINED PROFESSIONAL THEME
Journal of Qur’anic Legal Studies and Exegesis
OJS 3.3
---------------------------------------------------------------------
Prinsip:
- Tidak mengubah palet warna utama
- Tidak mengubah struktur dan posisi kolom
- Tidak memindahkan elemen OJS
- Hanya memperbaiki tipografi, jarak, konsistensi, dan keterbacaan
=====================================================================
*/

/* ==================================================================
   1. COLOR SYSTEM — MEMPERTAHANKAN WARNA ASLI
   ================================================================== */

:root {
    --jqlse-black: #1e1e1e;
    --jqlse-charcoal: #2a2a2a;
    --jqlse-dark-gray: #2f3437;
    --jqlse-gray: #444444;
    --jqlse-gold: #d6b56d;
    --jqlse-gold-dark: #b08d57;
    --jqlse-gold-footer: #c59a3d;
    --jqlse-navy: #0b2a4a;
    --jqlse-navy-light: #1f3f5f;
    --jqlse-white: #ffffff;
    --jqlse-text: #263238;
    --jqlse-muted: #667277;
    --jqlse-line: #dddddd;
    --jqlse-soft: #f7f7f7;

    --jqlse-radius: 10px;
    --jqlse-radius-sm: 6px;
    --jqlse-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.10);
    --jqlse-shadow-md: 0 8px 22px rgba(0, 0, 0, 0.16);
    --jqlse-transition: 0.22s ease;
}

/* ==================================================================
   2. GLOBAL
   ================================================================== */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #f4f4f4;
    color: var(--jqlse-text);
    font-family: Georgia, Garamond, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

a {
    color: var(--jqlse-gold-dark);
    text-decoration: none;
    transition:
        color var(--jqlse-transition),
        background-color var(--jqlse-transition),
        border-color var(--jqlse-transition),
        box-shadow var(--jqlse-transition);
}

a:hover,
a:focus {
    color: var(--jqlse-gold);
    text-decoration: none;
}

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

button,
input,
select,
textarea {
    font: inherit;
}

::selection {
    background: var(--jqlse-gold);
    color: var(--jqlse-black);
}

/* ==================================================================
   3. PAGE FRAME
   ================================================================== */

.pkp_structure_page {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    background: var(--jqlse-white);
    box-shadow: 0 0 28px rgba(0, 0, 0, 0.10);
}

.pkp_structure_content,
.pkp_structure_main {
    background: var(--jqlse-white);
}

/* ==================================================================
   4. HEADER — TETAP DENGAN GAMBAR DAN LAYOUT ASLI
   ================================================================== */

.pkp_structure_head {
    border: 0 !important;
    background: var(--jqlse-white) !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--jqlse-white) !important;
}

.pkp_site_name,
.pkp_site_name .is_img,
.pkp_site_name a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.pkp_site_name .is_img img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
}

/* ==================================================================
   5. NAVIGATION — WARNA ASLI HITAM/ABU/EMAS
   ================================================================== */

.pkp_site_nav_menu {
    border: 0 !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-black),
        var(--jqlse-dark-gray),
        var(--jqlse-gold-dark)
    ) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18) !important;
}

.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user_wrapper {
    background: transparent !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a,
.pkp_search {
    color: var(--jqlse-white) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12px !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li:hover > a,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus,
.pkp_search:hover,
.pkp_search:focus {
    background: rgba(214, 181, 109, 0.16) !important;
    color: var(--jqlse-white) !important;
}

/* Dropdown */
.pkp_navigation_primary > li > ul,
.pkp_navigation_user > li > ul {
    overflow: hidden !important;
    border: 1px solid var(--jqlse-gray) !important;
    border-top: 3px solid var(--jqlse-gold) !important;
    border-radius: 0 0 8px 8px !important;
    background: var(--jqlse-charcoal) !important;
    box-shadow: var(--jqlse-shadow-md) !important;
}

.pkp_navigation_primary > li > ul a,
.pkp_navigation_user > li > ul a {
    padding: 10px 14px !important;
    border-bottom: 1px solid var(--jqlse-gray) !important;
    background: var(--jqlse-charcoal) !important;
    color: var(--jqlse-white) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.pkp_navigation_primary > li > ul li:last-child a,
.pkp_navigation_user > li > ul li:last-child a {
    border-bottom: 0 !important;
}

.pkp_navigation_primary > li > ul a:hover,
.pkp_navigation_primary > li > ul a:focus,
.pkp_navigation_user > li > ul a:hover,
.pkp_navigation_user > li > ul a:focus {
    padding-left: 18px !important;
    background: var(--jqlse-black) !important;
    color: var(--jqlse-gold) !important;
}

.task_count {
    background: var(--jqlse-gold) !important;
    color: var(--jqlse-black) !important;
    font-weight: 800 !important;
}

/* ==================================================================
   6. ADDITIONAL CONTENT — TATA LETAK TETAP
   ================================================================== */

.page_index_journal .additional_content {
    margin-bottom: 28px !important;
    color: var(--jqlse-text) !important;
    font-family: Georgia, Garamond, "Times New Roman", serif !important;
}

/* Cover dan tabel tetap berdampingan */
.page_index_journal .additional_content > div:first-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.page_index_journal .additional_content > div:first-child > div:first-child {
    flex: 0 0 260px !important;
    width: 260px !important;
    max-width: 260px !important;
    margin: 0 !important;
}

.page_index_journal .additional_content > div:first-child > div:first-child img {
    display: block !important;
    width: 260px !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: var(--jqlse-radius-sm) !important;
    object-fit: contain !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.page_index_journal .additional_content > div:first-child > div:nth-child(2) {
    flex: 1 1 360px !important;
    min-width: 280px !important;
    max-height: none !important;
    overflow: visible !important;
}

.page_index_journal .additional_content h3 {
    margin: 0 0 9px !important;
    color: var(--jqlse-black) !important;
    font-size: 23px !important;
    line-height: 1.35 !important;
}

/* Tabel detail jurnal */
.page_index_journal .additional_content table {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--jqlse-line) !important;
    border-collapse: collapse !important;
    background: var(--jqlse-white) !important;
    box-shadow: none !important;
    font-size: 12px !important;
}

.page_index_journal .additional_content table td {
    padding: 6px 8px !important;
    border: 1px solid var(--jqlse-line) !important;
    vertical-align: top !important;
    line-height: 1.48 !important;
}

/* Baris gelap tetap dengan warna asli */
.page_index_journal .additional_content table tr[style*="#2f3437"],
.page_index_journal .additional_content table tr[style*="#2f3437"] td {
    background: var(--jqlse-dark-gray) !important;
    color: var(--jqlse-white) !important;
}

.page_index_journal .additional_content table tr[style*="#2f3437"] a {
    color: var(--jqlse-gold) !important;
}

.page_index_journal .additional_content table tr:not([style*="#2f3437"]) td {
    background: var(--jqlse-white) !important;
    color: var(--jqlse-text) !important;
}

/* ==================================================================
   7. ABOUT THE JOURNAL — WARNA ASLI TETAP
   ================================================================== */

.page_index_journal .additional_content > div:last-child {
    margin-top: 20px !important;
    padding: 18px !important;
    border: 1px solid var(--jqlse-gray) !important;
    border-radius: var(--jqlse-radius) !important;
    background: var(--jqlse-dark-gray) !important;
    color: var(--jqlse-white) !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

/* Reset wrapper hasil salinan ChatGPT agar tidak merusak tampilan */
.page_index_journal .additional_content > div:last-child section,
.page_index_journal .additional_content > div:last-child section > div,
.page_index_journal .additional_content > div:last-child section div {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
}

.page_index_journal .additional_content > div:last-child p {
    margin: 0 0 14px !important;
    color: var(--jqlse-white) !important;
    font-size: 14.5px !important;
    line-height: 1.78 !important;
    text-align: justify !important;
}

.page_index_journal .additional_content > div:last-child p:last-child {
    margin-bottom: 0 !important;
}

.page_index_journal .additional_content > div:last-child strong,
.page_index_journal .additional_content > div:last-child em {
    color: var(--jqlse-white) !important;
}

.page_index_journal .additional_content > div:last-child a {
    color: var(--jqlse-gold) !important;
    font-weight: 700 !important;
}

/* ==================================================================
   8. CURRENT ISSUE
   ================================================================== */

.page_index_journal .current_issue {
    margin-top: 30px !important;
}

.page_index_journal .current_issue > h2 {
    position: relative !important;
    margin: 0 0 12px !important;
    padding: 0 0 9px !important;
    border-bottom: 2px solid var(--jqlse-line) !important;
    color: var(--jqlse-black) !important;
    font-size: 25px !important;
    line-height: 1.3 !important;
}

.page_index_journal .current_issue > h2::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    width: 78px !important;
    height: 3px !important;
    background: var(--jqlse-gold) !important;
}

.current_issue_title {
    margin: 0 0 18px !important;
    color: var(--jqlse-dark-gray) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.obj_issue_toc .heading {
    margin-bottom: 22px !important;
    padding: 17px !important;
    border: 1px solid var(--jqlse-line) !important;
    border-radius: var(--jqlse-radius) !important;
    background: var(--jqlse-soft) !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.obj_issue_toc .heading .cover img {
    border: 1px solid var(--jqlse-line) !important;
    border-radius: 7px !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.obj_issue_toc .heading .description,
.obj_issue_toc .heading .description p {
    color: var(--jqlse-text) !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

.obj_issue_toc .published {
    color: var(--jqlse-muted) !important;
    font-size: 13px !important;
}

.obj_issue_toc .published .label {
    color: var(--jqlse-black) !important;
    font-weight: 700 !important;
}

/* ==================================================================
   9. ARTICLE LIST
   ================================================================== */

.obj_issue_toc .section > h3 {
    margin: 0 0 15px !important;
    padding: 10px 14px !important;
    border-left: 4px solid var(--jqlse-gold) !important;
    border-radius: 5px !important;
    background: var(--jqlse-dark-gray) !important;
    color: var(--jqlse-white) !important;
    font-size: 19px !important;
}

.cmp_article_list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cmp_article_list > li {
    margin: 0 0 15px !important;
    padding: 0 !important;
}

.obj_article_summary {
    padding: 17px 18px !important;
    border: 1px solid var(--jqlse-line) !important;
    border-left: 4px solid var(--jqlse-dark-gray) !important;
    border-radius: 8px !important;
    background: var(--jqlse-white) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.obj_article_summary:hover {
    border-left-color: var(--jqlse-gold) !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.obj_article_summary .title {
    margin: 0 0 8px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
}

.obj_article_summary .title a {
    color: var(--jqlse-black) !important;
}

.obj_article_summary .title a:hover {
    color: var(--jqlse-gold-dark) !important;
}

.obj_article_summary .article-meta-box,
.obj_article_summary .meta {
    margin: 0 0 9px !important;
    padding: 10px 12px !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 6px !important;
    background: var(--jqlse-soft) !important;
}

.obj_article_summary .authors,
.obj_article_summary .consent {
    color: var(--jqlse-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.obj_article_summary .authors b,
.obj_article_summary .consent b {
    color: var(--jqlse-text) !important;
}

.obj_article_summary .pages {
    color: var(--jqlse-dark-gray) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.obj_article_summary .galleys_links {
    margin-top: 8px !important;
}

.obj_article_summary .galleys_links li {
    color: var(--jqlse-muted) !important;
    font-size: 12.8px !important;
    line-height: 1.7 !important;
}

/* Sembunyikan ikon statistik HTTP yang berpotensi diblokir */
.obj_article_summary .galleys_links img[src^="http://aulad.org"] {
    display: none !important;
}

.obj_galley_link {
    display: inline-block !important;
    margin-right: 7px !important;
    padding: 6px 12px !important;
    border: 1px solid var(--jqlse-dark-gray) !important;
    border-radius: 5px !important;
    background: var(--jqlse-white) !important;
    color: var(--jqlse-dark-gray) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.obj_galley_link:hover,
.obj_galley_link:focus {
    background: var(--jqlse-dark-gray) !important;
    color: var(--jqlse-white) !important;
}

.read_more {
    display: inline-block !important;
    padding: 8px 14px !important;
    border-radius: 5px !important;
    background: var(--jqlse-dark-gray) !important;
    color: var(--jqlse-white) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.read_more:hover {
    background: var(--jqlse-gold-dark) !important;
    color: var(--jqlse-white) !important;
}

/* ==================================================================
   10. SIDEBAR — WARNA DAN LAYOUT TETAP
   ================================================================== */

.pkp_structure_sidebar {
    color: var(--jqlse-white) !important;
}

.pkp_structure_sidebar .pkp_block {
    margin-bottom: 18px !important;
}

/* Make Submission */
.block_make_submission {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.block_make_submission .content {
    padding: 0 !important;
}

.block_make_submission_link {
    display: block !important;
    padding: 11px 14px !important;
    border: 1px solid var(--jqlse-gold) !important;
    border-radius: 8px !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-black),
        var(--jqlse-dark-gray),
        var(--jqlse-gold-dark)
    ) !important;
    color: var(--jqlse-white) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: var(--jqlse-shadow-sm) !important;
}

.block_make_submission_link:hover {
    background: var(--jqlse-black) !important;
    color: var(--jqlse-gold) !important;
}

/* Journal Menu */
#customblock-menu,
#customblock-menu > .content {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#customblock-menu > .content {
    padding: 0 !important;
}

#customblock-menu > .content > div {
    overflow: hidden !important;
    border: 1px solid var(--jqlse-gray) !important;
    border-radius: 16px !important;
    background: var(--jqlse-charcoal) !important;
    box-shadow: var(--jqlse-shadow-md) !important;
}

#customblock-menu > .content > div > div:first-child {
    padding: 12px 11px !important;
    border-bottom: 3px solid var(--jqlse-gold) !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-black),
        var(--jqlse-dark-gray),
        var(--jqlse-gold-dark)
    ) !important;
    color: var(--jqlse-white) !important;
    text-align: center !important;
}

#customblock-menu > .content > div > div:first-child * {
    color: var(--jqlse-white) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
}

#customblock-menu > .content > div > div:not(:first-child) {
    padding: 0 !important;
    border-bottom: 1px solid var(--jqlse-gray) !important;
}

#customblock-menu > .content > div > div:last-child {
    border-bottom: 0 !important;
}

#customblock-menu > .content > div > div:nth-child(even) {
    background: var(--jqlse-black) !important;
}

#customblock-menu > .content > div > div:nth-child(odd):not(:first-child) {
    background: var(--jqlse-charcoal) !important;
}

#customblock-menu > .content > div > div:not(:first-child) > a {
    display: block !important;
    padding: 9px 11px !important;
    background: transparent !important;
    color: var(--jqlse-white) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

#customblock-menu > .content > div > div:not(:first-child) > a:hover {
    padding-left: 15px !important;
    background: rgba(214, 181, 109, 0.08) !important;
    color: var(--jqlse-gold) !important;
}

#customblock-menu > .content > div > div:not(:first-child) span {
    color: inherit !important;
}

/* Custom dark cards */
#customblock-citation-analysis,
#customblock-template,
#customblock-indexing,
#customblock-tools,
#customblock-visitor {
    overflow: hidden !important;
    border: 1px solid var(--jqlse-gray) !important;
    border-radius: var(--jqlse-radius) !important;
    background: var(--jqlse-charcoal) !important;
    box-shadow: var(--jqlse-shadow-md) !important;
}

#customblock-citation-analysis > .content,
#customblock-template > .content,
#customblock-indexing > .content,
#customblock-tools > .content,
#customblock-visitor > .content {
    padding: 0 !important;
}

/* Header tiap kartu */
#customblock-citation-analysis .content > div > div:first-child,
#customblock-template .content > div > div:first-child,
#customblock-indexing .content > div > div:first-child,
#customblock-tools .content > div > div:first-child,
#customblock-visitor .content > div > div:first-child {
    padding: 10px 14px !important;
    border: 0 !important;
    border-bottom: 3px solid var(--jqlse-gold) !important;
    border-radius: 0 !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-black),
        var(--jqlse-dark-gray),
        var(--jqlse-gold-dark)
    ) !important;
    color: var(--jqlse-white) !important;
}

#customblock-citation-analysis .content > div > div:first-child *,
#customblock-template .content > div > div:first-child *,
#customblock-indexing .content > div > div:first-child *,
#customblock-tools .content > div > div:first-child *,
#customblock-visitor .content > div > div:first-child * {
    color: var(--jqlse-white) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Body tiap kartu */
#customblock-citation-analysis .content > div > div:last-child,
#customblock-template .content > div > div:last-child,
#customblock-indexing .content > div > div:last-child,
#customblock-tools .content > div > div:last-child,
#customblock-visitor .content > div > div:last-child {
    padding: 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--jqlse-charcoal) !important;
    color: #e0e0e0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

#customblock-citation-analysis .content > div > div:last-child p,
#customblock-template .content > div > div:last-child p,
#customblock-indexing .content > div > div:last-child p,
#customblock-tools .content > div > div:last-child p,
#customblock-visitor .content > div > div:last-child p {
    color: #cccccc !important;
}

#customblock-citation-analysis img,
#customblock-template img,
#customblock-indexing img,
#customblock-tools img,
#customblock-visitor img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* ==================================================================
   11. FOOTER — WARNA NAVY/EMAS TETAP
   ================================================================== */

.pkp_structure_footer_wrapper {
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pkp_structure_footer {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 1160px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-navy),
        var(--jqlse-navy-light)
    ) !important;
}

.pkp_footer_content > div {
    padding: 24px 18px !important;
    border-top: 4px solid var(--jqlse-gold-footer) !important;
    background: linear-gradient(
        135deg,
        var(--jqlse-navy),
        var(--jqlse-navy-light)
    ) !important;
    color: var(--jqlse-white) !important;
    box-shadow: 0 -6px 18px rgba(11, 42, 74, 0.18) !important;
}

.pkp_footer_content > div,
.pkp_footer_content > div *,
.pkp_footer_content a {
    color: var(--jqlse-white) !important;
}

.pkp_footer_content a:hover {
    color: var(--jqlse-gold-footer) !important;
}

.pkp_brand_footer {
    padding: 12px 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: var(--jqlse-navy) !important;
    text-align: center !important;
}

.pkp_brand_footer img {
    max-width: 130px !important;
    opacity: 0.88 !important;
    filter: grayscale(1) brightness(2) !important;
}

/* ==================================================================
   12. RESPONSIVE — TATA LETAK TETAP
   ================================================================== */

@media (max-width: 768px) {
    .pkp_structure_page {
        max-width: 100% !important;
        box-shadow: none !important;
    }

    .page_index_journal .additional_content > div:first-child {
        display: block !important;
    }

    .page_index_journal .additional_content > div:first-child > div:first-child {
        width: 220px !important;
        max-width: 220px !important;
        margin: 0 auto 16px !important;
    }

    .page_index_journal .additional_content > div:first-child > div:first-child img {
        width: 220px !important;
        max-width: 220px !important;
    }

    .page_index_journal .additional_content h3 {
        text-align: center !important;
        font-size: 21px !important;
    }

    .page_index_journal .current_issue > h2 {
        font-size: 22px !important;
    }

    .current_issue_title {
        font-size: 16px !important;
    }

    .obj_article_summary {
        padding: 14px !important;
    }

    .obj_article_summary .title {
        font-size: 16.5px !important;
    }
}

@media (max-width: 480px) {
    .page_index_journal .additional_content table {
        font-size: 10.8px !important;
    }

    .page_index_journal .additional_content table td {
        padding: 5px !important;
    }

    .obj_issue_toc .section > h3 {
        font-size: 17px !important;
    }
}

/* ==================================================================
   END
   ================================================================== */
