/* Graxynet JNSPS Green v2.1.25
   Global text wrapping / overflow hardening
   --------------------------------------------------------------- */

/* Every major layout child must be allowed to shrink inside flex/grid layouts. */
html body .pkp_structure_page,
html body .pkp_structure_content,
html body .pkp_structure_main,
html body .pkp_structure_sidebar,
html body .pkp_page_content,
html body .page,
html body article,
html body section,
html body .item,
html body .sub_item,
html body .value,
html body .content,
html body .main_entry,
html body .entry_details,
html body .obj_article_details,
html body .obj_article_summary,
html body .obj_issue_toc,
html body .rans-content-card,
html body .rans-section-body {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Normal prose wrapping throughout the public site. */
html body .pkp_structure_content p,
html body .pkp_structure_content li,
html body .pkp_structure_content dd,
html body .pkp_structure_content dt,
html body .pkp_structure_content blockquote,
html body .pkp_structure_content figcaption,
html body .pkp_structure_content address,
html body .pkp_structure_content .value,
html body .pkp_structure_content .description,
html body .pkp_structure_content .summary,
html body .pkp_structure_content .affiliation,
html body .pkp_structure_content .article-details-author-affiliation,
html body .pkp_structure_content .copyright,
html body .pkp_structure_content .license,
html body .pkp_structure_sidebar p,
html body .pkp_structure_sidebar li,
html body .pkp_structure_sidebar .content {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}

/* Headings and labels should wrap cleanly instead of clipping. */
html body .pkp_structure_content h1,
html body .pkp_structure_content h2,
html body .pkp_structure_content h3,
html body .pkp_structure_content h4,
html body .pkp_structure_content h5,
html body .pkp_structure_content h6,
html body .pkp_structure_content .page_title,
html body .pkp_structure_content .title,
html body .pkp_structure_content .label,
html body .pkp_structure_sidebar .title,
html body .pkp_structure_sidebar h2,
html body .pkp_structure_sidebar h3,
html body .pkp_block .title {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-overflow: clip !important;
}

/* Long links/DOIs/emails are the common cause of page overflow. */
html body .pkp_structure_content a,
html body .pkp_structure_sidebar a,
html body .obj_article_details .doi a,
html body .obj_article_details .orcid a,
html body .obj_article_details .email a,
html body .obj_article_details .citation a {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* Author and metadata cards must not force columns wider than available space. */
html body .obj_article_details ul.authors > li,
html body .obj_article_details .entry_details > .item,
html body .obj_article_details .entry_details .sub_item,
html body .obj_article_details .main_entry > .item,
html body .obj_article_summary,
html body .rans-journal-card,
html body .rans-page-section-card,
html body .rans-benefit-card {
  min-width: 0 !important;
  overflow: hidden !important;
}

html body .obj_article_details ul.authors > li *,
html body .obj_article_details .entry_details *,
html body .obj_article_summary * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

/* Images and embedded media remain inside their parent cards/pages. */
html body .pkp_structure_content img,
html body .pkp_structure_sidebar img,
html body .pkp_structure_content svg,
html body .pkp_structure_content video,
html body .pkp_structure_content iframe,
html body .pkp_structure_content embed,
html body .pkp_structure_content object {
  max-width: 100% !important;
}

html body .pkp_structure_content img,
html body .pkp_structure_sidebar img {
  height: auto !important;
}

html body .pkp_structure_content iframe,
html body .pkp_structure_content video,
html body .pkp_structure_content embed,
html body .pkp_structure_content object {
  width: 100% !important;
}

/* Tables: keep readable and prevent them from expanding the whole page. */
html body .pkp_structure_content table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-collapse: collapse !important;
}

html body .pkp_structure_content th,
html body .pkp_structure_content td {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  vertical-align: top !important;
}

/* Preformatted content should scroll rather than destroy the layout. */
html body .pkp_structure_content pre,
html body .pkp_structure_content code,
html body .pkp_structure_content samp,
html body .pkp_structure_content kbd {
  max-width: 100% !important;
}

html body .pkp_structure_content pre {
  overflow-x: auto !important;
  white-space: pre !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Sidebar block headings such as ADVERTISEMENTS / ANNOUNCEMENTS. */
html body .pkp_structure_sidebar .pkp_block .title,
html body .pkp_structure_sidebar .pkp_block h2.title,
html body .pkp_structure_sidebar .pkp_block h3.title,
html body aside .pkp_block .title {
  padding-left: 12px !important;
  padding-right: 12px !important;
  text-align: center !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Static policy/about pages get a comfortable readable measure without clipping. */
html body .page_about,
html body .page_submissions,
html body .page_contact,
html body .page_privacy,
html body .page_announcement,
html body .page_search,
html body .page_issue_archive,
html body .page_login,
html body .page_register,
html body .page_user {
  overflow-wrap: break-word !important;
}

html body .page_about > p,
html body .page_about > div,
html body .page_submissions > p,
html body .page_submissions > div,
html body .page_contact > p,
html body .page_contact > div,
html body .page_privacy > p,
html body .page_privacy > div {
  max-width: 100% !important;
}

/* Buttons may wrap onto two lines on narrow screens instead of overflowing. */
html body .cmp_button,
html body button,
html body input[type="submit"],
html body .obj_galley_link,
html body .btn,
html body .rans-submit-button,
html body .rans-page-cta-btn,
html body .rans-journal-btn,
html body .rans-hero-btn {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
}

@media (max-width: 991px) {
  html body .pkp_structure_content,
  html body .pkp_structure_main,
  html body .pkp_structure_sidebar {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body .obj_article_details > .row,
  html body .rans-about-grid,
  html body .rans-page-section-grid,
  html body .rans-journals-grid {
    min-width: 0 !important;
  }
}

@media (max-width: 767px) {
  html body .pkp_structure_content {
    overflow-x: hidden !important;
  }

  html body .pkp_structure_content p,
  html body .pkp_structure_content li,
  html body .pkp_structure_sidebar p,
  html body .pkp_structure_sidebar li {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  html body .pkp_structure_content h1,
  html body .pkp_structure_content h2,
  html body .pkp_structure_content h3,
  html body .pkp_structure_content h4,
  html body .pkp_structure_sidebar .title {
    overflow-wrap: anywhere !important;
  }

  html body .cmp_breadcrumbs,
  html body .cmp_breadcrumbs ol,
  html body .cmp_breadcrumbs li,
  html body .cmp_breadcrumbs a {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body .obj_article_details ul.authors {
    grid-template-columns: 1fr !important;
  }

  html body .pkp_structure_sidebar .pkp_block .title {
    font-size: 14px !important;
  }
}
