/* =============================================================
   TJELLS-inspired Custom Theme for OJS 3.5.0.4
   Color palette:
     Primary gradient : #003087 → #0070c0  (deep navy to royal blue)
     Accent           : #c8a96e            (warm gold/parchment)
     Secondary        : #00497a            (teal-navy)
     Body text        : #1a2332
     Muted            : #5a6a7e
     Light bg         : #f4f6f9
     Border           : #dde2ea
     Card bg          : #ffffff
     Article bg       : #f9f5f0
   ============================================================= */

/* ---------- CSS Custom Properties ---------- */
:root {
  --tj-primary-start:   #00bfff;
  --tj-primary-end:     #00008b;
  --tj-primary:         linear-gradient(135deg, var(--tj-primary-start) 0%, var(--tj-primary-end) 100%);
  --tj-primary-solid:   #00bfff;
  --tj-primary-mid:     #004aaa;
  --tj-secondary:       #00497a;
  --tj-accent:          #00bfff;
  --tj-accent-light:    #00bfff;
  --tj-body-color:      #1a2332;
  --tj-muted-color:     #5a6a7e;
  --tj-border-color:    #dde2ea;
  --tj-light-bg:        #f4f6f9;
  --tj-card-bg:         #ffffff;
  --tj-article-bg:      #f9f5f0;
  --tj-nav-hover:       rgba(255,255,255,0.15);
  --tj-shadow-sm:       0 2px 8px rgba(0,48,135,0.10);
  --tj-shadow-md:       0 6px 24px rgba(0,48,135,0.14);
  --tj-radius:          0.5rem;
}

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

body {
  color: var(--tj-body-color);
  background: #fff;
  /* font-family: "Georgia","Times New Roman",serif; */
}
body,
body * {
    font-family: "Georgia", serif !important;
}

.pkp_structure_head,.pkp_head_wrapper,.pkp_site_name_wrapper,
.pkp_navigation_primary_row,.pkp_navigation_primary_wrapper,
.pkp_structure_content,.pkp_structure_main { max-width: none; }
.pkp_structure_content { padding: 10.5px; }
.pkp_structure_main::before,.pkp_structure_main::after,
.pkp_structure_content::before,.pkp_structure_content::after {
  content: none !important; display: none !important;
  width: 0 !important; background: transparent !important;
}
.tj-page,.pkp_structure_page { background: #fff; max-width: none; }

/* ================================================================ HEADER */
.tj-header { background: #fff; border-top: 4px solid #00bfff; box-shadow: var(--tj-shadow-sm); }
.tj-header-top { background: var(--tj-primary); color: #fff; min-height: 60px; padding: 0.5rem 0; }

.tj-site-name { line-height: 1.2; }
.tj-site-name .tj-brand { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: .75rem; }
.tj-site-name .tj-brand:hover,.tj-site-name .tj-brand:focus { color: var(--tj-accent); text-decoration: none; }
.tj-site-name img { max-height: 4.5rem; width: auto; max-width: 100%; object-fit: contain; }
.tj-site-name .tj-brand-text { font-family: "Georgia",serif; font-size: 1.45rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }

.tj-mobile-toggle { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: .375rem; padding: .375rem .6rem; cursor: pointer; }
.tj-mobile-toggle:hover { background: rgba(255,255,255,.12); }

.tj-header-search { width: 2.5rem; height: 2.5rem; color: #fff; font-size: 1.15rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; text-decoration: none; transition: background .2s; }
.tj-header-search:hover,.tj-header-search:focus { color: #fff; background: var(--tj-nav-hover); }

.tj-user-menu { list-style: none; margin: 0; padding: 0; }
.tj-user-menu > li > a,.tj-user-menu > li > .nav-link { display: inline-flex; align-items: center; color: #fff; text-decoration: none; font-size: .9rem; font-weight: 600; padding: .45rem .8rem; border-radius: .375rem; transition: background .2s; }
.tj-user-menu > li > a:hover,.tj-user-menu > li > a:focus,.tj-user-menu > li > .nav-link:hover,.tj-user-menu > li > .nav-link:focus { color: #fff; background: var(--tj-nav-hover); }
.tj-user-menu > li:last-child > a,.tj-user-menu > li:last-child > .nav-link {
  color: var(--tj-primary-solid);
  background: #ffffff;
  padding-left: 1rem;
  padding-right: 1rem;
  font-weight: 700;
 }
.tj-user-menu > li:last-child > a:hover,.tj-user-menu > li:last-child > a:focus,.tj-user-menu > li:last-child > .nav-link:hover,.tj-user-menu > li:last-child > .nav-link:focus { color: var(--tj-primary-solid); background: #eee; }
.tj-user-menu .dropdown-menu,.tj-user-menu ul { z-index: 1050; }

.tj-navbar { background: #fff; border-bottom: 2px solid var(--tj-border-color); }
.tj-primary-menu-wrap { position: relative; overflow: visible; }
.tj-primary-menu { list-style: none; margin: 0; padding: 0; overflow: visible; }
.tj-primary-menu > li { position: relative; }
.tj-primary-menu > li > a,.tj-primary-menu > li > .nav-link { display: block; color: #3a4a5e; text-decoration: none; font-size: .95rem; font-weight: 600; font-family: "Georgia",serif; padding: 1.1rem .9rem; border-bottom: 3px solid transparent; white-space: nowrap; transition: color .18s,border-color .18s; }
.tj-primary-menu > li > a:hover,.tj-primary-menu > li > a:focus,.tj-primary-menu > li > .nav-link:hover,.tj-primary-menu > li > .nav-link:focus { color: var(--tj-primary-solid); border-bottom-color: var(--tj-accent); }
.tj-primary-menu > li.current > a,.tj-primary-menu > li.active > a { color: var(--tj-primary-solid); border-bottom-color: var(--tj-accent); }
.tj-primary-menu .dropdown-menu,.tj-primary-menu > li > ul { display: none; position: absolute; top: 100%; left: 0; z-index: 1050; min-width: 14rem; margin: 0; padding: .5rem 0; list-style: none; background: #fff; border: 1px solid var(--tj-border-color); border-top: 3px solid var(--tj-primary-solid); border-radius: 0 0 var(--tj-radius) var(--tj-radius); box-shadow: var(--tj-shadow-md); }
.tj-primary-menu > li:hover > ul,.tj-primary-menu > li:hover > .dropdown-menu,.tj-primary-menu > li:focus-within > ul,.tj-primary-menu > li:focus-within > .dropdown-menu { display: block; }
.tj-primary-menu .dropdown-item,.tj-primary-menu > li > ul a { display: block; width: 100%; color: #3a4a5e; background: #fff; text-decoration: none; font-size: .9rem; font-weight: 500; padding: .65rem 1.1rem; white-space: normal; border: 0; transition: color .15s,background .15s; }
.tj-primary-menu .dropdown-item:hover,.tj-primary-menu .dropdown-item:focus,.tj-primary-menu > li > ul a:hover,.tj-primary-menu > li > ul a:focus { color: #ffffff; background: var(--tj-accent-light); }

.tj-search-button { background: var(--tj-primary); color: #fff; border: 0; font-weight: 700; font-size: .9rem; padding: .55rem 1.1rem; border-radius: var(--tj-radius); display: inline-flex; align-items: center; gap: .45rem; text-decoration: none; transition: opacity .2s; }
.tj-search-button:hover,.tj-search-button:focus { opacity: .88; color: #fff; }

@media (max-width: 991.98px) {
  .tj-header-top { min-height: auto; padding: .85rem 0; }
  .tj-site-name img { max-height: 3.5rem; }
  .tj-site-name .tj-brand-text { font-size: 1.15rem; }
  .tj-primary-menu-wrap { overflow-x: auto; overflow-y: visible; }
  .tj-primary-menu { width: max-content; }
  .tj-primary-menu > li > a,.tj-primary-menu > li > .nav-link { padding: .85rem .75rem; }
}

/* ================================================================ FOOTER */
/* .pkp_structure_footer_wrapper { background: var(--tj-primary); border-top: 4px solid var(--tj-accent); }
.pkp_structure_footer { max-width: none; padding: 2.5rem 1.5rem; }
.pkp_footer_content { max-width: 1280px; margin: 0 auto; color: rgba(255,255,255,.8); font-size: .9rem; }
.pkp_footer_content a { color: #ffffff; text-decoration: none; }
.pkp_footer_content a:hover,.pkp_footer_content a:focus { color: #ffffff; text-decoration: underline; } */

/* ================================================================ HOMEPAGE */
.tj-homepage .tj-section { padding: 2.3rem 0; }
/* .tj-homepage .tj-light-bg { background: var(--tj-light-bg); } */

.tj-homepage .tj-hero { 
  color: #fff;
  background: linear-gradient(135deg, rgba(0,191,255,0.7) 0%, rgba(0,0,139,0.7) 100%),
              url("https://jsti-ltu.org/public/journals/1/hero-img.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 3rem 0;
  position: relative;
}
.tj-homepage .tj-hero::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: #00bfff;
}
.tj-homepage .tj-hero h1 { font-family: "Georgia","Times New Roman",serif; font-size: clamp(1.8rem,4vw,3rem); line-height: 1.15; font-weight: 700; margin-bottom: 1rem; letter-spacing: -.01em; }
.tj-homepage .tj-hero-description { max-width: 50rem; font-size: 1.05rem; line-height: 1.65; color: rgba(255,255,255,.9); }
.tj-homepage .tj-hero-actions { display: flex; flex-wrap: wrap; gap: .875rem; margin-top: 1.75rem; }

.tj-homepage .tj-btn-light {
  background: #fff;
  color: var(--tj-primary-solid);
  border: 0;
  font-weight: 700;
  font-family: "Georgia", serif;
  padding: .7rem 1.6rem;
  border-radius: var(--tj-radius);
  text-decoration: none;
  letter-spacing: .01em;
  transition: background .2s, color .2s;
}
.tj-homepage .tj-btn-light:hover,.tj-homepage .tj-btn-light:focus {
  background: #eee;
  color: var(--tj-primary-solid);
}
.tj-homepage .tj-btn-outline { 
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .35);
  font-weight: 600;
  padding: .7rem 1.6rem;
  border-radius: var(--tj-radius);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.tj-homepage .tj-btn-outline:hover,.tj-homepage .tj-btn-outline:focus {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-color: 1.5px solid rgba(255,255,255,.35);
}

.tj-homepage .tj-issn-box { font-weight: 600; font-size: .95rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: var(--tj-radius); padding: 1rem 1.25rem; }
.tj-homepage .tj-issn-box p:last-child { margin-bottom: 0; }

.tj-homepage .homepage_image img { max-width: 100%; height: auto; border-radius: var(--tj-radius); box-shadow: var(--tj-shadow-md); }
.tj-homepage .homepage_about,.tj-homepage .tj-issue-card { background: #fff; border: 1px solid var(--tj-border-color); border-radius: var(--tj-radius); padding: 1.75rem; box-shadow: var(--tj-shadow-sm); }

.tj-homepage .tj-section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: .75rem;}
.tj-homepage .tj-section-heading-row h2 { font-family: "Georgia",serif; color: var(--tj-primary-solid); margin-bottom: .15rem; }
.tj-homepage .current_issue_title { color: var(--tj-muted-color); font-size: .9rem; margin-top: .2rem; }
.tj-homepage .tj-view-all { color: var(--tj-primary-solid); text-decoration: none; font-weight: 600; font-size: .9rem; white-space: nowrap; border: 1px solid var(--tj-primary-solid); padding: .35rem .85rem; border-radius: var(--tj-radius); transition: background .2s,color .2s; }
.tj-homepage .tj-view-all:hover,.tj-homepage .tj-view-all:focus { background: var(--tj-primary-solid); color: #fff; }

@media (max-width: 767.98px) {
  .tj-homepage .tj-section { padding: 2.5rem 0; }
  .tj-homepage .tj-hero { padding: 3rem 0; }
  .tj-homepage .tj-section-heading-row { align-items: flex-start; flex-direction: column; }
}

/* ================================================================ CONTENT PAGES */
.page_issue .obj_issue_toc,.page_issue .issue-toc,.pkp_page_issue .obj_issue_toc,.pkp_page_issue .issue-toc { max-width: 1280px; margin-left: auto; margin-right: auto; padding: 1.5rem 1rem; }
.page_issue .sections:not(:empty),.pkp_page_issue .sections:not(:empty) { margin-top: 1.5rem; }
.page_article .obj_article_details,.page_article .article_details,.pkp_page_article .obj_article_details,.pkp_page_article .article_details { max-width: 1280px; margin-left: auto; margin-right: auto; padding: 2rem 1rem; }
.page_article .item,.pkp_page_article .item { margin-bottom: 1.35rem; }
.page_article h1,.pkp_page_article h1 { font-family: "Georgia",serif; color: var(--tj-primary-solid); }
.page_search .search_results,.page_search .cmp_search,.pkp_page_search .search_results,.pkp_page_search .cmp_search { max-width: 1280px; margin-left: auto; margin-right: auto; padding: 2rem 1rem; margin-top: 0; margin-bottom: 0; }
.page_about .page,.page_about .cmp_static_page,.page_information .page,.page_information .cmp_static_page,.pkp_page_about .page,.pkp_page_about .cmp_static_page,.pkp_page_information .page,.pkp_page_information .cmp_static_page { max-width: 1280px; margin-left: auto; margin-right: auto; }
/* .page_about img,.page_information img,.pkp_page_about img,.pkp_page_information img { max-width: 100%; height: auto; } */

/* ================================================================ GENERAL */
a { color: var(--tj-primary-solid); }
a:hover,a:focus { color: var(--tj-secondary); }
h1,h2,h3,h4,h5,h6 { font-family: "Georgia","Times New Roman",serif; }

.obj_article_summary .title a,.obj_issue_summary .title a { color: var(--tj-primary-solid); font-family: "Georgia",serif; }
.obj_article_summary .title a:hover,.obj_issue_summary .title a:hover { color: var(--tj-secondary); text-decoration: underline; }

.pkp_button,.cmp_pageHeader .pkp_button { background: var(--tj-primary); color: #fff; border: 0; border-radius: var(--tj-radius); font-weight: 600; transition: opacity .2s; }
.pkp_button:hover,.pkp_button:focus { opacity: .88; color: #fff; }

.pkp_block { border: 1px solid var(--tj-border-color); border-radius: var(--tj-radius); overflow: hidden; margin-bottom: 1.5rem; box-shadow: var(--tj-shadow-sm); }
.pkp_block .title { background: var(--tj-primary); color: #fff; font-family: "Georgia",serif; font-size: 1rem; padding: .75rem 1rem; margin: 0; }
.pkp_block .content { padding: 1rem; background: #fff; }
.jsti-additional-design {
    position: relative;
    overflow: hidden;
    padding: 5rem 0;
    background:
        linear-gradient(135deg, rgba(0,191,255,0.82) 0%, rgba(0,0,139,0.88) 100%),
        url("https://jsti-ltu.org/public/journals/1/image-crop-200000048.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-bottom: 4px solid #00bfff;
}

.article-cards{
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color:#ffffff;
    border:none !important;
    box-shadow:0 14px 35px rgba(0,0,139,.18) !important;
    transition:all .25s ease;
}

.article-cards:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(0,0,139,.28) !important;
}

/* title */
.article-cards .tj-article-title{
    margin-bottom:.85rem;
    font-size:1.45rem;
    line-height:1.35;
    font-weight:800;
}

.article-cards .tj-article-title a{
    color:#ffffff !important;
    text-decoration:none;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article-cards .tj-article-title a:hover{
    color:#e0f7ff !important;
}

/* authors */
.article-cards .tj-article-authors{
    color:rgba(255,255,255,.88);
    font-size:.98rem;
    margin-bottom:.9rem;
    font-weight:500;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* keywords */
.article-cards .tj-article-keywords{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    margin-bottom:1rem;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    gap: 6px;
}

.article-cards .tj-article-keywords .badge{
    background:rgba(255,255,255,.95) !important;
    color:#003b8e !important;
    border-radius:50px;
    padding:.42rem .7rem;
    font-size:.78rem;
    font-weight:700;
    border:none;
}

/* abstract */
.article-cards .tj-article-abstract{
    color:rgba(255,255,255,.95);
    font-size:1rem;
    line-height:1.8;
    margin-bottom:1.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* buttons area */
.article-cards .tj-article-actions{
    margin-top:auto;
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}

/* primary button */
.article-cards .tj-read-html-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.7rem 1.1rem;
    border-radius:.55rem;
    background:#ffffff;
    color:#003b8e !important;
    text-decoration:none;
    font-size:.92rem;
    font-weight:800;
    min-width:130px;
    transition:all .2s ease;
}

.article-cards .tj-read-html-btn:hover{
    background:#eaf8ff;
    transform:translateY(-1px);
}

/* secondary button */
.article-cards .tj-download-pdf-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.7rem 1.1rem;
    border-radius:.55rem;
    background:rgba(255,255,255,.12);
    color:#ffffff !important;
    text-decoration:none;
    font-size:.92rem;
    font-weight:700;
    border:1px solid rgba(255,255,255,.32);
    min-width:145px;
    transition:all .2s ease;
}

.article-cards .tj-download-pdf-btn:hover{
    background:rgba(255,255,255,.22);
    color:#ffffff !important;
}

/* section heading */
.tj-current-issue-section h2{
    color:#0f172a;
}

/* view all link */
.tj-latest-view-all{
    color:#003b8e !important;
    text-decoration:none;
    font-weight:700;
}

.tj-latest-view-all:hover{
    color:#00bfff !important;
}

/* mobile */
@media (max-width:767.98px){

    .article-cards .tj-article-title{
        font-size:1.2rem;
    }

    .article-cards .tj-article-actions{
        flex-direction:column;
    }

    .article-cards .tj-read-html-btn,
    .article-cards .tj-download-pdf-btn{
        width:100%;
    }
}

.jsti-additional-design .additional_content {
     max-width: 900px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    color: #fff;
    background: transparent !important;
    box-shadow: none !important;
}
.jsti-additional-design .additional_content img {
    display: block;
    max-width: 150px;
    height: auto;
    margin: 0 auto 1.5rem;
}
.jsti-additional-design .additional_content p {
    max-width: 820px;
    margin: 1rem auto 0;
    color: rgba(255,255,255,0.95);
    font-size: 1.05rem;
    line-height: 1.8;
    font-weight: 500;
}
.jsti-additional-design .additional_content {
    font-size: 0;
}

.jsti-additional-design .additional_content p,
.jsti-additional-design .additional_content img {
    font-size: 1rem;
}

.jsti-additional-design .additional_content::before {
    content: "Our Mission";
    display: block;
    margin-bottom: 1rem;
    color: #fff;
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 800;
}

@media (max-width: 767.98px) {
    .jsti-additional-design {
        padding: 3rem 0;
    }

    .jsti-additional-design .additional_content::before {
        font-size: 2rem;
    }

    .jsti-additional-design .additional_content p {
        font-size: 0.95rem;
    }
}

.jsti-additional-design::before,
.jsti-additional-design::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: var(--tj-primary);
    opacity: 0.16;
    pointer-events: none;
}

.jsti-additional-design::before {
    width: 180px;
    height: 180px;
    top: -70px;
    left: -70px;
}

.jsti-additional-design::after {
    width: 220px;
    height: 220px;
    right: -90px;
    bottom: -90px;
}
.pkp_page_index .additional_content{
  border-top: none;
}
.tj-current-volume-design {
    padding: 4rem 0;
}

.tj-current-volume-cover img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 16px 35px rgba(0, 0, 139, 0.16);
}

.tj-current-volume-content h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: #111827;
}

.tj-current-volume-card {
    padding: 2.5rem;
    border: 1px solid rgba(0, 191, 255, 0.35);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 139, 0.08);
}

.tj-current-volume-card .current_issue_title {
    margin-bottom: 1.5rem;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 800;
    color: var(--tj-primary-end);
}
.tj-current-volume-card .current_issue_description,
.tj-current-volume-card .current_issue_published {
    margin-bottom: 1.5rem;
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 800;
    color: var(--tj-primary-end);
}
.tj-current-volume-card .tj-view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 2rem;
    border-radius: 0.4rem;
    background: var(--tj-primary);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    border: 0;
}

.tj-current-volume-card .tj-view-all:hover {
    color: #fff;
    opacity: 0.92;
}
.tj-current-volume-design {
    padding: 3rem 0;
}

.tj-current-volume-design .row {
    align-items: stretch !important;
}

.tj-current-volume-cover {
    height: 100%;
    max-width: 343px;
    margin: 0 auto;
}

.tj-current-volume-cover img {
    width: 100%;
    height: 100%;
    max-height: 458px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 16px 35px rgba(0, 0, 139, 0.14);
}

.tj-current-volume-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tj-current-volume-content h2 {
    font-size: 2.2rem;
    margin-bottom: 1.2rem !important;
    color: var(--tj-primary-end);
}

.tj-current-volume-card {
    padding: 2rem;
    border: 1px solid rgba(0, 191, 255, 0.4);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 139, 0.08);
}

.tj-current-volume-card .current_issue_title {
    margin-bottom: 1.25rem;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 800;
    color: var(--tj-primary-end);
}

.tj-current-volume-card .tj-view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: auto;
    padding: 0.55rem 1.25rem;
    font-size: 0.95rem;
    line-height: 1.2;
    border-radius: 0.35rem;
    background: var(--tj-primary);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    border: 0;
}

.tj-current-volume-card .tj-view-all:hover {
    color: #fff !important;
    opacity: 0.92;
}
/* remove top empty gap */
.tj-current-volume-design {
    padding-top: 0 !important;
    padding-bottom: 3rem;
    margin-top: 0 !important;
}

/* remove heading default margin */
.tj-current-volume-content h2 {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    line-height: 1.1;
}

/* align both columns from top */
.tj-current-volume-design .row {
    align-items: flex-start !important;
}

/* remove top margin from bootstrap columns if added */
.tj-current-volume-design .col-lg-8,
.tj-current-volume-design .col-lg-4,
.tj-current-volume-design .col-12 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* remove extra space inside right box */
.tj-current-volume-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.tj-publication-schedule {
    padding: 1.5rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(0, 191, 255, 0.28);
    box-shadow: 0 12px 30px rgba(0, 0, 139, 0.08);
}

.tj-publication-schedule h3 {
    font-size: 1.35rem;
    color: #111827;
}

.tj-publication-frequency {
    color: #4b5563;
    font-size: 0.95rem;
}

.tj-publication-frequency strong {
    color: var(--tj-primary-end);
}

.tj-schedule-box {
    padding: 1rem;
    border-radius: 0.65rem;
    background: #f8fafc;
    border: 1px solid #dbeafe;
}

.tj-schedule-box strong {
    display: block;
    color: #111827;
    font-size: 0.98rem;
    margin-bottom: 0.25rem;
}

.tj-schedule-box span {
    display: block;
    color: #4b5563;
    font-size: 0.92rem;
}
@media (max-width: 991.98px) {
    .tj-current-volume-cover img {
        height: auto;
        max-height: none;
    }

    .tj-current-volume-content h2 {
        font-size: 1.8rem;
    }

    .tj-current-volume-card .current_issue_title {
        font-size: 1.35rem;
    }
}
@media (max-width: 767.98px) {
    .tj-current-volume-design {
        padding: 3rem 0;
    }

    .tj-current-volume-card {
        padding: 1.5rem;
    }
}
@media (max-width: 767.98px) {
    .jsti-additional-design {
        padding: 3rem 0;
    }

    .jsti-additional-design .additional_content {
        padding: 2rem;
        /* border-radius: 1.5rem; */
    }
}
@media (min-width: 992px) {
    .pkp_site_name .is_img img {
      max-height: 50px;
    }
    .px-lg-5 {
      padding-right: 3rem !important;
      padding-left: 3rem !important;
      max-width: 1280px;
    }
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1280px;
        padding: 0px 50px;
    }
    .px-xl-5 {
        padding-right: 0rem !important;
        padding-left: 0rem !important;
        max-width: 1280px;
    }
}
.pkp_nav_list ul a:hover, .pkp_nav_list ul a:focus {
    outline: 0;
    background: #ddd;
    border-color: #00bfff;
    color: #000000;
}
.pkp_nav_list ul a {
    display: block;
    padding-left: .357rem;
    border-left: .357rem solid transparent;
    color: #000000;
}

.pkp_nav_list ul {
    position: absolute;
    top: 100%;
    left: -9999px;
    z-index: 1000;
    width: 10em;
    margin: 0;
    padding: 0;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.jsti-footer {
    padding: 4rem 0 1rem;
    background: #f8fbff;
    border-top: 5px solid #00bfff;
    color: #0f172a;
}

.jsti-footer-logo {
    max-width: 8.3rem;
    height: auto;
}

.jsti-footer-text {
    max-width: 420px;
    color: #334155;
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 0.5rem;
}

.jsti-footer-small {
    color: #64748b;
    font-size: 0.95rem;
}

.jsti-footer h4 {
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    color: #00008b;
}

.jsti-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.jsti-footer li {
    margin-bottom: 0.75rem;
}

.jsti-footer a {
    color: #475569;
    text-decoration: none;
}

.jsti-footer a:hover {
    color: #00bfff;
}

.jsti-footer-bottom {
    /* margin-top: 2.5rem; */
    padding-top: 1rem;
    border-top: 1px solid #dbeafe;
    text-align: center;
    color: #64748b;
    font-size: 0.95rem;
}


.jsti-article-card {
    height: 100%;
}

.jsti-article-summary-card {
    height: 100%;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    padding: 1.4rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    border: 1px solid rgba(0, 191, 255, 0.35);
    box-shadow: 0 12px 30px rgba(0, 0, 139, 0.08);
    transition: all 0.25s ease;
}

.jsti-article-summary-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(0, 0, 139, 0.14);
}

.jsti-summary-title {
    margin: 0 0 0.65rem;
    font-size: 1.18rem;
    line-height: 1.35;
    font-weight: 800;
}

.jsti-summary-title a {
    display: block;
    color: #0f172a;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jsti-summary-title a:hover {
    color: #00008b;
}

.jsti-summary-authors {
    max-width: 100%;
    margin-bottom: 0.7rem;
    color: #475569;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jsti-summary-keywords {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 0.9rem;
}

.jsti-summary-keywords span {
    flex: 0 0 auto;
    max-width: 155px;
    padding: 0.28rem 0.65rem;
    border-radius: 50rem;
    background: #ffffff;
    color: #003b8e;
    font-size: 0.74rem;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border: 1px solid rgba(0, 191, 255, 0.35);
}

.jsti-summary-abstract {
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.65;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Doc button */
.jsti-summary-galleys {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 0;
    margin: auto 0 0;
    list-style: none;
}

.jsti-summary-galleys li {
    margin: 0;
}

.jsti-summary-galleys a,
.jsti-summary-galleys .obj_galley_link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    padding: 0.55rem 0.95rem !important;
    border-radius: 0.45rem !important;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    border: 0 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 139, 0.18);
}

.jsti-summary-galleys a:hover,
.jsti-summary-galleys .obj_galley_link:hover {
    color: #ffffff !important;
    opacity: 0.92;
    transform: translateY(-1px);
}

.jsti-section-title {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.jsti-section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #dbeafe;
}

@media (max-width: 767.98px) {
    .jsti-article-summary-card {
        min-height: auto;
        padding: 1.15rem;
    }

    .jsti-summary-title {
        font-size: 1.05rem;
    }

    .jsti-summary-keywords span {
        max-width: 120px;
    }
}
/* Archive page wrapper */
.page_issue_archive .journal_content_inner {
    max-width: 1280px;
    margin: 0 auto;
    /* padding: 3rem 0; */
}

.page_issue_archive h3 {
    margin-bottom: 2rem;
    font-size: 2.4rem;
    font-weight: 800;
    color: #0f172a;
}

/* Archive list */
.jsti-archive-list {
    padding-bottom: 4rem;
}

.jsti-archive-year {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem !important;
    margin-bottom: 1.5rem !important;
    color: #00008b;
    font-size: 1.6rem;
    font-weight: 800;
}

.jsti-archive-year::after {
    content: "";
    flex: 1;
    height: 2px;
    background: linear-gradient(135deg, #00bfff 0%, rgba(0, 0, 139, 0.12) 100%);
}

.jsti-archive-year span {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.jsti-archive-year span::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
}

/* Issue card */
.jsti-issue-card {
    height: 100%;
    overflow: hidden;
    border-radius: 1.25rem;
    background: #ffffff;
    border: 1px solid rgba(0, 191, 255, 0.28);
    box-shadow: 0 14px 35px rgba(0, 0, 139, 0.08);
    transition: all 0.25s ease;
}

.jsti-issue-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 50px rgba(0, 0, 139, 0.16);
}

/* Cover */
.jsti-issue-card-cover {
    display: block;
    position: relative;
    overflow: hidden;
    background: #eef8ff;
}
.jsti-archive-list .row {
    row-gap: 2rem;
}

.jsti-issue-card {
    max-width: 260px;
    height: 100%;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(0,191,255,.35);
    box-shadow: 0 14px 35px rgba(0,0,139,.10);
}

.jsti-issue-card-cover {
    display: block;
    background: #f8fbff;
}

.jsti-issue-card-cover img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
}

.jsti-issue-card-body {
    padding: 1rem;
}

.jsti-issue-card-title {
    margin: 0 0 .4rem;
    font-size: 1rem;
    font-weight: 800;
}

.jsti-issue-card-title a {
    color: #0f172a;
    text-decoration: none;
}

.jsti-issue-card-series {
    color: #003b8e;
    font-size: .85rem;
    font-weight: 700;
    margin-bottom: .35rem;
}

.jsti-issue-card-date {
    color: #64748b;
    font-size: .82rem;
    margin-bottom: .8rem;
}

.jsti-issue-card-btn {
    display: inline-flex;
    padding: .5rem .9rem;
    border-radius: .45rem;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color: #fff !important;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 800;
}

.jsti-issue-card-cover img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: all 0.35s ease;
}

.jsti-issue-card:hover .jsti-issue-card-cover img {
    transform: scale(1.04);
}

/* Body */
.jsti-issue-card-body {
    padding: 1rem 1rem 1.15rem;
}

.jsti-issue-card-title {
    margin: 0 0 0.45rem;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 800;
}

.jsti-issue-card-title a {
    display: block;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jsti-issue-card-title a:hover {
    color: #00bfff;
}

.jsti-issue-card-series {
    display: inline-flex;
    margin-bottom: 0.55rem;
    padding: 0.25rem 0.55rem;
    border-radius: 50rem;
    background: #eef8ff;
    color: #003b8e;
    font-size: 0.78rem;
    font-weight: 700;
}

.jsti-issue-card-date {
    color: #eee;
    font-size: 0.86rem;
    margin-bottom: 0.75rem;
}

.jsti-issue-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.9rem;
    border-radius: 0.55rem;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color: #fff !important;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(0, 0, 139, 0.18);
}

.jsti-issue-card-btn:hover {
    color: #fff !important;
    opacity: 0.92;
}

/* Better grid spacing */
.jsti-archive-list .row {
    row-gap: 2rem;
}

/* Mobile */
@media (max-width: 767.98px) {
    .page_issue_archive .journal_content_inner {
        padding: 2rem 0;
    }

    .page_issue_archive h3 {
        font-size: 2rem;
    }

    .jsti-archive-year {
        font-size: 1.35rem;
    }
}
.page_submissions .journal_content_inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 3rem 0;
}

.page_submissions .journal_content_inner > h3 {
    margin-bottom: 1.5rem;
    color: #0f172a;
    font-size: 2.4rem;
    font-weight: 800;
}

.page_submissions .journal_content_inner > div:nth-of-type(2) {
    margin-bottom: 2rem;
    padding: 1.5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(0,191,255,.08) 0%, rgba(0,0,139,.06) 100%);
    border: 1px solid rgba(0,191,255,.28);
}

.page_submissions .submission_btn {
    display: inline-flex;
    margin: .4rem .5rem .4rem 0;
    padding: .65rem 1.1rem;
    border-radius: .5rem;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
}

.page_submissions .author_guidelines,
.page_submissions .copyright_notice,
.page_submissions .privacy_statement {
    margin-bottom: 2rem;
    padding: 2rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 30px rgba(0,0,139,.06);
}

.page_submissions .author_guidelines h3,
.page_submissions .copyright_notice h3,
.page_submissions .privacy_statement h3 {
    margin-bottom: 1rem;
    color: #00008b;
    font-size: 1.6rem;
    font-weight: 800;
}

.page_submissions .author_guidelines,
.page_submissions .copyright_notice,
.page_submissions .privacy_statement {
    color: #475569;
    font-size: 1rem;
    line-height: 1.8;
}

.page_submissions ul,
.page_submissions ol {
    padding-left: 1.4rem;
}

.page_submissions li {
    margin-bottom: .45rem;
}

@media (max-width: 767.98px) {
    .page_submissions .journal_content_inner {
        padding: 2rem 0;
    }

    .page_submissions .journal_content_inner > h3 {
        font-size: 2rem;
    }

    .page_submissions .author_guidelines,
    .page_submissions .copyright_notice,
    .page_submissions .privacy_statement {
        padding: 1.25rem;
    }
}

.page_masthead {
    max-width: 1080px;
    margin: 0 auto;
    /* padding: 3rem 0; */
}

.page_masthead .cmp_customBlock {
    color: #334155;
    font-size: 1rem;
    line-height: 1.8;
}

.page_masthead .cmp_customBlock > h1 {
    margin-bottom: 2rem;
    color: #0f172a;
    font-size: 2.6rem;
    font-weight: 800;
}

.page_masthead .cmp_customBlock h2 {
    margin: 2rem 0 1rem;
    color: #0f172a;
    font-size: 1.6rem;
    font-weight: 800;
}

.page_masthead .cmp_customBlock p {
    margin-bottom: 1rem;
    color: #475569;
}

.page_masthead .cmp_customBlock strong {
    color: #0f172a;
    font-weight: 800;
}

.page_masthead .cmp_customBlock hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #dbeafe;
}

/* Editorial board grid cards */
.page_masthead .cmp_customBlock div[style*="grid"] {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1.25rem !important;
    margin-top: 1.5rem;
}

.page_masthead .cmp_customBlock div[style*="grid"] > div {
    padding: 1.5rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(0, 191, 255, 0.28);
    box-shadow: 0 12px 30px rgba(0, 0, 139, 0.06);
    transition: all 0.25s ease;
}

.page_masthead .cmp_customBlock div[style*="grid"] > div:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(0, 0, 139, 0.12);
}

/* Editor-in-Chief block */
.page_masthead .cmp_customBlock h2:nth-of-type(2) + p,
.page_masthead .cmp_customBlock h2:nth-of-type(2) + p + p {
    padding: 1.5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(0,191,255,.08) 0%, rgba(0,0,139,.06) 100%);
    border: 1px solid rgba(0, 191, 255, 0.25);
}

/* Managing editors */
.page_masthead .cmp_customBlock ul {
    padding: 1.25rem 1.5rem 1.25rem 2.2rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.page_masthead .cmp_customBlock li {
    margin-bottom: 0.5rem;
}

@media (max-width: 767.98px) {
    .page_masthead {
        padding: 2rem 0;
    }

    .page_masthead .cmp_customBlock > h1 {
        font-size: 2rem;
    }

    .page_masthead .cmp_customBlock h2 {
        font-size: 1.35rem;
    }
}



.page_search {
    max-width: 1120px;
    /* padding-top: 3rem; */
    /* padding-bottom: 4rem; */
}

.page_search_inner > h2 {
    margin-bottom: 1.5rem;
    color: #0f172a;
    font-size: 2.3rem;
    font-weight: 800;
}

.jsti-search-form {
    padding: 2rem;
    border-radius: 1.25rem;
    background: #fff;
    border: 1px solid rgba(0,191,255,.35);
    box-shadow: 0 16px 40px rgba(0,0,139,.08);
}

.jsti-search-box {
    margin-bottom: 1.25rem;
}

.jsti-search-box input {
    width: 100%;
    height: 52px;
    padding: 0 1rem;
    border-radius: .65rem;
    border: 1px solid #cbd5e1;
    font-size: 1rem;
}

.jsti-search-filter-box {
    padding: 1.5rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.jsti-search-filter-box h3 {
    margin: 0 0 1rem;
    color: #00008b;
    font-size: 1.15rem;
    font-weight: 800;
}

.jsti-filter-group legend,
.jsti-filter-group .label {
    display: block;
    margin-bottom: .5rem;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 700;
}

.jsti-filter-group fieldset {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.5rem;
    border: 0;
    padding: 0;
    margin: 0;
}

.jsti-filter-group fieldset legend {
    width: 100%;
    margin-bottom: 0.35rem;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
}

.jsti-filter-group fieldset label {
    margin: auto 0;
}

.jsti-search-label {
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 700;
	color: #003f5c;
}

.jsti-search-input-wrap {
	display: flex;
	align-items: stretch;
	gap: 14px;
}

.jsti-search-input {
	width: 350px;
	height: 42px !important;
	border: 1px solid #b7c8d8;
	border-radius: 4px;
	padding: 10px 14px;
	font-size: 16px;
}
.jsti-search-main-btn {
	height: 42px !important;
	border: 1px solid #b7c8d8;
	border-radius: 4px;
	padding: 10px 14px;
    background: linear-gradient(135deg, #00aeef 0%, #003da8 100%);
    color: #ffffff;
	font-size: 16px;
}

.jsti-filter-group select {
    width: calc(33.333% - 0.35rem);
    min-height: 42px;
    margin: 0;
    padding: 0.45rem 0.55rem;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    margin-right: 20px;
}

.jsti-filter-group input {
    width: 100%;
    min-height: 42px;
    padding: .45rem .75rem;
    border-radius: .5rem;
    border: 1px solid #cbd5e1;
}

.jsti-search-submit {
    margin-top: 1.5rem;
    text-align: right;
}

.jsti-search-submit button {
    min-width: 130px;
    height: 46px;
    padding: 0 1.4rem;
    border: 0;
    border-radius: .55rem;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color: #fff;
    font-weight: 800;
}

.page_search input:focus,
.page_search select:focus {
    outline: none;
    border-color: #00bfff;
    box-shadow: 0 0 0 4px rgba(0,191,255,.15);
}

.page_search .cmp_notification {
    margin-top: 3rem;
    padding: 1.25rem 1.5rem;
    border-left: 5px solid #00bfff;
    background: #eef8ff;
    color: #0f172a;
    border-radius: .7rem;
}

@media (max-width: 767.98px) {
    .jsti-search-form {
        padding: 1.25rem;
    }

    .jsti-filter-group select {
        width: 100%;
        margin: 0 0 .5rem 0;
    }

    .jsti-search-submit {
        text-align: left;
    }

    .jsti-search-submit button {
        width: 100%;
    }
}
.page_search .submit {
    text-align: center;
}
.tj-mobile-toggle {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 8px;
    background: rgba(255,255,255,.18);
    color: #fff;
    font-size: 20px;
}

@media (max-width: 991.98px) {
    .tj-navbar {
        display: none;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 10px 25px rgba(0,0,0,.08);
    }

    .tj-navbar.is-open {
        display: block;
        top: 5rem;
    }

    .tj-navbar .row,
    .tj-navbar .col {
        display: block;
        width: 100%;
    }

    .tj-primary-menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        padding: 10px 0;
    }

    .tj-primary-menu li {
        width: 100%;
    }

    .tj-primary-menu a {
        display: block;
        padding: 12px 16px;
        color: #0f172a !important;
        border-bottom: 1px solid #eef2f7;
        text-decoration: none;
    }

    .tj-search-button {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .tj-navbar {
        display: block !important;
    }
}

.main-header {
    background-color: #424242;
    padding: 24px 32px;
    /* margin: 0 0 36px 0; */
    border-radius: 3px;
    text-align: center;
    margin: 28px 0 36px 0;
}
.main-header h1 {
    font-size: 20px;
    font-weight: bold;
    color: #f5f5f5;
    margin: 0 0 6px 0;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.tj-user-nav,
.tj-user-menu,
.tj-user-menu .dropdown {
    position: relative;
    overflow: visible !important;
}

.tj-user-menu .dropdown > ul {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    min-width: 190px;
    padding: 8px 0;
    margin: 6px 0 0;
    list-style: none;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    z-index: 999999;
}

.tj-user-menu .dropdown.show > ul,
.tj-user-menu .dropdown.is-open > ul {
    display: block !important;
    /* left: 0; */
    left: -121px;
}

.tj-user-menu .dropdown > ul li {
    display: block !important;
}

.tj-user-menu .dropdown > ul a {
    display: block !important;
    padding: 8px 14px;
    color: #0f172a !important;
    text-decoration: none;
    white-space: nowrap;
}

.tj-header,
.tj-header-top,
.tj-header-actions {
    overflow: visible !important;
}
.obj_article_details {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1rem 4rem;
}

.jsti-article-layout {
    align-items: flex-start;
}

/* LEFT CONTENT */
.jsti-article-main {
    background: #fff;
    border-radius: 22px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 18px 50px rgba(0,0,139,.07);
    overflow: hidden;
}

.jsti-article-main .item {
    margin: 0;
    padding: 1.7rem 2rem;
    border-bottom: 1px solid #e8eef6;
}

.jsti-article-main .item:last-child {
    border-bottom: 0;
}

.jsti-article-main .label {
    margin-bottom: .9rem;
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 900;
}

/* authors */
.jsti-article-main ul.authors {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.jsti-article-main ul.authors li {
    padding: .75rem 1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(0,191,255,.08), rgba(0,0,139,.04));
    border: 1px solid rgba(0,191,255,.28);
}

.jsti-article-main .authors .name {
    color: #00008b;
    font-weight: 900;
}

.jsti-article-main .affiliation,
.jsti-article-main .orcid {
    display: block;
    margin-top: .25rem;
    color: #64748b;
    font-size: .9rem;
}

/* keywords */
.jsti-article-main .keywords .value {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.jsti-article-main .keywords .value span {
    padding: .38rem .8rem;
    border-radius: 999px;
    background: #eef8ff;
    color: #003b8e;
    border: 1px solid rgba(0,191,255,.35);
    font-size: .84rem;
    font-weight: 800;
}

/* abstract */
.jsti-article-main .abstract {
    margin: 1.25rem;
    padding: 2rem;
    border-radius: 20px;
    background:
        radial-gradient(circle at top left, rgba(0,191,255,.13), transparent 35%),
        linear-gradient(135deg, rgba(0,191,255,.06), rgba(0,0,139,.035));
    border: 1px solid rgba(0,191,255,.28);
}

.jsti-article-main .abstract p {
    color: #334155;
    line-height: 1.9;
    margin-bottom: 1rem;
}

/* author bio/reference */
.jsti-article-main .author_bios .sub_item {
    margin-bottom: 1.25rem;
    padding: 1rem;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.jsti-article-main .references .value p {
    padding: 1rem;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

/* RIGHT SIDEBAR */
.jsti-article-sidebar {
    position: sticky;
    top: 24px;
    align-self: flex-start;
    background: #fff;
    border-radius: 22px;
    border: 1px solid rgba(0,191,255,.35);
    box-shadow: 0 24px 60px rgba(0,0,139,.12);
    overflow: hidden;
}

.jsti-article-sidebar .item {
    margin: 0;
    padding: 1.3rem;
    border-bottom: 1px solid #e8eef6;
}

.jsti-article-sidebar .item:last-child {
    border-bottom: 0;
}

.jsti-article-sidebar .label {
    margin-bottom: .45rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* cover no extra padding */
.jsti-article-sidebar .cover_image {
    padding: 0;
    background: #f8fbff;
}

.jsti-article-sidebar .cover_image .sub_item {
    margin: 0;
}

.jsti-article-sidebar .cover_image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
}

/* buttons */
.jsti-article-sidebar .galleys_links,
.jsti-article-sidebar .supplementary_galleys_links {
    display: grid;
    grid-template-columns: 1fr;
    gap: .7rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.jsti-article-sidebar .galleys_links li,
.jsti-article-sidebar .supplementary_galleys_links li {
    margin: 0;
}

.jsti-article-sidebar .galleys_links a,
.jsti-article-sidebar .supplementary_galleys_links a,
.jsti-article-sidebar .obj_galley_link {
    width: 100%;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .75rem 1rem !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    border: 0 !important;
    box-shadow: 0 12px 26px rgba(0,0,139,.22);
    transition: all .2s ease;
}

.jsti-article-sidebar .galleys_links a:hover,
.jsti-article-sidebar .obj_galley_link:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(0,0,139,.28);
}

.obj_galley_link:before {
    font-size: 1.1rem !important;
}

/* sidebar values */
.jsti-article-sidebar .value,
.jsti-article-sidebar .value a {
    color: #334155;
    font-size: .95rem;
    line-height: 1.65;
}

.jsti-article-sidebar .value a {
    color: #00008b;
    font-weight: 800;
    text-decoration: none;
}

.jsti-article-sidebar .published,
.jsti-article-sidebar .issue,
.jsti-article-sidebar .citation,
.jsti-article-sidebar .pubid,
.jsti-article-sidebar .copyright {
    background: #fff;
}

.jsti-article-sidebar .citation_formats_button {
    width: 100%;
    margin-top: .8rem;
    padding: .75rem 1rem;
    border-radius: 12px;
    border: 1px solid #cbd5e1;
    background: #f8fbff;
    color: #0f172a;
    font-weight: 800;
}

/* hide real empty blocks */
.jsti-article-main .item:empty,
.jsti-article-sidebar .item:empty,
.jsti-article-sidebar .sub_item:empty {
    display: none !important;
}

@media (max-width: 991.98px) {
    .jsti-article-sidebar {
        position: static;
        margin-top: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .obj_article_details {
        padding: 1.5rem .75rem 3rem;
    }

    .jsti-article-main .item,
    .jsti-article-sidebar .item {
        padding: 1.15rem;
    }

    .jsti-article-main .abstract {
        margin: 1rem;
        padding: 1.25rem;
    }
}

/* login */

/* LOGIN PAGE ONLY */
.page.page_login {
    min-height: 50vh;
    max-width: 1280px;
    position: relative;
    padding: 4rem 0;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem auto;
}

/* main layout */
.page.page_login .page_login_inner {
    width: 100%;
    max-width: 1280px;
    min-height: 430px;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 3rem;
}

/* right image panel */
.page.page_login .image-wrapper {
    position: absolute;
    right: 50px;
    top: 0;
    width: 80%;
    height: 100%;
    overflow: hidden;
    border-radius: 1.5rem;
    background:
        linear-gradient(135deg, rgba(0,191,255,.88), rgba(0,0,139,.86)),
        url("https://iuspublication.com/public/site/login_1.webp") center/cover no-repeat;
    box-shadow: 0 30px 80px rgba(0, 0, 139, .18);
}

.page.page_login .image-wrapper::before {
    content: "";
    position: absolute;
    inset: 4rem 4rem 4rem 4rem;
    border: 10px solid rgba(255,255,255,.16);
    border-radius: .25rem;
}

.page.page_login .image-wrapper::after {
    content: "JSTI ACCESS";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    color: rgba(255,255,255,.65);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .35rem;
}

.page.page_login .image-wrapper img {
    display: none;
}

/* login card */
.page.page_login .form__class {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 400px;
    padding: 3.5rem 3rem;
    border-radius: 1.25rem;
    background: #ffffff;
    box-shadow: 0 25px 70px rgba(15, 23, 42, .18);
    border: 1px solid rgba(0,191,255,.18);
}

/* title */
.page.page_login .form__class h2 {
    margin: 0 0 2.5rem;
    color: #0f172a;
    font-size: 3rem;
    line-height: 1;
    font-weight: 900;
}

.page.page_login .form__class h2::before {
    content: "Sign in";
    font-size: 2rem;
}

.page.page_login .form__class h2 {
    font-size: 0;
}

/* form reset */
.page.page_login .cmp_form.login,
.page.page_login fieldset {
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
}

/* labels */
.page.page_login .label {
    display: block;
    margin-bottom: .55rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12rem;
}

/* inputs */
.page.page_login input[type="text"],
.page.page_login input[type="password"] {
    width: 100%;
    height: 34px;
    padding: 0;
    border: 0;
    border-bottom: 2px solid #dbeafe;
    border-radius: 0;
    background: transparent;
    color: #0f172a;
    font-size: 1rem;
    box-shadow: none !important;
}

.page.page_login input[type="text"]:focus,
.page.page_login input[type="password"]:focus {
    outline: none;
    border-bottom-color: #00bfff;
}

.page.page_login .username,
.page.page_login .password {
    margin-bottom: 1.6rem;
}

/* remember + forgot */
.page.page_login .remember {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin: .5rem 0 2rem;
}

.page.page_login .remember label {
    margin: 0;
}

.page.page_login .remember .label {
    display: inline;
    color: #475569;
    font-size: .9rem;
    text-transform: none;
    letter-spacing: 0;
}

.page.page_login .remember a {
    color: #00008b !important;
    text-decoration: none;
    font-weight: 800;
}

/* buttons */
.page.page_login .buttons {
    display: flex !important;
    gap: .9rem !important;
    flex-wrap: wrap;
    padding: 0 !important;
}

.page.page_login button.submit {
    min-width: 145px;
    height: 50px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%) !important;
    color: #fff;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(0, 0, 139, .2);
    transition: all .2s ease;
}

/* .page.page_login button.submit:hover {
    transform: translateY(-2px);
}

.page.page_login .buttons button.submit:last-child {
    background: #f8fbff !important;
    color: #00008b !important;
    border: 1px solid rgba(0,191,255,.35);
    box-shadow: none;
}
 */
/* error */
.page.page_login .pkp_form_error {
    margin-bottom: 1.2rem;
    padding: .9rem 1rem;
    border-radius: .75rem;
    background: #fff1f2;
    color: #be123c;
    border-left: 4px solid #e11d48;
}

/* responsive */
@media (max-width: 991.98px) {
    .page.page_login {
        padding: 2rem 1rem;
        background:
            linear-gradient(135deg, rgba(0,191,255,.10), rgba(0,0,139,.08)),
            #ffffff;
    }

    .page.page_login .page_login_inner {
        display: block;
        min-height: auto;
        padding: 0;
    }

    .page.page_login .image-wrapper {
        display: none;
    }

    .page.page_login .form__class {
        max-width: 520px;
        margin: 0 auto;
        padding: 2.5rem 2rem;
    }
}

@media (max-width: 575.98px) {
    .page.page_login .form__class {
        padding: 2rem 1.4rem;
    }

    .page.page_login .form__class h2::before {
        font-size: 2.3rem;
    }

    .page.page_login .buttons {
        flex-direction: column;
    }

    .page.page_login button.submit {
        width: 100%;
    }
}

.page.page_login .form__class {
    padding: 2rem !important;
}

.page.page_login .username,
.page.page_login .password {
    margin-bottom: 1.35rem !important;
}

.page.page_login .form__class label {
    width: 100%;
    display: block;
}

.page.page_login input[type="text"],
.page.page_login input[type="password"] {
    width: 100% !important;
    max-width: 100% !important;
}

.page.page_login .remember {
    margin: 0.5rem 0 1.6rem !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.page.page_login .remember > label:first-child {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.page.page_login .remember > label:last-child {
    width: auto;
    text-align: right !important;
}

.page.page_login .buttons {
    margin-top: 0.5rem;
    display: flex !important;
    align-items: center;
    gap: 0.9rem !important;
}

.page.page_login button.submit {
    min-width: 150px;
}

.page.page_login .form__class h2 {
    margin-bottom: 1.5rem !important;
}

.page.page_login .buttons{
    display:flex !important;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
}

.page.page_login .buttons .submit{
    flex:1 1 calc(50% - 6px);
    width:calc(50% - 6px) !important;
    max-width:calc(50% - 6px);
    margin:0;
}

/* Mobile only */
@media (max-width:767.98px){

.page.page_login .buttons{
    flex-direction:column;
    gap:10px;
}

.page.page_login .buttons .submit{
    flex:0 0 100%;
    width:100% !important;
    max-width:100%;
}

}

/* ===== BUTTON BASE ===== */
.page.page_login .buttons .submit{
    flex:1 1 calc(50% - 6px);
    height:50px;
    border-radius:999px;
    font-weight:900;
    font-size:.95rem;
    transition:all .25s ease;
}

/* ===== LOGIN BUTTON ===== */
.page.page_login .buttons .login-btn{
    background: linear-gradient(135deg,#00bfff 0%,#00008b 100%);
    color:#fff;
    border:0;
    box-shadow:0 12px 26px rgba(0,0,139,.20);
}

.page.page_login .buttons .login-btn:hover{
    background: linear-gradient(135deg,#009fe0 0%,#02026b 100%);
    transform:translateY(-3px);
    box-shadow:0 18px 34px rgba(0,0,139,.28);
}

/* ===== REGISTER BUTTON ===== */
.page.page_login .buttons .register-btn{
    background:#ffffff !important;
    color:#00008b;
    border:2px solid rgba(0,191,255,.45);
    box-shadow:none;
}

.page.page_login .buttons .register-btn:hover{
    background:linear-gradient(135deg,#e6f7ff,#f0fbff);
    color:#00bfff;
    border-color:#00bfff;
    transform:translateY(-3px);
    box-shadow:0 12px 24px rgba(0,191,255,.18);
}

/* ===== MOBILE ===== */
@media (max-width:767.98px){
    .page.page_login .buttons{
        flex-direction:column;
    }

    .page.page_login .buttons .submit{
        width:100% !important;
        max-width:100%;
    }
}

/* REGISTRATION PAGE ONLY */
.page.page_register {
    padding: 4rem 1rem;
    background:
        radial-gradient(circle at 85% 15%, rgba(0,191,255,.16), transparent 35%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 55%, #eef8ff 100%);
}

.page.page_register .page_register_inner {
    max-width: 1050px;
    margin: 0 auto;
}

.page.page_register .cmp_form.register {
    padding: 2.5rem;
    border-radius: 1.5rem;
    background: #ffffff;
    border: 1px solid rgba(0,191,255,.25);
    box-shadow: 0 24px 70px rgba(0,0,139,.10);
}

.page.page_register fieldset:not(.data-fieldset fieldset) {
    margin: 0 0 2rem;
    padding: 1.5rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.page.page_register .data-fieldset {
    margin: 0 0 2rem;
    padding: 1.5rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid #dbeafe;
}

.page.page_register legend {
    margin-bottom: 1rem;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 900;
}

.page.page_register .fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.page.page_register .fields > div {
    width: 100%;
}

.page.page_register label {
    width: 100%;
    display: block;
}

.page.page_register .label {
    display: block;
    margin-bottom: .45rem;
    color: #0f172a;
    font-weight: 800;
}

.page.page_register input[type="text"],
.page.page_register input[type="email"],
.page.page_register input[type="password"],
.page.page_register select,
.page.page_register textarea {
    width: 100%;
    min-height: 46px;
    padding: .65rem .85rem;
    border-radius: .6rem;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
}

.page.page_register input:focus,
.page.page_register select:focus,
.page.page_register textarea:focus {
    outline: none;
    border-color: #00bfff;
    box-shadow: 0 0 0 4px rgba(0,191,255,.15);
}

.page.page_register .consent,
.page.page_register .reviewer {
    background: #ffffff;
}

.page.page_register .consent .fields,
.page.page_register .reviewer .fields {
    display: block;
}

.page.page_register .optin {
    margin-bottom: 0;
}

.page.page_register .optin label {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    color: #334155;
    line-height: 1.6;
}

.page.page_register .optin input[type="checkbox"] {
    margin-top: .35rem;
}

.page.page_register .buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.page.page_register .buttons button {
    min-width: 150px;
    min-height: 48px;
    padding: .75rem 1.4rem;
    border-radius: 999px;
    font-weight: 900;
}

.page.page_register .buttons .submit {
    border: 0;
    background: linear-gradient(135deg, #00bfff 0%, #00008b 100%);
    color: #fff;
    box-shadow: 0 12px 28px rgba(0,0,139,.20);
}

.page.page_register .buttons button:not(.submit) {
    background: #fff;
    border: 1px solid rgba(0,191,255,.45);
}

.page.page_register .buttons button:not(.submit) a {
    color: #00008b !important;
    text-decoration: none;
    font-weight: 900;
}

@media (max-width: 767.98px) {
    .login-brand-panel {
        display: none;
    }

    .page.page_register {
        padding: 2rem .75rem;
    }

    .page.page_register .cmp_form.register {
        padding: 1.25rem;
    }

    .page.page_register fieldset {
        padding: 1rem;
    }

    .page.page_register .fields {
        grid-template-columns: 1fr;
    }

    .page.page_register .buttons {
        flex-direction: column;
    }

    .page.page_register .buttons button {
        width: 100%;
    }
}

.page.page_register .cmp_form input[type="text"],
.page.page_register .cmp_form input[type="email"],
.page.page_register .cmp_form input[type="password"],
.page.page_register .cmp_form input[type="url"],
.page.page_register .cmp_form input[type="tel"],
.page.page_register .cmp_form select {
    max-width: 100% !important;
}
.page.page_register .cmp_form .fields>div
{
    padding-bottom: 0 !important;
}

/* .pkp_page_login.pkp_op_lostPassword .page.page_lost_password,
.page.page_lost_password {
    min-height: 70vh !important;
    padding: 5rem 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background:
        linear-gradient(135deg, rgba(0,191,255,.88), rgba(0,0,139,.86)),
        url("https://jsti-ltu.org/public/journals/1/image-crop-200000048.webp") center/cover no-repeat;
} */

.login-message {
    color: #eee;
}
 
.page.page_lost_password .page_lost_password_inner {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
 
.page.page_lost_password .card {
    width: 100% !important;
    border: 1px solid rgba(0,191,255,.30) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(0,0,139,.12) !important;
    overflow: hidden !important;
}
 
.page.page_lost_password .card-body {
    padding: 3rem !important;
}
 
.page.page_lost_password .card-text {
    margin: 0 0 1.75rem !important;
    color: #334155 !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    text-align: center !important;
}
 
/* Form reset */
.page.page_lost_password .cmp_form.lost_password,
.page.page_lost_password form.lost_password,
.page.page_lost_password .lost_password {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
 
.page.page_lost_password .fields {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
 
.page.page_lost_password .fields > div {
    width: 100% !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
 
.page.page_lost_password label {
    width: 100% !important;
    display: block !important;
}
 
/* Input */
.page.page_lost_password input[type="email"],
.page.page_lost_password input[type="text"] {
    width: 100%;
    height: 32px;
    padding: 4px 10px;
    border: 0;
    border-bottom: 2px solid #dbeafe;
    border-radius: 0;
    background: #fff;
    color: #0f172a;
    font-size: 1.285rem;
    box-shadow: none !important;
}
 
/* .page.page_lost_password input[type="email"]:focus,
.page.page_lost_password input[type="text"]:focus {
    outline: none !important;
    border-color: #00bfff !important;
    box-shadow: 0 0 0 4px rgba(0,191,255,.15) !important;
} */
 
/* Button area */
.page.page_lost_password .buttons {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin-top: 1.5rem !important;
    padding: 0 !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
}
 
.page.page_lost_password .buttons::before,
.page.page_lost_password .buttons::after {
    display: none !important;
    content: none !important;
}
 
.page.page_lost_password .buttons button,
.page.page_lost_password button.submit {
    color: #ffffff !important;
}
 
.page.page_lost_password .buttons button:hover,
.page.page_lost_password button.submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(0,0,139,.28) !important;
}
 
/* Error */
.page.page_lost_password .pkp_form_error {
    margin: 0 0 1rem !important;
    padding: 0.9rem 1rem !important;
    border-radius: 12px !important;
    background: #fff1f2 !important;
    color: #be123c !important;
    border-left: 4px solid #e11d48 !important;
    font-weight: 800 !important;
}
 
/* Mobile */
@media (max-width: 575.98px) {
    .pkp_page_login.pkp_op_lostPassword .page.page_lost_password,
    .page.page_lost_password {
        padding: 2rem 0.75rem !important;
    }
 
    .page.page_lost_password .card-body {
        padding: 1.5rem !important;
    }
 
    .page.page_lost_password .card-text {
        font-size: 0.95rem !important;
    }
 
    .page.page_lost_password .buttons button,
    .page.page_lost_password button.submit {
        width: 100% !important;
        min-width: 100% !important;
    }
}

.jsti-issue-flip {
  perspective: 1000px;
  height: 360px;
  transition: 0.3s;
}

.jsti-issue-flip:hover {
  transform: translateY(-5px);
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.7s ease;
  transform-style: preserve-3d;
}

.jsti-issue-flip:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

/* FRONT */
.flip-card-front {
  background: #000;
}

.flip-card-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip-card-front .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}

.flip-card-front h5 {
  color: #fff;
  margin: 0;
  font-weight: 700;
}

.flip-card-front span {
  color: #ddd;
  font-size: 14px;
}

/* BACK */
.flip-card-back {
  background: linear-gradient(135deg, #0d6efd, #001f8c);
  color: #fff;
  transform: rotateY(180deg);
  text-align: center;
  padding: 20px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.flip-card-back h5 {
  margin-bottom: 10px;
  font-weight: 800;
}

/* BUTTON */
.btn-view {
  display: inline-block;
  padding: 10px 18px;
  background: #fff;
  color: #0d6efd;
  border-radius: 20px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s;
}

.btn-view:hover {
  background: #e6ecff;
  color: #0d6efd;
}


.page_contact .journal_content_inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 3rem 0 4rem;
}
 
.page_contact .main-header {
    margin-bottom: 3rem;
}
 
.page_contact .contact_section .card {
    border: 1px solid rgba(0,191,255,.22) !important;
    box-shadow: 0 18px 45px rgba(0,0,139,.08) !important;
}
 
.page_contact .contact_section h2 {
    color: #0f172a;
}
 
.page_contact .contact_section a {
    color: #00008b;
    font-weight: 700;
    text-decoration: none;
}
 
.page_contact .contact_section a:hover {
    color: #00bfff;
}

.row {
    margin-right: 0;
    margin-left: 0;
}

.about_site {
    padding: 0 50px;
}

.page_masthead .cmp_customBlock > h2:first-of-type + p, .page_masthead .cmp_customBlock > h2:first-of-type + p + p {
    /* max-width: max-content; */
    padding: 1.25rem 1.5rem;
    margin-bottom: 0;
    background: #f8fbff;
    border-left: 5px solid #00bfff;
    border-right: 1px solid rgba(0,191,255,.25);
    border-top: 1px solid rgba(0,191,255,.25);
    border-bottom: 1px solid rgba(0,191,255,.25);
}

.page_masthead .cmp_customBlock .row .col-5 {
    /* max-width: max-content; */
    padding: 1.25rem 1.5rem;
    margin: 0;
    background: #ffffff;
    border-left: 5px solid #00bfff;
    border-right: 1px solid rgba(0,191,255,.25);
    border-top: 1px solid rgba(0,191,255,.25);
    border-bottom: 1px solid rgba(0,191,255,.25);
}

/* MOBILE */
@media (max-width: 575px) {
  .jsti-issue-flip {
    height: 300px;
  }
  .about_site {
    padding: 0;
  }
  .page_masthead .cmp_customBlock .row .col-5 {
    padding: 0 10px;
  }
}

@media (max-width: 992px) {
	.tj-homepage .tj-section-heading-row h2 {
    		margin-top: 20px !important;
	}
	.pkp_site_name {
		left: 5.857rem !important;
	}
}

.pkp_page_index .current_issue .read_more:after {
	top: 6px !important;
}

.fa-bars:before, .fa-navicon:before, .fa-magnifying-glass:before, .fa-search:before {
    font-family: "Font Awesome 6 Free";
}

@media (max-width: 480px) {
	.row {
		flex-direction: column;
	}

	.align-items-end {
    		align-items: end !important;
	}

	.align-items-center {
		align-items: end !important;
		gap: 2px;
	}
	
	.pkp_site_name {
    		left: 115px !important;
    		right: 26px !important;
   		text-align: right !important;
	}

	.pkp_nav_list ul, .tj-user-menu .dropdown.show > ul, .tj-user-menu .dropdown.is-open > ul {
		left: auto !important;
	}

	.tj-user-menu .dropdown.show > ul, .tj-user-menu .dropdown.is-open > ul {
		left: auto;
	}

	.tj-primary-menu > li:hover > ul, .tj-primary-menu > li:hover > .dropdown-menu, .tj-primary-menu > li:focus-within > ul, .tj-primary-menu > li:focus-within > .dropdown-menu {
		width: 100%;
	}

	.pkp_nav_list ul, .tj-primary-menu .dropdown-menu, .tj-primary-menu > li > ul {
		position: static !important;
	}
	.tj-navbar.is-open {
        	top: 8rem !important;
   	 }
}

.payment-slider-track{
  display:flex;
  width:300%;
  animation:paymentSlide 12s infinite ease-in-out;
}

.payment-slider-track img{
  width:33.333333%;
  height:auto;
  display:block;
  flex-shrink:0;
}

@keyframes paymentSlide{
  0%,28%{transform:translateX(0);}
  33%,61%{transform:translateX(-33.333333%);}
  66%,94%{transform:translateX(-66.666666%);}
  100%{transform:translateX(0);}
}

@media(max-width:900px){
  .payment-main-wrap{
    flex-direction:column !important;
  }
  .payment-left,
  .payment-right{
    width:100% !important;
  }
}


.page_lost_password {
	/* background: linear-gradient(135deg, #eef8ff 0%, #f7fbff 55%, #ffffff 100%); */
	padding: 55px 18px;
	/* min-height: 650px; */
	font-family: Arial, sans-serif;
}

.page_lost_password .lost-password-wrapper {
	max-width: 1180px;
	margin: 0 auto;
}

.page_lost_password .lost-password-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: #ffffff;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 82, 160, 0.16);
	border: 1px solid #d8edff;
}

.page_lost_password .lost-password-brand {
	position: relative;
	/* min-height: 560px; */
	background:
		linear-gradient(135deg, rgba(19, 174, 231, 0.86), rgba(0, 54, 165, 0.92)),
		url('https://jsti-ltu.org/public/journals/1/image-crop-200000048.webp');
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 45px;
	color: #ffffff;
}

.page_lost_password .brand-overlay {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top left, rgba(255,255,255,0.22), transparent 42%);
}

.page_lost_password .brand-content {
	position: relative;
	z-index: 2;
	/* max-width: 560px; */
}

.page_lost_password .lost-password-logo {
	width: 150px;
	height: 150px;
	object-fit: contain;
	margin-bottom: 30px;
	filter: drop-shadow(0 12px 20px rgba(0,0,0,0.25));
}

.page_lost_password .brand-content h1 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	line-height: 1.25;
	font-weight: 800;
	color: #ffffff;
}

.page_lost_password .brand-content p {
	margin: 18px 0 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
}

.page_lost_password .lost-password-form-box {
	padding: 70px 70px;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.page_lost_password .lost-password-form-box h2 {
	margin: 0 0 32px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	line-height: 1.05;
	font-weight: 800;
	color: #071b3a;
}

.page_lost_password .lost-password-text {
	margin: 0 0 30px;
	font-size: 15px;
	line-height: 1.7;
	color: #5f6f86;
}

.page_lost_password .lost-password-field {
	margin-bottom: 34px;
}

.page_lost_password .lost-password-field label {
	display: block;
	margin-bottom: 13px;
	font-size: 0.78rem;
	/* letter-spacing: 4px; */
	text-transform: uppercase;
	font-weight: 800;
	color: #546b86;
}

.page_lost_password .lost-password-field label span {
	color: #0b2145;
}

.page_lost_password .lost-password-field input {
	width: 100%;
	height: 56px;
	box-sizing: border-box;
	border: 2px solid #d7ecff;
	border-radius: 14px;
	background: #f8fcff;
	padding: 0 18px;
	font-size: 17px;
	color: #0f172a;
	outline: none;
	transition: all 0.25s ease;
}

.page_lost_password .lost-password-field input::placeholder {
	color: #8b98a8;
    font-size: 0.95rem;
}

.page_lost_password .lost-password-field input:focus {
	background: #ffffff;
	border-color: #19aeea;
	box-shadow: 0 0 0 5px rgba(25, 174, 234, 0.14);
}

.page_lost_password .lost-password-actions {
    max-width: 350px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: center;
}

.page_lost_password .lost-password-actions a,
.page_lost_password .lost-password-actions button {
	height: 50px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.95rem;
	font-weight: 800;
	text-decoration: none;
	transition: all 0.25s ease;
}

.page_lost_password .lost-password-actions a {
	border: 3px solid #8be4ff;
	color: #00008b;
	background: #ffffff;
}

.page_lost_password .lost-password-actions button {
	border: 0;
	background: linear-gradient(135deg, #13ace8 0%, #0047c8 55%, #0013a8 100%);
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 15px 30px rgba(0, 67, 180, 0.24);
}

.page_lost_password .lost-password-actions a:hover,
.page_lost_password .lost-password-actions button:hover {
	transform: translateY(-2px);
}

@media (max-width: 900px) {
	.page_lost_password .lost-password-card {
		grid-template-columns: 1fr;
	}

	.page_lost_password .lost-password-brand {
		min-height: 360px;
		padding: 35px 25px;
	}

	.page_lost_password .lost-password-form-box {
		padding: 48px 32px;
	}

	.page_lost_password .lost-password-form-box h2 {
		font-size: 42px;
	}

	.page_lost_password .brand-content h1 {
		font-size: 28px;
	}

	.page_lost_password .brand-content p {
		font-size: 20px;
	}
}

@media (max-width: 520px) {
	.page_lost_password {
		padding: 30px 12px;
	}

	.page_lost_password .lost-password-card {
		border-radius: 20px;
	}

	.page_lost_password .lost-password-logo {
		width: 120px;
		height: 120px;
	}

	.page_lost_password .lost-password-form-box {
		padding: 38px 22px;
	}

	.page_lost_password .lost-password-form-box h2 {
		font-size: 36px;
	}

	.page_lost_password .lost-password-actions {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.page_lost_password .lost-password-actions a,
	.page_lost_password .lost-password-actions button {
		height: 56px;
		font-size: 19px;
	}
}