.banner {
    width: 100%;
    padding-bottom: 50%;
    height: 0;
    position: relative;
}

.banner .swiper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}

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

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

.banner .swiper-pagination {
    width: fit-content;
    right: 5%;
    left: auto;
    bottom: 40px;
}

.banner .swiper-button-next,
.banner .swiper-button-prev {
    width: 70px;
    height: 100px;
}

.banner .swiper-button-prev {
    background: url(../../images/banner-L.png) no-repeat center center/contain;
    left: 5%;
}

.banner .swiper-button-prev:hover {
    background-image: url(../../images/banner-Lon.png);
}

.banner .swiper-button-next {
    background: url(../../images/banner-R.png) no-repeat center center/contain;
    right: 5%;
}

.banner .swiper-button-next:hover {
    background-image: url(../../images/banner-Ron.png);
}

.banner .swiper-button-next::after,
.banner .swiper-button-prev::after {
    content: none;
}

.bannertxt {
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    padding-bottom: 50px;
    padding-top: 40px;
}

.bannertxt h1 {
    font-size: 36px;
    color: #FFFFFF;
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    flex: 1;
}

.banner-info {
    display: flex;
    align-items: center;
    gap: 25px;
}

.banner-num {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.banner-num .num {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    width: 44px;
    height: 44px;
    background: #0059A0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.progress-ring {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-90deg);
}

.progress-ring__circle {
    stroke-dasharray: 144.5;
    stroke-dashoffset: 144.5;
    transition: 0.3s;
    stroke-linecap: round;
}

.swiper-slide-active .progress-ring__circle {
    animation: progress-ring 5s linear forwards;
}

@keyframes progress-ring {
    from {
        stroke-dashoffset: 144.5;
    }
    to {
        stroke-dashoffset: 0;
    }
}


/* 主体内容 */


/* 新闻模块 */

.part-news,
.part-think,
.part-institute {
    width: 100%;
    padding: 60px 0;
    overflow: hidden;
}

.indexTit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    gap: 0 48px;
}

.indexTit .tit {
    display: flex;
    align-items: center;
    gap: 0 36px;
    flex-shrink: 0;
}

.indexTit .tit span {
    display: block;
    font-size: 38px;
    color: #C7C7C7;
    text-transform: uppercase;
    font-weight: lighter;
    font-family: Source Han Sans CN, Source Han Sans CN;
    letter-spacing: 1px;
}

.indexTit .tit p {
    font-size: 38px;
    color: #062A7B;
    font-weight: bold;
    display: flex;
    align-items: center;
    line-height: 1;
}

.indexTit i {
    flex: 1;
    background: linear-gradient(to right, rgb(168 180 205) 0%, rgba(102, 102, 102, 0) 100%);
    height: 1px;
}

.indexMore {
    font-size: 16px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
    flex-shrink: 0;
}

.indexMore::before {
    content: "";
    width: 18px;
    height: 18px;
    background: url(../../images/icon-pie.png) no-repeat center/18px;
}

.indexMore:hover {
    color: #d88d00;
}

.indexNews {
    width: 100%;
}

.news-top {
    width: 100%;
    display: flex;
    gap: 60px;
}

.newsBanner {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.newsBanner .swiper,
.newsBanner .swiper .swiper-slide,
.newsBanner .swiper .swiper-slide i {
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.newsBanner .swiper .swiper-slide i {
    display: block;
    height: 534px;
}

.newsBanner .swiper .swiper-slide .txt {
    width: 70%;
    padding: 20px 0;
}

.newsBanner .swiper .swiper-slide .txt span,
.news-topR .bigNew .txt span {
    font-size: 16px;
    color: #666666;
}

.newsBanner .swiper .swiper-slide .txt h6,
.news-topR .bigNew .txt h6 {
    font-weight: bold;
    font-size: 26px;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.news-topR .bigNew .txt {
    padding: 20px 0;
}

.news-topR .bigNew .txt h6,
.newsBanner .swiper .swiper-slide .txt h6 {
    height: 84px;
}

.newsBanner .swiper .swiper-slide:hover .txt h6,
.news-topR .bigNew:hover .txt h6 {
    color: #062A7B;
}

.news-topR .bigNew:hover i img {
    transform: scale(1.1);
}

.news-topR .bigNew {
    width: 100%;
}

.news-topR .bigNew i {
    width: 100%;
    height: 374px;
    display: block;
    overflow: hidden;
}

.newsBtn {
    width: fit-content;
    position: absolute;
    bottom: 90px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 30px;
}

.newsBtn>div {
    position: initial;
    margin: 0;
    width: auto;
}

.newsBtn>div:hover::after {
    color: #062A7B;
}

.newsBtn .swiper-button-prev::after,
.newsBtn .swiper-button-next::after {
    color: #A2A2A2;
    font-size: 24px;
    font-weight: bold;
}

.newsBtn .swiper-pagination {
    font-size: 26px;
    color: #062A7B;
}

.newsBtn .swiper-pagination span.swiper-pagination-current {
    font-weight: bold;
    margin-right: -8px;
}

.newsBtn .swiper-pagination span.swiper-pagination-total {
    font-weight: bold;
    margin-left: -8px;
}

.news-topR {
    width: 42%;
}

.newsLis {
    display: flex;
    gap: 0px 50px;
    border-top: 1px solid #D5D5D5;
}

.newsLis li {
    flex: 1;
    padding: 45px 0;
}

.newsLis li:nth-child(3),
.newsLis li:nth-child(4) {
    flex: 0.77;
}

.newsLis li a {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.newsLis li a span {
    font-size: 16px;
    color: #666666;
    padding-left: 18px;
    background: url(../../images/icon-newlist.png) no-repeat left center/10px;
}

.newsLis li a h6 {
    font-weight: 500;
    font-size: 22px;
    color: #0E1C31;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.newsLis li a:hover h6 {
    color: #062A7B;
}


/* 论坛活动 */

.part-forum {
    width: 100%;
    background: url(../../images/lthd-bg.png) no-repeat calc(100% - 594px) 100% #21375a;
    background-attachment: fixed;
}

.forumBox {
    position: relative;
}

.forumBox .indexTit {
    flex-direction: column;
    align-items: flex-start;
    width: 36%;
    position: absolute;
    top: 80px;
}

.forumBox .indexTit.column .tit p {
    color: #fff;
}

.forumBox .indexTit.column .tit {
    margin-bottom: 15px;
}

.forumBox .indexTit.column>p {
    font-size: 18px;
    color: #FFFFFF;
}

.forumBox .indexTit.column .tit span {
    font-size: 28px;
    color: rgba(255, 255, 255, 0.5);
}

.forumTab {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    height: fit-content;
    min-height: 600px;
}

.forumTab ul {
    flex-shrink: 0;
    margin-bottom: 50px;
}

.forumTab ul li {
    display: flex;
    gap: 20px;
    align-items: center;
    cursor: pointer;
    margin-bottom: 50px;
}

.forumTab ul li i {
    background: url(../../images/bor-bot.png) no-repeat center bottom/0%;
}

.forumTab ul li.tab_act i {
    background-size: 100%;
}

.forumTab ul li a {
    font-size: 16px;
    color: #FFFFFF;
    padding-left: 40px;
    background: url(../../images/icon-tabon.png) no-repeat left center/32px;
    display: none;
}

.forumTab ul li a:hover {
    color: #d88d00;
    text-decoration: underline;
}

.forumTab ul li.tab_act a {
    display: block;
}

.forumCon,
.forumItem {
    width: fit-content;
}

.forumItem {
    display: none;
}

.forumItemCon {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: fit-content;
}

.forumItemCon a,
.noImgList {
    width: 594px;
    height: 380px;
    overflow: hidden;
    position: relative;
}

.forumItemCon a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.forumItemCon a:hover img {
    transform: scale(1.1);
}

.forumItemCon a .txt {
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%);
    padding: 30px 35px;
}

.forumItemCon a .txt .txt-head {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.forumItemCon a .txt label,
.noImgList .swiper-slide a label {
    font-size: 18px;
    color: #FFFFFF;
    border-radius: 4px;
    border: 1px solid #C2C2C2;
    width: 114px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.forumItemCon a .txt span {
    font-size: 16px;
    color: #FFFFFF;
}

.forumItemCon a .txt h6,
.noImgList .swiper-slide a h6 {
    font-size: 24px;
    color: #FFFFFF;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.noImgList {
    background: url(../../images/lthd-bannerbg.png) no-repeat right bottom/60% #062A7B;
    border: 1px solid #E4E4E4;
}

.noImgList .swiper {
    width: 100%;
    height: 100%;
}

.noImgList .swiper-slide a {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 60px;
}

.noImgList .swiper-slide a .time {
    margin: 8px 0;
}

.noImgList .swiper-slide a .time b {
    font-weight: bolder;
    font-size: 40px;
    color: #062A7B;
    -webkit-text-stroke: 1px #FFFFFF;
    text-stroke: 1px #FFFFFF;
    line-height: 1;
}

.noImgList .swiper-slide a .time p {
    font-size: 16px;
    color: #FFFFFF;
}

.forumBtn {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    background: #FFFFFF;
    padding: 15px 0;
    z-index: 10;
}

.forumBtn>div {
    position: initial;
    margin: 0;
    padding: 0 20px;
    height: auto;
    width: auto;
}

.forumBtn>div:hover::after {
    color: #062A7B;
}

.forumBtn>div:nth-child(2) {
    border-left: 1px solid #D3D3D3;
}

.forumBtn>div::after {
    color: #A2A2A2;
    font-size: 24px;
    font-weight: bold;
}


/* 智库成果*/

.thinkBox {
    width: 100%;
    display: flex;
    gap: 20px 35px;
}

.thinkBox>div {
    flex: 1;
}

.thinkBox>div.th-mid {
    flex: 1.2;
}

.th-silde {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.th-silde a.img {
    width: 100%;
    height: 280px;
    overflow: hidden;
    display: block;
}

.th-silde a>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.th-silde .txt {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 28px;
}

.th-silde .txt i,
.th-mid .item i {
    font-size: 18px;
    color: #062A7B;
    font-style: normal;
    padding-left: 24px;
    background: url(../../images/icon-hat.png) no-repeat left center/18px;
}

.th-silde .txt h6 {
    margin-bottom: 15px;
    margin-top: 5px;
}

.th-silde .txt h6 a,
.th-mid .item h6 {
    font-size: 22px;
    color: #333333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.th-silde .txt p {
    font-size: 16px;
    color: #666666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.th-silde .date,
.th-mid .item span {
    font-size: 16px;
    color: #666666;
    padding-right: 60px;
    background: url(../../images/icon-arrow.png) no-repeat right center/34px;
    width: fit-content;
    margin-top: 30px;
}

.th-silde:hover a.img img {
    transform: scale(1.1);
}

.th-silde:hover .txt h6 a {
    color: #062A7B;
}

.th-silde:hover .date {
    background-size: 40px;
}

.th-mid {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    --mid-highlight-top: calc(100% - 280px);
    --mid-highlight-height: 280px;
}

.th-mid::before {
    content: "";
    position: absolute;
    left: 0;
    top: var(--mid-highlight-top);
    width: 100%;
    height: var(--mid-highlight-height);
    background: url(../../images/icon-comma2.png) no-repeat calc(100% - 30px) calc(100% - 20px) #062A7B;
    transition: top 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
    z-index: 0;
}

.th-mid .item {
    width: 100%;
    height: 280px;
    background: #F5F5F5;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: background-color 0.35s ease, color 0.35s ease;
}

.th-mid .item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../../images/icon-comma.png) no-repeat 30px 10px;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.th-mid .item>* {
    position: relative;
    z-index: 1;
}

.th-mid .item h6 {
    margin-top: 5px;
}

.th-mid .item.is-active {
    background-color: transparent;
}

.th-mid .item.is-active::before {
    opacity: 0;
}

.th-mid .item.is-active i {
    color: #fff;
    background-image: url(../../images/icon-haton.png);
}

.th-mid .item.is-active h6 {
    color: #fff;
}

.th-mid .item.is-active span {
    color: #fff;
    background-image: url(../../images/icon-arrowon.png);
}


/* 名家书库 */

.part-master {
    width: 100%;
    background: #EDF1F8;
    padding-top: 60px;
    overflow: hidden;
}

.masterBox,
.forumBox {
    width: 92%;
    margin-left: 8%;
}

.indexTit.column .tit {
    flex-direction: column-reverse;
    align-items: flex-start;
}

.indexTit.column .tit p {
    color: #333;
}

.masterBanner {
    display: flex;
    align-items: flex-end;
    gap: 60px;
    margin-top: -110px;
}

.masterBanner .swiper {
    flex: 1;
    padding-top: 10px;
}

.book-detail {
    width: 345px;
    min-width: 300px;
    margin-bottom: 90px;
}

.book-content {
    width: 100%;
    height: 210px;
    overflow: hidden;
}

.book-content h2 {
    font-weight: bold;
    font-size: 24px;
    color: #333333;
    margin-bottom: 30px;
}

.book-content i {
    font-weight: bold;
    font-size: 16px;
    color: #062A7B;
    padding-left: 22px;
    background: url(../../images/icon-feather.png) no-repeat left center/18px;
}

.book-content p {
    font-size: 16px;
    color: #666666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    margin-top: 10px;
}

#bookSwiper .swiper-slide {
    width: 364px;
    cursor: pointer;
}

#bookSwiper .swiper-slide:hover .book-card {
    transform: translateY(-10px);
}


/* 书籍卡片样式 */

.book-card {
    width: 100%;
    height: 505px;
    background: #fff;
    position: relative;
    overflow: hidden;
}

.masterBanner .swiper-slide::after {
    content: "";
    height: 88px;
    display: block;
    margin-top: 10px;
    background: linear-gradient( to top, rgba(237, 241, 248, 0.3) 0%, #FFFFFF 100%);
}

.book-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.book-card h3 {
    position: absolute;
    left: 20px;
    top: 0;
    background: url(../../images/icon-mark.png) no-repeat;
    color: #fff;
    width: 64px;
    height: 147px;
    writing-mode: vertical-rl;
    display: flex;
    align-items: center;
    padding-top: 20px;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 3px;
}

.masterBtn {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    height: fit-content;
    margin-top: 40px;
}

.masterBtn>div {
    position: initial;
    background: #fff;
    width: 58px;
    height: 58px;
    margin: 0;
}

.masterBtn>div::after {
    color: #666;
    font-size: 24px;
    font-weight: bolder;
}

.masterBtn>div:hover {
    background: #062A7B;
}

.masterBtn>div:hover::after {
    color: #fff;
}


/* 国金学者 */

.indexTit.institute-tit {
    justify-content: center;
    position: relative;
}

.indexTit.institute-tit .tit {
    align-items: center;
}

.indexTit.institute-tit a.indexMore {
    position: absolute;
    right: 0;
}

.instituteBox {
    width: 100%;
    display: flex;
    gap: 46px;
}

.instit-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.instit-side a,
.instit-mid a {
    display: flex;
    flex-direction: column;
}

.instit-side a i,
.instit-mid a i {
    display: block;
    width: 100%;
    height: 216px;
    overflow: hidden;
}

.instit-side a:hover i img,
.instit-mid a:hover i img {
    transform: scale(1.1);
}

.instit-mid a i {
    height: 458px;
}

.instit-side a h6 {
    font-size: 20px;
    color: #333333;
    font-weight: normal;
    margin: 8px 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.instit-side a:hover h6,
.instit-mid a:hover .txt h6 {
    color: #1548c0;
}

.instit-mid {
    flex: 2;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.15);
}

.instit-mid a .txt {
    background: #fff;
    padding: 30px 40px;
}

.instit-mid a .txt h6 {
    font-size: 26px;
    color: #333333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
}

.instit-mid a .txt h6::after {
    content: "";
    width: 64px;
    height: 24px;
    background: url(../../images/icon-right.png) no-repeat center/contain;
    flex-shrink: 0;
}

.instit-mid a .txt p {
    font-size: 18px;
    color: #666666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}