body { padding-top: 56px; }
.left-aligned { margin-left: auto; }
.bg-dark { background: linear-gradient(45deg, #ff222290, #ddbb2290) !important; }
.bg-hero { background-color: #45b06cff; }

/* CALLOUT */
.bd-callout { padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem }
.bd-callout h4 { margin-bottom:.25rem }
.bd-callout p:last-child { margin-bottom:0 }
.bd-callout code { border-radius:.25rem }
.bd-callout+.bd-callout { margin-top:-.25rem }
.bd-callout-info { border-left-color:#5bc0de }
.bd-callout-warning { border-left-color:#f0ad4e }
.bd-callout-danger { border-left-color:#d9534f }

/* innerpage通用css */
.innerpage {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.innerpage .innerpage-banner { 
    width: 100vw ;}

.innerpage img {
    max-width: 64vw;
    height: auto;
    justify-content: center;
    align-items: center;
}

.innerpage p {
    text-align: justify;
    padding: 0 0;
    font-family: kumbh-regular;
    font-size: 20px;
    color: var(--primary-color);
}

.innerpage h1 {
    text-align: left;
    padding: 0 0;
    font-family: kumbh-bold;
    font-size: 40px;
    color: #b45522;
}

.innerpage h2 {
    text-align: left;
    padding: 0 0;
    font-family: kumbh-bold;
    font-size: 36px;
    color: #b45522;
    margin-top: 15px;
}

.innerpage h3 {
    text-align: left;
    padding: 0 0;
    font-family: kumbh-bold;
    font-size: 32px;
    color: #b45522;
}

.innerpage h4 {
    text-align: left;
    padding: 0 0;
    font-family: kumbh-bold;
    font-size: 28px;
    color: #b45522;
}

.innerpage h5 { 
    text-align: left;
    padding: 0 0;
    font-family: kumbh-bold;
    font-size: 24px;
    color: #b45522;
}

.innerpage .stressed-p {
    font-family: kumbh-bold;
    font-size: 20px;
    color: var(--primary-color);
}

.innerpage li {
    color: var(--primary-color);
    font-size: 20px;
}

/* table CSS */
.innerpage table {
    justify-content: center;
    margin: 0 auto; /* 将表格居中 */
    border-collapse: collapse; /* 合并表格边框 */
}

.innerpage table td {
    font-family: kumbh-regular;
    font-size: 16px;
    color: var(--primary-color);
    padding: 5px;
}

.innerpage table th {
    font-family: kumbh-bold;
    font-size: 16px;
    color: #b45522;
    padding: 5px;
    margin: 0 auto;
}

.innerpage a {
    color: #f3d170;
    font-family: kumbh-bold;
    font-size: 20px;
    text-decoration: none;
}

/* .innerpage table, .innerpage th, .innerpage td {
    border: 1px solid black; 添加边框
    } */

/* .innerpage table thead th, .innerpage table tfoot td {
    border-top: 2px solid #b45522; 
    border-bottom: 2px solid #b45522; 
    } */

.innerpage table tbody tr:first-child td {
    border-top: 2px solid #b45522; /* 中间水平线 */
    }

.innerpage table tbody tr:last-child td {
    border-bottom: 2px solid #b45522; /* 底部水平线 */
    }

.innerpage table thead th {
    border-top: 2px solid #b45522; /* 表头顶部边框 */
    }

/* 含caption的图片 */
.innerpage .figure-with-caption {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.figure-with-caption img {
    border-top: 2vh;
    border-bottom: 2vh;
}

.figure-with-caption p{
    font-family: kumbh-regular;
    font-size: 16px;
    color: #a0a0a0;
}

.innerpage-note {
    text-align: left;
    padding: 0 0;
    font-family: kumbh-regular;
    font-size: 14px;
    color: var(--primary-color);
}

.innerpage .caption-of-figure {
    font-family: kumbh-regular;
    font-size: 16px;
    color: #a0a0a0;
}

/* 单独各个页面的适配 */
.project-name {
    text-align: center;
    align-items: center;
    font-family: kumbh-bold;
    font-size: 24px;
    color: var(--primary-color);
}

/* Protocol Begins */
.book
.book-info {
    position: relative
}

.book,
.book-title {
    display: flex;
    transition: .3s
}

.book {
    overflow: hidden;
}

.book-title {
    text-decoration: none;
}

.book img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(1.2) blur(1.5px)
}

.bookshelf {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: var(--secondary-color);
    font-family: Arial, sans-serif;
    user-select: none;
}

.bookshelf-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.book {
    width: 150px;
    height: 200px;
    background-color: #e1e8f0;
    margin: 10px;
    align-items: center;
    justify-content: center
}

.book-number {
    color: #6cf;
    text-shadow: #81888e 2px 2px 3px;
    font-size: 30px;
    line-height: 30px;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    font-family: kumbh-regular
}

.book-title,
.date {
    font-family: smileysans
}

.book-title {
    color: #333;
    align-items: center;
    justify-content: center;
    height: 100%;
    white-space: normal;
    font-size: 14px
}

.book:hover {
    background-color: #d3e5f3
}

.book-title:hover {
    color: #000;
    transform: rotate(5deg);
    text-shadow: #6cf 1px 1px 0;
    transition: .3s
}

/* Protocol Ends */
