@charset "UTF-8";
/*
 * 首页弹窗公告（assets/js/notice.js，后台「首页公告」编辑）
 * 外观沿用站内弹窗：蓝色渐变标题栏 + 白色圆角卡片，按钮与页面主按钮同色；
 * 内容区超出屏幕时在卡片内滚动（按钮始终可见）；没有标题和文字时按「海报」样式，图片铺满卡片、关闭按钮在下方
 */
html.ntc-open, html.ntc-open body { overflow: hidden; }
.ntc-wrap {
  position: fixed;
  z-index: 850;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  background: rgba(3, 19, 44, 0.6);
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.ntc-wrap.is-in { opacity: 1; }
.ntc {
  position: relative;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
  width: 3.3rem;
  overflow: hidden;
  border-radius: 0.16rem;
  background: #fff;
  box-shadow: 0 0.14rem 0.3rem rgba(3, 19, 44, 0.34);
  -webkit-transform: scale(0.94);
          transform: scale(0.94);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.ntc-wrap.is-in .ntc { -webkit-transform: none; transform: none; }

/* 标题栏 */
.ntc-head {
  position: relative;
  height: 0.52rem;
  padding: 0 0.48rem;
  background-color: #2461d9;
  background-image: -webkit-linear-gradient(308deg, #1c7af0 0%, #2461d9 100%);
  background-image: linear-gradient(142deg, #1c7af0 0%, #2461d9 100%);
  color: #fff;
  text-align: center;
}
.ntc-logo {
  position: absolute;
  left: 0.12rem;
  top: 0.1rem;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0.02rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.02rem 0.05rem rgba(0, 40, 110, 0.25);
}
.ntc-logo img { width: 100%; height: 100%; }
.ntc-title {
  overflow: hidden;
  font-size: 0.17rem;
  font-weight: 700;
  line-height: 0.52rem;
  letter-spacing: 0.01rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ntc-title em { margin-left: 0.05rem; font-size: 0.12rem; font-weight: 400; opacity: 0.8; }
.ntc-close {
  position: absolute;
  right: 0.06rem;
  top: 0.08rem;
  width: 0.36rem;
  height: 0.36rem;
  color: #fff;
  font-size: 0.26rem;
  line-height: 0.34rem;
  text-align: center;
}

/* 内容区：超出时滚动，底部渐隐提示还有内容 */
.ntc-mid { position: relative; }
.ntc-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.ntc-body { padding: 0.16rem 0.16rem 0.02rem; }
.ntc-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.36rem;
  background: -webkit-linear-gradient(rgba(255, 255, 255, 0), #fff);
  background: linear-gradient(rgba(255, 255, 255, 0), #fff);
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  pointer-events: none;
}
.ntc-mid.is-more .ntc-fade { opacity: 1; }

/* 富文本（字号 5 档，与后台编辑器一致） */
.ntc-rich {
  color: #283243;
  font-size: 0.14rem;
  line-height: 1.7;
  word-wrap: break-word;
}
.ntc-rich p, .ntc-rich div { margin: 0; }
.ntc-rich ul, .ntc-rich ol { margin: 0.02rem 0; padding-left: 0.2rem; }
.ntc-rich ul { list-style: disc; }
.ntc-rich ol { list-style: decimal; }
.ntc-rich b, .ntc-rich strong { font-weight: 700; }
.ntc-rich i, .ntc-rich em { font-style: italic; }
.ntc-rich u { text-decoration: underline; }
.ntc-rich s, .ntc-rich strike, .ntc-rich del { text-decoration: line-through; }
.ntc-rich a { color: #2461d9; text-decoration: underline; }
.ntc-rich .fs-s { font-size: 0.12rem; }
.ntc-rich .fs-m { font-size: 0.14rem; }
.ntc-rich .fs-l { font-size: 0.16rem; }
.ntc-rich .fs-xl { font-size: 0.19rem; }
.ntc-rich .fs-xxl { font-size: 0.23rem; }

/* 图片：纵向排列按原比例占位（加载前就留好高度，不会跳动） */
.ntc-rich + .ntc-imgs, .ntc-imgs + .ntc-rich { margin-top: 0.12rem; }
.ntc-img {
  position: relative;
  display: block;
  height: 0;
  overflow: hidden;
  border-radius: 0.08rem;
  background: #eef3fa;
}
.ntc-img img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ntc-img + .ntc-img { margin-top: 0.08rem; }

/* 宫格：2、4 张两列，其余三列，正方形裁切显示，点击看原图 */
.ntc-imgs.is-grid { font-size: 0; }
.ntc-cell {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 32%;
  height: 0;
  padding-bottom: 32%;
  border-radius: 0.06rem;
  background-color: #eef3fa;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.ntc-imgs.is-col2 .ntc-cell { width: 49%; padding-bottom: 49%; }
.ntc-cell.is-ml { margin-left: 2%; }
.ntc-cell.is-mt { margin-top: 2%; }

/* 左右滑动：高度取最高那张的比例（限制在 0.42-1.25 之间），每张完整显示在框内 */
.ntc-slide {
  position: relative;
  height: 0;
  overflow: hidden;
  border-radius: 0.08rem;
  background: #eef3fa;
}
.ntc-track {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  font-size: 0;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.ntc-slide-item { position: relative; display: inline-block; vertical-align: top; height: 100%; }
.ntc-slide-item img {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: 100%;
  max-height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.ntc-page {
  position: absolute;
  right: 0.08rem;
  top: 0.08rem;
  padding: 0 0.07rem;
  border-radius: 0.1rem;
  background: rgba(3, 19, 44, 0.45);
  color: #fff;
  font-size: 0.11rem;
  line-height: 0.2rem;
}
.ntc-dots { height: 0.06rem; margin-top: 0.08rem; font-size: 0; line-height: 0; text-align: center; }
.ntc-dots i {
  display: inline-block;
  width: 0.06rem;
  height: 0.06rem;
  margin: 0 0.03rem;
  border-radius: 0.03rem;
  background: #d3dceb;
  -webkit-transition: width 0.2s, background-color 0.2s;
  transition: width 0.2s, background-color 0.2s;
}
.ntc-dots i.is-on { width: 0.16rem; background: #2461d9; }
.ntc-img.is-err:after, .ntc-slide-item.is-err:after {
  content: '图片加载失败';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  margin-top: -0.1rem;
  color: #8b95a4;
  font-size: 0.12rem;
  line-height: 0.2rem;
  text-align: center;
}

/* 按钮：2 个以上且文字不长时两列，奇数个时第一个占整行 */
.ntc-foot { padding: 0.12rem 0.16rem 0.16rem; font-size: 0; }
.ntc.is-nobody .ntc-foot { padding-top: 0.18rem; }
.ntc-btn {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 0.4rem;
  overflow: hidden;
  border-radius: 0.09rem;
  font-size: 0.15rem;
  font-weight: 500;
  line-height: 0.4rem;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ntc-btn.is-half { width: 48.5%; }
.ntc-btn.is-ml { margin-left: 3%; }
.ntc-btn.is-mt { margin-top: 0.09rem; }
.ntc-btn.is-primary {
  color: #fff;
  background-color: #2461d9;
  background-image: -webkit-linear-gradient(308deg, #1c7af0 0%, #2461d9 100%);
  background-image: linear-gradient(142deg, #1c7af0 0%, #2461d9 100%);
  box-shadow: 0 0.04rem 0.07rem rgba(31, 105, 222, 0.16);
}
.ntc-btn.is-outline { border: 1px solid #2461d9; color: #2461d9; background: #fff; line-height: 0.38rem; }
.ntc-btn.is-red {
  color: #fff;
  background-color: #e61a25;
  background-image: -webkit-linear-gradient(top, #fa332c 0%, #d1021e 100%);
  background-image: linear-gradient(180deg, #fa332c 0%, #d1021e 100%);
  box-shadow: 0 0.04rem 0.07rem rgba(209, 2, 30, 0.16);
}
.ntc-btn.is-green { color: #fff; background: #009842; }

/* 海报样式：图片铺满卡片，连续多张无缝拼接（长图切成几张上传也能连起来） */
.ntc.is-poster .ntc-body { padding: 0; }
.ntc.is-poster .ntc-img { border-radius: 0; background: #fff; }
/* 叠 1px，避免小数像素在两张图之间露出细缝 */
.ntc.is-poster .ntc-img + .ntc-img { margin-top: -1px; }
.ntc.is-poster .ntc-slide { border-radius: 0; }
.ntc.is-poster .ntc-dots { margin-top: 0.1rem; }
.ntc.is-poster .ntc-imgs.is-grid { padding: 0.1rem; }
.ntc-x {
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
  width: 0.36rem;
  height: 0.36rem;
  margin-top: 0.16rem;
  border: 0.015rem solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: #fff;
  font-size: 0.24rem;
  line-height: 0.32rem;
  text-align: center;
}

/* 全屏看图：左右滑动切换；比屏幕还长的图铺满宽度、上下滑动查看 */
.ntc-viewer {
  position: fixed;
  z-index: 860;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.94);
}
.ntc-viewer-track {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  font-size: 0;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.ntc-viewer-item { position: relative; display: inline-block; vertical-align: top; height: 100%; white-space: normal; }
.ntc-viewer-item img {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: 100%;
  max-height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.ntc-viewer-item.is-tall { overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.ntc-viewer-item.is-tall img { position: static; width: 100%; max-height: none; -webkit-transform: none; transform: none; }
.ntc-viewer-count, .ntc-viewer-tip {
  position: absolute;
  left: 0;
  right: 0;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.ntc-viewer-count { top: 0.16rem; font-size: 0.14rem; }
.ntc-viewer-tip { bottom: 0.22rem; color: rgba(255, 255, 255, 0.65); font-size: 0.12rem; }

/* 后台编辑时的手机预览页 */
.ntc-replay {
  position: fixed;
  z-index: 10;
  left: 50%;
  bottom: 0.9rem;
  width: 1.8rem;
  margin-left: -0.9rem;
}
