/* Reset */
html,
body {
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

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

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

p {
  margin: 0;
}

/* Common */
/* CSS Variables */
:root {
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
  --color-primary: #ff6d01;
}

body {
  background-color: #f7f8f9;
}

button {
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

button.primary {
  color: #ffffff;
  background-color: #ff6d01;
}

button.second {
  color: #ff6d01;
  background-color: #fff;
}

button.second:hover {
  color: #fff;
  background-color: #ff6d01 !important;
}

button.primary:hover {
  background-color: #e06305 !important;
  color: #fff;
}

/* Custom */

.landing-page-nav-header {
  width: 100%;
  height: 54px;
  padding: 10px 120px;
  background-color: #fff;
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
}

.landing-page-nav-header .logo {
  width: 120px;
  object-fit: contain;
  cursor: pointer;
}

.landing-page-nav-header .nav-right {
  margin-left: auto;
  display: flex;
  gap: 20px;
  align-items: center;
}

.landing-page-nav-header .nav-right .phone-number-wrapper {
  font-weight: 400;
  font-size: 14px;
  color: #333333;
  letter-spacing: 0;
}

.landing-page-nav-header .nav-right .phone-number {
  color: #ea5413;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0;
}

.landing-page-nav-header .nav-right .sign-in-button {
  width: 70px;
  height: 32px;
  border: 1px solid #ff6d01;
  border-radius: 16px;
  font-weight: 500;
  font-size: 14px;
  color: #ff6d01;
  letter-spacing: 0;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.landing-page-nav-header .nav-right .sign-up-button {
  width: 70px;
  height: 32px;
  border: 1px solid #ff6d01;
  border-radius: 16px;
  font-weight: 500;
  font-size: 14px;
  color: #fff;
  letter-spacing: 0;
  background-color: #ff6d01;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_right_right.fl.clearfix {
  display: flex;
  gap: 20px;
}

.header_right_right.fl.clearfix a:nth-child(1) {
  width: 70px;
  height: 32px;
  border: 1px solid #ff6d01;
  border-radius: 16px;
  font-weight: 500;
  font-size: 14px;
  color: #ff6d01;
  letter-spacing: 0;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_right_right.fl.clearfix a:nth-child(2) {
  width: 70px;
  height: 32px;
  border: 1px solid #ff6d01;
  border-radius: 16px;
  font-weight: 500;
  font-size: 14px;
  color: #fff;
  letter-spacing: 0;
  background-color: #ff6d01;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header_right_right.fl.clearfix a:nth-child(1):hover,
.header_right_right.fl.clearfix a:nth-child(2):hover,
button:hover {
  background-color: #e06305;
  color: white;
}

.summer-boot-camp-container .content {
  margin-top: 54px;
  margin-bottom: 50px;
  min-width: 1200px;
}

.summer-boot-camp-container .hero-section {
  width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.summer-boot-camp-container .feature-section {
  margin-top: 80px;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.summer-boot-camp-container .feature-section .title {
  position: relative;
  display: flex;
  gap: 10px;
}

.summer-boot-camp-container .feature-section .title h1:first-of-type {
  font-size: 40px;
  color: #ff6c02;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .title h1:last-of-type {
  font-size: 40px;
  color: #000000;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .title img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  position: absolute;
}

.summer-boot-camp-container .feature-section .title img:first-of-type {
  top: 45%;
  left: -30px;
}

.summer-boot-camp-container .feature-section .title img:nth-of-type(2) {
  top: 5px;
  right: -30px;
}

.summer-boot-camp-container .feature-section .body {
  margin: 0 auto;
  margin-top: 50px;
  display: flex;
  position: relative;
}

.summer-boot-camp-container .feature-section .body .empty {
  width: 285px;
}

.summer-boot-camp-container .feature-section .body .intro-video {
  width: 570px;
  border-radius: 16px;
  height: auto;
  object-fit: contain;
}

.summer-boot-camp-container .feature-section .body .intro-video-wrapper {
  position: relative;
  position: absolute;
  left: 285px;
  top: 50%;
  border-radius: 16px;
  transform: translateY(-50%) translateX(-50%);
}

.summer-boot-camp-container
.feature-section
.body
.intro-video-wrapper
.button-wrapper {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  align-items: center;
  cursor: pointer;
}

.summer-boot-camp-container
.feature-section
.body
.intro-video-wrapper
.button-wrapper:hover {
  background-color: var(--color-primary);
}

.summer-boot-camp-container
.feature-section
.body
.intro-video-wrapper
.play-button {
  width: 18px;
  height: 18px;
  margin-left: 16.5px;
}

.summer-boot-camp-container .feature-section .body .intro-card {
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 948px;
  height: 380px;
  background: #e0f2ff;
  border-radius: 16px;
}

.summer-boot-camp-container .feature-section .body .intro-card .desc {
  width: 488px;
  text-align: justify;
  line-height: 30px;
  letter-spacing: 0;
  margin-left: 355px;
}

.summer-boot-camp-container .feature-section .body .intro-card button {
  margin-left: 355px;
  margin-top: 72px;
  font-weight: 400;
  font-size: 20px;
  width: 348px;
  height: 50px;
  border-radius: 27px;
}

.summer-boot-camp-container .feature-section .body .type-class {
  display: flex;
  gap: 30px;
  width: 1200px;
  justify-content: center;
  flex-wrap: wrap;
}

.summer-boot-camp-container .feature-section .body .type-class .service-card {
  width: 380px;
  height: 280px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 190px;
  z-index: -1;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
h3 {
  padding: 24px 36px 0 36px;
  font-weight: 900;
  font-size: 44px;
  color: #ffffff;
  letter-spacing: 2px;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.consult-link {
  padding: 0 36px 0 36px;
  margin-top: 10px;
  font-weight: 400;
  font-size: 16px;
  color: #ffffff;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.consult-link
.arrow-right {
  transform: translateY(1px);
  width: 8px;
  height: 10px;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.card-description {
  width: 100%;
  height: 90px;
  margin-top: 68px;
  background-image: linear-gradient(270deg, #62b0ff 0%, #3a9cff 100%);
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.hover-card {
  border-radius: 16px;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(270deg, #62b0ff 0%, #3a9cff 100%);
  top: 190px;
  transition: top 0.5s ease-in;
  left: 0;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card:hover
.hover-card {
  top: 0;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.hover-card
h3 {
  display: none;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card:hover
.hover-card
h3 {
  display: block;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.hover-card
p:first-of-type {
  margin-top: 18px;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.hover-card
p {
  font-weight: 400;
  font-size: 16px;
  color: #ffffff;
  letter-spacing: 0;
  line-height: 26px;
  padding-left: 36px;
}

.summer-boot-camp-container
.feature-section
.body
.type-class
.service-card
.hover-card
button {
  width: 130px;
  height: 40px;
  background: #ffffff;
  border-radius: 8px;
  padding: 9px 24px;
  margin-top: 49px;
  margin-left: 36px;
  font-weight: 400;
  font-size: 16px;
  color: #3a9cff;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.summer-boot-camp-container .feature-section .body .mode-cards {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.summer-boot-camp-container .feature-section .body .mode-cards .mode-card {
  width: 285px;
  height: 222px;
  background-image: linear-gradient(180deg, #ffece2 0%, #dff1ff 100%);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: transform 0.3s ease-in;
}

.summer-boot-camp-container
.feature-section
.body
.mode-cards
.mode-card:hover {
  transform: translateY(-12px);
}

.summer-boot-camp-container
.feature-section
.body
.mode-cards
.mode-card
.icon-feature {
  width: 48px;
  height: 48px;
  object-fit: contain;
  margin-bottom: 8px;
}

.summer-boot-camp-container .feature-section .body .mode-cards .mode-card h4 {
  font-weight: 500;
  font-size: 20px;
  color: #000000;
  letter-spacing: 0;
  text-align: center;
}

.summer-boot-camp-container .feature-section .body .mode-cards .mode-card p {
  font-weight: 400;
  font-size: 14px;
  color: #515d6c;
  letter-spacing: 0;
  margin-top: 4px;
}

.summer-boot-camp-container .feature-section .consult-button-container {
  margin-top: 30px;
  width: 348px;
  height: 50px;
  background-color: #f8f8f8;
  border: 1px solid #ff6d01;
  border-radius: 27px;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0;
  display: none;
}

.summer-boot-camp-container .feature-section .consult-button-container.active {
  display: block;
}

.summer-boot-camp-container .feature-section .form-wrapper {
  width: 100%;
  height: 216px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}

.summer-boot-camp-container .feature-section .form-wrapper .agent {
  position: absolute;
  bottom: 0;
  left: calc(50% + 550px);
  width: 147px;
  height: 200px;
}

.plan-form {
  display: flex;
  gap: 15px; /* Space between form rows/elements */
  position: relative;
}

.plan-form .form-error {
  position: absolute;
  left: 2px;
  bottom: -25px;
  color: red;
  font-size: 14px;
  display: none;
}

.form-row {
  display: flex;
  gap: 15px; /* Space between form groups in a row */
}

.form-group {
  width: 180px;
  height: 40px;
  background: #ffffff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  padding: 0; /* Padding will be on inner input or spans */
  /* border: 1px solid #e0e0e0; Optional subtle border */
}

.form-group input[type="text"],
.form-group input[type="number"] {
  padding: 0;
  height: 40px;
  border: none;
  outline: none;
  padding: 0 15px;
  background-color: transparent;
  width: 100%;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 40px;
}

.form-group input::placeholder {
  color: #999999;
}

.intended-course {
  /* Resetting default browser styles */
  -webkit-appearance: none; /* For Safari/Chrome */
  -moz-appearance: none; /* For Firefox */
  appearance: none; /* Standard */

  /* Visual styling from the image */
  background-color: white;
  border: none;
  border-radius: 8px; /* Rounded corners (adjust e.g., 6px or 8px based on precise look) */

  /* Padding: Top, Right (for arrow), Bottom, Left */
  padding-left: 15px;
  color: #999999;

  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0;

  /* Sizing & Behavior */
  min-width: 160px; /* Minimum width, adjust as needed. Ensures "意向课程" fits comfortably. */
  cursor: pointer;
  outline: none; /* Removes default focus outline, style if needed */

  /* Ensure no residual browser-default arrow/background image */
  background-image: none;

  /* For consistent sizing calculations (optional but good practice) */
  box-sizing: border-box;
}

.select-group {
  position: relative;
}

/* Custom dropdown arrow icon */
.select-group::after {
  content: "";
  background-image: url(../../images/20250429_img/arrow-down.png);
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  right: 15px; /* Distance from the right edge of the container */
  transform: translateY(-50%); /* Vertically centers the icon */
  pointer-events: none; /* Allows clicks to pass through to the select element */
}

/* Styling for the options in the dropdown list (platform-dependent styling) */
.intended-course option {
  background-color: white; /* Background of options */
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0;
  cursor: pointer;
  color: #000000;
}

.intended-course:valid {
  color: #000;
}

.intended-course option[value=""][disabled] {
  color: #999999;
}

/* Optional: If you want the text color to change when an option is selected */
/* This requires the placeholder option to have value="" */
/*
.intended-course:valid {
  color: #333333;
}
*/
/* Phone input with button */
.code-input-group {
  width: 220px;
  padding-right: 0; /* Remove right padding to make space for button */
}

.get-code-btn {
  background-color: transparent;
  border: none;
  border-radius: 8px;
  color: var(--color-primary); /* Orange */
  font-size: 14px;
  cursor: pointer;
  width: 90px;
  height: 40px;
  white-space: nowrap; /* Prevent button text from wrapping */
  flex-shrink: 0; /* Prevent button from shrinking */
  padding-bottom: 4px;
}

.get-code-btn.locked {
  color: #999;
  cursor: not-allowed;
}

.get-code-btn.locked:hover {
  background-color: transparent !important;
  color: #999 !important;
}

.submit-button {
  width: 200px;
  height: 40px;
  border-radius: 8px;
  font-weight: 500;
  font-size: 16px;
  color: #ffffff;
  letter-spacing: 0;
}

.agreement-section {
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #333333;
  position: relative;
  gap: 8px;
}
.agreement-section .agreement-error {
  color: red;
  font-size: 14px;
  position: absolute;
  top: 20px;
  left: 2px;
  display: none;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* 隐藏 Firefox 的步进器 */
input[type="number"] {
  -moz-appearance: textfield;
}

.summer-boot-camp-container .shake {
  animation: shake 0.5s ease-in-out; /* 应用抖动动画 */
}

.summer-boot-camp-container .img-code-group {
  display: flex;
  align-items: center;
  width: 200px;
}

.summer-boot-camp-container .img-code-group img {
  width: 80px;
  object-fit: contain;
  cursor: pointer;
  margin-right: 15px;
}

/* 定义抖动动画关键帧 */
@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-2px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(2px);
  }
}

.agreement-section label {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.agreement-section input[type="checkbox"] {
  cursor: pointer;
  width: 14px;
  height: 14px;
  position: relative;
  accent-color: #ff6d01;
  transform: translateY(0.5px);
}

.agreement-section input[type="checkbox"]:checked::after {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 14px;
  border-radius: 2px;
  font-size: 11px;
  top: 0;
  left: 0;
  content: "✓";
  display: block;
  color: #fff;
  background-color: #ff6d01;
}

.agreement-section a {
  color: #ff6d01; /* Orange */
  text-decoration: none;
}

.icon-arrow-right {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #3a9cff;
}

.summer-boot-camp-container .feature-section .body .five-circles-wrapper {
  position: relative;
}

.summer-boot-camp-container .feature-section .body .five-circles {
  object-fit: contain;
  height: 444px;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle1-title {
  top: 0;
  left: 0;
  transform: translateY(-50px);
  position: absolute;
  font-size: 30px;
  color: #ffcf23;
  font-weight: 600;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle1-desc {
  top: 0;
  left: 0;
  transform: translateY(16px);
  position: absolute;
  font-size: 18px;
  color: #999999;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle2-title {
  top: 0;
  right: 0;
  transform: translateY(-10px);
  position: absolute;
  font-size: 30px;
  color: #ff8f00;
  letter-spacing: 0;
  font-weight: 600;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle2-desc {
  top: 0;
  right: 0;
  transform: translateY(60px);
  text-align: right;
  position: absolute;
  font-size: 18px;
  color: #999999;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle3-title {
  top: 0;
  left: 0;
  transform: translateY(145px);
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  color: #23cdec;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle3-desc {
  top: 0;
  left: 0;
  transform: translateY(210px);
  text-align: left;
  position: absolute;
  font-size: 18px;
  color: #999999;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle4-title {
  bottom: 0;
  left: 0;
  transform: translateY(-65px);
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  color: #1e9eff;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle4-desc {
  bottom: 0;
  left: 0;
  transform: translateY(5px);
  text-align: left;
  position: absolute;
  font-size: 18px;
  color: #999999;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle5-title {
  bottom: 0;
  right: 0;
  transform: translateY(-70px);
  position: absolute;
  font-size: 30px;
  font-weight: 600;
  color: #10cb8a;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.five-circles-wrapper
.circle5-desc {
  bottom: 0;
  right: 0;
  transform: translateY(25px);
  text-align: right;
  position: absolute;
  font-size: 18px;
  color: #999999;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body .experience-images {
  display: flex;
  justify-content: center;
  gap: 24px;
}

.summer-boot-camp-container .feature-section .body .experience-image {
  width: 256px;
  height: 154px;
}

.summer-boot-camp-container .feature-section .body .string {
  width: 1200px;
}

.summer-boot-camp-container .feature-section .body .activity {
  display: flex;
  padding-left: 64px;
  margin-top: 30px;
  margin-bottom: 4px;
}

.summer-boot-camp-container
.feature-section
.body
.activity
div:nth-child(n + 2) {
  margin-left: 25px;
}

.summer-boot-camp-container .feature-section .body .activity h3 {
  font-weight: 500;
  font-size: 20px;
  color: #333333;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body .activity p {
  font-weight: 400;
  font-size: 14px;
  color: #333333;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body .timeline {
  display: flex;
  padding-left: 66px;
}

.summer-boot-camp-container .feature-section .body .camp-features {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

.summer-boot-camp-container .feature-section .body .camp-feature {
  width: 175px;
  height: 85px;
  background-image: linear-gradient(90deg, #fff7f4 0%, #fff1e6 100%);
  border: 1px solid #ffe6d6;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.summer-boot-camp-container .feature-section .body .camp-feature h3 {
  font-weight: 500;
  font-size: 14px;
  color: #ff6d01;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.camp-feature
p:first-of-type {
  margin-top: 5px;
}

.summer-boot-camp-container .feature-section .body .camp-feature p {
  font-weight: 400;
  font-size: 12px;
  color: #333333;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body .tabs {
  display: flex;
  gap: 12px;
}

.summer-boot-camp-container .feature-section .body .tabs button {
  width: 132px;
  height: 52px;
  border: 1px solid #d2d0d0;
  background-color: #f8f8f8;
  border-radius: 26px;
  font-weight: 400;
  font-size: 22px;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body .tabs button:hover {
  color: #fff;
  background-color: #ff6d01;
}

.summer-boot-camp-container .feature-section .body .tabs button.active {
  width: 132px;
  background-color: #ff6d01;
  color: #fff;
  height: 52px;
  border: 1px solid #ff6d01;
  border-radius: 26px;
}

.summer-boot-camp-container .feature-section .body ul {
  display: none;
  margin-top: 27px;
  width: 516px;
  padding-left: 30px;
}

.summer-boot-camp-container .feature-section .body ul.active {
  display: block;
}

.summer-boot-camp-container .feature-section .body ul,
.summer-boot-camp-container .feature-section .body li {
  list-style: initial;
  font-weight: 300;
  font-size: 16px;
  color: #000000;
  letter-spacing: 0;
}

.summer-boot-camp-container .feature-section .body li:nth-of-type(n + 2) {
  margin-top: 8px;
}

.summer-boot-camp-container .feature-section .body .slider {
  display: flex;
  align-items: center;
  gap: 40px;
}

.summer-boot-camp-container .feature-section .body .slider-content {
  width: 420px;
  height: 300px;
  overflow: hidden;
  border-radius: 18px;
}

.summer-boot-camp-container .feature-section .body .slider-wrapper {
  transition: transform 0.5s ease;
  display: none;
  align-items: center;
  border-radius: 18px;
}

.summer-boot-camp-container .feature-section .body .slider-wrapper.active {
  display: flex;
}

.summer-boot-camp-container .feature-section .body .slider-wrapper img {
  width: 420px;
  height: 300px;
  border-radius: 18px;
}

.summer-boot-camp-container .feature-section .body .slider .slider-left-button,
.summer-boot-camp-container
.feature-section
.body
.slider
.slider-right-button {
  cursor: pointer;
  width: 40px;
  height: 40px;
}

.summer-boot-camp-container .feature-section .body .location-wrapper {
  width: 1200px;
  height: 468px;
  background: #ffffff;
  border-radius: 16px;
  padding: 30px;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-images {
  display: none;
  gap: 12px;
  align-items: center;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-images.active {
  display: flex;
}

.summer-boot-camp-container .feature-section .body .location-content {
  margin-top: 30px;
  width: 1140px;
  padding: 20px;
  background-image: linear-gradient(270deg, #fff7f3 0%, #f2f9ff 100%);
  border-radius: 12px;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-images
img {
  width: 266px;
  height: 180px;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-desc {
  margin-top: 34px;
  display: flex;
  align-items: center;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-text {
  display: none;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-text.active {
  display: block;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-desc
h3 {
  font-weight: 600;
  font-size: 20px;
  color: #000000;
  letter-spacing: 0;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-desc
p
img {
  width: 14px;
  transform: translateY(1px);
  object-fit: contain;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-desc
p {
  margin-top: 12px;
  font-weight: 400;
  font-size: 14px;
  color: #000000;
  letter-spacing: 0;
  display: flex;
  gap: 4px;
  align-items: center;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.location-desc
.consult-button-container {
  margin-left: 280px;
  margin-top: 0;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.tabs
button:not(.active) {
  background-color: #fff;
}

.summer-boot-camp-container
.feature-section
.body
.location-wrapper
.tabs
button:hover {
  background-color: #ff6d01;
}

.summer-boot-camp-container footer {
  margin-top: 80px;
}

button.with-light {
  overflow: hidden;
  transform-origin: center center;
  animation: scale 2s linear infinite;
  position: relative;
}

button.with-light .button-light {
  content: "";
  display: block;
  position: absolute;
  width: 80px;
  height: 60px;
  top: -10px;
  left: -10px;
  transform: rotate(-75deg);
  background-image: linear-gradient(
          rgba(255, 255, 255, 0),
          white,
          rgba(255, 255, 255, 0)
  );
  opacity: 0.6;
  -webkit-animation: crossData 1s ease-in infinite;
  animation: crossData 1s ease-in infinite;
}

@keyframes scale {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(1);
  }
  75% {
    transform: scale(1.1);
  }
}

@keyframes crossData {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}

.scroll-into-view-flag {
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  transform: translateY(20px);
  opacity: 0;
}

.scroll-into-view {
  opacity: 1;
  transform: translateY(0);
}

/* 覆盖浏览器自动填充的背景色 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  border-radius: 8px;
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}

.order_content .title_desc {
  margin-left: 110px !important;
}

.order_content .title_desc ul li {
  list-style: initial;
  font-size: 18px;
  line-height: 30px;
  color: #000;
}

.popup_mask {
  z-index: 10;
}

.order_content .title_desc {
  width: 360px;
  height: 150px;
  margin: 0 auto;
  margin-left: 140px;
}

.fixed-form-wrapper {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 116px;
}

.feature-section.fixed-form-wrapper {
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  background-color: rgba(1, 147, 255, 0.8); height: 116px;
  gap: 40px;
  z-index: 2;
}

.feature-section.fixed-form-wrapper .left-title {
  font-weight: 500;
  font-size: 30px;
  color: #ffffff;
}

.feature-section.fixed-form-wrapper .form-wrapper {
  height: 100%;
  width: initial;
  align-items: flex-start;
  gap: 12px;
}

.feature-section.fixed-form-wrapper .form-wrapper .top {
  display: flex;
  gap: 45px;
  align-items: center;
}

.feature-section.fixed-form-wrapper .form-wrapper .title {
  font-weight: 500;
  font-size: 20px;
  color: #ffffff;
}

.feature-section.fixed-form-wrapper .form-error {
  color: red;
  font-size: 14px;
  display: none;
}

.feature-section.fixed-form-wrapper .body {
  margin-top: 0;
}

.foot-nav {
  margin-bottom: 120px !important;
}
.z-footer {
  display: none !important;
}

.feature-section.fixed-form-wrapper .close-btn {
  position: absolute;
  top: 10px;
  right: -104px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
.summer-boot-camp-container .session_three .session_three_content ul > li:nth-child(n + 11)  {
    display:none;
}

.summer-boot-camp-container .session_three {
    margin-bottom: 0;
}