@charset "utf-8";

:root {
    --theme: #3a4a9d;
    --theme-dark: #2d3a7d;
    --text: #333;
    --text-sub: #999;
    --line: #e8e8e8;
}

/* ========== 顶部渐变导航 + 轮播 ========== */
.banner-wrap {
    position: relative;
    width: 100%;
}

.header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    /* 渐变层要高于导航内容区，淡出发生在文字下方 */
    height: 2.2rem;
    z-index: 100;
    /* 上半实色保可读 → 中段半透 → 底部完全透明融进轮播 */
    background: linear-gradient(
        180deg,
        rgba(58, 74, 157, 1) 0%,
        rgba(58, 74, 157, .8) 52%,
        rgba(58, 74, 157, .55) 72%,
        rgba(58, 74, 157, 0) 100%
    );
    pointer-events: none;
}

.header-inner {
    height: 1.2rem;
    pointer-events: auto;
    gap: 0 .8rem;
}

.logo {
    display: block;
    height: .77rem;
    flex-shrink: 0;
}

.logo img {
    display: block;
    height: 100%;
    width: auto;
}
.nav{
    flex: 1;
}
.nav-list {
    height: .9rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.nav-item {
    position: relative;
    height: 100%;
}

.nav-item > a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 .18rem;
    color: rgba(255, 255, 255, 1);
    font-size: .18rem;
    white-space: nowrap;
    font-weight: 600;
    transition: color .3s;
}

.nav-item > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: .18rem;
    width: 0;
    height: .03rem;
    background: #fff;
    border-radius: .02rem;
    transform: translateX(-50%);
    transition: width .3s ease;
}

.nav-item:hover > a,
.nav-item.active > a {
    color: #fff;
}

.nav-item:hover > a::after,
.nav-item.active > a::after {
    width: calc(100% - .5rem);
}

.nav-item .subnav {
    position: absolute;
    left: 50%;
    top: 100%;
    min-width: 1.4rem;
    padding: .08rem 0;
    background: #fff;
    box-shadow: 0 .06rem .2rem rgba(0, 0, 0, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(.08rem);
    transition: all .25s;
    z-index: 200;
}

.nav-item .subnav::before {
    content: "";
    position: absolute;
    left: 0;
    top: -.1rem;
    width: 100%;
    height: .1rem;
}

.nav-item:hover .subnav {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.nav-item .subnav a {
    display: block;
    padding: .1rem .18rem;
    font-size: .16rem;
    color: #333;
    text-align: center;
    white-space: nowrap;
    transition: color .3s, background .3s;
}

.nav-item .subnav a:hover {
    color: var(--theme);
    background: #f5f7fb;
}

/* ========== 轮播 ========== */
.banner {
    width: 100%;
    overflow: hidden;
}

.banner-swiper {
    width: 100%;
}

.banner-swiper .swiper-slide a {
    display: block;
}

.banner-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height:8.82rem;
    object-fit: cover;
}

.banner-pagination {
    bottom: .2rem !important;
}

.banner-pagination .swiper-pagination-bullet {
    width: .1rem;
    height: .1rem;
    background: #fff;
    opacity: .5;
}

.banner-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--theme);
}

/* ========== 通用区块标题 ========== */
.section {
    padding: .5rem 0;
}

.sec-hd {
    margin-bottom: .36rem;
}

.sec-tit {
    line-height: 1;
}

.sec-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: .42rem;
    margin-right: .12rem;
    font-style: normal;
    flex-shrink: 0;
}

.sec-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.sec-tit .name {
    font-size: .36rem;
    font-weight: bold;
    letter-spacing: .02rem;
    line-height: 1;
}

.sec-tit .name em {
    font-style: normal;
    font-weight: bold;
    color: #222;
}

.sec-tit .name b {
    font-weight: bold;
    color: var(--theme);
}

.sec-line {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .05rem;
    margin-left: .14rem;
    margin-top: -0.1em;
}

.sec-line i {
    display: block;
    height: 1px;
    background: #ccd0e3;
    font-style: normal;
}

/* 上短靠右，下长靠左 */
.sec-line i:nth-child(1) {
    width: .78rem;
    margin-left: 0.15rem;
}

.sec-line i:nth-child(2) {
    width: .78rem;
}

.more {
    font-size: .18rem;
    color: var(--theme);
    transition: opacity .3s;
    font-weight: 600;
}

.more:hover {
    opacity: .75;
}

/* ========== 新闻 + 通知 ========== */
.section-news {
    position: relative;
    background: #ffffff  url(../images/bannerbg1.png) center calc(100% + 2.2rem)  no-repeat;;
    background-size: cover;
    overflow: hidden;
    padding: .5rem 0 1rem;
}


.section-news .w1650 {
    position: relative;
    z-index: 1;
}

.news-box {
    width: 10.35rem;
}

.notice-box {
    width: 5.7rem;
}

.news-body {
    width: 10.35rem;
    align-items: stretch;
}

.news-swiper-wrap {
    width: 4.7rem;
    flex-shrink: 0;
}

.news-feature {
    display: block;
}

.news-feature .pic {
    width: 100%;
    height: 3.14rem;
    overflow: hidden;
    border-radius: .1rem;
}

.news-feature .pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}

.news-feature:hover .pic img {
    transform: scale(1.05);
}

.news-feature .tit {
    margin-top: .16rem;
    font-size: .18rem;
    font-weight: bold;
    color: #000;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .3s;
}

.news-feature:hover .tit {
    color: var(--theme);
}

.news-feature .desc {
    margin-top: .1rem;
    font-size: .16rem;
    color: #454141;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-pagination {
    position: static !important;
    margin-top: .18rem;
    text-align: center;
}

.news-pagination .swiper-pagination-bullet {
    width: .22rem;
    height: .06rem;
    border-radius: .04rem;
    background: #d5d8e4;
    opacity: 1;
    margin: 0 .04rem !important;
}

.news-pagination .swiper-pagination-bullet-active {
    background: var(--theme);
    width: .36rem;
}

.news-list {
    width: 5.35rem;
    height: calc(.7rem * 5 + .18rem * 4);
}

.news-item {
    align-items: stretch;
    height: .7rem;
    background: #f4f5f5;
    overflow: hidden;
    border: 0.01rem solid #e5e5e5;
}

.news-item + .news-item {
    margin-top: .18rem;
}

.news-list .date {
    width: .78rem;
    height: 100%;
    background: var(--theme);
    color: #fff;
    text-align: center;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.news-list .date .day {
    font-size: .24rem;
    font-weight: bold;
    line-height: 1;
}

.news-list .date .ym {
    font-size: .14rem;
    margin-top: .04rem;
    opacity: .95;
}

.news-list .info {
    flex: 1;
    min-width: 0;
    padding: 0 .18rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-list .tit {
    font-size: .18rem;
    font-weight: bold;
    color: #333;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .3s;
}

.news-item:hover .tit {
    color: var(--theme);
}

.news-list .desc {
    margin-top: .06rem;
    font-size: .16rem;
    color: #999;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 通知公告 */
.notice-list {
    height: calc(.7rem * 5 + .18rem * 4);
    display: flex;
    flex-direction: column;
    gap: .18rem;
}

.notice-item {
    display: flex;
    align-items: flex-start;
    height: .7rem;
    padding: .1rem .2rem;
    box-sizing: border-box;
    background: #fff;
    border-radius: .06rem;
    box-shadow: 0 .04rem .16rem rgba(58, 74, 157, .18);
    transition: box-shadow .3s;
    overflow: hidden;
}

.notice-item:hover {
    box-shadow: 0 .06rem .22rem rgba(58, 74, 157, .26);
}

.notice-list .date {
    width: .72rem;
    margin-right: .16rem;
    flex-shrink: 0;
    text-align: left;
    color: var(--theme);
    line-height: 1.15;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.notice-list .date .md {
    display: block;
    font-size: .18rem;
    font-weight: bold;
}

.notice-list .date .y {
    display: block;
    font-size: .13rem;
    margin-top: .02rem;
    font-weight: normal;
}

.notice-list .tit {
    flex: 1;
    min-width: 0;
    padding-top: .02rem;
    font-size: .18rem;
    color: #333;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .3s;
}

.notice-item:hover .tit {
    color: var(--theme);
}

/* ========== 榜样 + 服务 ========== */
.section-service {
    position: relative;
    background: #fff url("../images/logobg.png") center right no-repeat;
    background-size: contain;
}

.section-service .w1650 {
    position: relative;
    z-index: 1;
    align-items: stretch;
}

.model-box {
    width: 9.4rem;
}

.serve-box {
    position: relative;
    z-index: 2;
    margin-left: 0.8rem;
    margin-top: -.5rem;
    margin-bottom: -.5rem;
    padding: .5rem 0 .8rem .5rem;
    display: flex;
    flex-direction: column;
    box-shadow: none;
    flex: 1;
}



/* 仅左侧整高阴影 */
.serve-box::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: .36rem;
    transform: translateX(-100%);
    background: linear-gradient(
        to left,
        rgba(0, 0, 0, .1) 0%,
        rgba(0, 0, 0, .05) 35%,
        rgba(0, 0, 0, .015) 70%,
        rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
    z-index: 3;
}

.serve-box .sec-hd,
.serve-box .serve-grid {
    position: relative;
    z-index: 1;
}

.model-item {
    height: .55rem;
    border-bottom: 1px solid #e8e8e8;
    transition: padding-left .3s, background .3s;
}

.model-item:hover {
    padding-left: .08rem;

}

.model-list .tit {
    flex: 1;
    min-width: 0;
    font-size: .18rem;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .3s;
}

.model-list .tit i {
    display: inline-block;
    width: .08rem;
    height: .08rem;
    margin-right: .12rem;
    background: url(../images/list.png) center / contain no-repeat;
    flex-shrink: 0;
    font-style: normal;
    transition: transform .3s;
}

.model-list .date {
    margin-left: .2rem;
    color: var(--theme);
    font-size: .16rem;
    flex-shrink: 0;
    transition: color .3s;
}

.model-item:hover .tit {
    color: var(--theme);
}

.model-item:hover .tit i {
    transform: scale(1.2);
}



/* 学工服务宫格 */
.serve-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .2rem .18rem;
}

.serve-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 1.06rem;
    padding: 0 .16rem 0 0.5rem;
    border-radius: .08rem;
    color: #fff;
    transition: transform .3s, box-shadow .3s;
}

.serve-item:hover {
    transform: translateY(-.04rem);
    box-shadow: 0 .08rem .2rem rgba(0, 0, 0, .15);
}

.serve-item img {
    display: block;
    width: auto;
    height: .42rem;
    object-fit: contain;
    margin-right: .12rem;
    margin-bottom: 0;
    flex-shrink: 0;
}

.serve-item span {
    font-size: .22rem;
    line-height: 1.25;
    color: #fff;
    text-align: left;
}

.serve-item.c1 { background: #00917c; }
.serve-item.c2 { background: #52a6e2; }
.serve-item.c3 { background: #0c88a4; }
.serve-item.c4 { background: #20b099; }
.serve-item.c5 { background: #2191c3; }
.serve-item.c6 { background: #db9447; }

/* ========== 底部 ========== */
.footer {
    position: relative;
    background: #142786 url(../images/bottombg.png) right center  no-repeat;
    background-size: contain;
    padding: .55rem 0;
}

.footer-inner {
    position: relative;
    z-index: 1;
    align-items: center;
}

.footer-links {
    flex-shrink: 0;
}

.link-tit {
    margin-bottom: .24rem;
}

.link-tit .sec-icon img {
    filter: brightness(0) invert(1);
}

.link-tit .name {
    font-size: .36rem;
    font-weight: bold;
    letter-spacing: .02rem;
    line-height: 1;
}

.link-tit .name em,
.link-tit .name b {
    font-style: normal;
    font-weight: bold;
    color: #fff;
}

.link-tit .sec-line i {
    background: rgba(255, 255, 255, .45);
}

.link-selects {
    display: flex;
    flex-direction: column;
    gap: .12rem;
}

.dropup {
    position: relative;
    width: 2.6rem;
}

.dropup-hd {
    height: .4rem;
    padding: 0 .36rem 0 .16rem;
    border-radius: .04rem;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat right .14rem center / .1rem auto;
    color: #666;
    font-size: .17rem;
    line-height: .4rem;
    cursor: pointer;
    user-select: none;
}

.dropup.on .dropup-hd {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M6 0l6 8H0z'/%3E%3C/svg%3E");
}

.dropup-bd {
    position: absolute;
    left: 0;
    bottom: calc(100% + .04rem);
    width: 100%;
    padding: .06rem 0;
    background: #fff;
    border-radius: .04rem;
    box-shadow: 0 -.04rem .16rem rgba(0, 0, 0, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(.06rem);
    transition: all .2s;
    z-index: 20;
}

.dropup.on .dropup-bd {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropup-bd a {
    display: block;
    padding: .08rem .16rem;
    font-size: .16rem;
    color: #666;
    transition: color .3s, background .3s;
}

.dropup-bd a:hover {
    color: var(--theme);
    background: #f5f7fb;
}

.footer-right {
    text-align: right;
}

.footer-logo {
    display: inline-block;
    height: .7rem;
    margin-bottom: .22rem;
}

.footer-logo img {
    display: block;
    height: 100%;
    width: auto;
    margin-left: auto;
}

.contact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    color: #fff;
    font-size: .16rem;
    line-height: 1.6;
}

.contact span {
    white-space: nowrap;
}

.contact i {
    margin: 0 .14rem;
    font-style: normal;
    opacity: .7;
}

/* ========== 内页：半高轮播 ========== */
.banner-wrap.page-banner .banner-swiper .swiper-slide img {
    height: 4.41rem;
}

/* ========== 内页：侧栏 + 列表/详情 ========== */
#nav_slide {
    display: none;
}

.n_container {
    padding: .4rem 0 .6rem;
}

.n_container > .w15.flex {
    align-items: flex-start;
    gap: .36rem;
}

.n_left {
    flex: 0 0 3.05rem;
    width: 3.05rem;
    max-width: 100%;
}

.n_left .con {
    position: relative;
}

.n_left .con h1 {
    margin: -.56rem 0 0;
    width: 3.05rem;
    height: 1.21rem;
    background: var(--theme);
    color: #fff;
    font-size: .3rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
    border-radius: .04rem .04rem 0 0;
    position: relative;
    z-index: 2;
    box-shadow: 0 .04rem .12rem rgba(0, 0, 0, .12);
    display: flex;
    align-items: center;
    justify-content: center;
}

.n_left .con h1 span {
    display: inline-block;
}

.n_left .con h1 span::after {
    content: "";
    display: block;
    width: .42rem;
    height: .03rem;
    background: #fff;
    margin: .1rem auto 0;
    opacity: .95;
}

.n_left .ulCon {
    background: #eef1f4;
    border: 1px solid #e0e4e8;
    border-top: none;
}

.n_left .ulCon ul {
    margin: 0;
    padding: 0;
}

.n_left .ulCon > ul > li,
.n_left .ulCon > .nav-side > .side-item {
    border-bottom: 1px solid #dde2e6;
}

.n_left .ulCon > ul > li:last-child,
.n_left .ulCon > .nav-side > .side-item:last-child {
    border-bottom: none;
}

.n_left .ulCon a {
    display: block;
    position: relative;
    box-sizing: border-box;
    padding: .18rem .4rem;
    color: #000;
    font-size: .18rem;
    line-height: 1.45;
    word-break: break-word;
    text-align: center;
    transition: color .2s;
}

.n_left .ulCon a:hover,
.n_left .ulCon .side-item.on > a,
.n_left .ulCon li.on > a {
    color: var(--theme);
    font-weight: 600;
}

.n_right {
    flex: 1;
    min-width: 0;
    padding: .08rem 0 .4rem;
}

.n_right .mianbao {
    font-size: .15rem;
    color: #888;
    padding: .12rem 0 .14rem;
    border-bottom: .02rem solid #2c2c2c;
    margin-bottom: .22rem;
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .04rem;
}

.n_right .mianbao > a:first-of-type {
    position: relative;
    padding-left: .25rem;
}

.n_right .mianbao > a:first-of-type::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .16rem;
    height: .16rem;
    background: url("../images/home.png") center / contain no-repeat;
}

.n_right .mianbao a {
    color: #888;
}

.n_right .mianbao a:hover {
    color: var(--theme);
}

.n_right .mianbao i {
    font-style: normal;
    color: #bbb;
}

.n_titu ul,
.n_titu .list {
    margin: 0;
    padding: .08rem .12rem;
    border-radius: .06rem;
}

.n_titu > ul > li,
.n_titu .list > .item {
    border-bottom: 1px dashed #d8d8d8;
}

.n_titu a.clearfix {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .12rem;
    padding: .14rem .06rem;
    color: inherit;
    transition: background-color .2s ease;
}

.n_titu a.clearfix:hover {
    background: rgba(58, 74, 157, .06);
}

.n_titu .text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .12rem;
    text-align: left;
}

.n_titu h5.line1,
.n_titu .tit.line1 {
    position: relative;
    margin: 0;
    padding-left: .2rem;
    flex: 1;
    min-width: 0;
    font-size: .18rem;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s ease;
}

.n_titu h5.line1::before,
.n_titu .tit.line1::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .08rem;
    height: .08rem;
    border-radius: 50%;
    background: var(--theme);
}

.n_titu a.clearfix:hover h5.line1,
.n_titu a.clearfix:hover .tit.line1 {
    color: var(--theme);
}

.n_titu .text > i,
.n_titu .text > .date {
    display: block;
    flex-shrink: 0;
    margin-left: auto;
    font-style: normal;
    font-size: .16rem;
    color: #777;
    white-space: nowrap;
}

.n_right .show {
    margin-top: .4rem;
}

.show01 {
    margin-bottom: .35rem;
}

.show01 .show01-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .12rem .16rem;
    margin: 0;
    padding: 0 0 .22rem;
    border-bottom: 1px solid #e2e8eb;
}

.show01 .show01-ul li,
.show01 .show01-ul .meta-item {
    margin: 0;
}

.show01 .show01-ul li div,
.show01 .show01-ul .meta-item {
    display: inline-flex;
    align-items: center;
    gap: .06rem;
    box-sizing: border-box;
    padding: .08rem .16rem;
    font-size: .16rem;
    line-height: 1.45;
    color: #000;
    border-radius: .08rem;
}

.show01 .show01-ul img {
    width: .16rem;
    height: .16rem;
    object-fit: contain;
    flex-shrink: 0;
    opacity: .88;
}

.show01 h5,
.show01 .tit {
    font-size: .22rem;
    line-height: .32rem;
    text-align: center;
    margin-bottom: .2rem;
    font-weight: bold;
    color: #323232;
}

.show02 p {
    color: #323232;
    line-height: .36rem !important;
    margin-bottom: .14rem;
    background: none !important;
    word-break: break-all;
}

.show02 img {
    display: block;
    margin: 0 auto .16rem;
    max-width: 86%;
    height: auto !important;
    border: none !important;
}
