/* User-supplied Source Han Sans faces. Preserve each face's actual weight. */
@font-face {
  font-family: "Source Han Sans Normal";
  src: url("/sourcehan-normal-20261010.woff2") format("woff2");
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Han Sans Light";
  src: url("/sourcehan-light-20261010.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Han Serif SC";
  src: url("/sourcehan-serif-medium-20261010.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Important declarations in this layer override the captured, unlayered page
   fonts without changing page dimensions, colors or icon-font families. */
@layer zjut-site-fonts {
  :root {
    --design-text-font: "Source Han Sans Light", sans-serif !important;
    --design-heading-font: "Source Han Sans Normal", sans-serif !important;
    --design-section-font: "Source Han Serif SC", serif !important;
    --design-button-font: "Source Han Sans Normal", sans-serif !important;
    --design-number-font: "Source Han Sans Light", sans-serif !important;
  }

  body,
  #app :where(div, section, article, header, main, footer, nav, aside,
    p, span, a, ul, ol, li, dl, dt, dd, table, tbody, thead, tr, td, th,
    label, small, time, font, blockquote, figcaption, form, fieldset, legend,
    button, input, textarea, select, option, h1, h2, h3, h4, h5, h6,
    strong, b, summary):not(:where(.el-icon, [class^="el-icon-"],
      [class*=" el-icon-"], [class^="icon-"], [class*=" icon-"],
      .iconfont, [class^="vjs-icon-"], [class*=" vjs-icon-"],
      .vjs-icon-placeholder, svg, svg *)),
  :where(.demo-modal-overlay, .demo-toast, .demo-loading-error),
  :where(.demo-modal-overlay, .demo-toast, .demo-loading-error)
    :where(div, p, span, a, label, small, button, input, textarea, select,
      h1, h2, h3, h4, h5, h6, strong, b, li):not(:where(.el-icon,
      [class^="el-icon-"], [class*=" el-icon-"], [class^="icon-"],
      [class*=" icon-"], .iconfont, svg, svg *)) {
    font-family: var(--design-text-font) !important;
    font-weight: 300 !important;
    font-synthesis: none !important;
  }

  #app :is(h1, h2, h3, h4, h5, h6, [role="heading"], strong, b, summary,
    .course-h3, .trainDetailR-title, .el-dialog__title, .demo-section-title,
    .tp-related-title, .hv1-training-name > a, .sp-section-title),
  #app :is(button, .sp-button, .tp-button, .up-button, .demo-button,
    .hv1-more, .sp-news-feature-link, .sp-tab, .sp-news-category-tab,
    .el-tabs__item, .nav-menu-link, .second-menu-title, .third-menu-title,
    .sub-menu-item, .nav-title, .nav-submenu),
  #app :is(.hv1-nav, .sp-nav, .up-filter-tabs, .sp-tabs, .sp-news-category-tabs,
    .tp-tabs, .hv1-ethics-tabs, .el-menu, .paginationContainer) a,
  #app .hv1-quick strong,
  :where(.demo-modal-overlay) :is(h1, h2, h3, h4, h5, h6, strong, b, button,
    .demo-button, .el-dialog__title) {
    font-family: var(--design-heading-font) !important;
    font-weight: 350 !important;
  }

  /* Section labels keep the serif identity of the homepage. Use the real
     Medium face; tertiary page titles share this serif identity. */
  #app .hv1 .hv1-section-title > h2,
  #app .secondary-page .sp-section-title,
  #app .secondary-page.tertiary-page .tp-heading h1 {
    font-family: var(--design-section-font) !important;
    font-weight: 500 !important;
  }

  /* Nested labels and links inherit their heading or control face; paragraph
     spans retain Light even when old rich text contains inline font styling. */
  #app :is(h1, h2, h3, h4, h5, h6, [role="heading"], strong, b, summary,
    button, .sp-button, .tp-button, .up-button, .demo-button, .hv1-more,
    .sp-news-feature-link, .sp-tab, .sp-news-category-tab)
    :where(a, span, strong, b, em, i, small, font):not(:where(.el-icon,
      [class^="el-icon-"], [class*=" el-icon-"], [class^="icon-"],
      [class*=" icon-"], .iconfont, svg, svg *)),
  :where(.demo-modal-overlay) :is(h1, h2, h3, h4, h5, h6, strong, b, button,
    .demo-button) :where(a, span, strong, b, em, i, small, font):not(:where(
      .el-icon, [class^="el-icon-"], [class*=" el-icon-"], [class^="icon-"],
      [class*=" icon-"], .iconfont, svg, svg *)) {
    font-family: inherit !important;
    font-weight: inherit !important;
  }

  #app :is(input, textarea)::placeholder,
  .demo-modal-overlay :is(input, textarea)::placeholder {
    font-family: var(--design-text-font) !important;
    font-weight: 300 !important;
  }
}
