@charset "utf-8";
/* ==========================================================================
   南昌职业大学科学技术开发处 · 二级页面公共样式  public.css
   规范：flex 布局 / 不使用 gap / 不使用 CSS 变量 / 兼容 IE11 / rem 单位
   ========================================================================== */

/* ---------- 根字号自适应：1920 → 100px，上限 100px，下限 90px ---------- */
html { font-size: 5.208333vw; }
@media screen and (max-width: 1728px) { html { font-size: 90px; } }
@media screen and (min-width: 1920px) { html { font-size: 100px; } }

/* ---------- 重置 ---------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, p, form, fieldset, legend, input, textarea, button, th, td { margin: 0; padding: 0; }
ul, ol, li { list-style: none; }
img { display: block; border: 0; max-width: 100%; }
a { color: inherit; text-decoration: none; }
em, i { font-style: normal; }
table { border-collapse: collapse; border-spacing: 0; }
input, button, textarea, select { font-family: inherit; font-size: inherit; color: inherit; border: 0; background: none; outline: none; }
input { -webkit-appearance: none; border-radius: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
body { font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif; font-size: .14rem; line-height: 1.6; color: #2C3E50; background: #fff; -webkit-text-size-adjust: 100%; }
.clearfix:after { content: ""; display: block; clear: both; height: 0; visibility: hidden; }
.clearfix { *zoom: 1; }

/* ---------- 主体宽度（统一由 .wp 控制） ---------- */
.wp { width: 92%; max-width: 1300px; margin: 0 auto; }

/* ==========================================================================
   1. 顶部信息栏
   ========================================================================== */
.top-header { background: #fff; padding: .15rem 0; border-bottom: 1px solid #E3E6F1; position: relative; z-index: 20; }
.top-header .wp { display: flex; align-items: center; justify-content: space-between; }
.header-logo { display: flex; align-items: center; }
.header-logo .logo-img { height: .56rem; width: auto; }

.header-quick { display: flex; align-items: center; }
.header-quick .quick-link { position: relative; font-size: .14rem; color: #6B7B8C; padding: 0 .14rem; transition: color .2s; }
.header-quick .quick-link:first-child { padding-left: 0; }
.header-quick .quick-link + .quick-link:before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -.07rem; width: 1px; height: .14rem; background: #E3E6F1; }
.header-quick .quick-link:hover { color: #1968D8; }
/* ==========================================================================
   2. 搜索区
   ========================================================================== */
.search-section { padding: .35rem 0; background: #F8F9FB; }
.search-box-wrap { max-width: 7.60rem; margin: 0 auto; }
.search-con { position: relative; height: .64rem; padding-right: 1.28rem; border-radius: .50rem; background: #fff; box-shadow: 0 .06rem .18rem 0 rgba(196,201,233,.5); overflow: hidden; display: flex; align-items: center; }
.search-con input[type="text"] { flex: 1; min-width: 0; height: .64rem; line-height: .64rem; padding: 0 .30rem; font-size: .16rem; color: #2C3E50; }
.search-con input[type="text"]::-webkit-input-placeholder { color: #C8C8C8; }
.search-con input[type="text"]:-ms-input-placeholder { color: #C8C8C8; }
.search-con .btn-search {
    position: absolute;
    right: 0;
    top: 0;
    width: 1.28rem;
    height: .64rem;
    background: url("../images/icon-search.svg") no-repeat center center, linear-gradient(90deg, #4DA3F5 0%, #5BAEFA 100%);
    background-size: .32rem .32rem, 100% 100%;
    cursor: pointer;
}

/* ==========================================================================
   2. 主导航
   ========================================================================== */
.nav-section { background: #1A5BBF; position: -webkit-sticky; position: sticky; top: 0; z-index: 100; box-shadow: 0 .04rem .12rem rgba(26,91,191,.2); }
.nav-wp { width: 92%; max-width: 1300px; margin: 0 auto; display: flex; align-items: center; height: .56rem; }
.nav-toggle { display: none; }
.nav-menu { display: flex; align-items: center; justify-content: space-between; flex: 1; height: .56rem; }
.nav-menu > li { position: relative; height: 100%; display: flex; align-items: center; }
.nav-menu > li > a { position: relative; display: flex; align-items: center; height: 100%; padding: 0 .20rem; color: rgba(255,255,255,.9); font-size: .18rem; font-weight: 500; white-space: nowrap; transition: color .2s; }
.nav-menu > li > a:after { content: ""; position: absolute; left: 15%; right: 15%; bottom: 0; height: .03rem; background: linear-gradient(90deg, #4DA3F5 0%, #5BAEFA 100%); -webkit-transform: scaleX(0); transform: scaleX(0); transition: transform .3s; }
.nav-menu > li:hover > a, .nav-menu > li.active > a { color: #fff; }
.nav-menu > li:hover > a:after, .nav-menu > li.active > a:after { -webkit-transform: scaleX(1); transform: scaleX(1); }
.nav-menu .submenu { position: absolute; top: 100%; left: 50%; min-width: 1.80rem; padding: .08rem 0; background: #fff; border-radius: .06rem; box-shadow: 0 .08rem .24rem rgba(0,0,0,.12); opacity: 0; visibility: hidden; -webkit-transform: translateX(-50%) translateY(.08rem); transform: translateX(-50%) translateY(.08rem); transition: all .25s; }
.nav-menu > li:hover .submenu { opacity: 1; visibility: visible; -webkit-transform: translateX(-50%) translateY(0); transform: translateX(-50%) translateY(0); }
.nav-menu .submenu li a { display: block; padding: .10rem .22rem; font-size: .15rem; color: #2C3E50; text-align: center; white-space: nowrap; transition: all .2s; }
.nav-menu .submenu li a:hover { background: #F3F6F8; color: #1968D8; }
.nav-menu > li.hover .submenu {
  opacity: 1; visibility: visible;
  -webkit-transform: translateX(-50%) translateY(0);
  -ms-transform: translateX(-50%) translateY(0);
  transform: translateX(-50%) translateY(0);
}
/* ==========================================================================
   3. 内页 Banner
   ========================================================================== */
/* 内页 Banner 头图已改为各页 HTML 内联 style（见 jj/tplb/twlb/wzlb/wznr.html），
   这里只保留底色与定位铺满规则 */
.inner-banner { position: relative; height: 2.60rem; overflow: hidden; background-color: #1A5BBF; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.inner-banner .ib-mask { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: linear-gradient(105deg, rgba(25,104,216,.85) 0%, rgba(26,91,191,.62) 60%, rgba(26,91,191,.45) 100%); }
.inner-banner .ib-con { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.inner-banner .ib-title { font-size: .44rem; font-weight: 700; color: #fff; letter-spacing: .08rem; text-align: center; }
.inner-banner .ib-sub { margin-top: .10rem; font-size: .15rem; color: rgba(255,255,255,.8); letter-spacing: .10rem; text-align: center; text-transform: uppercase; }

/* ==========================================================================
   4. 面包屑
   ========================================================================== */
.crumb-bar { border-bottom: 1px solid #E3E6F1; background: #fff; }
.crumb { display: flex; align-items: center; height: .58rem; font-size: .14rem; color: #6B7B8C; }
.crumb img { width: .16rem; height: .16rem; margin-right: .08rem; }
.crumb a:hover { color: #1968D8; }
.crumb .sep { margin: 0 .08rem; color: #B9C2CC; }
.crumb .cur { color: #1968D8; }

/* ==========================================================================
   5. 页身 / 侧栏 / 主区
   ========================================================================== */
.page-body { padding: .45rem 0 .65rem; }
.page-body-gray { background: #F8F9FB; }
.page-flex { display: flex; align-items: flex-start; }
.sidebar { width: 2.60rem; flex-shrink: 0; margin-right: .40rem; }
.page-main { flex: 1; min-width: 0; }

.side-box { border: 1px solid #E3E6F1; border-radius: .06rem; overflow: hidden; background: #fff; }
.side-hd { height: .88rem; display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(135deg, #1F5FAE 0%, #2E7EDA 100%); color: #fff; }
.side-hd h3 { font-size: .24rem; font-weight: 700; letter-spacing: .02rem; }
.side-hd p { font-size: .11rem; color: rgba(255,255,255,.7); letter-spacing: .02rem; text-transform: uppercase; }
.side-menu li { border-top: 1px solid #EEF1F6; }
.side-menu li:first-child { border-top: 0; }
.side-menu li a { position: relative; display: block; padding: .15rem .40rem .15rem .26rem; font-size: .16rem; color: #2C3E50; }
.side-menu li a:hover { background: #F2F7FE; color: #1968D8; }
.side-menu li.active a { background: #F2F7FE; color: #1968D8; font-weight: 700; }
.side-menu li.active a:after { content: ""; position: absolute; right: .20rem; top: 50%; margin-top: -.06rem; width: .12rem; height: .12rem; background: url(../images/icon-arrow-blue.svg) center center no-repeat; background-size: contain; }

.side-contact { margin-top: .20rem; padding: .22rem .24rem; border: 1px solid #E3E6F1; border-radius: .06rem; background: #F8F9FB; }
.side-contact h4 { font-size: .16rem; font-weight: 700; color: #1A5BBF; padding-bottom: .12rem; margin-bottom: .12rem; border-bottom: 1px dashed #E3E6F1; }
.side-contact p { display: flex; align-items: flex-start; font-size: .13rem; color: #6B7B8C; line-height: 1.9; }
.side-contact p img { width: .16rem; height: .16rem; margin: .05rem .08rem 0 0; flex-shrink: 0; }

/* ==========================================================================
   6. 通用区块标题 / 按钮 / 分页
   ========================================================================== */
.sec-title { display: flex; align-items: center; justify-content: space-between; padding-bottom: .16rem; margin-bottom: .28rem; border-bottom: 1px solid #E3E6F1; }
.sec-title h3 { font-size: .26rem; font-weight: 700; color: #1A5BBF; padding-left: .14rem; border-left: .04rem solid #1968D8; }
.sec-title .more { font-size: .14rem; color: #6B7B8C; padding-right: .18rem; background: url(../images/icon-arrow.svg) right center no-repeat; background-size: .12rem; }
.sec-title .more:hover { color: #1968D8; }

.pager { display: flex; align-items: center; justify-content: center; margin-top: .45rem; }
.pager a, .pager span { display: inline-block; min-width: .38rem; height: .38rem; line-height: .36rem; padding: 0 .10rem; margin: 0 .05rem; border: 1px solid #E3E6F1; border-radius: .04rem; text-align: center; font-size: .14rem; color: #6B7B8C; box-sizing: border-box; background: #fff; }
.pager a:hover { border-color: #1968D8; color: #1968D8; }
.pager span.on { background: #1968D8; border-color: #1968D8; color: #fff; }
.pager span.disabled { color: #C8C8C8; }
.pager .dots { border: 0; background: none; min-width: .20rem; padding: 0; }
.pager .total { border: 0; margin-left: .14rem; color: #6B7B8C; background: none; }

/* ==========================================================================
   11. 底部信息栏
   ========================================================================== */
.footer { background: #2A70D8; color: #fff; }
.footer-main { display: flex; justify-content: space-between; align-items: center; padding: .45rem 0 .35rem; }
.footer-info { padding-right: .40rem; }
.footer-logo { display: flex; align-items: center; margin-bottom: .18rem; }
.footer-logo .logo-badge { display: flex; align-items: center; justify-content: center; height: .44rem; padding: 0 .10rem; margin-right: .14rem;   }
.footer-logo .logo-badge img { width: auto; height: .42rem; }
.footer-logo h4 { font-size: .18rem; font-weight: 600; }
.footer-info p { display: flex; align-items: center; font-size: .14rem; color: rgba(255,255,255,.85); line-height: 2; }
.footer-info p img { width: .16rem; height: .16rem; margin-right: .08rem; flex-shrink: 0; opacity: .85; }
.footer-links { display: flex; flex-shrink: 0; padding: 0 .40rem; }
.footer-links dl { margin-left: .60rem; }
.footer-links dl:first-child { margin-left: 0; }
.footer-links dl dt { font-size: .16rem; font-weight: 600; margin-bottom: .12rem; }
.footer-links dl dd { font-size: .14rem; color: rgba(255,255,255,.7); line-height: 2; }
.footer-links dl dd a:hover { color: #fff; }
.footer-qr { display: flex; flex-shrink: 0; }
.footer-qr .qr { width: .96rem; padding: .14rem .08rem; background: #fff; border-radius: .06rem; color: #6B7B8C; font-size: .12rem; text-align: center; }
.footer-qr .qr img { width: .68rem; height: .68rem; margin: 0 auto .04rem; display: block; border-radius: .03rem; }
.footer-copy { border-top: 1px solid rgba(255,255,255,.1); padding: .18rem 0; text-align: center; font-size: .13rem; color: rgba(255,255,255,.5); }

/* ==========================================================================
   8. 返回顶部
   ========================================================================== */
.to-top { position: fixed; right: .24rem; bottom: .50rem; z-index: 200; width: .50rem; height: .50rem; border-radius: 50%; background: rgba(26,91,191,.85); cursor: pointer; display: none; }
.to-top img { width: .22rem; height: .22rem; margin: .14rem auto; }
.to-top:hover { background: #1968D8; }
.to-top.on { display: block; }

/* ==========================================================================
   9. 响应式（1024px 起）
   ========================================================================== */
@media screen and (max-width: 1024px) {
  /* ----- 顶栏 / 搜索（与首页一致） ----- */
  .top-header { padding: .12rem 0; }
  .header-logo .logo-img { height: .40rem; }
  .header-quick { display: none; }
  .search-section { padding: .22rem 0; }
  .search-con { height: .50rem; padding-right: 1.00rem; border-radius: .25rem; }
  .search-con input[type="text"] { height: .50rem; line-height: .50rem; padding: 0 .16rem; font-size: .16rem; }
  .search-con .btn-search { width: 1.00rem; height: .50rem; }
  .search-con .btn-search img { width: .22rem; height: .22rem; margin: .14rem auto; }

  /* ----- 导航：汉堡 + 点击展开子菜单（与首页一致） ----- */
  .nav-wp { height: auto; min-height: .52rem; flex-wrap: wrap; }
  .nav-toggle { display: flex; align-items: center; height: .52rem; padding: 0; cursor: pointer; background: none; border: 0; outline: none; -webkit-appearance: none; }
  .nav-toggle img { width: .22rem; height: .22rem; margin: 0; }
  .nav-toggle:after { content: "菜单"; margin-left: .08rem; color: #fff; font-size: .16rem; }
  .nav-menu { display: none; flex: 1 1 100%; height: auto; flex-wrap: nowrap; white-space: normal; justify-content: flex-start; padding: .04rem 0 .10rem; }
  .nav-menu.open { display: block; }
  .nav-menu > li { display: block; height: auto; border-top: 1px solid rgba(255,255,255,.12); }
  .nav-menu > li > a { display: block; height: .46rem; line-height: .46rem; padding: 0 .04rem; font-size: .16rem; }
  .nav-menu > li > a:after { display: none; }
  .nav-menu > li.has-sub > a { position: relative; padding-right: .34rem; }
  .nav-menu > li.has-sub > a:before { content: ""; position: absolute; right: .06rem; top: 50%; margin-top: -.08rem; width: .16rem; height: .16rem; background: url(../images/icon-arrow-white.svg) center center no-repeat; background-size: contain; opacity: .7; transition: transform .25s; }
  .nav-menu > li.has-sub.open > a:before { -webkit-transform: rotate(90deg); transform: rotate(90deg); opacity: 1; }
  .nav-menu .submenu, .nav-menu > li:hover .submenu { position: static; left: auto; top: auto; display: none; width: 100%; padding: .04rem 0; border-radius: 0; background: rgba(0,0,0,.16); box-shadow: none; opacity: 1; visibility: visible; -webkit-transform: none; transform: none; }
  .nav-menu > li.open .submenu, .nav-menu > li.open:hover .submenu { display: block; }
  .nav-menu .submenu li a { padding: .11rem .28rem; text-align: left; color: rgba(255,255,255,.9); font-size: .15rem; }
  .nav-menu .submenu li a:hover { background: rgba(255,255,255,.1); color: #fff; }

  .inner-banner { height: 1.90rem; }
  .inner-banner .ib-title { font-size: .34rem; }
  .inner-banner .ib-sub { font-size: .13rem; letter-spacing: .06rem; }

  .page-flex { flex-direction: column; align-items: stretch; }
  .sidebar { width: 100%; margin: 0 0 .30rem; }
  .page-main { width: 100%; }
  .footer-main { flex-direction: column; align-items: flex-start; }
  .footer-info { padding-right: 0; }
  .footer-links { padding: .30rem 0 0; }
  .footer-links dl { margin-left: .80rem; }
  .footer-qr { padding-top: .30rem; }
}

/* ==========================================================================
   10. 移动端优化（≤768px）
   ========================================================================== */
@media screen and (max-width: 768px) {
  .wp, .nav-wp { width: 94%; }

  /* ----- 顶栏与导航尺寸已由 ≤1024 统一控制（与首页一致），此处不再重复 ----- */

  /* ----- 内页 banner / 面包屑 ----- */
  .inner-banner { height: 1.50rem; }
  .inner-banner .ib-mask { background: linear-gradient(105deg, rgba(25,104,216,.92) 0%, rgba(26,91,191,.80) 60%, rgba(26,91,191,.70) 100%); }
  .inner-banner .ib-title { font-size: .28rem; letter-spacing: .04rem; }
  .inner-banner .ib-sub { margin-top: .06rem; font-size: .11rem; letter-spacing: .04rem; }
  .crumb { height: auto; min-height: .46rem; padding: .09rem 0; flex-wrap: wrap; font-size: .13rem; line-height: 1.8; }
  .crumb img { width: .15rem; height: .15rem; }

  /* ----- 页身 / 侧栏（栏目导航改横向滑动标签） ----- */
  .page-body { padding: .28rem 0 .40rem; }
  .sidebar { margin: 0 0 .16rem; }
  .side-box { border: 0; border-radius: 0; overflow: visible; }
  .side-hd { display: none; }
  .side-menu { display: flex; overflow-x: auto; overflow-y: hidden; white-space: nowrap; border-bottom: 1px solid #E3E6F1; -webkit-overflow-scrolling: touch; -ms-overflow-style: none; scrollbar-width: none; }
  .side-menu::-webkit-scrollbar { display: none; }
  .side-menu li { flex: 0 0 auto; border-top: 0; }
  .side-menu li a { padding: .12rem .20rem; font-size: .15rem; }
  .side-menu li a:hover { background: transparent; }
  .side-menu li.active a { background: transparent; }
  .side-menu li.active a:after { display: none; }
  .side-menu li.active a:before { content: ""; position: absolute; left: .16rem; right: .16rem; bottom: 0; height: .03rem; background: linear-gradient(90deg, #4DA3F5 0%, #5BAEFA 100%); }
  .side-contact { display: none; }

  /* ----- 区块标题 ----- */
  .sec-title { padding-bottom: .12rem; margin-bottom: .20rem; }
  .sec-title h3 { font-size: .22rem; }

  /* ----- 分页 ----- */
  .pager { flex-wrap: wrap; margin-top: .30rem; }
  .pager a, .pager span { min-width: .44rem; height: .44rem; line-height: .42rem; margin: 0 .04rem .08rem; }
  .pager .total { flex: 0 0 100%; margin: .04rem 0 0; text-align: center; }
.pb_sys_common .p_goto input{margin-top: .10rem !important;}
.pb_sys_common .p_goto a, .pb_sys_common .p_search a{margin-top: .10rem !important;}
.pb_sys_common .p_t{margin-top: .10rem !important;}

  /* ----- 页脚 ----- */
  .footer-main { padding: .32rem 0 .24rem; }
  .footer-logo h4 { font-size: .17rem; }
  .footer-info p { align-items: flex-start; font-size: .13rem; line-height: 1.9; }
  .footer-info p img.fic { margin-top: .045rem; }
  .footer-links { flex-wrap: wrap; padding: .24rem 0 0; }
  .footer-links dl { margin-left: 0; margin-right: .46rem; }
  .footer-links dl:last-child { margin-right: 0; }
  .footer-links dl dt { font-size: .15rem; margin-bottom: .06rem; }
  .footer-links dl dd { font-size: .13rem; }
  .footer-qr { padding-top: .24rem; margin:0 auto; }
  .footer-qr .qr { width: 1.05rem; }
  .footer-qr .qr img { width: .70rem; height: .70rem; }
  .footer-copy { padding: .14rem 0; font-size: .12rem; line-height: 1.8; }

  /* ----- 返回顶部 ----- */
  .to-top { right: .16rem; bottom: .30rem; width: .56rem; height: .56rem; }
  .to-top img { width: .24rem; height: .24rem; margin: .16rem auto; }
}

/* ==========================================================================
   11. 小屏手机优化（≤480px）
   ========================================================================== */
@media screen and (max-width: 480px) {
  .header-logo .logo-img { height: .34rem; }
  .nav-menu > li > a { height: .48rem; }
  .inner-banner { height: 1.30rem; }
  .inner-banner .ib-title { font-size: .24rem; }
  .inner-banner .ib-sub { font-size: .10rem; }
  .side-menu li a { padding: .11rem .16rem; font-size: .14rem; }
  .sec-title h3 { font-size: .20rem; }
  .pager a, .pager span { min-width: .40rem; height: .40rem; line-height: .38rem; padding: 0 .08rem; }
}
/* 1) 不支持 sticky 时退回 relative，重建层叠上下文 */
.nav-section { position: relative; z-index: 100; }

/* 2) 双保险：二级菜单自身提到最高层 */
.nav-menu .submenu { z-index: 9999; }

/* 3) 支持 sticky 的现代浏览器恢复正常吸顶（IE 不支持 @supports，会跳过） */
@supports ((position: -webkit-sticky) or (position: sticky)) {
  .nav-section { position: -webkit-sticky; position: sticky; top: 0; }
}
