:root {
    --font-scale: 1;
}

@keyframes dotScaleAnimation {
    0% {
    transform: translate(-50%, -50%) scale(1);
    }
    50% {
    transform: translate(-50%, -50%) scale(1.5);
    }
    100% {
    transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes dotScaleAnimationV2 {
    0% {
    transform: translate(-50%, -50%) scale(1);
    }
    50% {
    transform: translate(-50%, -50%) scale(1.7);
    }
    100% {
    transform: translate(-50%, -50%) scale(1);
    }
}

body:has(#home){
	filter: grayscale(100%);
}

main{
    overflow-x: hidden;
}

main img{
	height: auto;
}

.header{
    padding-left: 1%;
    height: 81px;
    z-index: 5;
    align-items: center;
}

.header > a{
    height: fit-content;
}

.header.menu-open{
    position: fixed;
    width: 100%;
    background: white; 
}

.mobile-show{
    display: none !important;
}

.pad-show{
    display: none !important;
}

.header .menu-main-logo{
    width: clamp(173px, 12.71vw, 244px);
    object-fit: contain;
}

html[lang="en"] .header .menu-main-logo{
    width: clamp(200px, 18.75vw, 360px);
}

.header .top-bar{
    gap: clamp(10px, 3.385417vw, 65px);
}

.header .top-bar .title-item{
    text-decoration: none;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    color: #000000;
    font-size: calc(clamp(12px, 0.8334vw, 16px) * var(--font-scale));
    letter-spacing: 1px;
	font-weight: 800;
}

.header .top-bar .menu-icon-div{
    width: clamp(104px, 6.61459vw, 127px);
    height: 100%;
    /* background-color: #FF8800; */
    clip-path: polygon(25% 0, 100% 0%, 100% 100%, 0% 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    order: 4;
}

.header .top-bar .menu-function-div{
    gap: clamp(10px, 1.459vw ,28px);
    padding-left: 2em;
}

.header .top-bar .menu-function-div .icons{
    width: 22px;
	height: auto;
}

.header .top-bar .menu-function-div .icons.text-size{
    width: 22px;
}

.menu-icon {
    display: block;
    width: 40px;           
    height: 3px;          
    background-color: #E47A00;
    border: none;           
    padding: 0;           
    margin: 10px;         
    position: relative;     
    cursor: pointer;        
    transition: background-color 0.3s ease;
    align-self: center;
    margin-right: 5%;
  }
  
.menu-icon::before,
.menu-icon::after {
    content: '';     
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #E47A00;
    transition: all 0.3s ease;
  }
  
.menu-icon::before {
    top: -8px;
  }

.menu-icon::after {
    top: 8px;
  }

.menu-icon.active {
    background-color: transparent;
  }

.menu-icon.active::before {
    top: 0;
    transform: rotate(45deg);
}
  
.menu-icon.active::after {
    top: 0;
    transform: rotate(-45deg);
}

.footer .top-main-div{
    background: #EEF6E6;
    padding-top: 3%;
    padding-bottom: 3%;
    display: flex;
}

.footer .top-div{
    max-width: 1538px;
    width: 100%;
    gap: clamp(10px, 2.604vw, 50px);
}

.footer .top-div .icons-div{
    /*background-color: white;*/
}

.footer .top-div .media-div{
    gap: clamp(10px, 2.604vw, 50px);
}

.logo-lcsd-main-logo{
	height: clamp(40px, 4.375vw, 100px) !important;
}

.logo-lcsd-logo{
	height: clamp(10px, 3.4375vw, 66px) !important;
}

.logo-lcsd-edu{
    height: clamp(20px, 3.4375vw, 66px) !important;
}

.footer .logo-lcsd-CHAC{
    height: clamp(45px, 3.4375vw, 66px) !important;
}

.footer .logo-lcsd-for-youth{
    height: clamp(26px, 3.489584vw, 67px) !important;
}

.footer .logo-web-for-all{
    height: clamp(31px, 3.125vw, 60px) !important;
}

.footer .logo-w3c{
    height: clamp(29px, 2.96875vw, 57px) !important;
}

.footer .icon-yt{
    height: clamp(31px, 3.125vw, 60px) !important;
}

.footer .icon-wechat{
    height: clamp(31px, 3.125vw, 60px) !important;
}

.footer img{
	width: auto;
}

.footer .bottom-main-div{
    background: #06493A;
    padding-top: 2%;
    padding-bottom: 2%;
    display: flex;
}

.footer .bottom-div{
    max-width: 1615px;
}

.footer .bottom-div .site-links {
    color: #FFFFFF;
    font-family: 'inter', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-weight: 400;
    font-size: calc(clamp(12pt, 0.834vw, 13pt) * var(--font-scale));
}

.footer .bottom-div .site-links a{ 
    color: #FFFFFF;
    text-decoration: none;
}

.footer .bottom-div .copyright{
    text-align: center;
    margin-bottom: 0;
    font-family: 'inter', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    color: #FFFFFF;
    font-weight: 400;
    font-size: calc(12pt * var(--font-scale));
}

.footer .bottom-div .last-update{
    text-align: center;
    font-family: 'inter', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    color: #FFFFFF;
    font-weight: 400;
    font-size: calc(12pt * var(--font-scale));
}

.page-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(180deg, #F8F7EC 0%, #F4F2F5 32.5%, #F8F7EC 66.5%, #F3F0FA 100%);
}

.page-container .banner-div{
    max-width: 1920px;
    height: fit-content;
    width: 100%;
    margin-bottom: 4em;
}

#gba-prog.page-container .banner-div{
    margin-bottom: 3%;
}

.page-container .banner-div .title{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-weight: 700;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-size: calc(clamp(35px, 3.6459vw, 70px) * var(--font-scale));
    text-shadow: 0px 4px 15.2px #000000BF;
    text-align: center;
    width: max-content;
}

.page-container .content-container{
    max-width: 1280px;
    padding: 0 3%;
    width: 100%;
    margin-bottom: 5%;
}

.page-container .content-container .infos{
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-size: calc(clamp(14px, 0.9375vw, 18px) * var(--font-scale));
    font-weight: 400;
    color: #313131;
    text-align: center;
    line-height: 1.5;
}

.page-container .content-container a{
	color: #0057C2;
}

.content-container .list{
    margin-top: 10%;
    margin-bottom: 5%;
}

.content-container .list.prog-filter-list{
    margin-top: 4%;
}

.content-container .list .list-items{
    padding: 0 1%;
    margin-bottom: 4%;
}

.content-container .list .list-items.news-item{
	cursor: pointer;
}

.content-container .list.prog-filter-list .list-items{
    position: relative;
}

.content-container .list.prog-filter-list .list-items .expired-info{
	display: block;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);;
}

.content-container .list.prog-filter-list .list-items .expired-info .expired-title-div{
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, 50%);
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    color: #FFFFFF;
    font-weight: 700;
    font-size: calc(clamp(16px, 1.322917vw, 18px) * var(--font-scale));
    text-shadow: 0px 4px 15.2px #000000BF;
	z-index: 1;
}

html[lang="en"] .content-container .list.prog-filter-list .list-items .expired-info .expired-title-div{
	top: 0;
    width: 70%;
}


html[lang="zh-CN"] .content-container .list.prog-filter-list .list-items .expired-info .expired-title-div,
html[lang="zh-HK"] .content-container .list.prog-filter-list .list-items .expired-info .expired-title-div{
	top: 5%;
	width: 100%;
    text-align: center;
	font-size: calc(clamp(20px, 1.322917vw, 25px) * var(--font-scale));
}

.content-container .list .list-items .items-div{
    background-color: white;
    box-shadow: 0px 1px 14px 0px #00000014;
    height: 100%;
}

.content-container .list.prog-filter-list .list-items .items-div{
    position: relative;
}

.content-container .list .list-items .items-div .thumbnail-div{
    overflow: hidden;
}

body.gbaf .content-container .list .list-items .items-div .thumbnail-div{
    aspect-ratio: 16 / 9;
}

.content-container .list .list-items .items-div .thumbnail-div img{
    transition: transform .2s;
}

body.gbaf .content-container .list .list-items .items-div .thumbnail-div img{
    height: 100%;
    object-fit: contain;
    background-color: lightgray;
}

.content-container .list .list-items .items-div .thumbnail-div img:hover{
    transform: scale(1.3);
}

.content-container .list .list-items .items-div .content-div{
    padding: 3% 4%;
}

.content-container .list .list-items .items-div .content-div .title{
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-size: calc(clamp(25px, 1.5625vw, 30px) * var(--font-scale));
    font-weight: 700;
}

#gba-prog  .content-container .list .list-items .items-div .content-div .title,
#gbaf-prog  .content-container .list .list-items .items-div .content-div .title{
    font-family: 'inter', sans-serif;
    font-weight: 400;
    font-size: calc(22px * var(--font-scale));
    line-height: 1.2;
    margin-bottom: 5%;
}

#gba-prog  .content-container .list .list-items .items-div .content-div .dates,
#gbaf-prog  .content-container .list .list-items .items-div .content-div .dates{
    font-weight: 300;
    font-size: calc(14px * var(--font-scale));
    color: #000000;
    margin-bottom: 2%;
}

.content-container .list .list-items .items-div .content-div p{
    margin-bottom: 0;
}

#hkw .content-container .list .list-items .items-div .content-div.paddingTop0 {
	padding-top: 0;
}

#gba-prog .content-container .list .list-items .items-div .content-div{
    font-family: 'inter', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    padding: 4% 5% 7% 5%;
}

.content-container .list-scroll-counter{
    padding: 0 5%;
    display: none;
}

.content-container .list-scroll-counter .arrow-btn{
    width: 15%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-container .list-scroll-counter .progress-bar-outer{
    width: 70%;
    display: flex;
    align-items: center;
}

.content-container .list-scroll-counter .progress-bar {
    width: 100%;
    height: 5px;
    background-color: #fff; 
    border-radius: 4px;
    overflow: hidden;
}

.content-container .list-scroll-counter .progress {
    width: 0; 
    height: 100%;
    background-color: #000; 
    transition: width 0.3s ease;
}

.content-container .list-scroll-counter .item-counter{
    text-align: center;
    margin-top: 5%;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-weight: 400;
    color: #181818;
    font-size: calc(clamp(20px, 6.3776vw, 25px) * var(--font-scale));
    letter-spacing: 10px;
}

.home-container-outer, 
.gba-container-outer{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(90.04deg, #FFC787 0.04%, rgba(255, 199, 135, 0.3) 99.96%);
    overflow: hidden;
}

.home-container, 
.gba-container{
    max-width: 1686px;
    width: 100%;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
}

.gba-container{
    max-width: 1920px;
}

.home-container .banner-area{
    margin: 0;
    padding: 0 0%;
    overflow-x: scroll;
    width: 100%;
    flex-wrap: nowrap;
    overflow: -moz-scrollbars-none;
    /* scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: auto; */
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.home-container .banner-div .btn-arrow-01,
.page-inside-container .banner-area .btn-arrow-01{
    position: absolute;
    width: clamp(40px, 4.17vw, 80px);
    top:0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
}

.home-container .banner-div .btn-prev,
.page-inside-container .banner-area .btn-prev{
    left: 2%;
}

.home-container .banner-div .btn-next,
.page-inside-container .banner-area .btn-next{
    right: 2%;
    transform: rotate(180deg);
}

.home-container .banner-area .banner-items{
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
    scroll-snap-align: start;
}

html[lang="zh-HK"] .home-container .banner-area .banner-items img.home-hkw-kv-banner,
html[lang="zh-CN"] .home-container .banner-area .banner-items img.home-hkw-kv-banner{
	/*padding-top: 4%;*/
}


.home-container .banner-area .banner-items img{
    transition: transform .2s;
}

.home-container .banner-area .banner-items img:hover{
    transform: scale(1.05);
}

.home-container .banner-div{
    position: relative;
    z-index: 2;
}

.title-block{
    position: absolute;
    width: fit-content;
}

.title-block .title-block-inner{
    width: 100%;
}

.title-block .btn-arrow-03{
    margin-left: 2%;
    margin-bottom: 2%;
    width: clamp(35px, 2.7084vw, 52px);
}

.gba-div .title-block{
    right: 0;
    bottom: -7.5%;
    background-color: #FF8800;
    padding: 3% 3.2% 2.7% 8.2%;
    clip-path: polygon(25% 0%, 100% 0, 100% 100%, 0% 100%);
    display: flex;
    justify-content: end;
}

.hkw-div .title-block{
    left: 0;
    bottom: -7.5%;
    background-color: #FF33D3;
    padding: 3.1% 15% 1.7% 2.45%;
    clip-path: polygon(0 1%, 75% 0, 100% 100%, 0% 100%);
}

html[lang="en"] .other-div .title-block{
    padding: 2% 2.2% 2.7% 8.3%;
}

.other-div .title-block{
    right: -0.1px;
    bottom: -10%;
    background-color: #FFB703;
    padding: 2% 6.2% 2.7% 8.3%;
    clip-path: polygon(18% 0%, 100% 0, 100% 100%, 0% 100%);
    display: flex;
    justify-content: center;
}

.title-block .progress-bar-outer{
    width: 80%;
}

.title-block .progress-bar {
    width: 100%;
    height: 5px;
    background-color: #fff; 
    border-radius: 4px;
    overflow: hidden;
}

.title-block .progress {
    width: 0; 
    height: 100%;
    background-color: #000; 
    transition: width 0.3s ease;
}

.title-block .actions-div{
    width: 10%;
}

.title-block .actions-div img{
    width: 27px;
}

.title-block .title{
    font-weight: 700;
    font-size: calc(clamp(38px, 3.125vw, 60px) * var(--font-scale));
    line-height: 1.05;
    color: #000000;
    margin-top: 5%;
}

.other-div .title-block .title{
    margin-top: 0%;
    font-size: calc(clamp(28px, 3.125vw, 60px) * var(--font-scale));
}

.home-container .banner-div-outer{
    margin-bottom: 12%;
}

.home-container .hkw-div.banner-div-outer{
    margin-bottom: 13.5%;
}

.gba-div .gba-map-bg-div{
    width: clamp(520px, 55.52084vw, 1066px);
    position: absolute;
    transform: translateY(50%);
    bottom: -3%;
    right: -6.8%;
}


.gba-div .home-gba-line-bg-01{
    width: clamp(425px, 33.28125vw, 639px);
    position: absolute;
    transform: translateY(50%);
    left: -14%;
    bottom: -14%;
}

.gba-div .home-gba-line-bg-02{
    width: clamp(200px, 33.0730vw, 635px);
    position: absolute;
    transform: translateY(50%);
    left: -19%;
    bottom: 15%;
}

.dot-div{
    width: 30px;
    height: 30px;
}

.dot-div-01{
    position: absolute;
    bottom: -6%;
    right: 36.8%;
    width: 22px;
    height: 22px;
}

.dot-div-01 .map-pin-art{
    position: absolute;
    width: 85px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-02{
    position: absolute;
    right: -1%;
    top: 12%;
    width: 22px;
    height: 22px;
}

.dot-div-02 .map-pin-exhibition{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-03{
    position: absolute;
    top: 6%;
    left: 1%;
    width: 22px;
    height: 22px;
}

.dot-div-03 .map-pin-art{
    position: absolute;
    width: 55px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-04{
    position: absolute;
    top: 30.5%;
    left: -1.2%;
    width: 22px;
    height: 22px;
}

.dot-div-04 .map-pin-boardcast{
    position: absolute;
    width: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-05{
    position: absolute;
    top: 49.2%;
    left: 5.6%;
    width: 22px;
    height: 22px;
}

.dot-div-05 .map-pin-music{
    position: absolute;
    width: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-06{
    position: absolute;
    top: 15%;
    right: 14.8%;
    width: 22px;
    height: 22px;
}

.dot-div-06 .map-pin-art{
    position: absolute;
    width: 65px;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-07{
    position: absolute;
    top: 28%;
    left: 61.5%;
    width: 22px;
    height: 22px;
}

.dot-div-07 .map-pin-boardcast{
    position: absolute;
    width: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-08{
    position: absolute;
    top: 25.5%;
    right: -1.4%;
    width: 22px;
    height: 22px;
}

.dot-div-08 .map-pin-music{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-09{
    position: absolute;
    top: 2%;
    right: 38%;
    width: 22px;
    height: 22px;
}

.dot-div-09 .map-pin-art{
    position: absolute;
    width: 60px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-10{
    position: absolute;
    top: 14%;
    right: 18.9%;
    width: 22px;
    height: 22px;
}

.dot-div-10 .map-pin-exhibition{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-11{
    position: absolute;
    top: 38%;
    right: 44%;
    width: 22px;
    height: 22px;
}

.dot-div-11 .map-pin-boardcast{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-12{
    position: absolute;
    top: 37%;
    right: 87%;
    width: 22px;
    height: 22px;
}

.dot-div-12 .map-pin-music{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-13{
    position: absolute;
    top: 70.5%;
    right: 84%;
    width: 22px;
    height: 22px;
}

.dot-div-13 .map-pin-art{
    position: absolute;
    width: 65px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}


.dot-div-14{
    position: absolute;
    top: 75.8%;
    right: 66%;
    width: 22px;
    height: 22px;
}

.dot-div-14 .map-pin-boardcast{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-15{
    position: absolute;
    top: 70%;
    right: 58%;
    width: 22px;
    height: 22px;
}

.dot-div-15 .map-pin-boardcast{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-div-16{
    position: absolute;
    top: 47%;
    right: 57.8%;
    width: 22px;
    height: 22px;
}

.dot-div-16 .map-pin-art{
    position: absolute;
    width: 65px;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}
.dot-div-17{
    position: absolute;
    top: 50.9%;
    right: 30.7%;
    width: 22px;
    height: 22px;
}

.dot-div-17 .map-pin-music{
    position: absolute;
    width: 50px;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -90%);
    z-index: 2;
}

.dot-container{
    position: absolute;
    width: 22px;
    height: 22px;
}

.explore{
    background-color: #F9F9F9;
}

.explore-map .dot-container{
    position: relative;
}

.dot{
    position: absolute;
    width: 8.7px;
    height: 8.7px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.explore-map .dot{
    width: 30px;
    height: 30px;
}

.dot-front {
    background-color: white;
    z-index: 2;
}

.explore-map .dot-front{
    background-color: #FF7700;
}

.dot-back {
    background-color: white;
    opacity: 0.5;
    animation: dotScaleAnimation 2s infinite ease-in-out;
    z-index: 1;
    width: 22px;
    height: 22px;
}

.explore-map .dot-back{
    background-color: #FF7700;
    animation: dotScaleAnimationV2 2s infinite ease-in-out;
    opacity: 0.3;
}

.hkw-div .hkw-map-bg-div{
    width: clamp(500px, 51.302084vw, 985px);
    position: absolute;
    transform: translate(-50%, 50%);
    bottom: 15%;
    left: 2.6%;
}

.other-div .other-prog-map-bg-div{
    width: clamp(534px, 47.60417vw, 914px);
    position: absolute;
    transform: translate(50%, 50%);
    bottom: -28%;
    right: 38%;
}

.hkw-div .hkw-map-bg-div-mobile{
    display: none;   
    position: absolute;
    top: -30%;
    right: 0;
}

.hkw-div .home-line-bg-06-div{
    position: absolute;
    width: 100%;
    transform: translate(25%, 25%);
    top: 12%;
    left: 13%;
}

.home-line-bg-07{
    position: absolute;
    top: -43%;
    right: -6%;
}

.home-line-bg-08-div{
    position: absolute;
    top: 10%;
    left: 8%;
    transform: translateX(-50%);
    width: 75%;
}

.home-gba-line-bg-01-mobile{
    position: absolute;
    top: 42%;
    left: 2%;
    display: none;
}

.home-gba-line-bg-02-mobile{
    position: absolute;
    /* width: 77vw; */
    top: -4%;
    left: 23%;
    display: none;
}

.home-gba-line-bg-03-mobile{
    position: absolute;
    width: 100%;
    top: -51%;
    left: -18%;
    display: none;
}

.banner-action-div{
    display: none;
}

.banner-action-div.active{
    display: block;
}

.menu-overlay{
    position: fixed;
    z-index: 4;
    width: 600px;
    height: 0%;
    top: 0;
    right: 0;
    background-color: white;
    overflow-y: hidden;
    transition: 0.5s;
}

#mobile-overlay-menu.menu-overlay{
    width: 100%;
}

#mobile-overlay-menu.menu-overlay .menu-items a{
    text-transform: uppercase;
}

.menu-overlay .overlay-content {
    position: relative;
    width: 100%;
    overflow-y: scroll;
    max-height: 80vh;
}

.menu-overlay .menu-items {
    display: inline-block;
    width: 100%;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 8%;
    padding-right: 7%;
    text-decoration: none;
    transition: 0.3s;
    border-top: 1px solid #000000;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-weight: 700;
    font-size: calc(30px * var(--font-scale));
    color: #000000;
    position: relative;
    line-height: 1.2;
}

#mobile-overlay-menu.menu-overlay .menu-items{
    font-size: calc(28px * var(--font-scale));
}

#mobile-overlay-menu.menu-overlay .menu-items{
    border-top: unset;
    border-bottom: 1px solid #000000;
}

.menu-overlay .menu-items a{
    text-decoration: none;
    color: #000000;
}

#mobile-overlay-menu{
    display: none;
}

#mobile-overlay-menu .menu-arrow{
    transform: rotate(180deg);
    transition: 0.5s;
}

#mobile-overlay-menu .menu-other-div.active .menu-arrow,
#mobile-overlay-menu .gba-menu-other-div.active .menu-arrow{
    transform: rotate(0deg);
}

#mobile-overlay-menu .other-menu-main,
#mobile-overlay-menu .gba-other-menu-main{
    width: 100%;
    height: 100%;
    display: none;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow: hidden; 
    transition: height 0.3s ease;
    padding-top: 2%;
}

#mobile-overlay-menu .gba-other-menu-main{
    border-bottom: 1px solid #000000;
    padding-bottom: 2%;
}

#mobile-overlay-menu .other-menu-main.active,
#mobile-overlay-menu .gba-other-menu-main.active{
    display: block;
    transform: translateX(0);
}

#mobile-overlay-menu.menu-overlay .mobile-menu-items-v2 {
    display: block;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 8%;
    padding-right: 7%;
    text-decoration: none;
    transition: 0.3s;
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-weight: 700;
    font-size: calc(24px * var(--font-scale));
    color: #000000;
    line-height: 1;
}

#mobile-overlay-menu .function-icons-div img,
#mobile-overlay-menu img.icons{
    width: 25px;
	height: auto;
}

.mobile-bottom .menu-function-div{
    width: 100%;
    justify-content: space-around;
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: white;
}

.home-gba-line-bg-01-v2{
    display: none;
    width: clamp(400px, 33.28125vw, 639px);
    position: absolute;
    transform: translateY(50%);
    left: -14%;
    bottom: -14%;
}

.function-icons-div{
    position: relative;
    padding: 15px;
}

.function-icons-div.active{
    
    background-color: #E6E6E6;
    border-radius: 15px;
}

.function-icons-div .inner-block{
    position: absolute;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 3;
    display: flex;
    padding: 5px 15px;
    width: 270px;
    justify-content: space-around;
    left: -160%;
    top: 63%;
    transform: translate(-50%, 50%);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    display: none;
}

.function-icons-div.share .inner-block{
	width: 150px;
    left: -50%;
}

.function-icons-div.share .inner-block img{
	max-width: 30px;
}


#mobile-overlay-menu .function-icons-div .inner-block{
    top: -30%;
    transform: translate(0%, -100%);
}

.function-icons-div.active .inner-block{
    display: flex;
}

.function-icons-div .inner-block .sub-items{
    width: 25%;
    text-align: center;
    border-radius: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-family: 'HelveticaNeue', sans-serif;
    text-rendering: optimizeLegibility;
    font-weight: 700;
    font-size: 25px;
    cursor: pointer;
}

.function-icons-div .inner-block .sub-items:hover{
    background-color: #E6E6E6;
}

.paddingTop0{
	padding-top: 0;
}

.title-block-v2{
    position: relative;
    padding-left: 2%;
    padding-top: 1.5%;
    padding-bottom: 1.5%;
    font-weight: 700;
    font-size: calc(clamp(24px, 2.34375vw, 45px) * var(--font-scale));
    z-index: 1;
    color: #000000;
}

.items-div.prog .title-block-v2{
    width: clamp(237px, 25vw, 450px);
    background-color: #FF8800;
    clip-path: polygon(0 0, 85% 0%, 100% 100%, 0% 100%);
}

.items-div.cv .title-block-v2{
    width: clamp(306px, 28vw, 520px);
    background-color: #FF33D3;
    clip-path: polygon(0 0, 85% 0%, 100% 100%, 0% 100%);
    padding-top: 1.3%;
    padding-bottom: 1.3%;
}

html[lang="en"] .items-div.guangdong .title-block-v2{
    width: clamp(300px, 90.78125vw, 1743px);
}

.items-div.guangdong .title-block-v2{
    font-size: calc(clamp(20px, 2.34375vw, 45px) * var(--font-scale));
    width: clamp(300px, 31.25vw, 600px);
    background-color: #FFB703;
    clip-path: polygon(0 0, 95% 0%, 100% 100%, 0% 100%);
}

.gba-container .image-div{
    position: relative;
}

.gba-container .image-div-inner{
    overflow: hidden;
}

.gba-container .image-div-inner img{
    transition: transform .2s;
}

.gba-container .image-div-inner img:hover{
    transform: scale(1.05);
}


.gba-container .image-div .image-div-inner{
    position: relative;
    z-index: 1;
}

.gba-container .image-div .dot-line-v1{
    position: absolute;
    transform: translateY(-50%);
    top: 5%;
    left: 17%;
    /* width: clamp(400px, 40.625vw, 780px); */
    width: auto;
}

.gba-container .image-div .dot-line-v2{
    position: absolute;
    transform: translateY(-50%);
    top: 6.5%;
    left: 17%;
    width: auto;
}

.gba-container .image-div .dot-line-v3{
    position: absolute;
    transform: translate(50%, -50%);
    top: 3%;
    right: -3%;
    width: auto;
}


/* -------------------------------------------
	GBA Venue 
---------------------------------------------- */

body.hkw-venue main .page-container iframe{
	width: 100%;
	min-height: 600px;
}

body.hkw-venue main .page-container .content-container.container-2{
	padding: 0;
}

body.hkw-venue main .page-container .content-container.container-2:not(.content-container-2){
	margin-bottom: 0;
}

body.hkw-venue main .page-container .content-container.container-2 .row.list{
	background-color: #F9F9F9;
    width: 100%;
    min-height: 500px;
	margin-top: 0;
	position: relative;
}

body.hkw-venue main .page-container .content-container.container-2 .row.list .triangle{
	width: 0;
    height: 0;
    border-bottom: 54px solid #F2EFEF;
    border-right: 65px solid transparent;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
}

body.hkw-venue main .page-container .content-container.container-2 .row.list .content-panel{
	padding: 5%;
}

body.hkw-venue main .page-container .content-container.container-2 .row.list .content-panel h3{
	color: #000;
    font-family: 'HelveticaNeue', sans-serif;
	font-weight: 700;
	font-size: 2.8rem;
}

body.hkw-venue main .page-container .content-container.container-2 .row.list .content-panel hr{
	opacity: 1;
    border-top: 4px solid;
}

body.hkw-venue .page-container .content-container h1{
	font-size: 3.5rem;
	font-family: 'HelveticaNeue', sans-serif;
}
body.hkw-venue .page-container .content-container p{
	/*font-size: 1.13rem;*/
	font-size: calc(clamp(20px, 1.35417vw, 26px) * var(--font-scale));
	font-family: 'HelveticaNeue', sans-serif;
}
body.hkw-venue .page-container .content-container h1{
	padding-bottom: 5%;
}
body.hkw-venue .page-container .content-container p:not(:last-of-type), body.hkw-venue .page-container .content-container iframe{
	/*padding-bottom: 5%;*/
}
body.hkw-venue .page-container .content-container.container-2 .venues-list{
	padding-top: 2%;
}
body.hkw-venue .swiper-controls {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 20px;
	flex-wrap: nowrap;
	max-width: 40%;
	margin-left: 1%;
	margin-right: auto;
	height: 40px;
}
body.hkw-venue .swiper-pagination.swiper-progress {
  flex-grow: 1;
  height: 4px;
  background: #FFF;
  position: relative;
  display: flex;
  align-items: center;
}
body.hkw-venue .swiper-controls .swiper-pagination-progressbar-fill {
  background: #000;
}
body.hkw-venue .swiper-button-prev,
body.hkw-venue .swiper-button-next {
  position: relative !important;
  color: black;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  left: 0;
  right: 0;
  top: 28%;
  bottom: 0;
}
body.hkw-venue .pagination-label {
  white-space: nowrap;
  margin-left: 10px;
  display: flex;
  align-items: center;
  height: 100%;
  font-family: 'HelveticaNeue', sans-serif;
  font-size: 1.2rem;
}
body.hkw-venue .swiper-button-prev:after,
body.hkw-venue .swiper-button-next:after {
  font-size: 19px;
}
body.hkw-venue .content-container .list .list-items.swiper-slide-active{
  transform: scale(1.1);
  margin-left: 2%;
}
body.hkw-venue .content-container .list .list-items{
  transform: scale(0.8);
  transition: transform 0.5s ease;
}


.page-inside-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(180deg, #F8F7EC 0%, #F3F0FA 27.5%, #F8F7EC 52%, #F3F0FA 96.5%);
    font-family: 'HelveticaNeue', sans-serif;
    padding-bottom: 10%;

}

.page-inside-container .banner-div{
    max-width: 1920px;
    height: fit-content;
    display: flex;
    overflow: scroll;
    margin: 0;
    margin-bottom: 5%;
    padding: 0 0%;
    overflow-x: scroll;
    width: 100%;
    flex-wrap: nowrap;
    overflow: -moz-scrollbars-none;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.page-inside-container .banner-div .banner-items{
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
    scroll-snap-align: start;
    flex: 0 0 auto;
    width: 100%;
}

.page-inside-container .banner-div .banner-items video{
    width: 100%;
}

.page-inside-container .banner-div .banner-items iframe{
    width: 100%;
    height: 100%;
}

.page-inside-container .content-div{
    max-width: 1435px;
    width: 100%;
}

.page-inside-container .banner-area{
    position: relative;
}

.page-inside-container .content-div .tags-div{
    font-size: calc(clamp(20px, 1.302084vw, 25px) * var(--font-scale));
    color: #8A4412;
    margin-bottom: 3%;
    display: flex;
}

.page-inside-container .content-div .tags-div .tags-item{
    border-radius: 30px;
    border: 1px solid #8A4412;
    width: fit-content;
    padding: 5px 1.5%;
    margin-right: 2%;
}

.page-inside-container .content-div .title{
    font-size: calc(clamp(40px, 3.125vw, 60px) * var(--font-scale));
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 5%;
}

.page-inside-container .content-div .title p{
    margin-bottom: 0;
}

.page-inside-container .content-div .infos-div .tab-div{
    display: flex;
}

.page-inside-container .content-div .infos-div .tab-div .arrow-div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5%;
    padding-top: 2em;
    padding-bottom: 2em;
    background-color: #F9F9F9;
    cursor: pointer;
}

.page-inside-container .content-div .infos-div .tab-div .arrow-div:hover{
    background-color: #232323;
}

.page-inside-container .content-div .infos-div .tab-div .arrow-div:hover .arrow{
    filter: invert(100%);
}

.page-inside-container .content-div .infos-div .tab-div .tab-middle-div{
    width: 90%;
    display: flex;
    overflow: scroll;
    overflow: -moz-scrollbars-none; /* Firefox舊版 */
    scrollbar-width: none; /* Firefox */
}

.page-inside-container .content-div .infos-div .tab-div .tab-middle-div::-webkit-scrollbar {
    display: none; /* Chrome, Edge, Safari */
}

.page-inside-container .content-div .infos-div .tab-div .tab-middle-div .tab-items{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #F9F9F9;
    font-size: calc(clamp(14px, 1.3541vw, 26px) * var(--font-scale));
    font-weight: 500;
    color: #000000;
    padding: 5px 3%;
    margin-right: 5%;
}

.page-inside-container .content-div .infos-div .tab-div .tab-middle-div .tab-items.active{
    background-color: rgba(255, 219, 178);
    color: #000000;
}

.page-inside-container .content-div .infos-div .tab-div .tab-middle-div .tab-items span{
    width: max-content;
}

.page-inside-container .content-div .infos-div .infos-main-div{
    background-color: #F9F9F9;
}

.infos-main-div .tab-desc-div{
    padding: 5% 4%;
    padding-bottom: 20%;
}

.infos-main-div .tab-desc-div .desc-items{
    display: none;
    /*padding-top: 7%;
     font-size: calc(clamp(14px, 0.9375vw, 18px) * var(--font-scale)); */
    font-size: calc(clamp(20px, 1.35417vw, 26px) * var(--font-scale));
    font-weight: 400;
    color: #313131;
}

.infos-main-div .tab-desc-div .desc-items p{
    text-align: justify;
}

.infos-main-div .tab-desc-div .desc-items.active{
    display: block;
}

.infos-main-div .tab-desc-div .desc-items table td{
	vertical-align: top;
}

.infos-main-div .tab-desc-div .desc-items img.sp-img{
    max-width: 350px;
}


.infos-main-div .venue-infos-div{
    position: relative;
    padding-top: 50px;
}

.infos-main-div .venue-infos-div .venue-main-div{
    position: absolute;
    width: 100%;
    right: -55px;
    background-color: #FFFFFF;
    padding: 5%;
}

.infos-main-div .venue-infos-div .venue-main-div .content-angle{
    position: absolute;
    transform: translate(0%, -100%);
    top: 0;
    right: 0;
    width: 55px;
}

.venue-main-div .venue-items table.venue-table tr td:first-child{
    padding-right: 2em;
	white-space: nowrap;
}

.venue-main-div .venue-items table.venue-table tr td{
    vertical-align: top;
    padding-bottom: 1em;
}

.venue-main-div .venue-items{
    margin-bottom: 7em;
}

.venue-main-div .venue-items p{
    margin-bottom: 0;
}

.venue-main-div .venue-items .price{
    font-weight: 700;
    font-size: calc(clamp(20px, 1.35417vw, 26px) * var(--font-scale));
}

.venue-main-div .venue-items .place, .venue-main-div .venue-items .prog-venue-title,
.venue-main-div .venue-items a.place{
    font-weight: 400;
    font-size: calc(clamp(20px, 1.35417vw, 26px) * var(--font-scale));
	/*cursor: pointer;*/
}

.venue-main-div .venue-items .prog-venue-title{
    font-weight: 700;
    padding-bottom: 5%;
}

.venue-main-div .venue-items a.place {
    color: rgb(33,37,41);
    text-decoration: none;
}

.venue-main-div .venue-items .year{
    font-weight: 400;
    font-size: calc(clamp(20px, 1.14584vw, 22px) * var(--font-scale));
}

.month-items .month{
    font-weight: 700;
    font-size: calc(clamp(50px, 3.64584vw, 70px) * var(--font-scale));
    line-height: 1;
}

.venue-items .month-div .timelots-div .timeslot-items .date-items{
    font-weight: 700;
    font-size: calc(clamp(20px, 1.35417vw, 26px) * var(--font-scale));
    color: #000000;
    line-height: 1.2;
    padding-top: 10px;
}

.venue-items .month-div .timelots-div .timeslot-items .date-items .time{
    color: #8C8C8C;
    text-transform: lowercase;
}

.diff-year-border{
    width: 1px;
    height: 35px;
    border-left: 1px #000000 solid;
    margin-left: 2em;
}


.timeslot-table tr td{
    padding-bottom: 0 !important;
}

.venue-main-div .venue-items .buy-ticket{
    position: absolute;
    right: -3%;
    width: clamp(237px, 20.84vw, 335px);
    background-color: #F2D00C;
    padding-left: 7%;
    padding-top: 3.5%;
    padding-bottom: 3.5%;
    clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);

    font-weight: 700;
    font-size: calc(clamp(20px, 1.14584vw, 22px) * var(--font-scale));
	cursor: pointer;
}

.venue-main-div .venue-items .buy-ticket .buy-ticket-inner{
    display: flex;
    justify-content: center;
    align-items: center;
}

.venue-main-div .venue-items .buy-ticket .ticket-title{
    margin-left: 10px;
    color: rgb(33,37,41);
    text-decoration: none;
}
.venue-main-div .venue-items a.buy-ticket{
    text-decoration: none;
}

.mobile-bottom-side-div{
    display: none;
    position: absolute;
    width: 90vw;
    height: 300px;
    background: #F9F9F9;
    bottom: -5%;
}

.list .list-items .items-div .content-div .citys-div,
.list .list-items .items-div .content-div .tags-div{
    display: flex;
    font-family: 'inter', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    font-weight: 500;
    font-size: calc(14px * var(--font-scale));
    margin-bottom: 2%;
    flex-flow: wrap;
}

.list .list-items .items-div .content-div .citys-div .citys-item{
    border-radius: 20px;
    margin-right: 10px;
    background-color: #11DBFF;
    padding: 5px 15px;
    margin-bottom: 5px;
}

.list .list-items .items-div .content-div .tags-div .tag-item{
    border-radius: 20px;
    margin-right: 10px;
    padding: 5px 15px;
    color: #5317E1;
    border: 1px solid;
    margin-bottom: 5px;
}

.list .list-items .items-div .content-div .tags-div .tag-item.music{
    color: #08798D;
}

.list .list-items .items-div .content-div .tags-div .tag-item.dance{
    color: #CD740E;
}

.list .list-items .items-div .content-div .tags-div .tag-item.theatre{
    color: #23B100;
}

.list .list-items .items-div .content-div .tags-div .tag-item.chineseopera{
    color: #FF33D3;
}

.list .list-items .items-div .content-div .tags-div .tag-item.multi-arts{
    color: #FF4C00;
}

.list .list-items .items-div .content-div .tags-div .tag-item.film{
    color: #551DD8;
}

.list .list-items .items-div .content-div .tags-div .tag-item.exhibition{
    color: #008AAC;
}

.list .list-items .items-div .content-div .tags-div .tag-item.artstech{
    color: #B8796C;
}

.list .list-items .items-div .content-div .tags-div .tag-item.conference{
    color: #4B61CC;
}

.list .list-items .items-div .content-div .tags-div .tag-item.online{
    color: #9E4788;
}

.list .list-items .items-div .content-div .tags-div .tag-item.fringeactivity{
    color: #948F00;
}

.list .list-items .items-div .content-div .citys-div .citys-item.hongkong{
    background-color: #11DBFF;
}

.list .list-items .items-div .content-div .citys-div .citys-item.foshan,
.list .list-items .items-div .content-div .citys-div .citys-item.mainland{
    background-color: #FF8800;
}

.list .list-items .items-div .content-div .citys-div .citys-item.zhuhai,
.list .list-items .items-div .content-div .citys-div .citys-item.overseas{
    background-color: #55E830;
}

.list .list-items .items-div .content-div .citys-div .citys-item.guangzhou{
    background-color: #FF33D3;
}

.list .list-items .items-div .content-div .citys-div .citys-item.huizhou{
    background-color: #FFBB00;
}

.list .list-items .items-div .content-div .citys-div .citys-item.shenzhen{
    background-color: #A482F3;
}

.list .list-items .items-div .content-div .citys-div .citys-item.zhaoqing{
    background-color: #219EBC;
}

.list .list-items .items-div .content-div .citys-div .citys-item.jiangmen{
    background-color: #FFAD9C;
}

.list .list-items .items-div .content-div .citys-div .citys-item.macau,
.list .list-items .items-div .content-div .citys-div .citys-item.macao{
    background-color: #B4BDEB;
}

.list .list-items .items-div .content-div .citys-div .citys-item.dongguan{
    background-color: #EBB4DE;
}

.list .list-items .items-div .content-div .citys-div .citys-item.zhongshan{
    background-color: #FDF875;
}

.filter-options-div{
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
}

.filter-options-div .filter-control .filter{
    font-weight: 500;
    font-size: calc(clamp(22px, 1.5625vw, 30px) * var(--font-scale));
    color: #000000;
    cursor: pointer;
}

.filter-options-div .filter-control .filter span{
    margin-left: 15px;
    margin-right: 20px;
    padding-top: 5px;
}

.filter-options-div .filter-control .clean,
.options-menu-div .clean{
    font-weight: 800;
    font-size: calc(clamp(17px, 1.14584vw, 22px) * var(--font-scale));
    color: #464646;
    align-items: center;
    cursor: pointer;
}

.options-menu-div .clean{
    text-transform: uppercase;    
}

.filter-options-div .filter-control .clean{
    display: none;
}

.filter-options-div .filter-control .clean.active,
.options-menu-div .clean{
    display: flex;
}

.filter-options-div .filter-control .clean span,
.options-menu-div .clean span{
    margin-right: 10px;
    padding-top: 5px;
}

.filter-main{
    font-family: 'HelveticaNeue', sans-serif;
    
    
    text-rendering: optimizeLegibility;
    display: none;
}

.filter-main .filter-main-row{
    margin-top: 2%;
}

.filter-main.active{
    display: block;
}

.filter-main .items-div,
.options-menu-div .items-div{
    display: flex;
    flex-flow: wrap;
}


.filter-main .type{
    display: flex;
    align-items: center;
    font-weight: 500;
    color: #000000;
    font-size: calc(clamp(20px, 1.302084vw, 25px) * var(--font-scale));
    margin-top: 1.5%;
    height: fit-content;
}

.filter-main p,
.options-menu-div p{
    margin-bottom: 0;
    font-weight: 400;
    color: #464646;
    font-size: calc(clamp(18px, 1.302084vw, 25px) * var(--font-scale));
}

.filter-main .items-div .item,
.options-menu-div .items-div .item{
    padding: 1%;
    cursor: pointer;
}

.filter-main .items-div .item .item-inner,
.options-menu-div .items-div .item .item-inner{
    padding: 7px 15px;
    border-radius: 35px;
}

.filter-main .items-div .item .item-inner.active,
.options-menu-div .items-div .item .item-inner.active{
    border: 1px solid #000000;
}

.no-result-display-text {
    text-align: center;
    margin-top: 10%;
    font-weight: 700;
    color: #464646;
    font-size: calc(clamp(18px, 1.302084vw, 25px) * var(--font-scale));
    display: none;
}

.no-result-display-text.active{
    display: block;
}

.explore .explore-top-header{
	min-height: 200px;
	display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(90.04deg, #FFC787 0.04%, rgba(255, 199, 135, 0.3) 99.96%);
    overflow: visible;
}

.explore .explore-top-header .header-bg-div{
	max-width: 1920px;
	min-height: 200px;
	width: 100%;
	overflow: hidden;
}

.explore .explore-top-header img{
	position: absolute;
}

.explore .explore-top-header img.bg-dottedline {
    position: absolute;
    top: clamp(-10%, -15%, -20%);
    left: clamp(-10vw, -5vw, 0vw);
    width: clamp(300px, 40vw, 766px);
    transform: rotate(12deg) scale(1.2);
    max-width: none;
}

.explore .explore-top-header img.bg-map {
    position: absolute;
    top: clamp(-4em, -45%, -40%);
    left: clamp(25vw, 35.5vw, 40vw);
    width: clamp(350px, 35vw, 800px);
    max-width: none;
}

.explore .title-div .header-title{
	right: 5%;
    bottom: -5em;
    background-color: #FF8800;
    padding: 4% 3% 1% 8%;
    clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
    display: flex;
    justify-content: end;
    position: absolute;
}

.explore .title-div .header-title p{
	font-size: calc(clamp(28px, 3.125vw, 45px) * var(--font-scale));
    font-family: 'HelveticaNeue', sans-serif;
    font-weight: 700;
    text-align: end;
    line-height: 1.1;
}

.explore .title-div{
	position: relative;
    width: 100%;
    max-width: 1920px;
}

.explore .map-div {
    max-width: 1700px;
    /*padding-left: 2%;
    padding-right: 2%;*/
    margin-top: 4%;
    overflow: hidden;
    position: relative;
    margin-bottom: 10%;
	/*display: none;*/
}

.explore .map-div .map-inner {
    overflow: unset;
    width: 100%;
    height: 1200px;
    cursor: grab;
    position: relative;
}

.explore .map-div .map-inner.grabbing {
    cursor: grabbing;
}

.explore .map-div .map-inner .map-main {
    position: relative;
    width: fit-content;
    transform-origin: 0 0;
}

.explore .map-div .map-inner .map-main .map-image {
    display: block;
    width: auto;
    height: auto;
    user-select: none;
}

.explore .map-div .map-inner .map-main .explore-dot {
    position: absolute;
    cursor: pointer;
    display: flex;
    align-items: center;
    min-width: 230px;
}

.explore .map-div .map-inner .map-main .explore-dot p {
    margin-left: 5%;
    margin-right: 5%;
    font-family: 'HelveticaNeue', sans-serif;
    font-weight: 700;
    font-size: calc(clamp(22px, 1.3541vw, 26px) * var(--font-scale));
    color: #545454;
    line-height: 1;
    margin-bottom: 0.3rem;
    text-decoration: none;
}

.zoom-controls {
    position: absolute;
    bottom: 5%;
    right: 5%;
    display: flex;
    flex-flow: column;
    display: none;
}

.zoom-controls button {
    padding: 0px 20px 5px 20px;
    font-size: 40px;
    cursor: pointer;
    border-radius: 0;
    border: 1px solid #D7D7D7;
    background-color: white;
    color: #767676;
    font-family: 'HelveticaNeue', sans-serif;
    font-weight: 700;
}

.zoom-controls .zoom-in {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.zoom-controls .zoom-out {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.explore-map {
    display: flex;
    justify-content: center;
}

a.explore-dot {
    text-decoration: none;
}

.explore-dot-01 { top: 26%; left: 20%; }
.explore-dot-02 { bottom: 21%; left: 25%; }
.explore-dot-03 { top: 48.5%; left: 37.5%; }
.explore-dot-04 { bottom: 27.9%; left: 43.2%; }
.explore-dot-05 { bottom: 36.8%; left: 47.2%; }
.explore-dot-06 { top: 34.5%; left: 52.5%; }
.explore-dot-07 { bottom: 19%; left: 53%; }
.explore-dot-08 { bottom: 46.5%; right: 21.2%; }
.explore-dot-09 { bottom: 30.5%; right: 18.6%; }
.explore-dot-10 { bottom: 39.5%; right: 12.8%; }
.explore-dot-11 { top: 41.5%; right: 9.2%; }

.explore .mobile-br{
    display: none;
}

.map-inner{
    overflow: -moz-scrollbars-none; /* Firefox舊版 */
    scrollbar-width: none; /* Firefox */
}

.map-inner::-webkit-scrollbar {
    display: none; /* Chrome, Edge, Safari */
}

.search-div-outer{
    display: flex;
    flex-direction: column;
    align-items: center;   
}

.search-div{
    max-width: 1428px;
    width: 100%;
    padding: 3%;
    margin-top: 12%;
    background-color: #FFFFFF;
    font-family: 'HelveticaNeue', sans-serif;
    color: #000000;
    min-height: 400px;
    padding-bottom: 10%;
    position: relative;
    margin-bottom: 10%;
}

.search-div .search-options-div{
    display: flex;
    font-weight: 500;
    font-size: calc(20px * var(--font-scale));
    gap: 60px;
    text-transform: uppercase;
    flex-flow: wrap;
}

.search-div .search-options-div .input-keywords{
    border: 0;
    border-bottom: 1px solid #000000;
    padding-bottom: 10px;
}

.search-div .search-options-div .options-items{
    display: flex;
    align-items: baseline;
}

.search-div .search-options-div .options-items.date{
    position: relative;
}

.search-div .search-options-div .options-items p{
    margin-bottom: 0;
    margin-right: 10px;
}

.search-div .search-options-div .options-items.active > p{
    border-bottom: 1px solid #000000;
    padding-bottom: 10px;
}

.search-div .search-options-div .options-items img{
    width: 17px;
}

.search-div .search-options-div .options-items.active > img{
    transform: rotate(180deg);
}

.options-menu-div{
    margin-top: 4%;
    margin-bottom: 5%;
}

.options-menu-div .items-div.citys-list,
.options-menu-div .items-div.art-form-list{
    display: none;
}

.options-menu-div .items-div.citys-list.active,
.options-menu-div .items-div.art-form-list.active{
    display: flex;
}

.calendar-container {
    background: #fff;
    width: 450px;
    border-radius: 10px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

.calendar-container header {
    display: flex;
    align-items: center;
    padding: 25px 30px 10px;
    justify-content: space-between;
}

header .calendar-navigation {
    display: flex;
}

header .calendar-navigation span {
    height: 38px;
    width: 38px;
    margin: 0 1px;
    cursor: pointer;
    text-align: center;
    line-height: 30px;
    border-radius: 50%;
    user-select: none;
    color: #aeabab;
    font-size: 1.9rem;
}

.calendar-navigation span:last-child {
    margin-right: -10px;
}

header .calendar-navigation span:hover {
    background: #f2f2f2;
}

header .calendar-current-date {
    font-weight: 500;
    font-size: 1.45rem;
}

.calendar-body {
    padding: 20px;
}

.calendar-body ul {
    list-style: none;
    flex-wrap: wrap;
    display: flex;
    text-align: center;
}

.calendar-body .calendar-dates {
    margin-bottom: 20px;
}

.calendar-body li {
    width: calc(100% / 7);
    font-size: 1.07rem;
    color: #414141;
}

.calendar-body .calendar-weekdays li {
    cursor: default;
    font-weight: 500;
}

.calendar-body .calendar-dates li {
    margin-top: 30px;
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.calendar-dates li.inactive {
    color: #aaa;
}

.calendar-dates li.active {
    color: #fff;
}

.calendar-dates li::before {
    position: absolute;
    content: "";
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.calendar-dates li.active::before {
    background: #FF8800;
}

.calendar-dates li:not(.active):hover::before {
    background: #e4e1e1;
}

.calendar-body ul{
    padding-left: 0;
}

.calendar-container-outer{
    width: 100vw;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    display: none;
}

.calendar-container-outer.active{
    display: block;
}

.clean-options{
    display: none;
    position: absolute;
    right: 5%;
    top: 10%;
}

.clean-options.active{
    display: flex;
    justify-content: center;
}

.search-result-div{
    display: none;
}

.search-result-div.active{
    display: block;
}

.search-result-div .result-title{
    font-weight: 700;
    font-size: calc(clamp(30px, 2.084vw, 40px) * var(--font-scale));
    padding-bottom: 0.5em;
    margin-bottom: 0;
}

.search-result-div .result-title{
    border-bottom: 5px solid #000000;
}

.search-result-table{
    width: 100%;
}

.search-result-table thead tr th{
    font-weight: 700;
    font-size: calc(clamp(13px, 1.25vw, 24px) * var(--font-scale));
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #000000;
}

.search-result-table thead tr th:first-child{
    width: 35%;
}

.search-result-table thead tr th.date{
    width: 20%;
}

.search-result-table thead tr th.time{
    width: 20%;
}

.search-result-table thead tr th.venue{
    width: 20%;
}

.search-result-table tbody p{
    margin-bottom: 0;
}

.search-result-table tbody tr td{
    padding-top: 2em;
    font-weight: 400;
    font-size: calc(clamp(12px, 0.9375vw, 18px) * var(--font-scale));
}

.search-result-table tbody tr {
    cursor: pointer;
}

.search-block{
    position: absolute;
    transform: translate(0%, 50%);
    right: -2%;
    bottom: 0;
    padding-left: 2%;
    padding-right: 3%;
    padding-top: 2%;
    padding-bottom: 2%;
    color: #000000;
    width: clamp(237px, 20.84vw, 250px);
    background-color: #F2D00C;
    text-align: end;
    clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
    cursor: pointer;
}

.search-block.again{
    width: clamp(320px, 20.84vw, 350px);
}

.search-block .search-btn-inner{
    display: flex;
    align-items: center;
    justify-content: end;
}

.search-block span{
    font-weight: 700;
    font-size: calc(clamp(20px, 1.14584vw, 22px) * var(--font-scale));
    text-transform: uppercase;
    margin-left: 15px;
}

.no-result-text-div{
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.no-result-text-div p{
    font-weight: 700;
    font-size: calc(clamp(22px, 1.302084vw, 25px) * var(--font-scale));
    color: #313131;
    font-style: italic;
}

.menu-title-div{
    position: relative;
    padding: 15px;
	font-weight: 800;
}

.menu-title-div.active{
    /* background-color: #E6E6E6;
    border-radius: 30px; */
}

.menu-title-div .inner-block{
    position: absolute;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 3;
    padding: 10px 20px;
    width: max-content;
    justify-content: space-around;
    left: 50%;
    top: 2%;
    transform: translate(-50%, 50%);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    display: none;
    flex-flow: column;
}

.menu-title-div.active .inner-block{
    display: flex;
}

.menu-title-div.activeV2 .inner-block{
    display: flex !important;
}

.menu-title-div .inner-block a{
    text-decoration: none;
    font-family: 'HelveticaNeue', sans-serif;
    text-rendering: optimizeLegibility;
    color: #000000;
    font-size: calc(clamp(12px, 0.9375vw, 18px) * var(--font-scale));
    letter-spacing: 1px;
    margin-bottom: 5px;
    margin-top: 5px;
}

.header .top-bar .menu-function-div > a{
    width: 56px;
    display: flex;
    justify-content: center;
}

tr.timeslot-items.v2 td {
    padding-bottom: 15px !important;
}

.fancybox-overlay .message {
	padding: 5%;
	width: 80vw;
	max-width: 800px;
}

.fancybox-overlay .message.wechat-message{
	max-width: 400px;
}

.fancybox-overlay .message.wechat-message img{
	width: 100%;
}

.footer-wechat-div{
	display: flex;
	background-color: green;
	align-items: center;
}

footer .bottom-footer .right .footer-wechat-div .inline-search-icon{
	width: 25px;
	height: 25px;
}

.footer-wechat-div .input-group{
	margin-right: 5px;
	margin-top: 5px;
	margin-bottom: 5px;
}

.image-aspect-ratio{
	aspect-ratio: 16/9;
	width: 100%;
	height: 100%;
	object-fit: inherit;
	object-position: left;
}

.footer .top-div .media-div img{
	cursor: pointer;
}

.tab-content-hide{
	display: none;
}

.function-icons-div.share .inner-block a:nth-child(1),
.function-icons-div.share .inner-block a:nth-child(4),
.function-icons-div.share .inner-block a:nth-child(5) {
  display: none;
}

.about-content .content-panel-div a.sub-item{
	padding-left: 1%;
}

/*.items-div.cv,
#mobile-overlay-menu.menu-overlay .mobile-menu-items-v2:nth-of-type(2),
.menu-title-div .inner-block a:nth-of-type(2),
body.about .tab[data-tab="4"]{
  display: none;
}*/

#gbaf-prog .infos-div{
    font-family: 'HelveticaNeue', sans-serif;
    text-rendering: optimizeLegibility;
    font-size: calc(clamp(16px, 0.9375vw, 18px) * var(--font-scale));
    font-weight: 400;
    color: #313131;
    padding-bottom: 3%;
    text-align: justify;
}

#gbaf-prog .thumbnail-div{
    position: relative;
}

#gbaf-prog .show-later-info{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);;
}

#gbaf-prog .show-later-info p{
    margin-bottom: 0;
}

html[lang="en"] #gbaf-prog .show-later-info p{
    text-align: center;
}

#gbaf-prog .show-later-info .show-later-title-div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'HelveticaNeue', sans-serif;
    text-rendering: optimizeLegibility;
    color: #FFFFFF;
    font-weight: 700;
    font-size: calc(clamp(16px, 1.322917vw, 18px) * var(--font-scale));
    text-shadow: 0px 4px 15.2px #000000BF;
}

html[lang="zh-CN"] #gbaf-prog .show-later-info .show-later-title-div,
html[lang="zh-HK"] #gbaf-prog .show-later-info .show-later-title-div{
	width: 100%;
    text-align: center;
	font-size: calc(clamp(20px, 1.322917vw, 25px) * var(--font-scale));
}

#msgModal .modal-title{
    width: 100%;
}

#msgModal .modal-lg{
    --bs-modal-width: 850px;
}