.home-container {
  width:100%;
  overflow-x:hidden;
  font-family:PingFang SC,Helvetica Neue,Helvetica,Hiragino Sans GB,Arial,sans-serif;
  color:#303133
}
.page-shell {
  height:100%
}
.page-shell .header {
  position:fixed;
  top:0;
  width:100%;
  text-align:center;
  z-index:999
}
.page-shell .header .el-menu-demo {
  font-weight:600
}
.page-shell .header .el-menu.el-menu--horizontal {
  border:0
}
.page-shell .header .header-logo {
  width:150px;
  height:50px;
  margin-left:20px;
  margin-top:5px
}
.page-shell .header .header-logo .header-logo-img {
  width:100%
}
.page-shell .header .header-menu-container .header-menu-container-area {
  padding:0;
  margin:0 auto;
  overflow:hidden
}
.page-shell .header .header-menu-container .header-menu-container-area .fl {
  float:left;
  margin-left:20px
}
.page-shell .header .header-menu-container .header-menu-container-area .mar {
  margin-left:100px
}
.page-shell .el-menu-item {
  font-size:16px
}
.page-shell .el-menu--horizontal>.el-menu-item.is-active {
  border:0
}
.page-shell .header .el-menu--horizontal>.el-menu-item {
  transition:color .2s ease;
  border-radius:999px
}
.page-shell .header .el-menu--horizontal>.el-menu-item a {
  display:block;
  color:inherit!important;
  opacity:1;
  transition:opacity .2s ease
}
.page-shell .header .el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,
.page-shell .header .el-menu--horizontal>.el-menu-item:not(.is-disabled):hover {
  background-color:transparent!important;
  color:#fff!important;
  border-bottom-color:transparent!important
}
.page-shell .header .el-menu--horizontal>.el-menu-item:not(.is-disabled):focus a,
.page-shell .header .el-menu--horizontal>.el-menu-item:not(.is-disabled):hover a {
  color:#fff!important;
  opacity:.72
}
.page-shell .el-menu {
  background:none!important
}
.home-container .container {
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px
}
.section-block {
  padding:60px 0;
  position:relative
}
.section-block.bg-gray {
  background-color:#f5f7fa
}
.text-center {
  text-align:center
}
.text-white {
  color:#fff!important
}
.mb-20 {
  margin-bottom:20px
}
.section-header {
  margin-bottom:50px;
  position:relative
}
.section-header h2 {
  font-size:36px;
  font-weight:700;
  margin-bottom:15px;
  color:inherit
}
.section-header p {
  font-size:16px;
  color:#606266;
  max-width:800px;
  margin:0 auto
}
.section-header .title-underline {
  width:60px;
  height:4px;
  background-color:#409eff;
  margin:10px auto 0;
  border-radius:2px
}
.text-white .title-underline {
  background-color:#fff
}
.text-white p {
  color:hsla(0,0%,100%,.9)
}
.banner-slide {
  width:100%;
  height:100%;
  background-size:cover;
  background-position:50%;
  position:relative;
  display:flex;
  align-items:center
}
.banner-mask {
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.1))
}
.banner-content {
  position:relative;
  z-index:2;
  color:#fff;
  padding-left:50px
}
.banner-content h3 {
  font-size:32px;
  margin-bottom:10px;
  font-weight:500
}
.banner-content h1 {
  font-size:56px;
  font-weight:800;
  margin-bottom:20px;
  line-height:1.2
}
.banner-content .banner-desc {
  font-size:20px;
  max-width:600px;
  margin-bottom:30px;
  opacity:.9
}
.banner-btn {
  font-size:18px;
  padding:12px 36px;
  font-weight:700
}
.about-section {
  background-color:#fff
}
.section-title {
  font-size:32px;
  color:#303133;
  margin-bottom:20px;
  font-weight:700
}
.section-desc {
  font-size:16px;
  line-height:1.8;
  color:#606266;
  margin-bottom:30px;
  text-align:justify
}
.tags-group {
  margin-bottom:30px
}
.tag-card {
  background:#f5f7fa;
  padding:15px;
  border-radius:8px;
  margin-bottom:15px;
  display:flex;
  align-items:center
}
.tag-card .tag-badge {
  background:#409eff;
  color:#fff;
  padding:4px 12px;
  border-radius:20px;
  font-size:14px;
  margin-right:15px;
  white-space:nowrap
}
.tag-card .tag-content {
  color:#409eff;
  font-weight:500
}
.about-img-box {
  border-radius:12px;
  overflow:hidden;
  height:360px;
  box-shadow:0 10px 20px rgba(0,0,0,.1)
}
.about-img-box .full-img {
  width:100%;
  height:100%
}
.teacher-section {
  background-color:#f5f7fa
}
.teacher-card {
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  transition:transform .3s ease,box-shadow .3s ease;
  height:100%
}
.teacher-card:hover {
  transform:translateY(-5px);
  box-shadow:0 12px 24px rgba(0,0,0,.1)
}
.teacher-img {
  position:relative;
  width:100%;
  height:0;
  padding-bottom:100%;
  overflow:hidden
}
.teacher-img .el-image {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%
}
.teacher-info {
  padding:20px;
  text-align:center
}
.teacher-name {
  font-size:18px;
  font-weight:700;
  margin-bottom:10px;
  color:#303133
}
.teacher-desc-html {
  font-size:13px;
  color:#909399;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.course-section {
  position:relative;
  background:linear-gradient(180deg,#4481eb,#04befe);
  padding:80px 0;
  overflow:hidden;
  color:#fff
}
.course-section .section-header h2 {
  color:#fff
}
.course-section .section-header p {
  color:hsla(0,0%,100%,.9)
}
.course-section .section-header .title-underline {
  background-color:#fff
}
.relative-z {
  position:relative;
  z-index:1
}
.course-card {
  width:100%;
  height:100%;
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#fff
}
.course-card .course-cover {
  width:100%;
  height:100%
}
.course-card .course-info-overlay {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:rgba(0,0,0,.75);
  padding:20px;
  color:#fff;
  transform:translateY(100%);
  transition:transform .3s ease
}
.course-card .course-info-overlay h3 {
  font-size:18px;
  margin-bottom:5px
}
.course-card .course-info-overlay p {
  font-size:14px;
  opacity:.8;
  line-height:1.4
}
.course-card:hover .course-info-overlay {
  transform:translateY(0)
}
.idea-section {
  background:#fff
}
.idea-img-wrapper {
  width:100%;
  max-width:400px;
  margin:0 auto;
  position:relative;
  height:0;
  padding-bottom:100%
}
.idea-img-wrapper .el-image {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%
}
.idea-items-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px 80px
}
.idea-item {
  width:100%;
  display:flex;
  align-items:center;
  background:#fff;
  padding:25px 20px;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.03);
  transition:all .3s ease
}
.idea-item:hover {
  transform:translateY(-5px);
  box-shadow:0 15px 30px rgba(0,0,0,.08)
}
.idea-item .icon-box {
  width:56px;
  height:56px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:15px;
  font-size:26px;
  flex-shrink:0;
  color:#fff;
  box-shadow:0 4px 10px rgba(0,0,0,.1)
}
.idea-item .icon-box.color-1 {
  background:linear-gradient(135deg,#f7bb17,#ffd255)
}
.idea-item .icon-box.color-2 {
  background:linear-gradient(135deg,#8e5ffc,#a882ff)
}
.idea-item .icon-box.color-3 {
  background:linear-gradient(135deg,#4aabfa,#72c3ff)
}
.idea-item .icon-box.color-4 {
  background:linear-gradient(135deg,#f3642c,#ff8a5b)
}
.idea-item .idea-content h4 {
  font-size:17px;
  margin-bottom:6px;
  color:#303133;
  font-weight:700
}
.idea-item .idea-content p {
  font-size:13px;
  color:#606266;
  line-height:1.5;
  margin:0
}
.why-section {
  background:linear-gradient(180deg,#9d50bb,#6e48aa);
  color:#fff
}
.why-section .section-header h2 {
  color:#fff
}
.why-section .section-header .title-underline {
  background-color:#f7bb17
}
.benefit-card {
  background:hsla(0,0%,100%,.1);
  backdrop-filter:blur(10px);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  border:1px solid hsla(0,0%,100%,.1);
  border-radius:12px;
  overflow:hidden;
  height:100%;
  transition:transform .3s
}
.benefit-card:hover {
  transform:translateY(-5px);
  background:hsla(0,0%,100%,.15);
  box-shadow:0 12px 24px rgba(0,0,0,.3)
}
.benefit-text {
  padding:20px;
  color:#fff
}
.benefit-text h3 {
  font-size:18px;
  margin-bottom:10px;
  font-weight:700;
  color:#fff
}
.benefit-text p {
  font-size:14px;
  opacity:.9;
  line-height:1.5;
  color:hsla(0,0%,100%,.9)
}
.news-section {
  background:#f5f7fa
}
.news-card {
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 5px 15px rgba(0,0,0,.05);
  cursor:pointer;
  transition:all .3s;
  height:100%;
  display:flex;
  flex-direction:column
}
.news-card:hover {
  transform:translateY(-5px);
  box-shadow:0 15px 30px rgba(0,0,0,.1)
}
.news-cover {
  height:200px
}
.news-cover .el-image {
  width:100%;
  height:100%
}
.news-body {
  padding:20px;
  flex:1;
  display:flex;
  flex-direction:column
}
.news-title {
  font-size:18px;
  margin-bottom:10px;
  color:#303133;
  font-weight:700;
  line-height:1.4;
  height:50px;
  overflow:hidden
}
.news-excerpt {
  font-size:14px;
  color:#909399;
  line-height:1.6;
  height:66px;
  overflow:hidden;
  margin-bottom:15px
}
.news-meta {
  margin-top:auto;
  font-size:12px;
  color:#909399;
  text-align:right
}
.student-section {
  background:#fff
}
.student-section .student-carousel {
  max-width:800px;
  margin:0 auto
}
.student-img-card {
  width:75%;
  padding-bottom:75%;
  height:0;
  border-radius:50%;
  overflow:hidden;
  border:5px solid #fff;
  box-shadow:0 10px 20px rgba(0,0,0,.1);
  position:relative;
  margin:0 auto
}
.student-img-card .el-image {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%
}
.el-carousel__item {
  display:flex;
  align-items:center;
  justify-content:center
}
@media (max-width:768px) {
  .student-carousel {
    height:250px!important;
    max-width:100%
  }
}
.testimonial-section {
  background:linear-gradient(180deg,#00b09b,#96c93d);
  color:#fff;
  padding-bottom:80px
}
.testimonial-section .section-header h2 {
  color:#fff
}
.testimonial-section .section-header .title-underline {
  background-color:#fff
}
.testimonial-card {
  height:280px;
  background:hsla(0,0%,100%,.1);
  backdrop-filter:blur(10px);
  border-radius:20px;
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s ease;
  border:1px solid hsla(0,0%,100%,.1)
}
.testimonial-card:hover {
  transform:translateY(-10px);
  background:hsla(0,0%,100%,.15);
  box-shadow:0 15px 30px rgba(0,0,0,.2);
  border-color:hsla(0,0%,100%,.3)
}
.testimonial-card .el-image {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center
}
.testimonial-card .el-image img {
  max-width:100%;
  max-height:100%
}
.mobile-card {
  margin:0 10px
}
.faq-section {
  background:#f5f7fa
}
.faq-card {
  background:#f9f9f9;
  border-radius:12px;
  padding:30px;
  height:100%;
  transition:.3s
}
.faq-card:hover {
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.faq-card .faq-icon {
  font-size:30px;
  color:#409eff;
  margin-bottom:15px
}
.faq-card h3 {
  font-size:18px;
  margin-bottom:15px;
  font-weight:700
}
.faq-card p {
  font-size:14px;
  color:#909399;
  line-height:1.6
}
.site-footer {
  background-color:#1a1a1a;
  color:#ccc;
  padding:60px 0 20px
}
.footer-col {
  margin-bottom:30px
}
.footer-title {
  color:#fff;
  font-size:18px;
  margin-bottom:25px;
  font-weight:700
}
.footer-text {
  line-height:1.8;
  font-size:14px
}
.contact-list {
  list-style:none;
  padding:0
}
.contact-list li {
  margin-bottom:15px;
  font-size:14px;
  display:flex;
  align-items:center
}
.contact-list li i {
  margin-right:10px;
  font-size:16px
}
.qrcode-box {
  width:120px;
  height:120px;
  background:#fff;
  padding:5px;
  border-radius:4px;
  margin:0 auto
}
.qrcode-box .qrcode-img {
  width:100%;
  height:100%
}
.footer-links {
  border-top:1px solid #333;
  padding:20px 0;
  text-align:center;
  margin-top:20px
}
.footer-links .footer-link-item {
  margin:0 10px
}
.footer-links .footer-link-item a {
  color:#999;
  text-decoration:none;
  font-size:14px
}
.footer-links .footer-link-item a:hover {
  color:#fff
}
.footer-bottom {
  text-align:center;
  font-size:12px;
  color:#666
}
.footer-bottom .divider {
  margin:0 8px
}
.footer-bottom a {
  color:#666;
  text-decoration:none;
  display:inline-flex;
  align-items:center
}
.footer-bottom a:hover {
  color:#999
}
.footer-bottom a .beian-icon {
  width:14px;
  height:14px;
  margin-right:4px
}
.footer-bottom p {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap
}
.back-to-top {
  position:fixed;
  right:30px;
  bottom:50px;
  z-index:1000;
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(135deg,#fff,#f0f0f0);
  color:#409eff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  cursor:pointer;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
  transition:all .3s cubic-bezier(.175,.885,.32,1.275)
}
.back-to-top:hover {
  transform:translateY(-5px) scale(1.05);
  box-shadow:0 10px 25px rgba(0,0,0,.15);
  background:linear-gradient(135deg,#fff,#e6e6e6)
}
.back-to-top:active {
  transform:translateY(-2px) scale(.95)
}
.back-to-top i {
  font-weight:700
}
.animate-up {
  opacity:0;
  transform:translateY(20px);
  animation:fadeUp .8s forwards
}
.delay-1 {
  animation-delay:.2s
}
.delay-2 {
  animation-delay:.4s
}
.delay-3 {
  animation-delay:.6s
}
@keyframes fadeUp {
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@media (max-width:768px) {
  .page-shell .mobile-hidden,.page-shell .not-mobile-hidden {
    display:none!important
  }
  .banner-carousel {
    height:100vh!important
  }
  .banner-content {
    padding-left:20px
  }
  .banner-content h1 {
    font-size:32px
  }
  .banner-content h3 {
    font-size:20px
  }
  .banner-content .banner-desc {
    font-size:14px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden
  }
  .wrap-mobile {
    flex-wrap:wrap
  }
  .wrap-reverse-mobile {
    flex-wrap:wrap-reverse
  }
  .section-block {
    padding:40px 0
  }
  .text-center-mobile {
    text-align:center
  }
  .idea-items-grid {
    grid-template-columns:1fr
  }
  .qrcode-box {
    margin:20px auto 0
  }
  .about-img-box {
    height:250px;
    margin-bottom:30px
  }
}
@media only screen and (max-width:767px) {
  .hidden-xs-only {
    display:none!important
  }
}
@media only screen and (min-width:768px) {
  .hidden-sm-and-up {
    display:none!important
  }
}
