:root{
--primary:#003b6f;
--blue:#008fd3;
--red:#e53935;
--text:#333;
--border:#e5e5e5;
--bg-light:#f4f5f6;
--footer-bg:#333;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
}
body{
font-family:"Arial","Microsoft YaHei",sans-serif;
color:var(--text);
background:#fff;
}
a{
text-decoration:none !important;
color:inherit;
cursor:pointer;
}
.container{
max-width:1280px;
}
.line-clamp-2{
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.line-clamp-4{
display:-webkit-box;
-webkit-line-clamp:4;
-webkit-box-orient:vertical;
overflow:hidden;
}
.header{
background:#fff;
}
.header-main{
height:130px;
display:flex;
align-items:center;
justify-content:center;
gap:40px;
padding:20px 60px 20px;
}
.school-area,.lab-area{
display:flex;
align-items:center;
}
.header-divider{
width:1px;
height:80px;
background:#f0f4fb;
flex-shrink:0;
}
.logo-img{
flex-shrink:0;
object-fit:contain;
}
.school-logo{
height:122px;
width:auto;
}
.lab-logo{
height:100px;
width:auto;
}
.nav-menu{
height:52px;
display:flex;
align-items:center;
justify-content:space-between;
gap:0;
padding:0 2px;
}
.nav-menu>a,.nav-dropdown>a{
position:relative;
font-size:20px;
font-weight:400;
color:#333;
white-space:nowrap;
padding:16px 0 14px;
transition:color .2s;
}
.nav-menu>a:hover,.nav-dropdown>a:hover{
color:var(--primary);
}
.nav-menu .active{
color:var(--primary);
font-weight:700;
}
.nav-menu .active::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:3px;
background:linear-gradient(to right,#e53935 33%,#fbc02d 33%,#fbc02d 66%,#1976d2 66%);
}
.nav-dropdown{
position:relative;
height:52px;
display:flex;
align-items:center;
}
.dropdown-menu-custom{
position:absolute;
top:50px;
right:0;
width:140px;
background:#fff;
box-shadow:0 5px 20px rgba(0,0,0,.12);
display:none;
padding:10px 0;
z-index:20;
}
.dropdown-menu-custom a{
display:block;
padding:10px 5px;
font-size:14px;
color:#333;
text-align: center;
}
.dropdown-menu-custom a:hover{
color:var(--primary);
}
.nav-dropdown:hover .dropdown-menu-custom{
display:block;
}
.banner{
width:100%;
margin-top:30px;
}
.banner img{
width:100%;
height:700px;
object-fit:cover;
display:block;
}
.section-title{
margin-bottom:28px;
display:flex;
flex-direction:column;
}
.section-title h2{
font-size:28px;
font-weight:700;
color:var(--primary);
margin:0;
line-height:1.2;
}
.section-title-row{
flex-direction:row;
align-items:flex-start;
justify-content:space-between;
gap:16px;
}
.title-wrap{
display:flex;
flex-direction:column;
}
.title-decoration{
width:60px;
height:4px;
margin-top:12px;
}
.highlights{
padding:60px 0;
}
.highlight-wrapper{
display:grid;
grid-template-columns:26% 49% 25%;
align-items:stretch;
gap:0;
}
.highlight-content{
padding-right:15px;
position:relative;
height:400px;
}
.highlightContentSwiper{
overflow:hidden;
height:calc(100% - 46px);
}
.highlight-date{
font-size:14px;
color:#999;
margin-bottom:16px;
}
.highlightContentSwiper h3{
font-size:22px;
line-height:1.45;
font-weight:700;
color:var(--primary);
margin:0 0 16px;
}
.highlightContentSwiper p{
font-size:15px;
line-height:1.8;
color:#666;
display:-webkit-box;
-webkit-line-clamp:4;
-webkit-box-orient:vertical;
overflow:hidden;
}
.highlight-content .highlight-control{
position:absolute;
left:0;
bottom:0;
display:flex;
gap:10px;
height:36px;
}
.highlight-content .highlight-control .swiper-button-prev,.highlight-content .highlight-control .swiper-button-next{
position:static;
width:36px;
height:36px;
background:#fff;
border:1px solid var(--primary);
border-radius:50%;
margin:0;
transition:background .2s,color .2s;
}
.highlight-content .highlight-control .swiper-button-prev:hover,.highlight-content .highlight-control .swiper-button-next:hover{
background:var(--primary);
}
.highlight-content .highlight-control .swiper-button-prev:after,.highlight-content .highlight-control .swiper-button-next:after{
font-size:15px;
color:var(--primary);
}
.highlight-content .highlight-control .swiper-button-prev:hover:after,.highlight-content .highlight-control .swiper-button-next:hover:after{
color:#fff;
}
.more-link{
margin-top:16px;
display:inline-flex;
align-items:center;
gap:7px;
color:#5DADE2;
font-size:15px;
font-weight:normal;
transition:color .2s;
}
.more-link:hover{
    color:var(--link-hover-color);
}
.more-link-sm{
display:inline-flex;
align-items:center;
gap:5px;
color:#5DADE2;
font-size:13px;
font-weight:normal;
transition:color .2s;
}
.more-link-sm:hover{
    color:var(--link-hover-color);
}
.highlight-image-wrap{
position:relative;
margin-right:22px;
height:400px;
}
.highlightImageSwiper{
overflow:hidden;
border-radius:8px;
}
.highlight-image{
height:400px;
position:relative;
overflow:hidden;
border-radius:8px;
}
.highlight-image::after{
content:'';
position:absolute;
left:0;
bottom:0;
width:100%;
height:50%;
background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 100%);
pointer-events:none;
z-index:1;
}
.highlight-image img{
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.08);
transition:transform 7s ease;
}
.swiper-slide-active .highlight-image img{
transform:scale(1);
}
.highlight-number{
position:absolute;
right:22px;
bottom:10px;
font-size:14px;
font-weight:300;
color:#fff;
letter-spacing:1px;
text-shadow:0 1px 4px rgba(0,0,0,.5);
z-index:5;
}
.highlight-progress.swiper-pagination{
position:absolute;
left:0;
bottom:10px;
width:100%;
height:auto;
z-index:5;
display:flex;
justify-content:center;
gap:2px;
padding:0 22px;
}
.highlight-progress .swiper-pagination-bullet{
width:22px;
height:3px;
background:rgba(255,255,255,.4);
border-radius:2px;
opacity:1;
transition:all .3s;
}
.highlight-progress .swiper-pagination-bullet-active{
background:#fff;
width:34px;
}
.highlight-news{
display:flex;
flex-direction:column;
gap:0;
height:100%;
overflow:hidden;
}
.news-card-small{
display:flex;
gap:18px;
padding:0 0 18px;
margin-bottom:15px;
border-bottom:1px solid #ddd;
flex:1;
align-items:stretch;
min-height:0;
}
.news-card-small > div{
display:flex;
flex-direction:column;
flex:1;
min-height:0;
}
.news-card-small:last-child{
border-bottom:0;
margin-bottom:0;
padding-bottom:0;
}
.small-img{
width:160px;
height:110px;
object-fit:cover;
flex-shrink:0;
border-radius:6px;
}
.news-card-small span{
font-size:12px;
color:#999;
}
.news-card-small h4{
font-size:14px;
line-height:1.45;
margin:0 0 10px 0;
color:var(--primary);
font-weight:700;
display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
}
.highlight-content .highlight-control{
margin-top:15px;
display:flex;
gap:10px;
}
.highlight-content .highlight-control .swiper-button-prev,.highlight-content .highlight-control .swiper-button-next{
position:static;
width:36px;
height:36px;
background:#fff;
border:1px solid var(--primary);
border-radius:50%;
margin:0;
transition:background .2s,color .2s;
}
.highlight-content .highlight-control .swiper-button-prev:hover,.highlight-content .highlight-control .swiper-button-next:hover{
background:var(--primary);
}
.highlight-content .highlight-control .swiper-button-prev:after,.highlight-content .highlight-control .swiper-button-next:after{
font-size:15px;
color:var(--primary);
}
.highlight-content .highlight-control .swiper-button-prev:hover:after,.highlight-content .highlight-control .swiper-button-next:hover:after{
color:#fff;
}
.news-publications{
padding:20px 0;
background:#fff;
}
.news-list{
border-top:1px solid var(--border);
}
.news-item{
display:flex;
gap:14px;
padding:16px 0;
border-bottom:1px solid var(--border);
}
.news-item:last-child{
border-bottom:0;
}
.news-date{
width:46px;
flex-shrink:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
background:var(--primary);
color:#fff;
border-radius:5px;
padding:5px 0;
text-align:center;
}
.news-month{
font-size:11px;
line-height:1;
text-transform:capitalize;
margin-bottom:3px;
}
.news-date strong{
font-size:22px;
line-height:1;
font-weight:700;
}
.news-item h4{
font-size:14px;
line-height:1.55;
margin:0;
color:var(--primary);
font-weight:700;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.publication-list{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}
.publication-card{
background:#fff;
padding-bottom:18px;
border-radius:8px;
transition:box-shadow .2s;
}
.publication-card:hover{
box-shadow:0 5px 20px rgba(0,0,0,.1);
}
.publication-image{
height:230px;
overflow:hidden;
margin-bottom:14px;
border-radius:8px 8px 0 0;
}
.publication-image img{
width:100%;
height:100%;
object-fit:cover;
}
.publication-card h3{
font-size:14px;
line-height:1.55;
padding:0 15px;
color:var(--primary);
margin-bottom:12px;
font-weight:700;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.publication-card p{
font-size:13px;
padding:0 15px;
color:#777;
margin-bottom:12px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.pub-short p{
-webkit-line-clamp:2;
}
.publication-card .more-link{
padding:0 15px;
margin-top:4px;
}
/* 首页 Publications 三态按钮（无边框无色块，简洁图标，颜色 #5DADE2） */
.publication-actions{
display:flex;
align-items:center;
gap:14px;
padding:0 15px;
margin-top:14px;
}
.publication-actions .pub-item__btn{
display:inline-flex;
align-items:center;
gap:6px;
color:#5DADE2;
text-decoration:none;
font-size:18px;
line-height:1;
transition:color .2s;
}
.publication-actions .pub-item__btn:hover{
color:var(--link-hover-color);
}
.publication-actions .pub-item__btn--doi,
.publication-actions .pub-item__btn--view{
font-size:13px;
font-weight:600;
}
.publication-actions .pub-item__btn--doi i{
font-size:18px;
line-height:1;
}
.publication-actions .pub-item__btn--view i{
font-size:14px;
line-height:1;
}
/* 首页 DOI 弹窗（与列表页 pub-doi-modal 一致） */
.pub-doi-modal{
position:fixed;
inset:0;
z-index:10000;
display:none;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.55);
padding:20px;
}
.pub-doi-modal.is-open{
display:flex;
}
.pub-doi-modal__box{
background:#fff;
border-radius:10px;
max-width:460px;
width:100%;
padding:30px 28px;
text-align:center;
box-shadow:0 12px 40px rgba(0,0,0,.2);
}
.pub-doi-modal__title{
font-size:18px;
font-weight:700;
color:#1c1c1e;
margin:0 0 10px;
}
.pub-doi-modal__text{
font-size:14px;
line-height:1.7;
color:#555;
margin:0 0 8px;
}
.pub-doi-modal__host{
font-size:13px;
color:#1976d2;
word-break:break-all;
margin:0 0 22px;
}
.pub-doi-modal__actions{
display:flex;
gap:12px;
justify-content:center;
}
.pub-doi-modal__btn{
padding:9px 26px;
border-radius:4px;
font-size:14px;
font-weight:600;
border:1px solid #dce1e5;
background:#fff;
color:#333;
cursor:pointer;
transition:.2s;
}
.pub-doi-modal__btn--cancel:hover{
background:#f4f4f4;
}
.pub-doi-modal__btn--confirm{
background:#173b59;
border-color:#173b59;
color:#fff;
}
.pub-doi-modal__btn--confirm:hover{
background:#0f2b4a;
}
.team-culture{
background:#fff;
padding:20px 0 60px;
}
.team-wrapper{
position:relative;
}
.teamSwiper{
overflow:hidden;
}
.team-image{
height:250px;
position:relative;
overflow:hidden;
border-radius:8px;
}
.team-image img{
width:100%;
height:100%;
object-fit:cover;
}
.team-caption{
position:absolute;
left:0;
bottom:0;
width:100%;
padding:40px 16px 14px;
background:linear-gradient(transparent,rgba(0,0,0,.7));
font-size:14px;
font-weight:600;
color:#fff;
line-height:1.5;
}
.team-wrapper .swiper-button-prev,
.team-wrapper .swiper-button-next{
position:absolute;
top:50%;
transform:translateY(-50%);
width:36px;
height:36px;
background:transparent;
border:1px solid rgba(255,255,255,0.9);
border-radius:50%;
z-index:10;
transition:border-color .2s;
}
.team-wrapper .swiper-button-prev{
left:5px;
}
.team-wrapper .swiper-button-next{
right:5px;
}
.team-wrapper .swiper-button-prev:after,
.team-wrapper .swiper-button-next:after{
font-size:15px;
color:rgba(255,255,255,0.9);
}
.team-wrapper .swiper-button-prev:hover,
.team-wrapper .swiper-button-next:hover{
border-color:rgba(93,173,226,0.9);
}
.team-wrapper .swiper-button-prev:hover:after,
.team-wrapper .swiper-button-next:hover:after{
color:rgba(93,173,226,0.9);
}
.awards-projects{
padding:60px 0;
background:var(--bg-light);
background-image:url('/images/home/pattern-sq.png');
background-repeat:repeat;
background-size:auto;
background-position:center -420px;
}
.awards-projects .row{
margin-left:-20px;
margin-right:-20px;
}
.awards-projects .col-lg-6{
padding:30px 20px;
background:rgba(183, 183, 183, 0.1);
flex:0 0 calc(50% - 40px);
max-width:calc(50% - 40px);
border-radius:8px;
}
.awards-projects .col-lg-6:nth-child(2){
margin-left:80px;
}
.simple-list{
border-top:1px solid #e5e5e5;
}
.simple-list div{
padding:15px 0;
border-bottom:1px solid #e5e5e5;
font-size:15px;
color:var(--primary);
}
.project-no{
color:#6c757d;
font-size:13px;
margin-left:3px;
}
.awards-projects .more-link{
float:right;
margin-top:10px;
}
.awards-projects::after{
content:"";
display:table;
clear:both;
}
@media (max-width:991px){
.header-main{
height:auto;
padding:18px 0;
flex-direction:column;
gap:16px;
align-items:flex-start;
}
.header-divider{display:none;}
.school-logo{height:52px;}
.lab-logo{height:52px;}
.nav-menu{
gap:20px;
overflow-x:auto;
justify-content:flex-start;
}
.banner img{height:320px;}
.highlight-wrapper{
grid-template-columns:1fr;
gap:30px;
}
.highlight-content{padding-right:0;}
.highlight-image-wrap{margin-right:0;}
.highlight-news{padding-left:0;}
.publication-list{grid-template-columns:1fr;}
.team-image{height:220px;}
.awards-projects .col-lg-6{margin-bottom:20px;}
.awards-projects .col-lg-6:nth-child(2){margin-left:0 !important;margin-bottom:0;}
}
