/* 自定义变量 */
:root{
  --bs-primary:#0062ff;
  --bs-warning:#ff9800;
  --bs-danger:#e91e63;
}

/* Banner */
.banner{height:70vh;}
.banner .carousel-item img{height:70vh;object-fit:cover;}
.banner .carousel-caption{bottom:25%;max-width:500px;}

/* 列表 卡片 */
.card-news .img-news{overflow:hidden;border-radius:.375rem .375rem 0 0;}
.card-news .img-news img{transition:transform .4s;}
.card-news:hover .img-news img{transform:scale(1.08);}
.badge-news{background:var(--bs-primary);color:#fff;font-size:.75rem;padding:.35em .65em;}

/* 页面Banner */
.page-banner{height:250px;position:relative;}
.page-banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.5);}
.page-banner > div{position:relative;z-index:1;}

/* 时间线特效 */
.timeline-item{border-left:3px solid var(--bs-primary);padding-left:15px;margin-bottom:1rem;position:relative;}
.timeline-item::before{content:'';position:absolute;left:-8px;top:0;width:13px;height:13px;background:#fff;border:3px solid var(--bs-primary);border-radius:50%;}

/* 响应式 */
@media(max-width:576px){
  .banner{height:50vh;}
  .page-banner{height:180px;}
}