/* reset */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
p,
a,
del,
img,
strong,
tt,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
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;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}



ol,
ul,
li {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

/* 重置文本框 */
input {
    border: none;
    outline: none;
    outline-offset: 0;
}

/* 重置按钮 */
button {
    border: none;
    outline: none;
    outline-offset: 0;
    background-color: transparent;
    padding: 0;
}

/* 结束 */
@font-face {
    font-family: "Roboto-mn";
    src: url("https://static.igem.wiki/teams/5564/font/roboto-mn.ttf");
}

@font-face {
    font-family: "Roboto-mi";
    src: url("https://static.igem.wiki/teams/5564/font/roboto-mi.ttf");
}

@font-face {
    font-family: "Roboto-mb";
    src: url("https://static.igem.wiki/teams/5564/font/roboto-mb.ttf");
}

@font-face {
    font-family: "Roboto-mbi";
    src: url("https://static.igem.wiki/teams/5564/font/roboto-mbi.ttf");
}


@font-face {
    font-family: "Aileron-hn";
    src: url("https://static.igem.wiki/teams/5564/font/aileron-hn.ttf");
}

@font-face {
    font-family: "Aileron-hi";
    src: url("https://static.igem.wiki/teams/5564/font/aileron-hi.ttf");
}

@font-face {
    font-family: "Poppins";
    src: url("https://static.igem.wiki/teams/5564/font/poppins.ttf");
}

@font-face {
    font-family: "mainNav";
    src: url("https://static.igem.wiki/teams/5564/font/mainnav.ttf");
}

@font-face {
    font-family: "indexFont";
    src: url("https://static.igem.wiki/teams/5564/font/indexfont.ttf");
}

@font-face {
    font-family: "indexCounter";
    src: url("https://static.igem.wiki/teams/5564/font/indexcounter.ttf");
}

@font-face {
    font-family: "SofiaSans-mn";
    src: url("https://static.igem.wiki/teams/5564/font/sofiasans-mn.ttf");
}

@font-face {
    font-family: "SofiaSans-mi";
    src: url("https://static.igem.wiki/teams/5564/font/sofiasans-mi.ttf");
}

@font-face {
    font-family: "SofiaSans-mb";
    src: url("https://static.igem.wiki/teams/5564/font/sofiasans-mb.ttf");
}

@font-face {
    font-family: "SofiaSans-mbi";
    src: url("https://static.igem.wiki/teams/5564/font/sofiasans-mbi.ttf");
}

@font-face {
    font-family: "GillSans";
    src: url("https://static.igem.wiki/teams/5564/font/gillsans.ttf");
}

@font-face {
    font-family: "GillSans-b";
    src: url("https://static.igem.wiki/teams/5564/font/gill-sans-heavy.ttf");
}

html {
    scroll-behavior: smooth;
}

body {
    box-sizing: border-box;
    overflow-y: hidden;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.hidden {
    display: none;
}

.m-n,
.m-i,
.m-b,
.m-bi {
    font-size: 1.3vw;
    color: #242223f5;
    line-height: 2.1vw;
    text-align: justify;
    font-weight: 500;
}

.m-b,
.m-bi {
    color: #100f0f;
    font-weight: bold;
}

.container.wetLab .m-b,
.container.wetLab .m-bi {
    color: #4d0a9f;
    font-weight: bold;
}

.container.model .m-b,
.container.model .m-bi {
    color: #266803;
    font-weight: bold;
}



.container.entre .m-b,
.container.entre .m-bi {
    color: #bb5447;
    font-weight: bold;
}

.container.pro .m-b,
.container.pro .m-bi {
    color: #bb5447;
    font-weight: bold;
}

.container.education .m-b,
.container.education .m-bi {
    color: #df7303;
    font-weight: bold;
}

.img-p .m-i {
    font-size: 15px;
}

.m-n {
    font-family: 'sofiasans-mn', sans-serif;
}

.m-i {
    font-family: 'sofiasans-mi', sans-serif;
}

.m-bi {
    font-family: 'sofiasans-mbi', sans-serif;
}

.h-n,
.h2-n,
.h3-n,
.h4-n,
.h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #4b72ae;
}

.container.wetLab .h-n,
.container.wetLab .h2-n,
.container.wetLab .h3-n,
.container.wetLab .h4-n,
.container.wetLab .h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #4d0a9f;
}

.container.model .h-n,
.container.model .h2-n,
.container.model .h3-n,
.container.model .h4-n,
.container.model .h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #266803;
}

.container.entre .h-n,
.container.entre .h2-n,
.container.entre .h3-n,
.container.entre .h4-n,
.container.entre .h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #bb5447;
}

.container.pro .h-n,
.container.pro .h2-n,
.container.pro .h3-n,
.container.pro .h4-n,
.container.pro .h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #bb5447;
}

.container.education .h-n,
.container.education .h2-n,
.container.education .h3-n,
.container.education .h4-n,
.container.education .h5-n {
    font-family: 'GillSans-b', sans-serif;
    color: #ec6400;
}

.h-i,
.h2-i,
.h3-i,
.h4-i,
.h5-i {
    font-family: 'Aileron-hi', sans-serif;
}

.h-n,
.h-i {
    font-size: 5vh;
    line-height: 4vw;
}

.h2-n,
.h2-i {
    font-size: 3.7vh;
    line-height: 3.3vw;
}

.h3-n,
.h3-i {
    font-size: 3.2vh;
    line-height: 3vw;
}

.h4-n,
.h4-i {
    font-size: 2.8vh;
    line-height: 2.7vw;
}

.h5-n,
.h5-i {
    font-size: 2.5vh;
    line-height: 2.3vw;
}

.figure {
    font-weight: bold;
    color: #000000c2;
}

.img-p {
    font-family: 'SofiaSans-mn', sans-serif;
    font-size: 15px;
    color: #453c41;
    margin-top: 10px;
}


.dot {
    position: relative;
    padding-left: 20px;
}

.dot::before {
    position: absolute;
    content: "\2022";
    width: 10px;
    height: 10px;
    left: 0;
}

.a-tz {
    position: relative;
    cursor: pointer;
    font-weight: bold;
    color: #274e62;
}

.a-tz::after {
    transform-origin: center;
    transition: all .2s ease-in-out 0s;
    content: "";
    height: 2px;
    background-color: #ffffff;
    width: 100%;
    transform: scaleX(0);
    position: absolute;
    bottom: -3px;
    left: 0;
}

.a-tz:hover::after {
    transform: scaleX(1);
}

.anchor-offset {
    scroll-margin-top: 100px;
}

/* 顶部滚动条 */
.progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 5px;
    background-color: #b9a0db;
    z-index: 1000;
    transition: .2s;
}

/* 结束 */

/* loading开始 */
.loading {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    opacity: 1;
    transition: opacity 1s;
}

.loading .inner {
    width: 100vw;
    height: 100vh;
}

.loading .inner .loadingBg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    position: absolute;
    top: 0;
    left: 0;
}

.loading .inner .loadingImg {
    display: block;
    width: 33vw;
    aspect-ratio: 1;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* loading结束 */

.backImg {
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: -9;
}

.backImg.wetLab {
    background: url("https://static.igem.wiki/teams/5564/general/wetbg.webp") no-repeat center / cover;
}

.backImg.model {
    background: url("https://static.igem.wiki/teams/5564/general/modelbg.webp") no-repeat center / cover;
}

.backImg.hp {
    background: url("https://static.igem.wiki/teams/5564/general/hpbg.webp") no-repeat center / cover;
}

.backImg.education {
    background: url("https://static.igem.wiki/teams/5564/general/edubg.webp") no-repeat center / cover;
}

.backImg.team {
    background: url("https://static.igem.wiki/teams/5564/general/teambg.webp") no-repeat center / cover;
}

.backImg.entre {
    background: url("https://static.igem.wiki/teams/5564/general/entrebg.webp") no-repeat center / cover;
}

.backImg.pro {
    background: url("https://static.igem.wiki/teams/5564/general/probg1.webp") no-repeat center / cover;
}

/* 回到顶部按钮开始 */
#scrollTopButton {
    display: none;
    position: fixed;
    bottom: 4vh;
    right: 3vw;
    height: fit-content;
    border: none;
    cursor: pointer;
    border-radius: 50%;
    z-index: 998;
    transition: transform .5s;
}

.to-top img {
    width: 100px;
}

.small #scrollTopButton {
    top: 1vh;
    right: 5vw;
    z-index: 999;
}

#scrollTopButton:hover {
    transform: scale(1.1);
}

.to-top.small img {
    width: 40px;
}

@keyframes toTop {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-800px);
    }
}

.move {
    animation: toTop 1s ease-out forwards;
}

/* 回到顶部按钮结束 */

/* 滚动条 */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background-color: rgb(208, 208, 208);
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: content-box;
    cursor: pointer;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #afafaf;
}

/* 导航栏开始 */
.menu {
    position: fixed;
    width: 100%;
    height: 70px;
    box-sizing: border-box;
    top: 0;
    padding-top: 5px;
    font-family: 'Poppins', sans-serif;
    font-weight: bolder;
    z-index: 999;
}

.menu::before {
    background: rgba(255, 255, 255, .2);
    backdrop-filter: blur(25px) saturate(220%) contrast(110%);
    z-index: 998;
    content: " ";
    position: absolute;
    inset: 0;
}

.menu .contain {
    display: flex;
    justify-content: space-around;
    padding: 0;
    z-index: 1000;
    position: relative;
}

.menu .contain .teamLogo {
    height: 60px;
    display: inline-block;
    flex-shrink: 0;
    z-index: 1002;
}

.menu .contain .teamLogo img {
    height: 100%;
    display: block;
}

.menu .contain .menuList {
    display: flex;
    flex-direction: row;
    margin-right: 0;
}

.menu .contain .menuList .mainMenu {
    box-sizing: border-box;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 0 10px;
    font-family: 'SofiaSans-mn', sans-serif;
}

.menu .contain .menuList .mainMenu.hasSub .menu-arrow {
    width: 13px;
    transition: transform 0.3s ease;
    margin-left: 3px;
    display: inline-block;
}

.menu .contain .menuList .mainMenu.hasSub .menu-arrow img {
    width: 100%;
}

.menu .contain .menuList .mainMenu .submenu {
    display: none;
    position: fixed;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.menu .contain .menuList .mainMenu .mainMenu-a {
    color: #002d9a;
    font-size: 20px;
    padding: 10px 0 10px 5px;
}

.menu .contain .menuList .mainMenu .mainMenu-a:hover {
    color: #274e62;
}

.menu .contain .menuList .mainMenu.hasSub.down .menu-arrow {
    transform: rotate(180deg);
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show {
    display: flex;
    opacity: 1;
    width: 35%;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
    top: 90px;
    left: 50%;
    transform: translate(-50%, 0);
    padding: 10px 20px;
    background: rgba(255, 255, 255, .6);
    backdrop-filter: blur(25px) saturate(220%) contrast(110%);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease;
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show li {
    flex: 0 0 50%;
    margin: 10px 0;
    height: 40px;
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show li a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    margin-left: 15%;
    transition: transform 0.3s ease-in-out;
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show li a:hover {
    transform: translateX(-20px);
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show a h2 {
    font-size: 20px;
    color: #3d3d3d;
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show li a:hover h2 {
    color: #1b4c9d;
}

.menu .contain .menuList .mainMenu.hasSub .submenu.show a img {
    height: 100%;
    width: 15%;
    margin-right: 10px;
    object-fit: cover;
}

.menu .contain input {
    display: none;
}

.menu .contain label {
    position: absolute;
    top: 5px;
    right: 100px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.5s ease-out;
    display: none;
    z-index: 1001;
}

.menu .contain label::before,
.menu .contain label::after,
.menu .contain label .hg {
    content: "";
    position: absolute;
    left: 8px;
    width: 35px;
    height: 4px;
    border-radius: 6px;
    background-color: #e95d78;
    transition: transform 0.3s ease-out, top 0.3s ease-out 0.3s;
}

.menu .contain label::before {
    top: calc(50% - 13px);
}

.menu .contain label::after {
    top: calc(50% + 9px);
}

.menu .contain label .hg {
    top: calc(50% - 2px);
}

.menu .contain input:checked+label::before {
    top: calc(50% - 2px);
    transform: rotate(-45deg);
    transition: top 0.3s ease-out, transform 0.3s ease-out 0.3s;
}

.menu .contain input:checked+label::after {
    top: calc(50% - 2px);
    transform: rotate(45deg);
    transition: top 0.3s ease-out, transform 0.3s ease-out 0.3s;
}

.menu .contain input:checked+label .hg {
    transform: scaleX(0);
    transition: .3s;
}

@media (max-width: 1200px) {
    .menu .contain .menuList {
        margin-right: 0;
        gap: 0;
    }

    .menu .contain .menuList .mainMenu .mainMenu-a {
        font-size: 18px;
    }
}

@media (max-width: 950px) {
    .menu .contain {
        justify-content: space-between;
    }

    .menu .contain label {
        display: block;
        cursor: pointer;
        z-index: 1002;
    }

    .menu .contain .menuList {
        display: none;
    }

    .menu .contain .menuList.open {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: calc(100vh);
        background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%, transparent 100%);
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        overflow-y: auto;
    }

    .menu .contain .menuList.open .mainMenu {
        width: 230px;
        text-align: left;
        justify-content: flex-start;
        padding: 2px 0;
        margin: 0 auto;
    }

    .menu .contain .menuList.open .mainMenu .mainMenu-a {
        width: 100%;
        font-size: 24px;
        text-align: left;
        display: inline-block;
    }

    .menu .contain .menuList.open .mainMenu.hasSub {
        flex-direction: column;
        position: relative;
    }

    .menu .contain .menuList.open .mainMenu.hasSub:nth-child(1) {
        margin-top: 150px;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu {
        position: absolute;
        opacity: 0;
        height: 0;
        overflow: hidden;
        transition: opacity 0.6s ease, height 0.6s ease;
        margin-left: 20px;
        display: none;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu.show {
        background: none;
        backdrop-filter: none;
        border: none;
        box-shadow: none;
        width: fit-content;
        height: auto;
        opacity: 1;
        padding-top: 0;
        top: 0;
        display: block;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu.show li {
        margin: 0;
        height: 36px;
        padding: 5px;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu.show li a {
        margin-left: 0;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu.show li a h2 {
        font-size: 18px;
        width: 150px;
    }

    .menu .contain .menuList.open .mainMenu.hasSub .submenu.show li a img {
        width: 23px;
    }

    .menu .contain .menuList .mainMenu.hasSub .submenu.show li a:hover {
        transform: translateX(-12px);
    }

}

/* 导航栏结束 */

/* 页脚开始 */
.footer {
    background-color: #ddf5ff;
    line-height: 2;
    color: #000000;
    font-weight: bold;
    width: 100%;
    padding: 5px 0;
    position: relative;
    z-index: 98;
}

.footer .footer-container {
    display: flex;
    justify-content: space-evenly;
    padding: 20px 0;
}

.footer .footer-contact {
    margin-left: -70px;
}

.footer .footer-contact .footer-contact-header {
    font-size: 30px;
    font-weight: bold;
    line-height: 3;
    color: #000a85;
}

.footer .footer-contact .footer-contact-content {
    display: flex;
    gap: 40px;
}

.footer .footer-contact .content1 {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.footer .footer-contact .content1 .footer-ae {
    display: flex;
    height: 55px;
    gap: 18px;
}

.footer .footer-contact .content1 .footer-ae img {
    width: 55px;
    height: 100%;
}

.footer .footer-contact .content1 .footer-ae p {
    font-size: 22px;
    font-weight: bold;
    line-height: 3;
    color: #0f4daecf;
}

.footer .footer-contact .content2 {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 200px;
    flex-wrap: wrap;
}

.footer .footer-contact .content2 .icon {
    cursor: default;
    width: 70px;
    height: 70px;
    margin: 10px;
}

.footer .footer-contact .content2 .icon img {
    width: 100%;
    height: 100%;
}

.footer .footer-img .footer-logo {
    height: 150px;
    display: flex;
    justify-content: center;
    margin: 25px 20px;
}

.footer .footer-img .footer-logo img {
    height: 100%;
}

.footer .footer-img .footer-sp {
    width: 420px;
    height: 80px;
    overflow: hidden;
    text-align: initial;
}

.footer .footer-sp .img-box {
    display: flex;
    height: 80px;
    margin-left: 0;
    transform: margin-left 0s;
}

.footer .footer-sp .img-box img {
    width: 420px;
    height: 80px;
    flex-shrink: 0;
}

.footer .footer-wave {
    position: absolute;
    width: 100%;
    height: 50%;
    top: -170px;
    left: 0;
    z-index: 1;
}

.footer .footer-wave svg {
    border: none;
    width: 100%;
    height: 100%;
}

@media (max-width: 1250px) {
    .footer .footer-container {
        text-align: center;
        flex-direction: column;
    }

    .footer .footer-container .footer-contact,
    .footer .footer-container .footer-img {
        margin-right: auto;
        margin-left: auto;
        width: 70%;
        min-width: 450px;
    }

    .footer .footer-container .footer-img {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer .footer-contact .footer-contact-content {
        flex-direction: column;
    }

    .footer .footer-contact .footer-contact-content .content1 {
        gap: 20px;
        align-items: center;
    }

    .footer .footer-contact .footer-contact-content .content2 {
        width: 100%;
        flex-wrap: wrap;
    }

    .footer .footer-contact .footer-contact-content .content2 .icon {
        margin: 0 !important;
        width: 13%;
        height: 13%;
        max-width: 75px;
        max-height: 75px;
    }

    .footer .footer-wave {
        top: -350px;
    }
}

/* 页脚结束 */

/* 通用内容样式 */
div.container {
    width: 100%;
    padding-top: 70px;
    box-sizing: border-box;
    margin-bottom: 100px;
    position: relative;
}

body:not(.banner-flow) .container .banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    overflow: hidden;
}

.container .banner .contain {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.container .banner .contain img {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    top: 0;
    left: 0;
}

.main {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    position: relative;
    z-index: 20;
    min-height: 100vh;
}

.main.scroll-transition {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.main.scrolled {
    margin-top: 0 !important;
    position: relative !important;
    transform: none !important;
}

.main .nav {
    width: 36vh;
    top: 17vh;
    margin-top: 10vh;
    height: fit-content;
    position: sticky;
    background-size: 100% 100%;
    transition: all 1s;
    margin-left: 4%;
}

.entre .main .nav {
    width: 33vh !important;
}

@media(max-width: 600px) {
    .main {
        justify-content: center;
    }

    .main .nav {
        display: none;
    }

    .main .content {
        width: 100% !important;
    }
}

.main .nav::after {
    content: "";
    background-size: 100% 100%;
    position: absolute;
    height: 18vh;
    bottom: -17vh;
    z-index: -1;
}

.education .main .nav {
    background-image: url("https://static.igem.wiki/teams/5564/general/edu2.webp");
}

.education .main .nav::after {
    background-image: url("https://static.igem.wiki/teams/5564/general/edu1.webp");
    width: 115.8%;
    left: 0;
}

.model .main .nav {
    background-image: url("https://static.igem.wiki/teams/5564/general/model2.webp");
}

.model .main .nav::after {
    background-image: url("https://static.igem.wiki/teams/5564/general/model1.webp");
    width: 116.7%;
    left: 0;
}

.wetLab .main .nav {
    background-image: url("https://static.igem.wiki/teams/5564/general/wet2.webp");
}

.wetLab .main .nav::after {
    background-image: url("https://static.igem.wiki/teams/5564/general/wet1.webp");
    width: 110.3%;
    left: -1px;
}

.entre .main .nav {
    background-image: url("https://static.igem.wiki/teams/5564/general/entre2.webp");
}

.entre .main .nav::after {
    background-image: url("https://static.igem.wiki/teams/5564/general/entre10.webp");
    width: 111%;
    left: 0;
}

.pro .main .nav {
    background-image: url("https://static.igem.wiki/teams/5564/general/pro2.webp");
}

.pro .main .nav::after {
    background-image: url("https://static.igem.wiki/teams/5564/general/pro1.webp");
    width: 115%;
    left: 0;
}

.main .nav .nav-list {
    width: 85%;
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
}

.main .nav .nav-list.eng .cycleBox {
    width: 25vh;
    aspect-ratio: 1;
    position: relative;
    margin: 0 auto 15px auto;
}

.main .nav .nav-list.eng img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}

.main .nav .nav-list.eng img.show {
    display: block;
}

.main .nav .nav-list.eng .cycle-a {
    cursor: pointer;
    width: 35%;
    height: 20%;
    position: absolute;
    z-index: 5;
    transition: font-size 0.1s ease-in-out;
}

.main .nav .nav-list.eng .cycle-a.eng-design {
    top: 20%;
    right: 7%;
    transform: rotate(45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-build {
    bottom: 14%;
    right: 10%;
    transform: rotate(-45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-test {
    bottom: 18%;
    left: 6%;
    transform: rotate(45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-learn {
    top: 14%;
    left: 11%;
    transform: rotate(-45deg);
}

.main .nav .nav-list .main-item {
    width: 100%;
}

.main .nav .nav-list .main-item .cata-head {
    font-size: 15px;
    width: 100%;
    height: 7vh;
    border-radius: 2.5vh;
    cursor: pointer;
    font-family: 'mainNav';
    font-weight: bold;
    text-align: start;
    align-content: center;
    padding-left: 35px;
    box-sizing: border-box;
    position: relative;
    transition: all .5s;
    line-height: 1.3;
}

.main .nav .nav-list .main-item .cata-head-after {
    font-size: 0;
    width: 100%;
    font-family: 'mainNav';
    font-weight: bold;
    text-align: start;
    align-content: center;
    color: #eca300;
    transform: translateX(20px);
    opacity: 0;
    transition: all .5s;
}

.main .nav .nav-list .main-item.unfold .cata-head-after {
    font-size: 15px;
    margin-bottom: 10px;
    opacity: 1;
}

.main .nav .nav-list .main-item .cata-head::before,
.main .nav .nav-list .main-item .cata-head::after {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    border-radius: 50%;
    top: 30%;
    transition: all .5s;
    left: 12px;
}

.main .nav .nav-list .main-item .cata-head::before {
    opacity: 0;
}

.main .nav .nav-list .main-item.unfold .cata-head {
    margin-bottom: 10px;
}

.education .main .nav .cata-head {
    color: #eca300;
}

.education .main .nav .cata-head::before {
    background-color: #f7da9b;
}

.education .main .nav .cata-head::after {
    background-color: #eca300;
}

.hp .main .nav .cata-head {
    color: #004aad;
}

.hp .main .nav .cata-head::before {
    background-color: #9bb9e0;
}

.hp .main .nav .cata-head::after {
    background-color: #004aad;
}

.model .main .nav .cata-head {
    color: #266803;
}

.model .main .nav .cata-head::before {
    background-color: #adc6a0;
}

.model .main .nav .cata-head::after {
    background-color: #266803;
}

.wetLab .main .nav .cata-head {
    color: #4d0a9f;
}

.wetLab .main .nav .cata-head::before {
    background-color: #b9a0db;
}

.wetLab .main .nav .cata-head::after {
    background-color: #4d0a9f;
}

.entre .main .nav .cata-head {
    color: #ab2f84;
}

.entre .main .nav .cata-head::before {
    background-color: #dba6c7;
}

.entre .main .nav .cata-head::after {
    background-color: #bd3d95;
}

.pro .main .nav .cata-head {
    color: #df7303;
}

.pro .main .nav .cata-head::before {
    background-color: #f0c38d;
}

.pro .main .nav .cata-head::after {
    background-color: #df7303;
}

.main .nav .main-item.unfold .cata-head::before {
    transform: translateY(4px);
    opacity: 1;
}

.main .nav .main-item.unfold .cata-head::after {
    transform: translateY(-4px);
}

.education .main .nav .main-item.unfold .cata-head,
.education .main .nav .main-item .cata-head:hover {
    background-color: #eca1001A;
}

/* .hp .main .nav .main-item.unfold .cata-head,
.hp .main .nav .main-item .cata-head:hover {
    background-color: #004aad1A;
} */

.model .main .nav .main-item.unfold .cata-head,
.model .main .nav .main-item .cata-head:hover {
    background-color: #2668031A;
}

.wetLab .main .nav .main-item.unfold .cata-head,
.wetLab .main .nav .main-item .cata-head:hover {
    background-color: #4d0a9f1A;
}

.entre .main .nav .main-item.unfold .cata-head,
.entre .main .nav .main-item .cata-head:hover {
    background-color: #ab2f841A;
}

.pro .main .nav .main-item.unfold .cata-head,
.pro .main .nav .main-item .cata-head:hover {
    background-color: #df73031A;
}

.main .nav .nav-list .main-item .sub-cata {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.main .nav .nav-list .main-item .sub-cata .sub-item {
    cursor: pointer;
    padding: 0;
    font-size: 0;
    opacity: 0;
    font-weight: bold;
    margin-left: 20px;
    transition: all .8s;
    text-align: start;
    align-content: center;
    transition: all .5s;
    position: relative;
    height: 0;
}

.main .nav .nav-list .main-item.unfold .sub-cata .sub-item {
    font-size: 13px;
    opacity: 1;
    width: 90%;
    height: 5vh;
    border-radius: 2vh;
    padding-left: 30px;
}

.main .nav .nav-list .main-item.unfold .sub-cata .sub-item::before,
.main .nav .nav-list .main-item.unfold .sub-cata .sub-item::after {
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    border-radius: 50%;
    top: 36%;
    transition: all .5s;
    left: 8px;
    opacity: 0;
}

.main .nav .nav-list .main-item.unfold .sub-cata .sub-item::after {
    opacity: 1;
}

.main .nav .nav-list .main-item.unfold .sub-cata .sub-item.active::before {
    opacity: 1;
    transform: translateY(3px);
}

.main .nav .nav-list .main-item.unfold .sub-cata .sub-item.active::after {
    opacity: 1;
    transform: translateY(-3px);
}

.education .main .nav .sub-item {
    color: #528106;
}

.education .main .nav .main-item.unfold .sub-item::before {
    background-color: #c2d0a7;
}

.education .main .nav .main-item.unfold .sub-item::after {
    background-color: #528106;
}

.hp .main .nav .sub-item {
    color: #916bbe;
}

.hp .main .nav .main-item.unfold .sub-item::before {
    background-color: #d1c5e6;
}

.hp .main .nav .main-item.unfold .sub-item::after {
    background-color: #916bbe;
}

.model .main .nav .sub-item {
    color: #ffba21;
}

.model .main .nav .main-item.unfold .sub-item::before {
    background-color: #fce4a6;
}

.model .main .nav .main-item.unfold .sub-item::after {
    background-color: #ffba21;
}

.wetLab .main .nav .sub-item {
    color: #6b99d7;
}

.wetLab .main .nav .main-item.unfold .sub-item::before {
    background-color: #c4d4ef;
}

.wetLab .main .nav .main-item.unfold .sub-item::after {
    background-color: #6b99d7;
}

.entre .main .nav .sub-item {
    color: #ffba21;
}

.entre .main .nav .main-item.unfold .sub-item::before {
    background-color: #fce4a6;
}

.entre .main .nav .main-item.unfold .sub-item::after {
    background-color: #ffba21;
}

.pro .main .nav .sub-item {
    color: #bd3d95;
}

.pro .main .nav .main-item.unfold .sub-item::before {
    background-color: #e3b5c2;
}

.pro .main .nav .main-item.unfold .sub-item::after {
    background-color: #bd3d95;
}

.education .main .nav .sub-item.active {
    background-color: #5281061A;
}

.hp .main .nav .sub-item.active {
    background-color: #916bbe1A;
}

.model .main .nav .sub-item.active {
    background-color: #ffba211A;
}

.wetLab .main .nav .sub-item.active {
    background-color: #6b99d71A;
}

.entre .main .nav .sub-item.active {
    background-color: #ffba211A;
}

.entre .main .nav .sub-item.active {
    background-color: #bd3d951A;
}

.main .content {
    display: flex;
    padding: 30px;
    width: 70%;
    flex-direction: column;
    margin-bottom: 0;
    /* 移除底部间距，避免显示banner */
}

.main .content .text-box {
    margin: 0px 40px;
    padding: 12px;
    display: block;
}

.main .divider {
    height: 4px;
    width: 100%;
    background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
    margin-bottom: 10px;
}

.container.entre .main .divider {
    background-image: linear-gradient(120deg, #de4444 0%, #ffc19b 100%);
}

.container.pro .main .divider {
    background-image: linear-gradient(120deg, #de4444 0%, #ffc19b 100%);
}

.container.model .main .divider {
    background-image: linear-gradient(120deg, #07bdae 0%, #f7eb81 100%);
}

.container.hp .main .divider {
    background-image: linear-gradient(120deg, #05a1d2 0%, #fff99c 100%);
}

.container.education .main .divider {
    background-image: linear-gradient(120deg, #ffbd95 0%, #ffe369 100%);
}

.main .m-img {
    width: 65%;
    margin: 30px auto;
    text-align: center;
}

.main .m-img.manyImg {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    width: 90%;
}

.main .m-img img {
    width: 100%;
    display: block;
    object-fit: cover;
    transition: transform .5s;
    border-radius: 20px;
    margin: 0 auto;
}

.main .m-img.manyImg img {
    width: 45%;
}

.main .m-img.manyImg .img-box {
    width: 45%;
}

.main .m-img.manyImg .img-box img {
    width: 100%;
}

.main p.m-n {
    font-family: 'SofiaSans-mn', sans-serif;
    margin-bottom: 30px;
    text-align: justify;
    word-spacing: -1px;
    word-wrap: break-word;
}

.main .reference p.m-n {
    font-size: 16px;
    color: #242223d7;
    margin-bottom: 16px;
    margin-top: 16px;
    line-height: 1.5;
}

.main .content .text-box .para {
    box-sizing: border-box;
    width: 100%;
    padding: 4px;
    line-height: 2;
    text-align: justify;
}

.main .content .text-box .para .h-n,
.main .content .text-box .para .h2-n {
    margin-left: -10px;
}

/* entre开始 */
.entre-box {
    width: 90%;
    margin: 0 auto;
    border: #ab2f84 solid 3px;
    border-radius: 10px;
    padding: 15px 20px 0px 20px;
    background-color: #fff4f4;
    position: relative;
    overflow: hidden;
    max-height: 65px;
    transition: all 0.5s ease-in-out;
    will-change: max-height;
    margin-bottom: 40px;
}

.entre-box.open {
    max-height: 3500px;
}

.entre-box .box-btn {
    cursor: pointer;
    width: 100%;
    text-align: center;
    margin-bottom: 5px;
}

.entre-box .plus-minus {
    position: absolute;
    top: 14px;
    right: 2.5%;
    font-size: 5vh;
    background-image: linear-gradient(120deg,
            #de4444 0%,
            #ffc19b 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.entre-box .plus-minus .btn-plus {
    font-weight: 800;
    display: inline;
}

.entre-box .plus-minus .btn-minus {
    font-weight: 800;
    display: none;
}

.row .row-btn {
    position: relative;
    border: #f6e0e8 solid 1px;
    background: #f6e0e8;
    border-radius: 10px;
    padding: 10px;
    width: 30%;
}

.row-btn .plus {
    position: absolute;
    top: 8px;
    right: 2.5%;
    font-size: 3vh;
    background-image: linear-gradient(120deg,
            #de4444 0%,
            #ffc19b 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 800;
    display: inline;
}


.row .row-btn::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5px;
    left: 5px;
    border: #ab2f84 solid 1px;
    background: #ab2f84;
    border-radius: 10px;
    padding: 10px;
    z-index: -3;
}

.entre-table table {
    border-collapse: collapse;
    width: 100%;
    text-align: center;
    font-family: Arial, sans-serif;
    margin: 20px auto;
}

.entre-table table th,
.entre-table table td {
    border: 1px solid #45b0e1;
    padding: 10px;
    vertical-align: top;
}

.entre-table table th {
    background-color: #fff;
    font-size: 2vh !important;
    font-weight: bold;
}

.entre-table table td {
    vertical-align: middle;
    font-size: 1.8vh !important;
}

.entre-table table .blue {
    background-color: #c1e4f5;
}

.entre-table table .white {
    background-color: #fff;
}

/* entre结束 */

/* engineering开始 */

.main .nav .nav-list.eng .cycleBox {
    width: 25vh;
    aspect-ratio: 1;
    position: relative;
    margin: 0 auto 15px auto;
}

.main .nav .nav-list.eng img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
}

.main .nav .nav-list.eng img.show {
    display: block;
}

.main .nav .nav-list.eng .cycle-a {
    cursor: pointer;
    width: 35%;
    height: 20%;
    position: absolute;
    z-index: 5;
    transition: font-size 0.1s ease-in-out;
}

.main .nav .nav-list.eng .cycle-a.eng-design {
    top: 20%;
    right: 7%;
    transform: rotate(45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-build {
    bottom: 14%;
    right: 10%;
    transform: rotate(-45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-test {
    bottom: 18%;
    left: 6%;
    transform: rotate(45deg);
}

.main .nav .nav-list.eng .cycle-a.eng-learn {
    top: 14%;
    left: 11%;
    transform: rotate(-45deg);
}

.main .nav .nav-list.eng .main-item .cata-head {
    font-size: 17px;
}

.main .nav .nav-list.eng .cycleFirst,
.main .content .text-box .cyclePara {
    display: none;
}

.main .nav .nav-list.eng .cycleFirst.show,
.main .content .text-box .cyclePara.show {
    display: block;
}

.main.eng {
    padding-top: 14vh;
}

.main .engButtonBox {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 2vh 0;
    gap: 4vw;
    position: absolute;
    margin: -8vh 0;
    justify-content: center;
}

.main .engButtonBox .engButton {
    width: fit-content;
    height: fit-content;
    padding: 1vh 2vh;
    border-radius: 2vh;
    background-color: #fff;
    color: #8a73cb;
    font-weight: bold;
    font-size: 1.4vw;
    transition: all .5s;
    cursor: pointer;
    position: relative;
    box-shadow: #8a73cb 6px 6px;
}

.main .engButtonBox .engButton:hover,
.main .engButtonBox .engButton.show {
    transform: scale(1.02);
    box-shadow: #8a73cb 9px 9px;
}

.main .engHead {
    width: fit-content;
    background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1vh 4vh;
    border-radius: 3vh;
    margin: 3vh auto !important;
    font-size: 4vh;
    line-height: 3vw;
}

.main.eng .content .para {
    display: none;
}

.main.eng .content .para.show {
    display: block;
}

.main.eng .content .para.reference {
    display: block !important;
}

/* engineering结束 */

/* hp开始 */

.hp .main {
    justify-content: space-between;
}

.main .nav.hpNav .nav-list .main-item .cata-head {
    padding-left: 0;
}

.main .nav.hpNav .nav-list .main-item .cata-head::before,
.main .nav.hpNav .nav-list .main-item .cata-head::after {
    content: none;
}

.main .nav.hpNav .nav-list .main-item.unfold .cata-head {
    margin-bottom: 0;
}

.main .nav.hpNav {
    width: 7.5vw;
    top: 12vh;
    height: fit-content;
    border: #004aad 4px solid;
    border-radius: 20px;
    background-color: #f7fcff;
    padding: 10px 0;
    transition: all .8s;
    z-index: 10;
    margin-left: 4%;
}

.main .nav.hpNav.open {
    width: 40vh;
}

.main .nav.hpNav .nav-list {
    padding-top: 0;
}

.main .nav.hpNav .nav-list .divider {
    margin-top: 5px;
    margin-bottom: 5px;
    opacity: 1;
}

.main .nav.hpNav.open .nav-list .divider {
    opacity: 0;
}

.main .nav.hpNav .nav-list .main-item .cataFirst,
.main .nav.hpNav .nav-list .hpNavBtn {
    padding: 0 1vh;
    box-sizing: border-box;
    cursor: pointer;
    margin: 0 auto;
    box-sizing: border-box;
}

.main .nav.hpNav .nav-list .main-item,
.main .nav.hpNav .nav-list .hpNavBtn {
    transition: all .5s;
}

.main .nav.hpNav .nav-list .main-item .cataFirst {
    display: flex;
    align-items: center;
    height: 10vh;
    width: 10vh;
}

.main .nav.hpNav.open .nav-list .main-item .cataFirst {
    margin: 0;
}

.main .nav.hpNav .nav-list .hpNavBtn {
    height: 7vh;
    width: 75%;
    border-radius: 2.5vh;
}

.main .nav.hpNav .nav-list .hpNavBtn input {
    display: none;
}

.main .nav.hpNav .nav-list .hpNavBtn label {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.main .nav.hpNav .nav-list .hpNavBtn label::before,
.main .nav.hpNav .nav-list .hpNavBtn label::after,
.main .nav.hpNav .nav-list .hpNavBtn label .hg {
    content: "";
    position: absolute;
    width: 5vh;
    height: 5px;
    border-radius: 8px;
    background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
    transition: transform 0.3s ease-out, top 0.3s ease-out 0.3s;
}

.main .nav.hpNav .nav-list .hpNavBtn label::before {
    top: calc(50% - 14px);
}

.main .nav.hpNav .nav-list .hpNavBtn label::after {
    top: calc(50% + 10px);
}

.main .nav.hpNav .nav-list .hpNavBtn label .hg {
    top: calc(50% - 2.5px);
}

.main .nav.hpNav .nav-list .hpNavBtn input:checked+label::before {
    top: calc(50% - 2.5px);
    transform: rotate(45deg);
    transition: top 0.3s ease-out, transform 0.3s ease-out 0.3s;
}

.main .nav.hpNav .nav-list .hpNavBtn input:checked+label::after {
    top: calc(50% - 2.5px);
    transform: rotate(-45deg);
    transition: top 0.3s ease-out, transform 0.3s ease-out 0.3s;
}

.main .nav.hpNav .nav-list .hpNavBtn input:checked+label .hg {
    transform: scaleX(0);
    transition: .3s;
}

.main .nav.hpNav .nav-list .main-item.unfold,
.main .nav.hpNav .nav-list .main-item:hover,
.main .nav.hpNav .nav-list .hpNavBtn:hover {
    background-color: #004aad1A;
    border-radius: 2.5vh;
}

.main .nav.hpNav .nav-list .main-item .cata-logo {
    width: 100%;
    aspect-ratio: 1;
    flex-shrink: 0;
}

.main .nav.hpNav .nav-list .main-item .cata-logo img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.main .nav.hpNav .nav-list .main-item .cata-logo .hpNavTitle {
    width: 100%;
    font-family: 'mainNav', sans-serif;
    font-size: 14px;
    color: #004aad;
    margin-top: -5px;
    padding-bottom: 5px;
    text-align: center;
    align-content: center;
}

.main .nav.hpNav.open .nav-list .main-item .cata-logo .hpNavTitle {
    display: none;
}

.main .nav.hpNav .nav-list .main-item .cataFirst .cata-head {
    width: 0;
    opacity: 0;
    flex-shrink: 0;
    transition: opacity .18s ease, width .18s ease, font-size .18s ease;
    font-size: 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    overflow: hidden;
}

.main .nav.hpNav.open .nav-list .main-item .cataFirst .cata-head {
    opacity: 1;
    width: 12vw;
    font-size: 18px;
    transition-delay: .12s;
    text-align: center;
}

.main .nav.hpNav.collapsed-centered .nav-list .main-item .cataFirst {
    margin: 0 auto !important;
    transition: none !important;
    transform: none !important;
    opacity: 1;
}

.main .nav.hpNav.collapsed-centered .nav-list .hpNavBtn {
    margin: 0 auto;
    transition: margin 0.28s ease;
}

.main .nav.hpNav.hiding-centered .nav-list .main-item .cataFirst {
    opacity: 0;
    transition: opacity 0.16s linear;
}

.main .nav.hpNav.prevent-center .nav-list .main-item .cataFirst {
    margin: 0 !important;
    transition: none !important;
}

.main .nav.hpNav.open .nav-list .main-item .cataFirst {
    margin: 0 !important;
}

.container.hp .main .content {
    width: 70%;
    position: absolute;
    left: 50%;
    transform: translateX(-56%);
    z-index: 2;
}

.hp .zhu {
    color: #8a73cb;
    font-weight: bold;
    z-index: 9;
    text-shadow: #c8c6cf;
}

.hp .zhu.a-tz::after {
    content: none;
}

.hp .main .diamond {
    width: 38vh;
    top: 10vh;
    margin-top: 10vh;
    position: sticky;
    background-size: 100% 100%;
    transition: all 1s;
    height: fit-content;
    margin-right: 4%;
    z-index: 3;
}

.hp .main .diamond img {
    width: 100%;
    object-fit: cover;
    display: none;
}

.hp .main .diamond img.show {
    display: block;
}

#scrollTopButton.hp {
    right: 5vw;
    bottom: 0;
}

#scrollTopButton.hp img {
    width: 60px;
}

.hp .ballBg {
    position: fixed;
    width: 57%;
    height: fit-content;
    top: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
}

.hp .ballBg img {
    position: fixed;
    top: 0;
    width: 57%;
    height: auto;
    opacity: 0;
    pointer-events: none;
    transform: translateZ(0);
    will-change: opacity, transform;
    transition: opacity 360ms cubic-bezier(.22, .9, .35, 1),
        transform 360ms cubic-bezier(.22, .9, .35, 1);
    object-fit: cover;
    z-index: -1;
}

.hp .ballBg img:nth-child(odd) {
    left: 0;
    right: auto;
    transform: translateX(-24px);
}

.hp .ballBg img:nth-child(even) {
    right: 0;
    left: auto;
    transform: translateX(24px);
}

.hp .ballBg img.show {
    opacity: 1;
    transform: translateX(0);
    z-index: 2;
}

.hp .ballBg {
    z-index: 1 !important;
    pointer-events: none;
}

.hp .ballBg img.show {
    opacity: 1;
    transform: translateX(0);
}

.hp .para {
    margin-top: 5vh;
}

.hp .para .paraTitle {
    font-size: 6vh;
    font-weight: bold;
    font-family: 'mainNav', sans-serif;
    color: #000;
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
}

.hp .content .para1 .para1Card .enterprise {
    background-color: #e4cefd;
}

.hp .content .para1 .para1Card .scholar {
    background-color: #fff99c;
}

.hp .content .para1 .para1Card .farmer {
    background-color: #cbedd2;
}

.hp .content .para1 .para1Card .igemer {
    background-color: #c6e1ff;
}

.hp .content .para1 .para1Card .consumer {
    background-color: #ffe0f1;
}

.hp .content .para1 .para1Card .government {
    background-color: #ffcbaa;
}

.hp .content .para1 .para1Card .card {
    width: 100%;
    height: 25vh;
    border-radius: 20px;
    display: flex;
    padding: 5vh;
    gap: 3vw;
    align-items: center;
    margin: 5vh 0;
    transition: transform 240ms cubic-bezier(.2, .9, .2, 1), box-shadow 240ms;
    will-change: transform;
    backdrop-filter: blur(5px) saturate(220%) contrast(110%);
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    margin-top: -20px;
    cursor: pointer;
    visibility: visible;
    pointer-events: auto;
    position: relative;
}

.hp .content .para1 .para1Card .card::after {
    content: "";
    position: absolute;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    top: -30%;
    right: -4%;
    background-image: url('https://static.igem.wiki/teams/5564/general/readmore.webp');
    z-index: 1;
    width: 10%;
    aspect-ratio: 127 / 172;
    opacity: 0;
    transition: opacity .5s;
}

.hp .content .para1 .para1Card .card:hover,
.hp .content .para1 .para1Card .card.check {
    transform: scale(1.03);
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
}

.hp .content .para1 .para1Card .card:hover::after,
.hp .content .para1 .para1Card .card.check::after {
    opacity: 1;
}

.hp .content .para1 .para1Card .card .hpCardImg {
    width: 27%;
    display: flex;
    height: fit-content;
    border: #fff 6px solid;
    border-radius: 5px;
    overflow: hidden;
}

.hp .content .para1 .para1Card .card .hpCardImg img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.hp .content .para1 .para1Card .card .hpCardWord {
    width: 65%;
    display: flex;
    flex-direction: column;
    gap: 2vh;
}

.hp .content .para1 .para1Card .card .hpCardWord .title,
.hp .content .para1 .para1Card .card .hpCardWord .name,
.hp .content .para1 .para1Card .card .hpCardWord .group,
.hp .content .para1 .para1Card .card .hpCardWord .con {
    font-family: 'mainNav', sans-serif;
    /* color:  #534f7a; */
    color: #000000b7;
    font-weight: bold;
    line-height: 1.2;
}

.hp .content .para1 .para1Card .card .hpCardWord .title {
    font-size: 2.5vh;
}

.hp .content .para1 .para1Card .card .hpCardWord .name {
    font-size: 2.1vh;
}

.hp .content .para1 .para1Card .card .hpCardWord .group {
    font-size: 2.1vh;
}

.hp .content .para1 .para1Card .card .hpCardWord .con {
    font-size: 1.7vh;
}

.hp .content .para .paraCard {
    width: 100%;
    height: fit-content;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(5px) saturate(220%) contrast(110%);
    border-radius: 20px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    position: relative;
}

.hp .content .para .para2Card {
    border: 5px solid #fff99c;
    padding: 5% 8%;
}

.hp .content .para .para3Card {
    border: 5px solid #ffcbaa;
    padding: 5% 8%;
}

.hp .content .para .para4Card {
    border: 5px solid #cbedd2;
    padding: 5% 8%;
}

.hp .content .para .para5Card {
    border: 5px solid #ffe0f1;
    padding: 5% 8%;
}

.hp .content .para .para6Card {
    border: 5px solid #e4cefd;
    padding: 5% 8%;
}

.hp .para2,
.hp .para3,
.hp .para4,
.hp .para5,
.hp .para6 {
    width: 110% !important;
    margin-left: 4vw;
}

.para2Card,
.para3Card,
.para4Card,
.para5Card,
.para6Card {
    margin-top: 4vh;
}

.main .para.para1 .cardCon {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    visibility: hidden;
    pointer-events: none;
    box-sizing: border-box;
    background: rgba(255, 255, 255, .5);
    backdrop-filter: blur(5px) saturate(220%) contrast(110%);
    border-radius: 20px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    transition:
        max-height 360ms cubic-bezier(.22, .9, .2, 1),
        opacity 280ms ease,
        transform 320ms cubic-bezier(.2, .9, .2, 1),
        visibility 0s linear 360ms;
}

.main .para.para1 .cardCon.open {
    padding: 3vw 6vw;
    margin-bottom: 40px;
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
}

.main .para.para2 .h-n,
.main .para.para3 .h-n,
.main .para.para4 .h-n,
.main .para.para5 .h-n,
.main .para.para6 .h-n {
    position: relative;
}

.main .para.para1 .cardCon .cardConClose,
.main .para .cardOthClose {
    font-family: 'sofiasans-mn', sans-serif;
    font-size: 3vh;
    background-color: #fff;
    cursor: pointer;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    border-radius: 5vh;
    width: 12vh;
    position: absolute;
    justify-content: center;
    display: flex;
    align-items: center;
    font-weight: bolder;
    color: #0049ac;
    transition: all .5s;
}

.main .para.para1 .cardCon .cardConClose:hover,
.main .para .cardOthClose:hover {
    transform: translateY(-5px) scale(1.05);
}

.main .para.para1 .cardCon .cardConClose {
    bottom: 1%;
    right: 4%;
    height: 6vh;
    border: 3px solid #d9c3fc;
}

.main .para .cardOthClose {
    bottom: -55px;
    right: 0;
    height: 5vh;
}

.main .para.para2 .cardOthClose {
    border: 3px solid #fff99c;
}

.main .para.para3 .cardOthClose {
    border: 3px solid #ffcbaa;
}

.main .para.para4 .cardOthClose {
    border: 3px solid #cbedd2;
}

.main .para.para5 .cardOthClose {
    border: 3px solid #ffe0f1;
}

.main .para.para6 .cardOthClose {
    border: 3px solid #e4cefd;
}

.container .main .hpIntro {
    width: 65%;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    position: absolute;
    margin-top: 5vh;
    background-color: #fff;
    border-radius: 20px;
    border: #e4cefd 4px solid;
    padding: 3vw 4vw;
}

/* hp结束 */

/* education */

.main .content .text-box .edu-head {
    background-image: linear-gradient(120deg, #ffbd95 0%, #ffe369 100%);
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    padding: 0 30px;
    border-radius: 65px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 5vh auto !important;
    font-size: 1.8vw;
    line-height: 2;
    text-align: center;
}


.main .content .text-box .edu-page {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 1vh;
    margin-bottom: 20px;
}

.main .content .text-box .edu-card {
    width: 32%;
    aspect-ratio: 4 / 5;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    transition: transform 0.5s;
    cursor: pointer;
}

.main .content .text-box .edu-card:hover {
    transform: scale(1.05);
}

.main .content .text-box .edu-card .outer {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}

.main .content .text-box .edu-card .outer button.more {
    position: absolute;
    right: -3%;
    bottom: 0%;
    width: 30%;
    z-index: 2;
    opacity: 0;
    transition: opacity .5s;
}

.main .content .text-box .edu-card .outer button.more img {
    width: 100%;
    object-fit: contain;
    display: block;
    cursor: pointer;
}

.main .content .text-box .edu-card .outer:hover button.more {
    opacity: 1;
}

.main .content .text-box .edu-card .outer .smallImg,
.main .content .text-box .edu-card .outer .small-content {
    width: 88%;
    height: fit-content;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

.main .content .text-box .edu-card .outer .smallImg {
    border-radius: 10px;
    transform: translateY(2%);
}

.main .content .text-box .edu-card .outer .smallImg img {
    width: 100%;
    height: fit-content;
    object-fit: contain;
    display: block;
}

.main .content .text-box .edu-card .outer .small-content {
    transform: translateY(30%);
    border-top: 5px solid #edf0df;
    padding-top: 5px;
}

.main .content .text-box .edu-card .outer .small-content .head,
.main .content .text-box .edu-card .outer .small-content .time {
    display: flex;
    font-size: 16px;
    gap: 3%;
    margin-left: 3%;
    color: #528106;
    font-weight: initial;
}

.main .content .text-box .edu-card .outer .small-content .head {
    margin-bottom: 0;
}

.main .content .text-box .edu-card .outer .small-content .head img,
.main .content .text-box .edu-card .outer .small-content .time img {
    width: 20px;
}

.main .content .text-box .edu-content {
    width: 100%;
    background-color: #ffffff8f;
    border-radius: 15px;
}

.main .content .text-box .edu-content .edu-con {
    width: 100%;
    display: none;
    padding: 4vw;
}

.main .content .text-box .edu-content .edu-con.open {
    display: block;
    position: relative;
}

.main .content .text-box .edu-content .edu-head {
    margin-top: 0 !important;
}

.book-select {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: center;
    position: relative;
}

.book-select>.row {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 30px;
    margin: 20px 0;
}

.book-select>.row>.book-front {
    width: 150px;
    aspect-ratio: 3 / 4;
    cursor: pointer;
    transition: all .5s;
    flex-shrink: 0;
}

.book-select>.row>.book-front>img {
    width: 100%;
    object-fit: contain;
    transition: all .5s;
    display: block;
    aspect-ratio: 3 / 4;
}

.book-select>.row>.book-front:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.book-section {
    height: 70vh;
    width: 100%;
    padding: 40px 0;
    text-align: center;
    position: relative;
    margin-bottom: 40px;
}

.book-section>.book-container {
    aspect-ratio: 6 / 4;
    width: 48vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2%;
    perspective: 1200px;
}

.book-container>.right {
    position: absolute;
    height: 100%;
    width: 50%;
    transition: 0.7s ease-in-out;
    transform-style: preserve-3d;
}

.book-section>.book-container>.right {
    right: 0;
    transform-origin: left;
    border-radius: 10px 0 0 10px;
}

.right>figure.front,
.right>figure.back {
    margin: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-size: 100%;
    background-repeat: no-repeat;
    backface-visibility: hidden;
    background-color: white;
    overflow: hidden;
    object-fit: cover;
}

.right>figure.front {
    background-position: right;
    border-radius: 0 10px 10px 0;
    box-shadow: 2px 2px 15px -2px rgba(0, 0, 0, 0.2);
}

.right>figure.back {
    background-position: left;
    border-radius: 10px 0 0 10px;
    box-shadow: -2px 2px 15px -2px rgba(0, 0, 0, 0.2);
    transform: rotateY(180deg);
}

.flip {
    transform: rotateY(-180deg);
}

.flip::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    border-radius: 0 10px 10px 0;
    background-color: rgba(0, 0, 0, 0.1);
}

.book-container>.book-btn {
    position: absolute;
    top: 40%;
    z-index: 20;
    border: none;
    background: rgba(255, 255, 255, 0.247);
    backdrop-filter: blur(6px);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.book-container>.book-btn.prev {
    left: -44px;
}

.book-container>.book-btn.next {
    right: -44px;
}

.book-container>.book-btn>img {
    width: 80%;
    height: 80%;
    object-fit: cover;
    display: block;
}

.book-container>button:focus,
.book-container>button:active {
    outline: none;
}

.book-section>p {
    color: rgba(0, 0, 0, 0.7);
    font-family: calibri;
    font-size: 24px;
}

.book-section>p>a {
    text-decoration: none;
    color: #ef9f00;
}

.book-container>button:hover {
    transform: scale(1.12);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.back.noImage.back-cover {
    background-color: #ffcb63;
    font-family: calibri;
    text-align: left;
    padding: 0 30px;
}

.front.cover h1 {
    color: #fff;
}

.front.cover p {
    color: rgba(0, 0, 0, 0.8);
    font-size: 14px;
}

.content .text-box .para .sec-main .text-list p {
    margin-left: 5px;
    margin-bottom: 10px;
}

.content .pdf {
    width: 70%;
    aspect-ratio: 8 / 11;
    margin: 0 auto;
    margin-top: 20px;
}

.content .pdf iframe {
    width: 100%;
    height: 100%;
}

.card-game {
    width: 75%;
    perspective: 1000px;
    margin: 30px auto;
    aspect-ratio: 25 / 16;
}

.card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.card-game:hover .card-inner {
    transform: rotateY(180deg);
}

.card-front,
.card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    overflow: hidden;
}

.content .para .sec-main .sec4-3 .card-front .card-img {
    width: 100%;
    margin: auto;
    border-radius: 22px;
}

.content .para .sec-main .sec4-3 .card-front .card-img img {
    border-radius: 22px;
}

.card-back {
    background: #fefefe;
    transform: rotateY(180deg);
    display: flex;
    gap: 5px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px 35px;
    box-sizing: border-box;
    border: 5px solid #96a267;
    border-radius: 22px;
}

.card-back p.m-n {
    margin-top: 10px;
    color: #5f8e58;
    font-size: 2vh;
}

.edu-content .edu-con .BackBtn {
    position: absolute;
    width: 7%;
    right: 7%;
    bottom: 1%;
    cursor: pointer;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: 800;
    transform: scale(1);
    transition: all 0.5s ease;
    will-change: transform;
}

.edu-content .edu-con .BackBtn:hover {
    transform: scale(1.1);
}

/* 结束 */

/* protocol */

.main .content.protocol {
    margin: 0 auto;
    width: 75%;
}

.main .content.protocol .protocol-para {
    display: flex;
    flex-direction: column;
    margin: 20px 0;
}

.protocol-para .button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 5px 0;
}

.protocol-para .button-container button {
    width: 100%;
    height: 57px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 2px solid #ba98db;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 30%;
    padding: 10px;
    cursor: pointer;
    color: #8a73cb;
    background: #fff;
    transition: 0.5s;
    font-family: 'sofiasans-mn', sans-serif;
    line-height: 1.5vw;
    font-size: 1.6vw;
    font-weight: bold;
}

.protocol-para .button-container button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
    z-index: -1;
    transition: 0.5s;
}

.protocol-para .button-container button.active {
    color: white;
    border: 2px solid transparent;
    background-color: transparent;
}

.protocol-para .button-container button.active::before {
    width: 100%;
}

.protocol-para .text-container {
    width: 100%;
    background-color: #ffffff8f;
    border-radius: 15px;
    max-height: 0;
    transition: max-height 1s ease;
    overflow: hidden;
}

.protocol-para .text-container.open {
    max-height: 2500px;
    padding: 2vh 4vh;
}

.protocol-para .text-content {
    width: 100%;
    display: none;
    padding: 1vw;
    margin: 10px 0;
}

.protocol-para .text-content.open {
    display: block;
}

.protocol-para .protocol-tittle {
    font-size: 5.5vh;
    margin-bottom: 7px;
    color: #4d0a9f;
    margin-left: 10px;
    font-weight: bold;
    font-family: 'sofiasans-mn', sans-serif;
}

.protocol-para .text-content table {
    width: 100%;
    font-family: 'sofiasans-mn', sans-serif;
    font-size: 1.2rem;
    color: #032d30;
    border-collapse: collapse;
    line-height: 15px;
}

.protocol-para .text-content table tbody {
    display: table-row-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
}

.protocol-para .text-content table th {
    background-color: #f4f4f4;
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: -internal-center;
    unicode-bidi: isolate;
}

.protocol-para .text-content table td,
.protocol-para .text-content table th {
    padding: 1rem;
    border: 0.1rem solid #ddd;
    text-align: left;
    line-height: 1.2;
}

.protocol-para .text-content .protocol-text {
    padding: 10px 0;
    line-height: 3vw;
}

/* protocol结束 */

/* parts开始 */
.para table.parts-table {
    width: 100%;
    font-family: 'Roboto-mn', sans-serif;
    font-size: 1.2rem;
    color: #032d30;
    border-collapse: separate;
    line-height: 15px;
}

.para table.parts-table tbody {
    display: table-row-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
}

.para table.parts-table th {
    background-color: #fbf9ffa3;
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: -internal-center;
    unicode-bidi: isolate;
    font-weight: 800;

}

.para table.parts-table th p {
    padding: 0;
}

.para table.parts-table td,
.para table.parts-table th {
    padding: 1rem;
    border: 0.1rem solid #4f0da0;
    text-align: left;
    line-height: normal;
    vertical-align: middle;
}

.para table.parts-table td:hover {
    background-image: linear-gradient(120deg, #e0c3fc4a 0%, #8ec5fc4a 100%);
}

.para table.parts-table td a {
    color: black;
}

.para table.parts-table .table-main td:nth-child(1) {
    font-family: 'Roboto-mn', sans-serif;
    font-weight: bold;
}

.para table.parts-table .table-main td:nth-child(2) {
    font-family: 'Roboto-mn', sans-serif;
    text-align: center;
}

.para table.parts-table .table-main td:nth-child(3) {
    font-family: 'Roboto-mn', sans-serif;
    color: rgb(67, 67, 67);
    font-size: 1.8vh;
}

table.parts-table tr:first-child th:first-child {
    border-top-left-radius: 10px;
}

table.parts-table tr:first-child th:last-child {
    border-top-right-radius: 10px;
}

table.parts-table tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

table.parts-table tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}

/* parts结束 */

/* model开始 */

.model .nav {
    width: 45vh;
    margin-left: 1%;
    top: 10vh !important;
}

.modelIntroImg {
    width: 90%;
    margin: 50px auto;
    position: relative;
}

.modelIntroImg img {
    width: 100%;
    object-fit: cover;
    display: none;
}

.modelIntroImg img.show {
    display: block;
}

.modelIntroImg .modelIntroBtn {
    position: absolute;
    width: 13%;
    height: 5%;
    top: 19%;
    cursor: pointer;
}

.modelIntroImg .modelIntroBtn1 {
    left: 25%;
}

.modelIntroImg .modelIntroBtn2 {
    left: 44%;
}

.modelIntroImg .modelIntroBtn3 {
    left: 63%;
}

.modelIntroImg .modelIntroBtn4 {
    left: 82%;
}

.para table.model-table {
    width: 45%;
    font-family: 'SofiaSans-mn', sans-serif;
    font-size: 1rem;
    color: #2c3e50;
    line-height: 14px;
    margin: 0 auto;
}

.para table.model-table tbody {
    display: table-row-group;
    vertical-align: middle;
    unicode-bidi: isolate;
    border-color: inherit;
}

.para table.model-table th {
    background-color: #e8f5e8;
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: -internal-center;
    unicode-bidi: isolate;
}

.para table.model-table td,
.para table.model-table th {
    padding: 0.4rem;
    border: 0.1rem solid #5a7a5e4d;
    text-align: left;
    line-height: normal;
    vertical-align: middle;
    text-align: center;
}

.para table.model-table td:hover {
    background-image: linear-gradient(120deg, #c8e6c94a 0%, #81c7844a 100%);
}

.para table.model-table td a {
    color: #1b5e20;
}

.para table.model-table .table-main td:nth-child(1) {
    font-family: 'SofiaSans-mn', sans-serif;
    font-weight: bold;
    font-size: 16px;
}

.para table.model-table .table-main td:nth-child(2) {
    font-family: 'SofiaSans-mn', sans-serif;
    text-align: center;
}

.para table.model-table .table-main td:nth-child(3) {
    font-family: 'SofiaSans-mn', sans-serif;
    color: rgb(67, 67, 67);
    font-size: 1.8vh;
}

table.model-table tr:first-child th:first-child {
    border-top-left-radius: 10px;
}

table.model-table tr:first-child th:last-child {
    border-top-right-radius: 10px;
}

table.model-table tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

table.model-table tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}

.para table.model-table th .parts-text.m-n {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

/* model结束 */

/* notebook开始 */
div.table-title {
    margin: 0 auto;
    width: 100%;
}

div.table-title>p.m-n {
    text-align: center;
    margin: 1vw auto;
}

.note-table {
    width: 100%;
}

.note-table .tg {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 10px auto;
}

.note-table .tg td {
    border-color: black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.note-table .tg th {
    border-color: black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: normal;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.note-table .tg .tg-z8wg {
    background-color: #9698ed;
    border-color: #6665cd;
    color: #ffffff;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: left;
    vertical-align: top;
}

.note-table .tg .tg-dkgf {
    background-color: #ffffff;
    border-color: #6665cd;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: left;
    vertical-align: top;
}

.note-table .tg .tg-6vuj {
    background-color: #f0f0ff;
    border-color: #6665cd;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: left;
    vertical-align: top;
}

.note-table .tg .tg-znav {
    background-color: #f0f0ff;
    border-color: #6665cd;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: center;
    vertical-align: top;
}

.note-table .tg .tg-qobn,
.note-table .tg .tg-q4tr,
.note-table .tg .tg-eznr,
.note-table .tg .tg-x8gv {
    background-color: #ffffff;
    border-color: #6665cd;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: center;
    vertical-align: top;
}

.note-table .tg .tg-k5y6 {
    background-color: #9698ed;
    border-color: #6665cd;
    color: #ffffff;
    font-family: "Arial Black", Gadget, sans-serif !important;
    font-size: 16px;
    text-align: center;
    vertical-align: top;
}

/* notebook结束 */

/* safty开始 */
.safty.tg {
    border-collapse: collapse;
    border-color: #aaa;
    border-spacing: 0;
}

.safty.tg td {
    background-color: #fff;
    border-color: #aaa;
    border-style: solid;
    border-width: 1px;
    color: #333;
    font-family: Arial, sans-serif;
    font-size: 14px;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.safty.tg th {
    background-color: #f38630;
    border-color: #aaa;
    border-style: solid;
    border-width: 1px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: normal;
    overflow: hidden;
    padding: 10px 5px;
    word-break: normal;
}

.safty.tg .tg-s6n0 {
    border-color: #ce6301;
    font-family: "Arial Black", Gadget, sans-serif !important;
    text-align: left;
    vertical-align: top
}

.safty.tg .tg-2xpr {
    background-color: #FCFBE3;
    border-color: #ce6301;
    font-family: "Arial Black", Gadget, sans-serif !important;
    text-align: left;
    vertical-align: top
}

/* safty结束 */

/* hp星球 */
.container .plant {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

@layer reset, base, utilities, components, layout, overrides;

@property --angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

@property --direction {
    syntax: '<number>';
    initial-value: 1;
    inherits: true;
}

@layer reset {

    *,
    ::before,
    ::after {
        box-sizing: border-box;
    }

    :where(:not(dialog)) {
        margin: 0;
    }

    :where(html) {
        -webkit-text-size-adjust: none;

        @media (prefers-reduced-motion: no-preference) {
            scroll-behavior: smooth;
        }
    }

    :where(body) {
        min-block-size: 100svb;
        -webkit-font-smoothing: antialiased;
    }
}

@layer base {
    html {
        --text-1: oklch(91% 0.03 61);
        --body: 400 1rem/1.5rem system-ui, sans-serif;
        --label: 500 0.875rem/1.25rem system-ui, sans-serif;
        --title: 400 1.375rem/1.75rem system-ui, sans-serif;
    }
}

@layer layout {
    .section {
        display: grid;
        min-block-size: 50svb;
        overflow-x: clip;
        padding-block: 80px;
        place-items: center;
    }

    .section-wrapper {
        display: grid;
        place-items: center;
        container-type: inline-size;
        container-name: orbit-container;
        width: 100%;
    }

    .header {
        display: grid;
        place-items: center;
        gap: 16px;
        z-index: 2;

        @media (width >=600px) {
            grid-area: 1/1;
        }
    }

    .hgroup {
        display: grid;
        place-items: center;
        gap: 8px;
    }

    .headline {
        font-size: 6vh !important;
        font-weight: bold !important;
        font-family: 'mainNav' !important;
        color: #000000c5 !important;
    }

    .cards {
        list-style: none;
        padding: 0;

        @media (width >=600px) {
            --avatar-img-scale: 1;
            --tooltip-visibility: hidden;
            --tooltip-opacity: 0;
            --animation-state: running;
            --overlay-opacity: 0;
            display: grid;
            grid-area: 1/1;
            min-block-size: min(700px, 50cqb);
            place-items: center;

            &:has(.avatar-link-wrapper:is(:hover, :focus-visible, :active)) {
                --animation-state: paused;
                --overlay-opacity: 0.7;
            }
        }
    }

    .card {
        padding: 0;

        @media (width >=600px) {
            --radius: min(500px, 30vw);
            --offset-per-child: calc(360deg / (var(--nth-siblings) + 1));
            --angle-offset: calc(var(--nth-child) * var(--offset-per-child));
            --inline-ratio: 1/1;
            --block-ratio: 1/2;
            --direction: min(max(calc(cos((var(--angle) + var(--angle-offset))) * -100), -1), 1);
            grid-area: 1/1;
            translate: calc(cos((var(--angle) + var(--angle-offset))) * var(--radius) * var(--inline-ratio)) calc(sin((var(--angle) + var(--angle-offset))) * var(--radius) * var(--block-ratio) * -1);
            transition: translate 0.5s ease-out;
            animation: adjust-angle linear 40s infinite reverse var(--animation-state);
        }

        @media (width < 600px) {
            --radius: min(15cqw, 15vw);
        }
    }

    @keyframes adjust-angle {
        to {
            --angle: 360deg;
        }
    }

    .avatar-link-wrapper {
        display: flex;
        align-items: center;
        gap: 8px;
        text-decoration: none;
        color: var(--text-1);

        &:is(:hover, :focus-visible, :active) {
            --avatar-img-scale: 1.2;
            --overlay-opacity: 0;
            --tooltip-opacity: 1;
            --tooltip-visibility: visible;
        }

        @media (width < 600px) {
            flex-direction: column;
            gap: 16px;
        }
    }

    .visual {
        aspect-ratio: 1;
        border-radius: 1rem;
        inline-size: 240px;
        transition: transform 0.3s ease;
        position: relative;

        &::after {
            content: '';
            position: absolute;
            inset: 0;
            background: #ffffffb8;
            opacity: var(--overlay-opacity);
            transition: opacity 0.3s ease;
            pointer-events: none;
            border-radius: 50%;
        }

        @media (width >=600px) {
            inline-size: min(15vw, 200px);
            border-radius: 1e5px;
        }
    }

    .avatar-img {
        block-size: 100%;
        display: block;
        inline-size: 100%;
        object-fit: cover;
        scale: var(--avatar-img-scale, 1);
        transition: scale 0.3s ease;
    }

    .orbit {
        @media (width >=600px) {
            --radius: min(500px, 30vw);
            --inline-ratio: 1/1;
            --block-ratio: 1/2;
            width: calc(var(--radius) * 2 * var(--inline-ratio));
            height: calc(var(--radius) * 2 * var(--block-ratio));
            border: 3px solid oklch(0.45 0.16 258.18 / 0.63) !important;
            border-radius: 50%;
            position: absolute;
            z-index: 0;
            pointer-events: none;
        }
    }
}

/* 结束 */

/* attributions开始 */

.main.attr .attr {
    width: 80%;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(25px) saturate(220%) contrast(110%);
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
    padding: 4vw 6vw;
    margin-top: 5vh;
    border-radius: 20px;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

/* attributions结束 */

/* banner控制开始 */
/* 仅当 <body> 有 .banner-flow 时生效，避免影响其他页面 */
body.banner-flow .container .banner {
    position: relative;
    /* 留在文档流 */
    height: 100vh;
    /* 容器高度恒定为 100vh（默认态） */
    overflow: hidden;
}

/* 只“折叠” banner 的内容，不改 banner 容器高度（形成 main 盖过去的观感） */
body.banner-flow .container .banner .contain {
    max-height: 100vh;
    overflow: hidden;
    transition: max-height .8s ease;
    /* 动画视觉：main 像“盖上去” */
}

body.banner-flow.banner-compressed .container .banner .contain {
    max-height: 0;
    /* 内容折叠到 0 */
}

body.banner-flow .container .banner {
    transition: height 0s;
}

body.banner-flow.banner-compressed .container .banner {
    height: 0;
    transition: height 0s .8s;
    /* 0s 时长 + 0.8s 延迟：动画结束瞬间切到 0 */
}

/* “覆盖感”仅做视觉增强，不影响排版/交互 */
body.banner-flow.banner-animating::before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 40px;
    box-shadow: 0 -24px 48px rgba(0, 0, 0, .18);
    pointer-events: none;
    opacity: 0;
    transition: opacity .8s ease;
}

body.banner-flow.banner-animating.banner-compressed::before {
    opacity: 1;
}

/* 保险：不要让 .main 使用 transform/margin-top 影响布局或层叠 */
body.banner-flow .main {
    margin-top: 0 !important;
    transform: none !important;
}


/* 你的滚动控制类照旧 */
body.scroll-enabled {
    overflow-y: auto;
}

body:not(.scroll-enabled) {
    overflow: hidden;
}

body.banner-flow .container .banner .contain {
    max-height: 100vh;
    overflow: hidden;
    transition: max-height .8s ease;
}

body.banner-flow.banner-compressed .container .banner .contain {
    max-height: 0;
}




/* banner控制结束 */