/* banner */
#banner {padding: 0 0 0;width: 100%;z-index: 3;}
#banner .item {aspect-ratio: 20 / 9;}
#banner .item .clip >* { min-width: 100%; width: 100%; }

#banner .item .clip iframe { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
#banner .item .clip video { overflow: hidden; position: absolute; width: 100%; height: auto; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); }
#banner .item .info >div { margin: auto; width: calc(100% - 60px); }
#banner .item .info >div .txt { -webkit-transition-delay: .2s; transition-delay: .2s; transform: scaleX(0); -webkit-transform: scaleX(0); transform-origin: 0 0; -webkit-transform-origin: 0 0; }
#banner .item .info >div .txt:nth-child(2) { -webkit-transition-delay: .4s; transition-delay: .4s; }
#banner .item .info >div .txt >* { padding: 10px 15px; max-width: calc(100% - 30px); font-size: 18px; }
#banner .item .info >div .txt h3 { margin-bottom: 15px; line-height: 120%; font-size: 35px; }

#banner .item.slick-current .clip .bgBox { -webkit-animation: scale_banner 6s linear infinite; animation: scale_banner 6s linear infinite; }
#banner .item.slick-current .info >div .txt { transform: scaleX(1); -webkit-transform: scaleX(1); }
/* banner shine */

#banner::after {
  content:"";position:absolute;top:-80%;left:-80%;width:60%;height:220%;z-index:15;pointer-events:none;background:linear-gradient(
		120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 35%,rgba(255,255,255,0.45) 50%,rgba(255,255,255,0) 65%,rgba(255,255,255,0) 100%);transform:rotate(8deg);animation:bannerShine 3.3s ease-in-out infinite;
}
@keyframes bannerShine {
  0% { top: -80%; left: -80%; opacity: 0; }
  8% { opacity: 1; }
  78% { top: 60%; left: 120%; opacity: 1; }
  88% { top: 60%; left: 120%; opacity: 0; }
  100% { top: -80%; left: -80%; opacity: 0; }
}
/* banner dots */
#banner .slick-dots { position: absolute; left: 50%; bottom: -40px; transform: translateX(-50%); display: flex !important; align-items: center; justify-content: center; gap: 12px; z-index: 20; margin: 0; padding: 10px 18px; list-style: none; border-radius: 999px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
#banner .slick-dots li { width: auto; height: auto; margin: 0; padding: 0; }
#banner .slick-dots li button { display: block; width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; font-size: 0; line-height: 0; cursor: pointer; background: rgb(249 70 74); transition: width 0.35s ease,background 0.35s ease,opacity 0.35s ease; }
#banner .slick-dots li button:before { display: none; }
#banner .slick-dots li.slick-active button { width: 38px; background: var(--primary); }
#banner .slick-dots li button:hover { background: rgba(255,255,255,0.9); }
#banner .slick-dots li.slick-active button:hover { background: var(--primary); }
#banner .slick-dots li.slick-active button { background: var(--secondary); }

@media screen and (max-width: 1280px){
	#banner { padding-top: 70px; }
}

@media screen and (max-width:768px) {
  #banner .slick-dots {bottom: -1px;gap: 8px;padding: 8px 14px;}
  #banner .slick-dots li button { width: 8px; height: 8px; }
  #banner .slick-dots li.slick-active button { width: 28px; }
}

@media screen and (max-width: 640px){
    #banner .item{height: 290px;}
    #banner .item .bgBox{background-position: 0% 50%;}
    #banner .item .clip video{width:auto;height:100%}
}
@media screen and (max-width: 480px){
    #banner .item{height: 440px;}
    #banner .item .bgBox{background-position: 11% 50%;}
    #banner{padding-top: 40px;}
}