/* 基础重置，兼容 IE11 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

.w1440 {
    width: 1440px;
    margin: 0 auto;
}

/* HTML5 元素在 IE 中显示为块级 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1.5;
    font-family: "Microsoft YaHei", "微软雅黑", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #222;
    background-color: #fff;
}

/* 主题变量（便于对齐 PSD） */
:root {
    --topbar-bg: #4156a5;
    --primary: #3e5ea9;
    --text-inverse: #ffffff;
}

ol,
ul {
    list-style: none;
}

a {
    color: #0b63ce;
    text-decoration: none;
}



img {
    max-width: 100%;
    height: auto;
    border: 0;
    display: block;
}

/* 栅格与容器 */
.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    -ms-transition: -ms-transform .25s ease;
    transition: transform .25s ease;
}

/* 向下滚动时隐藏头部，向上滚动时显示 */
.site-header.is-hidden {
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
}

.topbar {
    background: #4156a5;
    background: var(--topbar-bg);
    color: #ffffff;
    color: var(--text-inverse);
}

.topbar-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 120px;
}

.brand {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

.brand-logo {
    margin-right: 25px;
}


/* 文字品牌已替换为图片，不再需要 .brand-cn/.brand-en */

.search-form {
    position: relative;
    display: inline-block;
    width: 102px;
    height: 33px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 28px;
    background: transparent;
    -ms-transition: width .25s ease;
    transition: width .25s ease;
    box-sizing: border-box;
}

.search-input {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 50%;
    height: 24px;
    margin-top: -12px;
    padding: 0 8px;
    color: #fff;
    background: transparent;
    border: none;
    outline: none;
    opacity: 0;
    width: 0;
    -ms-transition: opacity .2s ease;
    transition: opacity .2s ease;
}

.search-input::-ms-input-placeholder {
    color: #cbd3df;
}

.search-input::placeholder {
    color: #cbd3df;
}

.search-btn {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 32px;
    height: 32px;
    margin: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -ms-transition: left .25s ease, transform .25s ease;
    transition: left .25s ease, transform .25s ease;
}

.search-btn:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    margin-top: -12px;
    background: url("ss.png") no-repeat center;
}

/* 打开状态：展示输入框，搜索图标靠右 */
.search-form.is-open .search-btn {
    left: calc(100% - 38px);
    /* 6px 内边距 + 32px 图标宽 */
    top: 50%;
    width: 32px;
    height: 32px;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.search-form.is-open .search-input {
    opacity: 1;
    width: auto;
    right: 48px;
}

/* 打开时扩展容器宽度 */
.search-form.is-open {
    width: 260px;
}

.header-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 64px;
}

.logo {
    font-weight: 700;
    font-size: 20px;
}

.nav-toggle {
    display: none;
    border: 1px solid #ddd;
    background: #fff;
    height: 36px;
    padding: 0 12px;
    border-radius: 4px;
}

.site-nav .nav-list {
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.site-nav .nav-list li {
    margin-left: 20px;
}

.site-nav .nav-list a {
    color: #333;
}

.site-nav .nav-list a:hover {
    color: #0b63ce;
}

.banner {
    background: #000;
}

.carousel {
    position: relative;
    overflow: hidden;
}

.swiper-container.banner-swiper {
    position: relative;
    overflow: hidden;
}

.swiper-container.banner-swiper .swiper-wrapper {
    height: 100%;
}

.swiper-container.banner-swiper .swiper-slide {
    height: 100%;
}

.slides {
    position: relative;
}

.slide {
    position: relative;
}

.slide img {
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    max-width: none;
    /* 由 JS 控制宽高以实现 cover 效果 */
}

/* Banner 标题入场 */
.banner .swiper-slide .slide-caption {
    opacity: 0;
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    transition: opacity .5s ease, transform .5s ease;
}

.banner .swiper-slide-active .slide-caption {
    opacity: 1;
    -ms-transform: none;
    transform: none;
}

/* 轮播文案覆盖样式（按 PSD 可再微调） */
.slide-caption {
    position: absolute;
    left: 10%;
    top: 20%;
    color: #fff;
    max-width: 720px;
}

.slide-caption .en {
    font-size: 30px;
    font-weight: bold;
}

.slide-caption .bar {
    width: 80px;
    height: 10px;
    background: #ab1625;
    margin: 22px 0 60px;
}

.slide-caption .title {
    font-size: 50px;
    line-height: 1.2;
}

.dots {
    display: none;
}

.swiper-pagination {
    left: auto;
    right: 18px;
    bottom: 14px;
    text-align: right;
}

.banner-swiper .swiper-pagination-bullet {
    display: inline-block;
    width: 39px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .7);
    background: transparent;
    opacity: .7;
    color: rgba(255, 255, 255, .95);
    font-size: 18px;
    line-height: 36px;
    text-align: center;
    margin: 0 5px !important;
    box-sizing: border-box;
}

.banner-swiper .swiper-pagination-bullet-active {
    background: #4156a5;
    border-color: #4156a5;
    opacity: 1;
    color: #fff;
}

.dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .6);
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .9);
    margin-left: 8px;
}

.dot.is-active {
    background: #3e5ea9;
    background: var(--primary);
    border-color: #3e5ea9;
    border-color: var(--primary);
}

.banner .swiper-container-horizontal>.swiper-pagination-bullets,
.banner .swiper-pagination-custom,
.banner .swiper-pagination-fraction {
    bottom: 125px;
    margin: 0 auto;
    max-width: 1440px;

}

.banner .swiper-pagination {
    text-align: right;
}

.channel-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 99;
}

/* 顶部栏目悬停下划线 */
.channel-list a {
    background-image: linear-gradient(#145992, #145992);
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: 0 100%;
    transition: background-size .3s ease;
}

.channel-list a:hover {
    background-size: 100% 2px;
}

.channel-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 54px;
}

.channel-list li {
    margin: 0 24px;
    flex: 1;
    text-align: center;
}

.channel-list a {
    display: block;
    color: #145992;
    padding: 26px 0;
    font-size: 22px;
}

.section {
    padding: 32px 0;
}



/* 教学工作 */




.teaching-inner {
    position: relative;
}

.teaching-head {
    position: relative;
    z-index: 2;
    padding: 12px 0 0;
}

.title-decor {
    display: none;
}


.teaching-grid {
    position: relative;
    z-index: 2;
}



.teaching .more-link:before {
    content: '';
    position: absolute;
    left: 0;
    width: 32px;
    height: 39px;
    margin-top: -14px;
    background: url('more.png') no-repeat left center/contain;
}

.teaching-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.teaching-main {
    width: 40%;
}

.teaching-main .teach-date {
    color: #4156a5;
    font-size: 18px;
    text-align: right;
    margin-bottom: 25px;
    border-bottom: 2px solid #145992;
}

.teach-cover {
    display: block;
    height: 303px;
}

.teach-cover img {
    width: 100%;
    height: auto;
    display: block;
}

.teach-title {
    font-size: 20px;
    margin: 20px 0;
}

.teach-title a {
    color: #4156a5;
}

.teach-excerpt {
    color: #666;
}

.teaching-list {
    width: 57%;
}

.t-item {
    display: -ms-flexbox;
    display: flex;
    padding: 9px 90px;
    align-items: center;
}

.t-item:not(:last-child) {
    margin-bottom: 14px;
}

.t-item:nth-child(odd) {
    background: #4156a5;
    color: #fff;
}

.t-item:nth-child(even) {
    background: #f1f3f6;
    color: #1f2d3d;
}

.t-item:nth-child(even) .t-title {
    color: #1f2d3d;
}

.t-item:nth-child(even) .t-desc {
    color: #5a6475;
}

.t-item .t-date {
    text-align: center;
    flex-shrink: 0;
}

.t-item .t-date .d {
    font-size: 54px;
    font-weight: bold;
    line-height: 1;
}

.t-item .t-date .m {
    font-size: 18px;
    margin-top: 8px;
}

.t-item .t-body {
    display: block;
    -ms-flex: 1;
    flex: 1;
}

.t-item:nth-child(odd) .t-body {
    margin-left: 40px;
}





/* 党团学工 */
#party {
    padding-bottom: 0;
}

.party .section-head {
    margin-bottom: 16px;
}

.party-inner {
    position: relative;
}

.party-head {
    position: relative;
    z-index: 2;
    padding: 12px 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: end;
    align-items: flex-end;
}







.party-card {
    padding: 46px 30px;
    background: #fff url(dtnrbj.png) no-repeat right bottom;

}

.party-card .p-date {
    color: #666;
    border-bottom: 2px solid #145992;
    display: inline-block;
    margin-bottom: 40px;
}

.party-card .p-title {
    font-size: 18px;
    height: 70px;
}

.party-card .p-desc {
    color: #666;
    font-size: 14px;
}

.party-swiper-wrap {
    background: url(dtbj.png) no-repeat center/cover;
    position: relative;
}

.party-swiper {
    width: 100%;
    max-width: 1073px;
    margin: 0 auto;
    padding: 56px 0 !important;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .party-swiper {
        max-width: 94%;
        padding: 40px 16px !important;
    }
}

.party .swiper-pagination {
    bottom: 4px;
}

/* 党团学工导航箭头（兼容 IE11） */
.party .swiper-button-prev,
.party .swiper-button-next {
    width: 69px;
    height: 139px;
    background: rgba(15, 22, 33, .5);
    position: absolute;
    top: 50%;
    margin-top: -69px;
}

/* 具体左右位置改由 JS 计算设置，保持样式基础 */
.party .swiper-button-prev {
    left: 0;
    background: url(zjt.png) no-repeat;
}

.party .swiper-button-next {
    right: 0;
    background: url(yjt.png) no-repeat;
}



@media screen and (min-width: 769px) {
    .party-swiper .swiper-wrapper {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }

    .party-swiper .swiper-slide {
        -ms-transition: transform .25s ease, box-shadow .25s ease;
        transition: transform .25s ease, box-shadow .25s ease;
    }
}

/* 中间卡片放大突出（通过 JS 添加 .is-center） */
.party-swiper .swiper-slide.is-center {
    -ms-transform: scale(1.07);
    transform: scale(1.07);
    box-shadow: 6px 6px 8px rgba(15, 22, 33, .2);
}

.t-item:nth-child(even) {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.t-item:nth-child(even) .t-date {
    color: #4156a5;
    margin-left: 20px;
}

.t-item .t-title {
    font-size: 18px;
    margin-bottom: 4px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.t-item .t-desc {
    font-size: 14px;
    color: #e1e2e4;
    opacity: .8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 师资队伍 + 产教融合 */
#teachers {
    background: url(szbj.png) no-repeat;
    padding-top: 64px;
}

.teachers-inner {
    position: relative;
}

.teachers-head {
    position: relative;
    z-index: 2;
    width: 100%;
}









.teachers-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.teacher-cards {
    width: 48%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: flex-start;
}

.teacher-card {
    position: relative;
    box-sizing: border-box;
    width: 50%;
    margin-bottom: 26px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 22, 33, .08);
}

.teacher-card:nth-of-type(2) {
    margin-top: 57px;
    /* 错位 */
}

.tch-cover img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 232px;
}

.tch-cover {
    display: block;
    border: 1px solid #e6ecf7;
}

.tch-meta {
    background: #c9232b url(sznrbj.png) no-repeat right bottom;
    color: #fff;
    padding: 20px 20px 50px;
}

.teacher-card:nth-of-type(2) .tch-meta {
    background: #294f9a url(sznrbj.png) no-repeat right bottom;
}

.tch-date {
    font-size: 15px;
}

.tch-name {
    font-size: 18px;
    margin-bottom: 17px;
}

.tch-desc {
    color: #fff;
    font-size: 15px;
    opacity: .75;
}

.industry {
    width: 49%;
}

.industry-head {
    margin-bottom: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: end;
    align-items: flex-end;
}


.ind-cover {
    width: 281px;
    margin-right: 28px;
    flex-shrink: 0;
}

.ind-cover img {
    height: 210px;
}




.industry-content {
    display: block;
}




@media screen and (min-width: 769px) {
    .industry-content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-bottom: 38px;
        margin-bottom: 10px;
        border-bottom: 1px solid #dcdad8;
    }



}

.ind-title {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 20px;
}

.ind-title a {
    color: #4c4c4c;
}

.ind-desc {
    font-size: 15px;
    color: #666666;
}

.ind-date {
    color: #4055a2;
    font-weight: bold;
    margin: 20px 0 0;
}

.ind-list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 24px 0;
    border-bottom: 1px solid #dcdad8;
}

.ind-list li a {
    color: #333;
    font-size: 18px;
}

.ind-list li .d {
    color: #666666;
    flex-shrink: 0;
}



/* 学院概况 + 常用下载 */
.about-downloads .about-downloads-inner {
    position: relative;
}

.about-downloads-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.about {
    width: 48%;
}

.downloads {
    width: 48%;
}

.about-downloads-head {
    margin-bottom: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: end;
    align-items: flex-end;
}

/* 依赖统一标题样式，移除空规则集 */




.about-downloads-about-body .section-desc {
    color: #555;
    font-size: 18px;
    line-height: 1.74;
}

.dl-list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed #e5e5e5;
    flex-direction: column;
}

.dl-list li:first-child {
    padding-top: 0;
}

.dl-list li a {
    color: #333;
    font-size: 18px;
    margin-bottom: 7px;
}

.dl-list li .d {
    color: #4055a2;
    margin-bottom: 8px;
}

/* 统一的栏目标题样式（与“教学工作”一致，应用于所有 section） */
.section .section-head {
    margin-bottom: 30px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
}

.section .title-wrap {
    position: relative;
    background: url('btjz.png') no-repeat center bottom;
    width: 294px;
    height: 90px;
    text-align: center;
}

.section .title-cn {
    font-size: 36px;
    color: #4055a2;
    margin: 0;
    margin-top: 10px;
}

.section .title-en {
    font-size: 18px;
    color: #999;
    position: relative;
    display: inline-block;
    padding-left: 28px;
    white-space: nowrap;
}

.section .title-en:before {
    content: '';
    position: absolute;
    left: 2px;
    top: 50%;
    width: 15px;
    height: 3px;
    margin-top: -2px;
    background: #4156a4;
}

.section .more-link {
    color: #2b4f9d;
    position: relative;
    padding-left: 23px;
    display: inline-block;
    margin-top: 16px;
}

.section .more-link:before {
    content: '';
    position: absolute;
    left: 0;
    width: 32px;
    height: 39px;
    margin-top: -14px;
    background: url('more.png') no-repeat left center/contain;
}

@media screen and (max-width: 768px) {

    .about,
    .downloads {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .teaching-grid {
        display: block;
    }

    .teaching-main,
    .teaching-list {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {

    .teacher-cards,
    .industry {
        width: 100%;
    }

    .teacher-card {
        width: 100%;
    }

    .teacher-card:nth-of-type(2) {
        margin-top: 12px;
    }

    .industry-content {
        display: block;
    }

    .ind-cover,
    .ind-body {
        width: 100%;
    }

    .ind-cover {
        margin-bottom: 12px;
    }
}

.section-desc {
    color: #555;
}

.cards {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-between;
}

.card {
    box-sizing: border-box;
    width: 32%;
    margin-bottom: 24px;
    padding: 16px;
    border: 1px solid #eee;
    border-radius: 6px;
}

.card-title {
    font-size: 18px;
    margin-bottom: 8px;
}

.card-desc {
    color: #666;
}

.list .list-items li {
    padding: 8px 0;
    border-bottom: 1px dashed #e5e5e5;
}

.list .list-items li a {
    color: #333;
}

.list .list-items li a:hover {
    color: #0b63ce;
}



footer {
    width: 100%;
    overflow: hidden;
    padding: 126px 0 46px;
    position: relative;
    background: #4853ab url(footer.png) no-repeat right bottom;
}




footer svg {
    margin: 0 !important;
}

footer .w1440 {
    overflow: initial;
    z-index: 2;
    position: relative;
}

footer .btm_top {

    margin-bottom: 40px;
}

footer .btm_top .b_imgage {

    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 40px;
}



footer .b_up .select-style h2 {

    letter-spacing: 0px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
    cursor: pointer;
    font-size: 22px;
}

footer .b_up .select-style h2.active .icon {

    transform: rotate(90deg);
}

footer .b_up .select-style h2 .icon {
    margin-left: 20px !important;
    width: 16px;
    height: 16px;
    transition: all 0.4s;
}

footer .b_up {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 90px;
}

footer .b_up .select-style {

    padding: 0 60px;
    position: relative;
}

footer .b_up .select-style ul {

    display: flex;
    align-items: center;
    position: absolute;
    bottom: -45px;
    width: 500px;
}

footer .b_up .select-style ul li {

    color: #f5abb2;
    margin-right: 35px;
    transition: all 0.4s;
}

footer .b_up .select-style ul li:hover {
    color: #ffffff;
}

footer .b_up .select-style:nth-child(1) {
    border-right: 1px solid rgb(255, 255, 255, 0.4);

}

footer .btm_bottom .fo_cm img {
    height: 17px;
    /* width: 20px; */
    object-fit: contain;
}

footer .btm_bottom .fo_cm .p_min {

    display: flex;
    align-items: center;
}

footer .btm_bottom .fo_cm {

    display: flex;
    align-items: center;
}

footer .btm_bottom .fo_cm p {

    color: #fff;
    /* opacity: 0.6; */
    line-height: 1;
}

footer .btm_bottom .btm_l {

    display: flex;
    align-items: center;
    justify-content: center;
}

footer .btm_bottom .fo_cm .p1 {
    margin-right: 8px;

}

footer .btm_bottom .fo_cm .p2 {

    margin-right: 20px;
}

footer .btm_bottom .btm_l .dz {
    margin-right: 60px;
}

footer .btm_bottom .btm_l p a {

    color: #fff;
    transition: all 0.4s;
}

footer .btm_bottom .btm_r p a {

    color: #fff;
    transition: all 0.4s;
}


footer .btm_r {

    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
}

footer .btm_r p {
    margin: 0 15px;

}

/* 通用滚动渐显（JS 会给目标加 .reveal-up 与 .is-inview） */
.reveal-up {
    opacity: 0;
    -ms-transform: translateY(16px);
    transform: translateY(16px);
    transition: opacity .7s ease, transform .7s ease;
    transition-delay: .12s;
}

.reveal-up.is-inview {
    opacity: 1;
    -ms-transform: none;
    transform: none;
}

/* 教师与教学列表轻微悬停提升 */
.teacher-card,
.t-item {
    transition: transform .25s ease, box-shadow .25s ease;
}

.teacher-card:hover,
.t-item:hover {
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(15, 22, 33, .12);
    transition: transform .28s ease .08s, box-shadow .28s ease .08s;
}

/* 党团学工卡片悬停轻微阴影（不与中间放大冲突） */
.party-card {
    transition: box-shadow .25s ease;
}

.party-swiper .swiper-slide:hover .party-card {
    box-shadow: 0 8px 16px rgba(15, 22, 33, .12);
}

/* 返回顶部按钮 */
.backtop {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #145992;
    color: #fff;
    font-size: 20px;
    line-height: 42px;
    text-align: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 8px 16px rgba(15, 22, 33, .15);
    transition: opacity .3s ease, visibility .3s ease, transform .2s ease;
    -webkit-appearance: none;
    z-index: 100;
}

.backtop:hover {
    transform: translateY(-2px);
}

.backtop.show {
    opacity: 1;
    visibility: visible;
}

.teaching .teach-cover img {
    transition: transform .35s ease;
}

.teaching .teach-cover:hover img {
    -ms-transform: scale(1.03);
    transform: scale(1.03);
}

/* 响应式：<= 768 切为手机布局 */
@media screen and (max-width: 768px) {
    .header-inner {
        height: 56px;
    }

    .nav-toggle {
        display: inline-block;
    }

    .site-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 56px;
        background: #fff;
        border-bottom: 1px solid #eee;
        max-height: 0;
        overflow: hidden;
        -ms-transition: max-height 0.3s ease;
        transition: max-height 0.3s ease;
    }

    .site-nav.is-open {
        max-height: 240px;
    }

    .site-nav .nav-list {
        display: block;
        padding: 8px 0;
    }

    .site-nav .nav-list li {
        margin: 0;
    }

    .site-nav .nav-list a {
        display: block;
        padding: 12px 16px;
    }

    .container {
        max-width: 94%;
    }

    .section {
        padding: 32px 0;
    }

    .cards {
        display: block;
    }

    .card {
        width: 100%;
    }

    footer .btm_bottom .btm_l .dz {
        margin-right: 0;
    }

    footer .btm_bottom {

        padding-top: 0;
    }

    footer .btm_bottom .fo_cm {

        margin-right: 0;

        align-items: baseline;
        margin-bottom: 20px;
    }

    footer .btm_bottom .fo_cm p {
        margin-right: 10px;
        width: auto;
        text-align: center;
        line-height: 1;
        margin-right: 0;
        margin-bottom: 10px;
    }

    footer .btm_bottom .fo_cm p:last-child {
        margin-bottom: 0;
    }

    footer .btm_bottom .fo_cm .p3 {
        width: 100%;

    }

    footer .btm_bottom .fo_cm .p1 {

        margin-right: 10px;
    }

    footer .btm_bottom .fo_cm .p2 {
        margin-right: 0;

    }

    footer {

        padding: 40px 0 40px;
    }

    footer .btm_top {

        margin-bottom: 0px;

    }

    footer .b_up {

        margin-bottom: 0px;
    }

    footer .b_up .select-style {

        padding: 0 10px;
    }

    footer .b_up .select-style ul {

        display: flex !important;
        position: unset;
        justify-content: center;
        width: 100%;
    }

    footer .b_up {

        flex-wrap: wrap;
    }

    footer .b_up .select-style {
        margin-bottom: 10px;
        width: 100%;

        margin-bottom: 20px;

    }

    footer .b_up .select-style h2 {
        margin-bottom: 10px;
        justify-content: center;
    }

    footer .b_up .select-style:nth-child(1) {

        border-right: 0px solid rgb(255, 255, 255, 0.4);
    }

    footer .b_up .select-style ul li {

        margin: 0 15px;
    }

    footer .btm_bottom {
        margin-top: 0px;
        padding-bottom: 0px;
        padding-top: 0;
    }

    footer .btm_bottom .btm_l {
        flex-wrap: wrap;
        margin-top: 0px;
        /* padding-bottom: 15px; */
        padding-bottom: 0;
    }

    footer .btm_bottom .btm_l .d0 {

        flex-wrap: wrap;
        margin-top: 0px;
    }

    footer .btm_bottom .btm_r {
        flex-wrap: wrap;
        margin-top: 0;
    }

    footer .btm_top .b_imgage {

        margin-bottom: 20px;
    }

    footer .b_up .select-style h2 .icon {
        display: none;
    }


    footer .btm_bottom .fo_cm .p_min {

        flex-wrap: wrap;
        justify-content: center;
        display: unset;
    }

    footer .btm_r p {
        line-height: 1;
        margin-bottom: 10px;
    }
}

/* IE11 专项修复：为不支持 position: sticky 的环境降级 */
@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .site-header {
        position: relative;
    }
}


/* 平板优化 */
@media screen and (max-width: 1024px) {

    /* Banner 文案略缩小 */
    .slide-caption {
        left: 6%;
        top: 16%;
    }

    .slide-caption .en {
        font-size: 22px;
    }

    .slide-caption .bar {
        width: 64px;
        height: 8px;
        margin: 16px 0 30px;
    }

    .slide-caption .title {
        font-size: 34px;
    }

    /* 频道导航内边距略收紧 */
    .channel-list {
        padding: 0 24px;
    }

    .channel-list a {
        font-size: 20px;
        padding: 20px 0;
    }

    /* 教学模块间距与排版微调 */
    .teaching-main {
        width: 45%;
    }

    .teaching-list {
        width: 52%;
    }

    .t-item {
        padding: 9px 28px;
    }
}

/* 手机端优化 */
@media screen and (max-width: 768px) {

    /* Banner 文案与分页位置 */
    .slide-caption {
        left: 6%;
        top: 14%;
        max-width: 88%;
    }

    .slide-caption .en {
        font-size: 18px;
    }

    .slide-caption .bar {
        width: 56px;
        height: 6px;
        margin: 12px 0 22px;
    }

    .slide-caption .title {
        font-size: 26px;
        line-height: 1.25;
    }

    .banner .swiper-container-horizontal>.swiper-pagination-bullets,
    .banner .swiper-pagination-custom,
    .banner .swiper-pagination-fraction {
        bottom: 56px;
    }

    /* 频道导航横向滑动（保留下划线动画） */
    .channel-overlay {
        background: rgba(255, 255, 255, .92);
    }

    .channel-list {
        padding: 0 12px;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .channel-list::-webkit-scrollbar {
        display: none;
    }

    .channel-list li {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin: 0 12px;
    }

    .channel-list a {
        padding: 14px 0;
        font-size: 18px;
    }

    /* 教学模块改为单列 */
    .teaching-grid {
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .teaching-main {
        margin-bottom: 16px;
    }

    .teaching-main,
    .teaching-list {
        width: 100%;
    }

    .teach-cover {
        height: auto;
    }

    .teach-title {
        font-size: 18px;
        margin: 14px 0;
    }

    .t-item {
        padding: 10px 16px;
    }

    .t-item .t-date .d {
        font-size: 36px;
    }

    .t-item .t-date .m {
        font-size: 14px;
        margin-top: 4px;
    }

    /* 党团学工：手机屏幕上隐藏两侧外置箭头，保留滑动手势 */
    .party-swiper-wrap .swiper-button-prev,
    .party-swiper-wrap .swiper-button-next {
        display: none;
    }

    .party-swiper .swiper-slide.is-center {
        -ms-transform: scale(1.04);
        transform: scale(1.04);
        box-shadow: 4px 4px 8px rgba(15, 22, 33, .16);
    }

    /* 师资与产教：全宽堆叠 */
    .teachers-inner .teacher-cards,
    .teachers-inner .industry {
        width: 100%;
    }

    .teacher-card {
        width: 100%;
    }

    .teacher-card:nth-of-type(2) {
        margin-top: 12px;
    }

    /* 行业与下载列表文字略小、行距略紧 */
    .industry .ind-body .ind-title {
        font-size: 18px;
    }

    .industry .ind-body .ind-desc {
        font-size: 14px;
    }

    .industry .ind-list li,
    .downloads .dl-list li {
        font-size: 14px;
        line-height: 1.5;
    }

    /* 返回顶部按钮缩小 */
    .backtop {
        right: 16px;
        bottom: 16px;
        width: 38px;
        height: 38px;
        font-size: 18px;
        line-height: 38px;
    }

    /* 区块上下留白稍缩小 */
    .section {
        padding: 24px 0;
    }

    /* 触屏上淡化“悬停”夸张效果，保留轻微阴影即可 */
    .teacher-card:hover,
    .t-item:hover {
        -ms-transform: none;
        transform: none;
        box-shadow: 0 6px 12px rgba(15, 22, 33, .10);
        transition: box-shadow .25s ease;
    }

    /* 滚动显隐在手机端略快、位移更小，显得更灵敏 */
    .reveal-up {
        -ms-transform: translateY(12px);
        transform: translateY(12px);
        transition: opacity .6s ease, transform .6s ease;
        transition-delay: .12s;
    }

    .tch-cover img {
        max-height: none;
    }

    .ind-cover img {
        height: auto;
    }
}



/* 汉堡按钮 */
@media screen and (max-width: 768px) {
    .hamburger {
        position: absolute;
        right: 12px;
        top: 10px;
        width: 36px;
        height: 36px;
        border: none;
        background: transparent;
        cursor: pointer;
        z-index: 1000;
    }

    .hamburger span {
        display: block;
        height: 2px;
        background: #145992;
        margin: 7px 4px;
    }

    /* 隐藏横向栏目条，改用抽屉 */
    .channel-overlay {
        display: none;
    }

    /* 抽屉菜单 */
    .m-menu {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        pointer-events: none;
    }

    .m-menu-mask {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, .35);
        opacity: 0;
        transition: opacity .25s ease;
    }

    .m-menu-panel {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 84%;
        max-width: 360px;
        background: #fff;
        box-shadow: -8px 0 20px rgba(15, 22, 33, .15);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        transition: transform .28s ease;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 12px 16px 24px;
    }

    .m-menu.open {
        pointer-events: auto;
    }

    .m-menu.open .m-menu-mask {
        opacity: 1;
    }

    .m-menu.open .m-menu-panel {
        -ms-transform: translateX(0);
        transform: translateX(0);
    }

    body.menu-open {
        overflow: hidden;
    }

    /* 菜单头（搜索） */

    .m-menu .search-input {
        width: 100%;
    }

    /* 顶部条内的搜索在手机端隐藏，由抽屉承载 */
    .topbar .search-form {
        display: none;
    }

    /* 菜单体（栏目列表竖排） */
    .m-menu .channel-list {
        display: block;
        padding: 0;
    }

    .m-menu .channel-list li {
        margin: 0;
        text-align: left;
    }

    .m-menu .channel-list a {
        display: block;
        padding: 14px 0;
        font-size: 18px;
        color: #145992;
        position: relative;
    }

    .m-menu .channel-list a:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: #e6e9ef;
    }
}

/* 教学工作：手机端文字不溢出 */
@media screen and (max-width: 768px) {
    .t-item {
        align-items: flex-start;
    }

    .t-item .t-body {
        min-width: 0;
    }

    /* 关键：flex 子项可收缩 */
    .t-item .t-title,
    .t-item .t-desc,
    .teach-title {
        word-wrap: break-word;
        /* 兼容 */
        word-break: break-word;
        /* IE11 有效 */
        overflow-wrap: anywhere;
        /* 现代浏览器优化，不影响 IE11 */
    }

    /* 减少左侧日期与正文间距，给正文更多空间 */
    .t-item:nth-child(odd) .t-body {
        margin-left: 16px;
    }

    .t-item:nth-child(even) .t-date {
        margin-left: 12px;
    }

    /* 文本尺寸与行高微调，提升可读性 */
    .t-item .t-title {
        font-size: 16px;
        line-height: 1.35;
    }

    .t-item .t-desc {
        font-size: 13px;
        line-height: 1.5;
    }

    /* 主图与标题略缩 */
    .teach-title {
        font-size: 18px;
        margin: 12px 0;
    }
}

/* 顶部手机端缩小高度与 LOGO 尺寸 */
@media screen and (max-width: 768px) {
    .topbar-inner {
        height: 64px;
        position: relative;
        padding-right: 56px;
    }

    .brand-logo,
    .brand-name {
        max-height: 40px;
        height: 40px;
        width: auto;
    }

    .brand-logo {
        margin-right: 10px;
    }

    .brand-name {
        max-width: calc(100vw - 160px);
    }

    .hamburger {
        top: 8px;
    }
}

@media screen and (max-width: 360px) {
    .topbar-inner {
        height: 56px;
        padding-right: 52px;
    }

    .brand-logo {
        margin-right: 8px;
    }

    .hamburger {
        top: 6px;
    }
}

@media screen and (max-width: 768px) {

    .container,
    .party-swiper {
        box-sizing: border-box;
    }

    .container {
        max-width: 100%;
        padding: 0 12px;
    }

    .party-swiper {
        max-width: calc(100% - 32px);
        padding: 40px 16px !important;
    }
}


/* 默认隐藏汉堡与抽屉（PC 端） */
.hamburger,
.m-menu {
    display: none;
}

@media screen and (min-width: 769px) {

    .hamburger,
    .m-menu {
        display: none !important;
    }

    /* 保险隐藏 */
}

/* 手机端显示，并增强可见性与对比 */
@media screen and (max-width: 768px) {
    .hamburger {
        display: block;
        position: absolute;
        right: 12px;
        top: 14px;
        width: 36px;
        height: 36px;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        z-index: 1000;
    }

    .hamburger span {
        display: block;
        height: 2px;
        margin: 7px 6px;
        background: #fff;
        width: 24px;
    }

    .m-menu {
        display: block;
    }

    .m-menu-panel {
        background: #fff;
    }

    .m-menu .search-form {
        display: -ms-flexbox;
        display: flex;
        margin: 6px 0 12px;
    }

    .m-menu .search-input {
        -ms-flex: 1;
        flex: 1;
        background: transparent;
        border: 0;
        color: #1f2d3d;
    }

    .m-menu .search-input::placeholder {
        color: #7a8aa0;
    }

    .m-menu .search-btn {
        width: 36px;
        height: 36px;
        background: #145992;
        border: 0;
        border-radius: 6px;
    }
}

@media screen and (max-width: 768px) {

    /* 默认无背景/边框 */
    .m-menu .search-form {
        background: transparent;
        border: 1px solid transparent;
        transition: background-color .2s ease, border-color .2s ease;
    }

    /* 展开时才显示背景/边框 */
    .m-menu .search-form.is-open {
        background: #f3f6fb;
        border-color: #dfe4ee;
    }
}


@media screen and (max-width: 542px) {
    .brand-logo {
        height: 26px !important;
    }

    .brand-name {
        height: 18px !important;
    }
}

/* ≤768 */
@media screen and (max-width: 768px) {
    .slide-caption {
        left: 6%;
        top: 12%;
        max-width: 84%;
    }

    .slide-caption .en {
        font-size: 16px;
    }

    .slide-caption .bar {
        width: 40px;
        height: 4px;
        margin: 10px 0 16px;
    }

    .slide-caption .title {
        font-size: 20px;
        line-height: 1.2;
    }

    .banner .swiper-container-horizontal>.swiper-pagination-bullets {
        bottom: 16px;
    }

    .banner .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        margin: 0 6px;
        border: 0;
        background: rgba(20, 89, 146, .35);
        font-size: 0;
        line-height: 0;
        /* 隐藏数字 */
    }

    .banner .swiper-pagination-bullet-active {
        background: #145992;
    }

    .downloads,
    .industry {
        margin-top: 36px;
    }
}

/* ≤480：进一步压缩文案 */
@media screen and (max-width: 480px) {
    .slide-caption {
        top: 10%;
        max-width: 82%;
    }

    .slide-caption .en {
        font-size: 14px;
    }

    .slide-caption .bar {
        width: 36px;
        height: 4px;
        margin: 8px 0 12px;
    }

    .slide-caption .title {
        font-size: 18px;
    }
}

/* ≤360：隐藏分页 */
@media screen and (max-width: 360px) {
    .banner .swiper-pagination {
        display: none;
    }

}


/* 手机端：标题居中、隐藏“查看更多”、整块可点 */
@media screen and (max-width: 520px) {
    .section .section-head {
        justify-content: center;
    }

    .section-head .title-wrap {
        display: inline-block;
        margin: 0 auto;
    }

    .section-head .more-link {
        display: none;
    }

    /* 包裹后的链接样式 */
    .section-head .title-link {
        display: inline-block;
        text-decoration: none;
        color: inherit;
        cursor: pointer;
    }

    .section-head .title-link:focus {
        outline: 2px dotted rgba(20, 89, 146, .5);
        outline-offset: 2px;
    }

    .section .title-cn {
        font-size: 28px;
    }

    .section .title-en {
        font-size: 16px;
        margin-top: 10px;
    }
}


.fnt_14 {
    color: #fff;
    opacity: .7;
}



/* 支持fade效果 */
.banner-swiper.swiper-fade .swiper-slide {
    pointer-events: none;
}

.banner-swiper.swiper-fade .swiper-slide-active {
    pointer-events: auto;
}


@media screen and (max-width: 1600px) {
    .w1440 {
        width: 80%;
    }
}

@media screen and (max-width: 1200px) {
    .w1440 {
        width: 90%;
    }
}