/*
	gallery page
*/

.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top:55px;
    margin-bottom:55px;
    position: relative;
    justify-content: center;
}

.album-card {
    background: white;
    border-radius: 0;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 532px;
    border: 1px solid rgba(32, 68, 147, 1);

}

.card-image-container {
    height: 256px;
    width:100%;
    padding: 20px 15px;
}

.card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.album-content {
    height: 50%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.album-title {
    margin-bottom: 25px;
    font-family: Microsoft YaHei;
	font-weight: 700;
	font-size: 22px;
	line-height: 28px;
	color: rgba(22, 48, 105, 1);
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 56px;
    min-height:56px;
}

.album-subtitle {
    margin-bottom: 15px;
    flex-grow: 1;
    font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
    color: rgba(88, 88, 88, 1);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 72px;
}

.card-button {
    display: inline-block;
    background: rgba(32, 68, 147, 1);
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
    width: 116px;
    color: white;
    text-decoration: none;
    text-align: center;
    font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 16px;
	line-height: 100%;
    
}

.card-button:hover {
    background: #000382;
    color: white;
}

#load-trigger{
	position: relative;
	left:50%;
}
#loading-spinner{
	position: relative;
	left:50%;
	text-align: center;
	font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 20px;
}

/*
	photo page
*/

@media screen {
	.photo-info{
		min-width:1080px;
	}
}

@media screen and (min-width:1320px){
	.photo-info{
		width:1200px;
		margin: 0 auto;
	}
}

@media screen and (min-width:1698px){
	.photo-info{
		width:1200px;
		margin: 0 auto;
	}
}

@media screen and (min-width:1920px){
	.photo-info{
		width:1200px;
		margin: 0 auto;
	}
}

.photo-info-norecommend{
	width:800px;
	margin: 0 auto;
	padding:60px 0;
}
.photo-info{
	padding:60px 0;
}
.content-photo-norecommend{
	grid-template-columns: 1fr;
}
.content-photo {
    display: grid;
    grid-template-columns: 1fr 387px;
    gap: 30px;
    align-items: start;
}
.photo-text {
    margin-bottom: 30px;
}
.photo-text p {
    margin-bottom: 15px;
    line-height: 1.7;
    font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
    color: rgba(88, 88, 88, 1);
    
}

.image-gallery {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.image-item {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
}

.image-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.recommendations {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.recommend-card {
    background: white;
    border-radius: 0;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 387px;
    height: auto;
    min-height: 532px;
    border: 1px solid rgba(32, 68, 147, 1);
}
.recommend-image-container {
    height: 256px;
    width:100%;
    padding: 20px 15px;
}

.recommend-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.recommend-content {
    padding: 20px;
    height: 40%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.recommend-content {
    height: 50%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.recommend-title {
    margin-bottom: 25px;
    font-family: Microsoft YaHei;
	font-weight: 700;
	font-size: 22px;
	line-height: 28px;
	color: rgba(22, 48, 105, 1);
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 56px;
    min-height:56px;
}

.recommend-subtitle {
    margin-bottom: 15px;
    flex-grow: 1;
    font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
    color: rgba(88, 88, 88, 1);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 72px;
}

.recommend-button {
    display: inline-block;
    background: rgba(32, 68, 147, 1);
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
    width: 116px;
    color: white;
    text-decoration: none;
    text-align: center;
    font-family: Microsoft YaHei;
	font-weight: 400;
	font-size: 16px;
	line-height: 100%;
    
}

.recommend-button:hover {
    background: #000382;
    color: white;
}

/*
	video
*/
.video-gallery {
    width: 100%;
}

.video-player {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.video-info-norecommend{
	width:1080px;
	margin: 0 auto;
	padding:60px 0;
}
.content-video{
	grid-template-columns: 1fr;
	min-height:800px;
}