/* 通用样式 */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--r: 5rem;
	--cors: rgba(84, 14, 175, .7);
	--bordercors: rgba(84, 14, 175, .9);
	--amimainss: changeCircle 6s linear infinite;
}

html,
body {
	font-family: 'Roboto', sans-serif;
	color: #fff;
	background-color: #0d121c;
	/* 页面的深色背景 */
	scroll-behavior: smooth;
	/* 平滑滚动效果 */
	background-attachment: fixed;
	background-size: 60px 60px;
	/* 根据 SVG 调整 */
}

/* 布局 */
.header,
.main-content {
	position: relative;
	/* 确保内容在背景之上 */
	z-index: 10;
}

/* 导航栏样式 */
.header {
	position: fixed;
	/* 固定在顶部 */
	top: 0;
	left: 0;
	width: 100%;
	transition: background-color 0.3s ease;
	/* 过渡效果 */
}

.nav {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 2rem;
}

.logo img {
	height: 2rem;
}

.nav-links {
	list-style: none;
	display: flex;
}

.nav-links li {
	margin-left: 2rem;
}

.nav-links a {
	text-decoration: none;
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	transition: color 0.3s ease;
}

.nav-links a:hover {
	color: #4CAF50;
	/* 悬停颜色 */
}

/* 英雄区域样式 */
.hero-section {
	/* height: 100vh; */
	position: relative;

}

/* 标题盒子 */
.titlebox {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem 2rem;
  flex-wrap: wrap; /* 使元素在小屏幕下换行 */
}

/* 每个 hero-text 项目 */
.hero-text {
  margin: 0 2rem;  /* 调整左右间距，使标题不那么靠近 */
  cursor: pointer;
}

/* 标题样式 */
.hero-text h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* PC 版优化 */
@media (min-width: 1024px) {
  .hero-text {
    margin: 0 3rem;  /* 更大的左右间距，使得在大屏幕上不显得紧凑 */
  }

  .hero-text h1 {
    font-size: 2.5rem; /* 增大标题字体 */
  }
}

/* 手机版优化 */
@media (max-width: 768px) {
  .hero-text {
    margin: 0 1rem;  /* 在手机端减小左右间距 */
  }

  .hero-text h1 {
    font-size: 1.5rem; /* 缩小字体大小 */
    margin-bottom: 0.5rem;  /* 减少下边距 */
  }
}

@media (max-width: 480px) {
  .hero-text {
    margin: 0 0.5rem; /* 进一步减小手机端的左右间距 */
  }

  .hero-text h1 {
    font-size: 1.2rem; /* 再次缩小字体大小 */
  }
}






/* 动态背景容器 */
#dynamic-bg-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	/* 确保在内容下方 */
}

/* 渐变叠加层 */
.gradient-overlay {
	position: absolute;
	/* 相对于 body 定位 */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* 使用你提供的渐变代码 */
	background: linear-gradient(200deg, #FFCEB0 -2.01%, rgba(112, 35, 195, 0.5) 50%, transparent 70%);
	z-index: 2;
	/* 确保在动态背景上方，在内容下方 */
	mix-blend-mode: screen;
	/* 关键的混合模式 */
	pointer-events: none;
	/* 确保不影响鼠标事件 */
}



/* 添加到 style.css 文件 */
.header.scrolled {
	background-color: #0d121c;
	/* 滚动后的背景色 */
	box-shadow: 0 2px 5px rgba(181, 120, 108, 0.2);
}

/* 动态背景容器 */
#dynamic-bg-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	/* 确保在内容下方 */
}

/*每个页面公共css */
.fl_clum_center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.fl_clum_start {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.fl_clum_start2 {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.fl_clum_end {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}

.fl_clum_arround {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}

.fl_clum_between {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.fl_between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.fl_arround {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.fl_center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.fl_start {
	display: flex;
	justify-content: start;
	align-items: center;
}

.fl_wrap {
	display: flex;
	flex-wrap: wrap;
}

.self_start {
	align-self: start;
}

.self_center {
	align-self: center;
}

.self_end {
	align-self: flex-end;
}

.title {
	font-size: 4rem;
}
.title-2 {
  display: flex;
  justify-content: center;
  align-items: center; 
  font-size: 4rem;
}

.title-3 {
  display: flex;
  justify-content: center;
  align-items: center; 
  font-size: 2rem;
}
.title-4 {
  display: flex;
  justify-content: center;
  align-items: center; 
  font-size: 1.5rem;
}
.text-limit {
  max-width: 1500px; 
  margin: 0 auto;   
  line-height: 1.6; 
  text-align: center; 
}
.text-limit2 {
  max-width: 1200px; 
  margin: 0 auto;   
  line-height: 1.6; 
  text-align: center; 
}

.fontwhite {
	color: white;
}

.fontblue {
	color: #35d4ed;
}

.contentbox {
	width: 90%;
	max-width: 70rem;
	margin: 0 auto;
	/* background: red; */
	flex-wrap: wrap;

}

.m-t-1 {
	margin-top: 1rem;
}

.inputbox {
	background: #001635;
	border-radius: .6rem;
	border: .1rem solid #3ef3fe;
	padding: 1.5rem 2rem;
	font-size: 1.5rem;
	width: 100%
}

.inputs {
	border: none;
	outline: 0;
	height: 2.5rem;
	background: #000000;
	color: #3ef3fe;
	border-radius: .6rem;
	border: .1rem solid #003074;
	padding: 0 1rem;
	font-size: 1.5rem;
	width: 15rem;
	margin-left: .5rem;
}

.btns {
	background: #33445d;
	border-radius: .6rem;
	border: .1rem solid #3ef3fe;
	text-align: center;
	padding: 1.5rem 2rem;
	width: 50%;
	font-size: 1.5rem;
	margin-top: 3rem;
}

.news {
	/* position: absolute; */
	/* bottom: 20rem; */
	width: 100%
}

.newitem {
	padding: 2rem;
	border-radius: 1rem;
	background-color: rgba(47, 59, 71, 0.8);
	width: 22rem;
	height: 26rem
}

.newtitle {
	font-size: 2rem;
	font-weight: bold;
}

.newimg {
	width: 10rem;
	height: 10rem
}




.anibox {
	position: relative;
	width: 20rem !important;
	height: 20rem !important;
	/* background: yellow; */
}

.dots {
	position: absolute;

	bottom: 5rem;
	width: 80%;
	left: 50%;
	transform: translateX(-50%);
	height: 100vh;
	/* background: red; */
	z-index: 2;
}




.circle1 {
	animation: var(--amimainss);
		position: absolute;
	background: var(--cors);
	border: .1rem solid var(--bordercors);
	width: var(--r);
	aspect-ratio:1;
	border-radius: 50%;
		
}

.circle2 {
		position: absolute;
	left:1rem;
	top: 3.2rem;
	background: var(--cors);
	border: .1rem solid var(--bordercors);
	width: var(--r);
	aspect-ratio:1;
	border-radius: 50%;

	animation: var(--amimainss);
		

}

.circle3 {
		position: absolute;
	left: 5.2rem;
	top: 0.5rem;
	background: var(--cors);
	border: .1rem solid var(--bordercors);
	width: var(--r);
	aspect-ratio:1;
	border-radius: 50%;
	animation: var(--amimainss);
		

}

.circle4 {
		position: absolute;
	left:5.5rem;
	top: 4.5rem;
	background: var(--cors);
	border: .1rem solid var(--bordercors);
	width: var(--r);
	aspect-ratio:1;
	border-radius: 50%;
	animation: var(--amimainss);
	

}
.circle5 {
	animation: var(--amimainss);
		position: absolute;
		left: 3.5rem;
		top: 0.5rem;
	background: var(--cors);
	border: .1rem solid var(--bordercors);
	width: var(--r);
	aspect-ratio:1;
	border-radius: 50%;

}
@keyframes changeCircle {
	0% {
		opacity: 1;

		transform: scale(1);
		border: .1rem solid var(--bordercors);
	}
	25% {
		opacity: .8;
		
		transform: scale(0.8);
		border: .1rem solid var(--bordercors);
	}
	50% {
		opacity: .5;
		
		transform: scale(0.5);
		border: .1rem solid var(--bordercors);
	}
	75% {
		opacity: .4;
		
		transform: scale(0.2);
		border: .1rem solid var(--bordercors);
	}
	100% {
		opacity: .2;
	
		transform: scale(0);
		/*  */
		border: .1rem solid var(--bordercors);
	}
}

.app-title {
  font-size: 2rem; 
  font-weight: bold;
  justify-content: center;
  text-align: center;
  margin-top: 100px;
}

@media (max-width: 768px) {
  .app-title {
    font-size: 1.5rem;
    margin-top: 50px;
  }
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 80%;
  max-width: 1200px;
  position: relative;
  z-index: 999;
  margin: 30px auto 100px auto;
}

.square {
  width: 12%;  /* 默认每个方框占 12% */
  border: 2px solid white;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  cursor: pointer; 
  z-index: 1;
}

.square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .container {
    flex-direction: row;  /* 保持横向排列 */
    flex-wrap: wrap;  /* 自动换行 */
    justify-content: center;
  }

  .square {
    width: 25%;  
  }
  .placeholder {
      width: 25%;
      height: 0;
      visibility: hidden; /* 隐藏占位元素 */
    }
}

.options {
  display: none; /* 默认隐藏选项 */
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  color: #000000;
  padding: 10px 0;
}

.option {
  width: 100%;
  padding: 10px;
  background-color: transparent;
  border: none;
  color: #000000;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

.option:hover {
  background-color: #5f5f5f;
  color: #ffffff;
}

.rectangle {
  max-width: 1200px;
  width: 80%;
  margin: 30px auto;
  background-color: rgba(47, 59, 71, 0.8);
  height: 250px;
  border-radius: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
  font-size: 1.5rem;
  padding: 0 80px;
  z-index: 999;
  position: relative;
  flex-wrap: wrap;
}

.left, .right {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.left p, .right p {
  margin: 0;
  padding: 15px 0;
  text-align: center;
}

.image {
  width: 100%;
  max-width: 180px;
  height: auto;
  margin-bottom: 10px;
}

.contact-title {
  font-size: 2vw; /* Responsive font size based on viewport width */
  margin: 0;
  padding: 15px 0;
}

.contact-info {
  font-size: 1.5vw; /* Responsive font size for the second paragraph */
  margin: 0;
  padding: 15px 0;
}

.back-to-top {
  font-size: 1.2vw; /* Responsive font size for the back-to-top button */
  color: #717171;
  font-weight: bold;
  cursor: pointer;
}

/* Mobile & Tablet Optimization */
@media (max-width: 768px) {
  .rectangle {
    flex-direction: column;
    padding: 0 20px;
    height: auto;
  }

  .left, .right {
    align-items: center;
    margin-bottom: 20px;
  }

  .contact-title, .contact-info, .back-to-top {
    font-size: 5vw; /* Adjust font size for mobile/tablet screens */
    padding: 10px 0;
  }

  .image {
    max-width: 120px; /* Smaller image for mobile devices */
    margin-bottom: 15px;
  }
}

@media (max-width: 480px) {
  .contact-title, .contact-info, .back-to-top {
    font-size: 6vw; /* Further adjust for very small screens */
    padding: 8px 0;
  }

  .rectangle {
    padding: 0 10px;
  }

  .image {
    max-width: 100px;
  }
}

.box {
  width: calc(33.33% - 20px);  /* 1/3 of the container width minus the gap */
  height: 400px;
  background-color: rgba(47, 59, 71, 0.8);
  display: flex;
  flex-direction: column;  /* Stack image and text vertically */
  align-items: center;  /* Center items horizontally */
  justify-content: center;  /* Center items vertically */
  border-radius: 10px;
  text-align: center;
  padding: 10px;
}

.box img {
  width: 80%;  /* Adjust image size */
  height: auto;  /* Maintain aspect ratio */
  margin-bottom: 10px;  /* Space between image and text */
}

.box p {
  font-size: 1rem;  /* Adjust text size */
  font-weight: bold;
}

@media (max-width: 768px) {
  .box:last-child {
    display: none; /* Hide the last box on mobile */
  }
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .box {
    width: calc(50% - 20px);  /* 2 boxes per row */
  }
}

@media (max-width: 768px) {
  .box {
    width: calc(100% - 20px);  /* 1 box per row */
  }
}

.how-it-works {
  display: flex;
  flex-direction: column;  /* Stack text vertically */
  align-items: center;  /* Center horizontally */
  justify-content: center;  /* Center vertically */
  text-align: center;
  margin-bottom: 50px;
  margin-top: 150px;
}

.how-it-works h2 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.how-it-works p {
  font-size: 1.5rem;
  font-weight: normal;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .how-it-works h2 {
    font-size: 1.5rem;  /* Adjust font size for mobile */
  }
  
  .how-it-works {
    margin-bottom: 20px;
    margin-top: 60px;
  }

  .how-it-works p {
    font-size: 1rem;  /* Adjust font size for mobile */
  }
}

/* 底部版权样式 */
.footer {
  display: flex;
  justify-content: center;  /* 水平居中 */
  align-items: center;      /* 垂直居中 */
  text-align: center;       /* 文字居中对齐 */
  padding: 30px 0;          /* 上下内边距 */
  color: #fff;              /* 文字颜色 */
  font-size: 1rem;          /* 字体大小 */
  position: relative;
  bottom: 0;
  width: 100%;
}

/* 在手机端优化 */
@media (max-width: 768px) {
  .footer p {
    font-size: 0.9rem;  /* 缩小字体在小屏幕上 */
  }
}
