@font-face {
    font-family: 'Play';
    src: url('https://static.igem.wiki/teams/5872/materials/fonts/playregular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}


.content-inner h1,
.content-inner h2,
.content-inner h3 {
    scroll-margin-top: 90px;
    /* 根据你的导航栏高度调整 */
}

:root {
    --sidebar-bg: #e1f0eb;
    --sidebar-border: #dde7f3;
    --content-bg: #fff;
    --radius: 20px;
    --shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    --transition: 0.3s;
    --top-gap: 40vh;
    --top-gap-button: 18vh;
    --max-content-width: 960px;
}

* {
    padding: 0;
    margin: 0;
}

body {
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
    overflow-x: hidden;
    font-family: 'Play';
}

/* ==================================-- 子页面顶部 --============================== */
.top-holder {
    position: relative;
    top: 9vh;
    width: 100%;
    height: 100vh;
    background-color: #e6f2ff;
}

.top-box {
    width: 80%;
    height: 100%;
    background-color: #e6f2ff;
}

.top-box .sub-top-left {
    position: absolute;
    top: 8vh;
    left: -2vw;
}

.top-box .sub-top-left img {
    width: 130%;
    height: auto;
}

.top-box .sub-top-right {
    position: absolute;
    top: -5vh;
    right: 22vw;
}

.top-box .sub-top-right img {
    width: 230%;
    height: auto;
}

.top-box .title {
    position: relative;
    top: 16vh;
    left: 10vw;
    font-size: 8vw;
    font-weight: 800;
    color: #4d6297;
    margin-bottom: 10px;
}

.top-box .title-desc {
    position: relative;
    top: 18vh;
    left: 10vw;
    padding-left: 12px;
    font-size: 2vw;
    font-weight: 500;
    color: #4d6297;
}

.sub-top-down {
    display: block;
    position: relative;
    bottom: 21%;
    left: 0;
    width: 100%;
    z-index: 2;
    /* ！！！【响应】这里可能得根据宽度进行调整 */
}

.sub-top-down img {
    width: 104%;
}









/*  ======================  members-container ====================== */
.members-container {
    width: 100%;
    padding-top: 30vh;
    padding-bottom: 30vh;
    background: linear-gradient(to right, #fcfdff, #d1e3fc);
}


/* ************ group-photo **************** */
.group-photo {
    width: 70%;
    margin: 0 auto 150px;
    background-color: #fcf1f1ca;
    border-radius: 20px;
    padding: 20px; /* 内部留白 */
    box-sizing: border-box; /* 确保padding不会增加总宽度 */
}

.group-photo img {
    width: 100%; /* 图片占满容器宽度 */
    border-radius: 20px;
    display: block; /* 消除图片底部默认空白 */
    margin: 0 0 20px 0; /* 仅底部有间距 */
}

.group-text {
    width: 100%;
    font-size: 20px;
    padding: 0 10px; /* 左右内边距 */
    box-sizing: border-box; /* 确保padding不会增加总宽度 */
}




/* ------------------ Members ------------------ */
.members {
    max-width: 78%;
    margin: 0 auto;
}

.project {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 80px;
    width: 100%;
}

.project-text {
    margin-top: 20px;
    margin-bottom: 40px;
    font-size: 40px;
    font-weight: 700;
    color: #25568a;
}

.card-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    /* gap: 1px; */
    row-gap: 25px;
    /* column-gap: 2px; */
    width: 100%;
}

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 22%;
    height: 40vh;
    margin: 20px auto;
    background-color: #15489ba8;
    border-radius: 20px;
    color: #ffffff;
    box-shadow: 4px 2px 14px rgba(0, 0, 0, 0.5);
    overflow: auto;
    flex-shrink: 0;
}

.card .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card .photo {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0%;
    overflow: hidden;
    transition: 0.5s;
}

/* 触发后图片变为圆形 */
.card:hover .photo {
    top: 2%;
    width: 40%;
    height: 30%;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}

/* 图片下摆的小阴影 */
.card .photo::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 75%, #3d4043cb);
}

/* 姓名显示 */
.card h1 {
    position: absolute;
    top: 80%;
    transition: 0.5s;
    font-size: 20px
}

/* 触发后姓名缩小  */
.card:hover h1 {
    top: 32%;
    font-size: 22px;
}

/* 人物所属--在触发前是隐藏的 */
.card h2 {
    position: absolute;
    top: 42%;
    width: 80%;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    z-index: -1;
}

.card .per-intro {
    position: absolute;
    top: 48%;
    margin: 20px;
    font-size: 14px;
    line-height: 20px;
    z-index: -1;
}

.card:hover h2,
.card:hover .per-intro {
    /* display: block; */
    z-index: 1;
}









/*  =============================  聚光灯效果 =============================== */
/* 给title加上一个聚光灯的效果  */
.top-box .title {
    position: relative;
    top: 16vh;
    left: 10vw;
    font-size: 8vw;
    font-weight: 800;
    color: #4d6297;
    margin-bottom: 10px;
}

.top-box .title:after {
    content: 'Roster';
    position: absolute;
    top: 0;
    left: 0;
    color: transparent;
    background-image: linear-gradient(to right, #cb7c8e, rgb(204, 177, 135), #7faa9d,
            #94b0cd, #3f669a);
    background-clip: text;
    -webkit-background-clip: text;
    clip-path: circle(100px at 0% 50%);
    -webkit-clip-path: circle(100px at 0% 50%);
    animation: move 5s infinite;
}

@keyframes move {
    0% {
        clip-path: circle(100px at 0% 50%);
        -webkit-clip-path: circle(100px at 0% 50%);
    }

    50% {
        clip-path: circle(100px at 100% 50%);
        -webkit-clip-path: circle(100px at 100% 50%);
    }

    100% {
        clip-path: circle(100px at 0% 50%);
        -webkit-clip-path: circle(100px at 0% 50%);
    }
}