*{
  font-family: "Noto Sans HK", sans-serif;
}
@media (min-width: 1500px) {
  .container {
      width: 1480px;
  }
}
@media (min-width: 1500px) {
  .container-news {
      width: 1280px;
  }
}
@media (min-width: 992px) {
  .container-order {
      width: 800px;
  }
}
.carousel-inner>.item>a>img, .carousel-inner>.item>img, .img-responsive, .thumbnail a>img, .thumbnail>img{
  width: 100%;
}

/* 標題字title-wrap */
.title-wrap{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.title-wrap .title{
  position: relative;
  padding: 0 20px;
}
@media screen and (max-width: 580px) {
  .title-wrap .title{
    padding: 0 30px;
  }
}
.title::before,
.title::after{
  content: "";
  display: block;
  background-image: url(../../images/title_img.png);
  position: absolute;
  top: 50%;
  width: 60px;
  height: 60px;
  transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 580px) {
  .title::before,
  .title::after{
    width: 50px;
    height: 50px;
    margin: 0 30px;
  }
}
.title::before{
  left: -9%;
}
.title::after{
  right: -7%;
  transform: translateY(-50%) scaleX(-1); /* 水平翻轉 */
}
.title h2{
  font-size: 40px;
  letter-spacing: 1.5px;
  font-weight: bold;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 580px) {
  .title h2{
    font-size: 30px;
  }
}
.title h3{
  font-size: 20px;
  letter-spacing: 1px;
  font-weight: bold;
  margin: 5px 0;
  text-align: center;
}
@media screen and (max-width: 580px) {
  .title h3{
    font-size: 15px;
  }
}
.title-white .title{
  color: #fff;
}
.title-white .title::before,
.title-white .title::after{
  background-image: url(../../images/title-white_img.png);
}

.section_01{
  background-image: url(../../images/section_bg01.png);
  background-size: cover;
  padding: 100px 0;
  background-position: center;
  overflow: hidden;
}


.video_tab{
  padding-bottom: 100px;
}

.video_tab .nav-tabs {
  border-bottom: none;
  display: flex;
  gap: 15px;
  margin: 0 15px 30px;
}
@media screen and (max-width: 992px) {
  .video_tab .nav-tabs {
    margin: 30px 0 0;
    justify-content: center;
  }
}
.video_tab .nav-tabs > li {
  float: none;
}

.video_tab .nav-tabs > li > a {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  color: #0055FF;
  border-radius: 30px 10px 0 0;
  border: 2px solid #0055FF;
  padding: 12px 30px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 400px) {
  .video_tab .nav-tabs > li > a {
    padding: 9px 23px;
  }
}
.video_tab .nav-tabs > li > a:hover {
  background-color: #0055FF;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 5px 10px rgba(0,0,0,0.15);
}

.video_tab .nav-tabs > li.active > a,
.video_tab .nav-tabs > li.active > a:focus,
.video_tab .nav-tabs > li.active > a:hover {
  color: #fff !important;
  background-color: #0055FF;
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}

/* 影片區塊設定 */
.video_tab .tab-content{
  padding: 0 30px 0;
  min-height: auto;
}
@media screen and (max-width: 992px) {
  .video_tab .tab-content{
    padding: 35px 10px;
  }
}
.video_tab .tab-content .row{
    border: #0055FF 2px solid;
    padding: 30px 15px 15px;
    border-radius: 20px;
}
.video_tab iframe {
  width: 100%;
  border-radius: 12px;
  /* box-shadow: 0 4px 10px rgba(0,0,0,0.15); */
  margin-bottom: 20px;
}
.video_tab .more-btn{
  padding: 50px 0;
}

.counter-box{
  padding: 50px 0;
}
.counter-wrap {
	display: block;
	background: #ffffff1f;
	padding: 40px;
  border-radius: 10px;
  min-height: 257px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
@media screen and (max-width: 580px) {
  .counter-wrap {
    padding: 30px;
  }
}
.counter-wrap  p {
	margin: 20px 0;
	padding: 0;
	color: #000;
  font-weight: bold;
	font-size: 24px;
}


.counter { 
  display: block;
  font-size: 45px;
  font-weight: bold;
  color: #4d90fe;
  line-height: 28px;
  margin: 10px 0;
}
@media screen and (max-width: 580px) {
  .counter { 
    font-size: 37px;
  }
}
.counter-wrap .colored {
  background: #4d90fe;
}

.counter-wrap .colored p,
.counter-wrap .colored i,
.counter-wrap .colored .counter {
	color: #fff
}

.counter-wrap {
  display: flex;
  align-items: center;
  justify-content: space-around;
  position: relative;
  border-radius: 12px;       /* 外層圓角 */
  overflow: hidden;           /* 確保圓角 */
  transition: transform 0.3s;
}

.counter-wrap:hover {
  transform: scale(1.05);
}

.counter-wrap::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: 12px;
  padding: 3px;               /* 線框寬度 */
  background: linear-gradient(90deg, #61F7FF, #0055FF, #61F7FF);
  background-size: 200% 200%;
  opacity: 0;                 /* 初始隱藏 */
  transition: opacity 0.3s;
  z-index: 0;                 /* 置於內容下方 */
  pointer-events: none;
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
}

.counter-wrap:hover::before {
  opacity: 1;
  animation: gradientMove 3s linear infinite;
}

@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}


.section02{ 
  padding: 100px 0; 
    background-image: url(../../images/section_bg02.png); 
  background-size: cover; 
} 
.section02 .content{ 
  margin: 80px 0; 
}

/* ====== About Box ====== */
.section02 .about-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

/* @media screen and (max-width: 1350px) {
  .section02 .about-box {
    flex-direction: column;
  }
} */

/* ====== About Wrap ====== */
.section02 .about-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 90px 10px 10px 10px;
  padding: 40px 30px;
  margin: 30px 20px;
  max-width: 650px;
  box-shadow: rgba(0,0,0,0.35) 0px 5px 15px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 400px) {
  .section02 .about-wrap {
    padding: 40px 25px;
  }
}
.section02 .about-wrap:hover{
  transform: scale(1.03);
box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px;
}
@media screen and (max-width: 768px) {
  .section02 .about-wrap {
    flex-direction: column;
    margin: 30px 10px;
  }
}

/* ====== 文字樣式 ====== */
.section02 .about-wrap p {
  padding: 20px 30px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 1.5px;
  line-height: 1.6;
  text-align: justify;
}
@media screen and (max-width: 480px) {
  .section02 .about-wrap p {
    padding: 25px 10px;
  }
}
.section02 .about-wrap .img-wrap {
  position: relative;
  margin-right: 20px;
}
/* @media screen and (max-width: 1300px) {
  .section02 .about-wrap .img-wrap img{
    max-width: 95%;
  }
} */
.section02 .about-wrap .img-wrap span {
  position: absolute;
  top: -3%;
  right: 0;
  background-color: #FFA01C;
  color: #fff;
  padding: 20px;
  border-radius: 50px;
  width: 100px;
  height: 100px;
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 400px) {
  .section02 .about-wrap .img-wrap span {
    top: -0;
    right: -15%;
  }
}
@media screen and (max-width: 400px) {
  .section02 .about-wrap .img-wrap img{
    max-width: 100%;
  }
}


.more-btn{
  display: flex;
  justify-content: center;
}
.more-btn a{
  background: #000;
  color: #fff;
  padding: 6px 55px 9px;
  letter-spacing: 1.5px;
  text-align: center;
  border-radius: 8px;
  transition: background 0.3s;
}
.more-btn a:hover{
  background: linear-gradient(45deg,#0055FF ,#000000);
  text-decoration: none;
}

.section03{
  background-image: url(../../images/section_bg03.png);
  background-size: cover;
  padding: 100px 0;
}
.section03 .content{
  margin: 50px 0;
}
.section03 .content h3{
  font-size: 20px;
  padding-left: 10px;
  font-weight: bold;
  margin: 20px 0;
}
.section03 .news-wrap01,
.section03 .news-wrap02{
  padding: 30px;
}
@media screen and (max-width: 580px) {
  .section03 .news-wrap01,
  .section03 .news-wrap02{
    padding: 10px;
  }
}  
.section03 .content .news-wrap01 h3{
  border-left: #0055FF 9px solid;
  color: #0055FF;
}
.section03 .content .news-wrap02 h3{
  border-left: #FFA01C 9px solid;
  color: #FFA01C;
}
.section03 .rwdnewsli{
  list-style: none;
}
.section03 #rwdnews_list .pic img{
  display: none;
}
.section03 #rwdnews_list > ul{
  padding: 0 20px;
  margin: 0;
}
@media screen and (max-width: 580px) {
  .section03 #rwdnews_list > ul{
    padding: 0;
  }
} 
.section03 #rwdnews_list > ul:nth-child(even) {
  background-color: #EBF2FF;
}
.section03 .newscontent{
  display: flex;
  align-items: center;
}
@media screen and (max-width: 580px) {
  .section03 .newscontent{
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
  }
}  
.section03 .newscontent .ctydate{
  display: flex;
  align-items: center;
  margin-right: 30px;
}
.section03 .newscontent .card-category{
  background-color: #0055FF;
  color: #fff;
  border-radius: 10px;
  font-size: 18px;
  letter-spacing: 1.5px;
  font-weight: bold;
  padding: 4px 20px;
  white-space: nowrap;
}
.section03 .newscontent .ctm5{
  background-color: #FFA01C;
}
.section03 .newscontent p{
  display: none!important;
}
.section03 .newsDate{
  font-size: 18px;
  color: #A1A1A1;
  padding: 20px;
  max-width: 100px;
}
.section03 .newscontent h4{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 580px) {
  .section03 .newscontent h4{
    white-space: normal;
  }
}  
.section03 .HeadLineMoveA{
  font-size: 18px;
  color: #000;
  letter-spacing: 1.5px;
}
.section03 .more-btn{
  padding: 30px 0;
}


.footer_2{
  background-image: url(../../images/footer2_bg.png);
  background-size: cover;
  background-position: center;
}
.footer_2 li{
  list-style: none;
}
.footer_2 .content{
  display: flex;
  align-items: center;
  padding: 80px 0;
}
@media screen and (max-width: 580px) {
  .footer_2 .content{
    flex-direction: column;
  }
}  

.footer_2 .list li{
  padding: 10px 0;
  color: #fff;
  font-size: 16px;
  letter-spacing: 1.5px;

}
.footer_2 .list a{
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 1.5px;
}
.footer_2 .icon ul{
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 580px) {
  .footer_2 .icon ul{
    padding: 50px 0 0;
  }
}  
.footer_2 .icon li{
  padding: 0 10px;
}
.footer_2 .info{
  background-color: #04264C;
  padding: 50px 0;
}
.footer_2 .info li{
  color: #fff;
  font-size: 16px;
  font-weight: 300;
  padding: 10px 0;
  letter-spacing: 1.5px;  
}

.footer_2 .copyright_2{
  font-size: 16px;
  letter-spacing: 1.5px;
  text-align: center;
  color: #fff;
  padding-top: 30px;
}

#gotop_2 {
  position: fixed;
  right: 1%;
  bottom: 33px;
  width: 100px;   
  height: 100px;
  background: #D5FF1C;
  color: #000;   
  font-weight: 800;
  letter-spacing: 1.5px;
  text-align: center;
  line-height: 1.2;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  z-index: 999;
}
@media screen and (max-width: 580px) {
  #gotop_2 {
    width: 70px;   
    height: 70px;
    right: 20px;
    bottom: 17px;
    opacity: 0.7;
    box-shadow: none;
  }
}  
#gotop_2 a {
  font-size: 21px;
  letter-spacing: 1.5;
  line-height: 1.5;
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}

#gotop_2 img {
  position: absolute;
  bottom: 136%;
  left: 46%;
  transform: translateX(-50%);
  width: 40px;
  transition: filter 0.3s ease, transform 0.3s ease, filter 0.3s ease;
}
@media screen and (max-width: 580px) {
  #gotop_2 img {
    bottom: 111%;
    width: 35px;
  }
}  
#gotop_2 span {
  display: block;
  margin-top: 50%;
  transform: translateY(-50%);
}

/* Hover 按鈕效果 */
#gotop_2:hover {
  background: #000;
  color: #D5FF1C;
  /* hover 光暈加強 */
  box-shadow: 0 0 20px 8px rgba(255,255,255,1);
}
#gotop_2:hover img {
  filter: brightness(0) drop-shadow(0 0 8px #fff);
}


/* 倒數時鐘容器 - 固定在右下角 */
.countdown-container {
    position: fixed;
    bottom: 22%;
    right: 1%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 1000;
}

/* 單個倒數圓圈 */
.countdown-circle {
    position: relative;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease;
}

.countdown-circle:hover {
    transform: scale(1.05);
}

/* 學測倒數 - 橘色 */
.countdown-circle.exam {
    background: linear-gradient(135deg, #FFA01C 0%, #ff6b35 100%);
}

/* 會考倒數 - 藍色 */
.countdown-circle.test {
    background: linear-gradient(135deg, #4fa3f7 0%, #2e7ad1 100%);
}

/* 時鐘圖標 */
.clock-icon {
    position: absolute;
    top: -10px;
    left: -8px;
    width: 47px;
    height: 40px;
}

.clock-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 標題文字 */
.countdown-title {
    font-size: 16px;
    letter-spacing: 2px;
}

/* 數字和單位容器 */
.countdown-number-wrapper {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

/* 天數數字 */
.countdown-days {
    font-size: 27px;
    font-weight: 900;
    line-height: 1;
}

/* "天" 字 */
.countdown-unit {
    font-size: 20px;
}
@media screen and (max-width: 580px) {
  .countdown-container {
      bottom: 15%;
      right: 2%;
  }
  .countdown-circle.exam,
  .countdown-circle.test{
    opacity: 0.9;
  }
  .countdown-circle {
    width: 90px;
    height: 90px;
    box-shadow:none;
  }  
  .countdown-title {
    font-size: 15px;
    letter-spacing: 1px;
   }
  .countdown-days {
    font-size: 24px;
  }
  .clock-icon {
    top: -18px;
    left: -3px;
    width: 36px;
    height: 49px;
  }
}
@media screen and (max-width: 380px) {
  .countdown-container {
      bottom: 20%;
  }
}
.event-wrapper .title-wrap h2{
  color: #0055FF;
  font-size: 38px;
  letter-spacing: 1.8px;
}
.event-wrapper .title-wrap h3{
  font-size: 28px;
  letter-spacing: 3px;
  margin-top: 10px;
}
.event-wrapper .title::before,
.event-wrapper .title::after{
  width: 70px;
  height: 70px;
}

.event-wrapper{
  background-image: url(../../images/section_bg03.png);
  background-size: cover;
  padding: 120px 0;
}
.event-wrapper .content{
  padding: 80px 0;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width: 992px) {
  .event-wrapper .content{
    padding: 40px 10px;
    flex-direction: column;
  }

  /* 如果 .title-wrap 是第 1 個子元素，而第一個 .content 是第 2 個子元素 */
  .event-wrapper .container > .content:nth-child(2) {
    flex-direction: column-reverse;
  }
}

.event-wrapper .text-wrap{
  max-width: 450px;
  margin: 0 30px;
}
@media screen and (max-width: 992px) {
  .event-wrapper .text-wrap{
    max-width: 100%;
    margin: 40px 30px;
  }
}  
.event-wrapper .title-text{
  border-left: 7px #0055FF solid;
  padding-left: 20px;
}
.event-wrapper .title-text h3{
  font-size: 40px;
  color: #0055FF;
  font-weight: 700;
  letter-spacing: 1.5px;
}
.event-wrapper .title-text h4{
  font-size: 35px;
  font-weight: 700;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 580px) {
  .event-wrapper .title-text h4{
    font-size: 25px;
  }
} 
.event-wrapper .title-box p{
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1.8px;
  line-height: 2;
  padding: 40px 0;
}
.event-wrapper .content img{
  border-radius: 10px;
  width: 100%;
}
.event-wrapper .qrcode-box{
  margin-top: 40px;
  padding: 20px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 580px) {
  .qrcode-box .qrcode-wrap:first-child img {
    width: 60%; 
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 580px) {
  .event-wrapper .qrcode-box{
    display: block;
  }
}
.event-wrapper .qrcode-wrap{
  padding: 10px 15px;
}
/* news */

.newsbar{
  display: none;
}
.news_title {
  font-size: 22px;
  font-weight: 600;
  margin: 20px 0;
  letter-spacing: 1.1px;
  line-height: 1.3;
}
.newslist img.news_pic{
  padding: 2%;
}
.news_more{
  border-radius: 0;
  padding: 10px 30px;
}
.thumbnail{
  border-radius: 20px;
}
.thumbnail .caption{
  padding: 0 20px;
}
.news_date{
  font-weight: 700;
}
h1.news_title{
 padding: 0!important;
 margin: 25px 0!important;
}
.news_sort{
  color: #5a8bdb;
  font-weight: 700;
  border: 1px #5a8bdb solid;
  border-radius: 30px;
  padding: 5px 20px;
}
.news_date img,
.news_sort img,
.news_author img{
  display: none;
}
.newslist .btn{
  font-weight: 700;
}
.newslist .btn:hover{
  background-color: transparent;
  color: #0055FF;
  border: 1px #0055FF solid;
}
.NEWS_type .badge{
  background-color: #7989a3;
}

.NEWS_type .topic{
  font-weight: 800;
}
.NEWS_type li img {
  top: 53%!important;
}
.NEWS_type li span{
  top: 52%!important;
}
/* .NEWS_type .headlinecate{
  margin: 0 40px 0 -25px; 
} */
.pagination>.active>a{
  background-color: #000;
}

/* category頁樣式 */
.breadcrumb{
  background-color: transparent;
}
h2.aside-title {
  display: none;
}
@media screen and (max-width: 768px) {
  h2.aside-title {
   display: block;
 }
}
aside .nav{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .category-wrapper aside .nav{
    flex-direction: column;
  }
} 
.nav_cate_item{
  margin: 5px;
}

aside .nav li a{
  font-size: 17px;
  color: #34373d;
  border: 1px solid #34373d;
  border-radius: 5px;
  font-weight: bold;
}
aside .nav li a:hover, 
aside .nav li a:focus, 
.nav_cate_item .topic{
  color: #fff;
  border: 1px solid #0055FF;
  background-color: #0055FF;
}
.sub_box{
  display: none;
}
.li-item:hover{
  background-color: transparent;
  box-shadow:none
}
.features-box>.view>.mask>h2, .features-box>a>h4{
  font-size: 18px;
  color: #000;
  font-weight: bold;
  letter-spacing: 1.5px;
}
.features-box>p.prd_info{
  font-size: 15px;
  letter-spacing: 1.5px;
}
.li-item .features-box a.btn-default{
  color: #333;
  border: 1px solid #202020;
  background-color: #ffffff;
  margin: 20px 0;
  padding: 8px 20px;
  border-radius: 0;
  font-weight: bold;
}
