@charset "utf-8";

/* ======================
   基础样式重置与变量定义
   ====================== */
:root {
	--primary-color: #8b0000;
	/* 主品牌色 */
	--secondary-color: #dfac59;
	/* 次要色 */
	--title-color: #333;
	/* 次要色 */
	--text-color: #999;
	/* 正文颜色 */
	--hover-color: #8b0000;/
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body,
div,
ol,
ul,
h1,
h2,
h3,
h4,
h5,
h6,
p,
th,
td,
dl,
dd,
form,
iframe,
input,
textarea,
select,
label,
article,
aside,
footer,
header,
menu,
nav,
section,
time,
audio,
video {
	margin: 0;
	padding: 0;
}

html,body{
    width: 100%;
    height: 100%;
}

body {
	background: #fff;
	font-size: 14px;
	font-family: Alibaba Sans, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Microsoft YaHei, Hiragino Sans GB, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
	color: var(--title-color);
}

/* 根元素字体大小 - 基准值 */
html {
  font-size: 16px; /* 默认基准 */
}

/* 根据屏幕尺寸调整根字体大小 */
@media (min-width: 768px) {
  html {
    font-size: 18px;
  }
}

@media (min-width: 1024px) {
  html {
    font-size: 20px;
  }
}

@media (min-width: 1440px) {
  html {
    font-size: 22px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit
}

textarea {
	resize: none
}

input,
select,
textarea {
	outline: 0;
	-webkit-user-modify: read-write-plaintext-only;
	appearance: none;
	/* 统一无前缀写法 */
}

input {
	-webkit-appearance: none;
	/* WebKit 内核浏览器 */
	-moz-appearance: none;
	/* Firefox 浏览器 */
	appearance: none;
	/* 标准化写法 */
}

iframe,
img {
	border: 0;
	max-width: 100%;
	/* 响应式处理 */
	height: auto;
}

em {
	font-style: normal;
}

ul,
ol,
li {
	margin: 0px;
	padding: 0px;
	list-style: none
}

i {
	font-style: normal
}

a {
	text-decoration: none;
	/* 去掉下划线 */
	color: var(--title-color);
	/* 企业常用的蓝色作为默认链接颜色 */
	transition: color 0.3s ease;
	/* 平滑过渡效果 */
}

a:hover {
	color: var(--hover-color);
	text-decoration: none;
	outline: none;
}

.acea-row {
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-o-box-lines: multiple;
	flex-wrap: wrap
}

.acea-row.row-middle {
	-o-box-align: center;
	align-items: center
}

.acea-row.row-top {
	-o-box-align: start;
	align-items: flex-start
}

.acea-row.row-bottom {
	-o-box-align: end;
	align-items: flex-end
}

.acea-row.row-center {
	-o-box-pack: center;
	justify-content: center
}

.acea-row.row-right {
	-o-box-pack: end;
	justify-content: flex-end
}

.acea-row.row-left {
	-o-box-pack: start;
	justify-content: flex-start
}

.acea-row.row-between {
	-o-box-pack: justify;
	justify-content: space-between
}

.acea-row.row-around {
	justify-content: space-around;
	-webkit-justify-content: space-around
}

.acea-row.row-column-around {
	flex-direction: column;
	justify-content: space-around;
	-webkit-justify-content: space-around
}

.acea-row.row-column {
	-o-box-orient: vertical;
	flex-direction: column
}

.acea-row.row-column-between {
	-o-box-orient: vertical;
	flex-direction: column;
	-o-box-pack: justify;
	justify-content: space-between
}

.acea-row.row-center-wrapper {
	-o-box-align: center;
	align-items: center;
	-o-box-pack: center;
	justify-content: center
}

.acea-row.row-between-wrapper {
	-o-box-align: center;
	align-items: center;
	-o-box-pack: justify;
	justify-content: space-between
}

.row-one {
	flex: 1;
}

.hr10 {
	height: 10px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.hr20 {
	height: 20px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.hr30 {
	height: 30px;
	font-size: 1px;
	line-height: 1px;
	clear: both;
}

.hr40 {
	height: 40px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.hr60 {
	height: 60px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}


.hr80 {
	height: 80px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.hr100 {
	height: 100px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.hr120 {
	height: 120px;
	clear: both;
	font-size: 1px;
	line-height: 1px;
}

.clear {
	clear: both;
}

.line1 {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.line2 {
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	display: -moz-box;
	-moz-line-clamp: 2;
	word-wrap: break-word;
	word-break: break-all;
	white-space: normal;
	overflow: hidden
}

.line3 {
	word-break: break-all;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.line4 {
	word-break: break-all;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.hidden{
    overflow: hidden;
}

.hide {
    display: none;
}

/* Loading 遮罩样式 */
.loading {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #ff0221; /* 建议根据你页面的主色调调整 */
    z-index: 9999; /* 确保在最顶层 */
    transition: opacity 0.5s ease;
}

/* 简单的 CSS 动画 */
.loading .spinner {
    width: 3rem;
    height: 3rem;
    position: relative;
    margin-bottom: .5rem;
}

.loading .spinner .double-bounce1, .loading .spinner .double-bounce2 {
    border-radius: 50%;
    background-color: #f6e3a1; /* 建议改为邀请函的主色调/金色 */
    opacity: 0.6;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    animation: sk-bounce 3.0s infinite ease-in-out;
}

.loading .spinner .double-bounce2 {
    animation-delay: -1.0s;
}

.loading .load-text {
    line-height: 1;
    font-size: .8rem;
    color: #f6e3a1;
}

@keyframes sk-bounce {
    0%, 100% { transform: scale(0.0); }
    50% { transform: scale(1.0); }
}

/* 箭头容器固定在底部中央 */
.arrow-down {
    position: fixed;
  bottom: 3.5rem;
  left: 0;
  right: 0; /* 左右都贴边 */
  margin: 0 auto; /* 自动外边距居中 */
  width: 2rem;
  height: 2rem;
  z-index: 9998;
  background: url("../images/down-f.svg") center no-repeat;
  background-size: cover;
  pointer-events: none;
  animation: arrowJump 2s infinite;
}

/* 定义跳动动画 */
@keyframes arrowJump {
    0% {
        opacity: 0;
        transform: translate(0, -10px) ;
    }
    50% {
        opacity: .5;
        transform: translate(0, 0);
    }
    100% {
        opacity: 0;
        transform: translate(0, 10px);
    }
}

.music {
			    position: fixed;
			    top: 1rem;
			    right: 1rem;
			    width: 2rem;
			    height: 2rem;
			    cursor: pointer;
			    z-index: 9999;
			    transition: transform 0.1s ease;
			    transform-origin: center center;
			    background: url("../images/eqx_bgm_btn.png") center no-repeat;
			    background-size: cover;
			}
			
			.music.playing {
				animation: rotate 2s linear infinite;
			}
			
			/* 播放时图标旋转动画 */
			@keyframes rotate {
				from {
					transform: rotate(0deg);
				}
			
				to {
					transform: rotate(360deg);
				}
			}
			
			.swiper-container {
				width: 100%;
				height: 100%;
				overflow: hidden;
				background: url('../images/bg.jpg') bottom center no-repeat;
				background-size: cover;
			}

			/* 页面样式 */
			.swiper-slide {
				padding: 1rem;
				overflow: hidden;
			}
			
			.swiper-slide .logo{
			    width: 100%;
			    overflow: hidden;
			}
			
			.swiper-slide .logo img{
			    display: block;
			    height: 3.2rem;
			}
			
			.swiper-slide .flexbox{
			    padding-top: 1.5rem;
			    padding-bottom: 5.5rem;
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .invitation{
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .invitation img{
			    display: block;
			    max-width: 85%;
			    height: auto;
			}

			.swiper-slide .flexbox .top{
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .top img{
			    display: block;
			    max-width: 100%;
			    height: 3.8rem;
			}
			
			.swiper-slide .flexbox .topic{
				background: url('../images/gold.gif') center no-repeat;
				background-size: cover;
				border-radius: 5rem;
				margin: 1rem .5rem;
				padding: 3px;
				overflow: hidden;
			}
			
			.swiper-slide .flexbox .topic .inner{
			    background: rgba(213,10,10,0.78);
			    border-radius: 5rem;
			    padding: .5rem 0px;
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .topic .inner img{
			    display: block;
			    width: 94%;
			    height: auto;
			}
			
			.swiper-slide .flexbox .host{
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .host img{
			    display: block;
			    max-width: 100%;
			    height: 2.8rem;
			}
			
			.swiper-slide .flexbox .main{
			    padding-bottom: 4rem;
			}
			
			.swiper-slide .flexbox .content{
			    overflow: hidden;
				background: url('../images/gold.gif') center no-repeat;
				background-size: cover;
				margin: 0px .5rem;
				padding: 5px;
			}
			
			.swiper-slide .flexbox .content .box{
			    background: rgba(213,10,10,0.94);
			    padding: 1.5rem 1rem;
			}
			
			.swiper-slide .flexbox .content .box .title{
				background: url('../images/gold.gif') center no-repeat;
				background-size: cover;
				border-radius: .6rem;
				width: max-content;
				margin: 0px auto;
				padding: .4rem 2.5rem;
			}
			
			.swiper-slide .flexbox .content .box .title img{
			    display: block;
			    max-width: 100%;
			    height: 1.6rem;
			}
			
			.swiper-slide .flexbox .content .box .text{
			    overflow: hidden;
			}
			
			.swiper-slide .flexbox .content .box .text p{
			    text-align: left;
			    line-height: 1.4;
			    font-size: .92rem;
			    color: #EEEFC1;
			}
			
			.swiper-slide .flexbox .content .box .text .letter{
    display: block;
   width: 100%;
    height: auto;
    margin-bottom: .8rem;
}
			
			.swiper-slide .flexbox .content .box .text p.text-indent{
    text-indent: 2rem;
}

.swiper-slide .flexbox .content .box .text p.text-justify{
 text-align: justify;   
}

.swiper-slide .flexbox .content .box .text p.text-right{
 text-align: right;   
}

.swiper-slide .flexbox .content .box .text p.text-center{
 text-align: center;   
}

.swiper-slide .flexbox .content .box .text .agenda,
.swiper-slide .flexbox .content .box .text .loction{
    display: block;
    max-width: 100%;
    height: auto;
}

.swiper-slide .flexbox .content .box .text .name{
    font-size: 1.2rem;
    font-weight: bold;
}

.swiper-slide .flexbox .content .box .text .tel{
    display: block;
    max-width: 100%;
    height: 4.6rem;
}
			
			.swiper-slide .flexbox .foot{
			    overflow: hidden;
			    background: linear-gradient( to right, transparent 0%, #c40305 20%, #c40305 80%, transparent 100% );
			    padding: .5rem 0px .4rem 0px;
			}
			
			.swiper-slide .flexbox .foot img{
			    display: block;
			    max-width: 100%;
			    height: 1.5rem;
			}

			/* 初始透明，靠动画显示 */

			/* 动画延迟类 */
			.delay-1 {
				animation-delay: 0.5s;
			}

			.delay-2 {
				animation-delay: .8s;
			}

			.delay-3 {
				animation-delay: 1.2s;
			}
			
			.delay-4 {
				animation-delay: 1.4s;
			}
			
			.delay-5 {
				animation-delay: 1.6s;
			}
			
			.delay-6 {
				animation-delay: 1.8s;
			}
			
			.delay-7 {
				animation-delay: 2.2s;
			}