:root {
  --primary: #E16B90;
  --secondary : #497737;
  --white: #FFF;
  --black:#1D1B20;
  --grey:#625B71;
  --yellow:#B8BE68;
  --pink:#B5006A;
  --lighpink : #FEEDEE;
  --border-input: #79747E;
  --color-input:#49454F;
}
@font-face {
  font-family: 'Bomiro';
  src: url(../fonts/bomiro/bomiro_regular.ttf);
}
@font-face {
  font-family: 'Roboto';
  src: url(../fonts/roboto/roboto.ttf);
}

@font-face {
  font-family: 'Kanit';
  src: url(../fonts/kanit/Kanit-Light.ttf) format('truetype');
  font-weight: 300;
  font-style: normal;
}
html[lang="th"]{
  font-family: 'Kanit', sans-serif;
}
html[lang="en"]{
  font-family: 'Roboto', sans-serif;
}
body{
  padding-top:94px;
  font-size: 1rem;
}
h1, h2, h3, h4, h5, h6{
  font-family: 'Bomiro', sans-serif;
  margin-bottom: 0;
}
a{
  text-decoration: none;
  outline: none;
}
.f-bomiro, .f-bomiro *{
  font-family: 'Bomiro', sans-serif !important;
}
.f-roboto{
  font-family: 'Roboto', sans-serif !important;
}
.f-kanit{
  font-family: kanit !important;
}
input{
  border-color: var(--border-input) !important;
}
input[type="text"], input[type="email"]{
  height: 56px;
}
.fs-large{
  font-size: 3rem !important;
}
.fs-1{
  font-size: 2.5rem !important;
}
.fs-2{
  font-size: 2rem !important;
}
.fs-3{
  font-size: 1.75rem !important;
}
.fs-4{
  font-size: 1.5rem !important;
}
.fs-5{
  font-size: 1.25rem !important;
}
.fs-6{
  font-size: 1rem !important;
}
.fs-7{
  font-size: .875rem !important;
}
.fs-8{
  font-size: .75rem !important;
}
.form-group{
  position: relative;
}
.form-group label{
  position: absolute;
  font-size: 0.75rem;
  padding:0 0.25rem;
  top:0;
  left:0.75rem;
  transform: translateY(-50%);
  color:var(--color-input);
}
.form-group .inp-placeholder{
  position: absolute;
  font-size: 0.75rem;
  padding:0 0.25rem;
  bottom:0;
  left:0.75rem;
  transform: translateY(1.25rem);
  color:var(--color-input);
}
.form-check-app{
  color:#1D1B20;
  height: 56px;
  border:1px solid var(--border-input);
  display: flex;
  align-items: center;
  padding :1rem;
  border-radius: var(--bs-border-radius);
  justify-content: space-between;
  cursor: pointer;
}
.form-check-app input[type="radio"]{
  margin:0;
  border:2px solid #49454F;
  width: 20px;
  height: 20px;
}
.form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23C14E52'/%3e%3c/svg%3e");
    border:2px solid #C14E52 !important;
}
.navbar ul.navbar-nav .nav-item a{
  padding-top:0;
  padding-bottom: 0;
}
.bg-primary{
  background-color: var(--primary) !important;
}
.bg-secondary{
  background-color: var(--secondary) !important;
}
.bg-lighpink{
  background-color: var(--lighpink) !important;
}
.text-primary{
  color:var(--primary) !important;
}
.text-yellow{
  color:var(--yellow);
}
.py-section{
  padding-top:2.5rem;
  padding-bottom: 2.5rem;
}
.py-section-2{
  padding-top:5rem;
  padding-bottom: 5rem;
}
.navbar::after{
  content: '';
  position: absolute;
  bottom: 0; /* Align the border at the bottom */
  left: 0; /* Indent for inner border */
  right: 0; /* Indent for inner border */
  height: 1px; /* Border thickness */
  background-color: var(--primary); /* Border color */
}
.navbar-nav .nav-link{
  color: var(--black);
  font-family: bomiro;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover{
  color: var(--primary);
}
.navbar-collapse.collapsing > ul, .navbar-collapse.collapse.show > ul{
  border-top:1px solid var(--primary);
}
#langContent{
  width: 100%;
}
#btnContact{
  background-color: var(--primary);
  padding: 0.625rem 1.5rem;
  border-radius: 20px;
  border:none;
  transition: ease .2s;
  font-family: bomiro;
}

#btnContact:hover{
  filter: brightness(1.2);
}
#btnHideform{
  background:none;
  border:none;
}
.max-w-lg-440{
  width: 100%;
}
footer{
  padding-top:80px;
  padding-bottom: 80px;
  position: relative;
}
footer::before{
  content: '';
  position: absolute;
  top: 0; /* Align the border at the bottom */
  left: 0; /* Indent for inner border */
  right: 0; /* Indent for inner border */
  /*height: 10px;*/
  height:4px;
  width: 100%;
  background-color: var(--primary);
}
header .navbar{
  padding:.75rem 0;
}
footer .container{
  row-gap: 40px;
}
footer ul.navbar-nav .nav-item{
  padding:0;
}
footer ul.navbar-nav .nav-item a{
  padding:0;
}
.des-footer{
  font-size: 2rem;
}
footer .container .d-flex{
  row-gap: 2.5rem;
}
#footerSp{
  gap: 0.375rem;
}
#footerSp .hr{
  width:1px;
  background-color: #D9D9D9;
  height: 75px;
}
#social > a > img{
  height: auto;
  width: 48px;
  max-width: 48px;
  max-height: 48px;
}
#footerSp > img:nth-child(2){
  max-width: 57px;
  max-height: 57px;
}

#countdownBox{
  border:1px solid var(--yellow);
}
#countdownBox > div{
  padding: 0.75rem 1rem;
}
#countdownBox .vr{
  background-color: var(--yellow) !important;
  opacity: 1;
  padding:0;
}
.flex-none{
  flex:none !important;
}
.btn{
  background:none;
  color:var(--white);
  border:1px solid var(--white);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap:.5rem;
  padding:0.625rem 1rem;
  border-radius: 1.5rem;
  transition: ease .2s;
}
.btn *{
  transition: ease .2s;
}
.btn-primary{
  color:var(--primary);
  border:1px solid var(--primary) !important;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible, .btn-primary.show{
  background-color: var(--primary) !important;
  color: var(--white);
}
.btn-primary:hover img, .btn-primary:active img, .btn-primary:focus-visible img, .btn-primary.show img{
  filter: brightness(100);
}
.btn-primary-1{
  color:var(--white) !important;
  background-color: var(--primary) !important;
  border:1px solid var(--primary) !important;
}
.btn-primary-1:hover{
  filter: brightness(1.2);
}
.btn-white{
  color:var(--white);
  border:1px solid var(--white);
}
.btn-white:hover{
  background-color: var(--white);
  color: var(--black);
}
.btn-white:hover img{
  filter: brightness(0);
}
.btn:disabled{
  background-color: #CAC4D0 !important;
  border-color:#CAC4D0 !important
}

#secApplication h2, #secNews h2, #secExperience h2, #secExplore h2, .header-title{
  font-size: 3rem;
}
#secNews{
  margin-bottom:120px;
}
#secExperience, #secTheme{
  padding-top:120px;
  padding-bottom:120px;
}
#secExplore{
  padding-top:80px;
  padding-bottom:80px;
}
#mapExplore{
  max-width: 1200px;
  margin:auto;
  display: block;
  margin-top:2.5rem;
  position: relative;
}
.comingsoon{
  position: absolute;
  left: 0;
  top:0;
  width: 100%;
  height: 100%;
  background-color: #000000B2;
  display: flex;
  align-items: center;
  padding:1.5rem;
  row-gap: .5rem;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  color:var(--white);
  z-index: 1;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.experience-content{
  border:8px solid var(--primary);
  padding:1.5rem;
  width: 100%;
}
.content-application{
  padding:2.5rem;
}
#formApp{
  row-gap: 2rem;
  column-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}
#formApp > *{
  width: 100%;
}
#formApp input{
  background-color: var(--lighpink);
}
#formApp label{
  background-color: var(--lighpink);
  padding:0 .25rem;
}

#secSlideExh{
  background-color: var(--black);
  display: block;
  padding:1rem 0;
}
.mySwiper2 .swiper-wrapper, .mySwiper3 .swiper-wrapper{
  display: flex;
  flex-wrap: nowrap;
}
.mySwiper2 .swiper-slide, .mySwiper3 .swiper-slide{
  width: auto;
}
#secSlideExh .swiper-slide img{
  width: auto;
  height: 272px;
}
.content-exhibition{
  background-color: var(--primary);
  padding:2.5rem;
}


.main-news{
  border:8px solid var(--primary);
  padding:1.5rem;
}
.hr-sub-news{
  border-bottom:1px dashed #CAC4D0;
}
.sub-news-img{
  width: 120px;
  height: 120px;
  object-fit: cover;
}
.sub-news-content{
  display: flex;
  gap:1.5rem;
}
.sub-news-content a, .first-news-content a{
  text-decoration: none;
  color:#1D1B20;
  transition:ease .2s;
}
.sub-news-content a:hover, .first-news-content a:hover{
  color:var(--primary);
}
.sub-news-content .featured-news{
  width:128px;
  aspect-ratio: 1/1;
  object-fit: cover;
  flex:none;
}
.tag-news{
  background-color: var(--primary);
  padding:.25rem .5rem;
  color:var(--white);
  font-size:.875rem;
}
.tag-news.bg-green{
  background-color: #366E39;
}
.tag-news:hover{
  filter: brightness(1.2);
}
.date-news{
  color:#CAC4D0;
}
#goose{
  position: absolute;
  top:0;
  left:0;
  height: auto;
  width: 130px;
  transform: translate(0, -75%);
  z-index: -1;
}

.bg-sec-exp{
  position: absolute;
  padding:36px 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.bg-exp{
  position: sticky;
  top:36px;
  display: grid;
  justify-content: space-between;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap:144px;
  z-index: -1;
  
}
.bg-exp > .bg-exp-group, .bg-exp > .bg-exp-group2{
  overflow: hidden;
}
#bgExpGroup1{
  display: none;
}
#bgExpGroup4{
  display: flex;
  justify-content: center;
}
#bgExpGroup2{
  display: flex;
  justify-content: center;
  padding-right: .5rem;
}
#bgExpGroup3{
  display: none;
  justify-content: start;
  padding-left: .5rem;
}
#bgExpGroup2 > div, #bgExpGroup3 > div{
  display: flex;
  flex-wrap: wrap;
  width: 292px;
  row-gap: .75rem;
  column-gap: .75rem;
  place-items: center;
}
/* #bgExpGroup2 img:nth-child(1), #bgExpGroup2 img:nth-child(4){
  width: 112px;
  height: 141px;
}
#bgExpGroup2 img:nth-child(2), #bgExpGroup2 img:nth-child(3){
  width: 141px;
  height: 112px;
} */
 #drowdownLang{
  right: 0;
  left:unset;
  min-width: 3rem;
  text-align: start;
  padding:0;
  overflow: hidden;
  margin-top:1.25rem;
  border:none;
  box-shadow: 0 4px 4px #00000040;
 }
 #drowdownLang li:not(:last-child){
  border-bottom: 1px solid #CAC4D0;
 }
 #drowdownLang li a{
  padding:1rem;
  display: flex;
  gap:.5rem;
 }
 
#bgExpGroup2 img, #bgExpGroup3 img{
  width: 140px;
  height: 140px;
}
.rotating-animator1{
  animation: rotateAnimation1 5s linear infinite;
}
#footerMenu{
  column-gap: 1.5rem;
display: grid;
row-gap: 1.5rem;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
#footerMenu a{
  font-family: bomiro;
  width: auto;
  text-decoration: none;
  color:var(--black);
  transition:ease .2s;
}
#footerMenu a:hover{
  color:var(--primary);
}

@keyframes rotateAnimation1 {
  from {
      transform: rotate(0deg);
  }
  to {
      transform: rotate(360deg);
  }
}

.rotating-animator2{
  animation: rotateAnimation2 5s linear infinite;
}
@keyframes rotateAnimation2 {
  from {
      transform: rotate(0deg);
  }
  to {
      transform: rotate(-360deg);
  }
}
.animate-time{
  animation: animateTime 2s steps(1, end) infinite;
}
@keyframes animateTime {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

.animator-exp1{
  animation: expAnimation1 2s linear infinite;
  animation-delay: 0;
}
@keyframes expAnimation1 {
  0%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(0deg);}
  25%  {transform: rotate(-90deg);}
  37.5%  {transform: rotate(-90deg);}
  50%  {transform: rotate(-90deg);}
  62.5% {transform: rotate(0deg);}
  75% {transform: rotate(0deg);}
  87.5% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}

.animator-exp2{
  animation: expAnimation2 4s linear infinite;
  animation-delay: 0;
}
@keyframes expAnimation2 {
  0%   {transform: rotate(0deg);}
  6.25%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(-90deg);}
  18.75%  {transform: rotate(-90deg);}
  25%  {transform: rotate(-90deg);}
  31.25%  {transform: rotate(-180deg);}
  43.75%  {transform: rotate(-180deg);}
  50%  {transform: rotate(-180deg);}
  56.25%  {transform: rotate(-180deg);}
  62.5% {transform: rotate(-270deg);}
  68.75% {transform: rotate(-270deg);}
  75% {transform: rotate(-270deg);}
  81.25% {transform: rotate(-360deg);}
  87.5% {transform: rotate(-360deg);}
  93.75% {transform: rotate(-360deg);}
  100% {transform: rotate(-360deg);}
}

.animator-exp3{
  animation: expAnimation3 4s linear infinite;
  animation-delay: 0s;
}
@keyframes expAnimation3 {
  0%   {transform: rotate(0deg);}
  6.25%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(90deg);}
  18.75%  {transform: rotate(90deg);}
  25%  {transform: rotate(90deg);}
  31.25%  {transform: rotate(180deg);}
  43.75%  {transform: rotate(180deg);}
  50%  {transform: rotate(180deg);}
  56.25%  {transform: rotate(180deg);}
  62.5% {transform: rotate(270deg);}
  68.75% {transform: rotate(270deg);}
  75% {transform: rotate(270deg);}
  81.25% {transform: rotate(360deg);}
  87.5% {transform: rotate(360deg);}
  93.75% {transform: rotate(360deg);}
  100% {transform: rotate(360deg);}
}

.animator-exp4{
  animation: expAnimation4 2s linear infinite;
  animation-delay: .5s;
}
@keyframes expAnimation4 {
  0%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(0deg);}
  25%  {transform: rotate(0deg);}
  37.5%  {transform: rotate(0deg);}
  50%  {transform: rotate(0deg);}
  62.5% {transform: rotate(-90deg);}
  75% {transform: rotate(-90deg);}
  87.5% {transform: rotate(-90deg);}
  100% {transform: rotate(0deg);}
}

.animator-exp6{
  animation: expAnimation6 2s linear infinite;
  animation-delay: 0;
}
@keyframes expAnimation6 {
  0%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(0deg);}
  25%  {transform: rotate(90deg);}
  37.5%  {transform: rotate(90deg);}
  50%  {transform: rotate(90deg);}
  62.5% {transform: rotate(0deg);}
  75% {transform: rotate(0deg);}
  87.5% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}

.animator-exp7{
  animation: expAnimation7 2s linear infinite;
  animation-delay: .5s;
}
@keyframes expAnimation7 {
  0%   {transform: rotate(0deg);}
  12.5%  {transform: rotate(0deg);}
  25%  {transform: rotate(0deg);}
  37.5%  {transform: rotate(0deg);}
  50%  {transform: rotate(0deg);}
  62.5% {transform: rotate(90deg);}
  75% {transform: rotate(90deg);}
  87.5% {transform: rotate(90deg);}
  100% {transform: rotate(0deg);}
}

#btnHamburger{
  width: 72px;
  height: 40px;
  border-radius: 100px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  background-color: var(--primary);
  box-shadow: none;
}

#btnHamburger span{
  display: block;
  position: absolute;
  height: 2px;
  width: 24px;
  background: #FFF;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  transform: translateX(-50%);
}
#btnHamburger span:nth-child(1) {
  top: 10px;
  left: 50%;
}

#btnHamburger span:nth-child(2),#btnHamburger span:nth-child(3) {
  top: 18px;
  left: 50%;
}

#btnHamburger span:nth-child(4) {
  top: 26px;
  left: 50%;
}

#btnHamburger[aria-expanded="true"] span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}

#btnHamburger[aria-expanded="true"] span:nth-child(2) {
  left:54%;
  -webkit-transform: rotate(45deg) translate(-45%, 11px);
  -moz-transform: rotate(45deg) translate(-45%, 11px);
  -o-transform: rotate(45deg) translate(-45%, 11px);
  transform: rotate(45deg) translate(-45%, 11px);
}

#btnHamburger[aria-expanded="true"] span:nth-child(3) {
  left:54%;
  -webkit-transform: rotate(-45deg) translate(-45%, -11px);
  -moz-transform: rotate(-45deg) translate(-45%, -11px);
  -o-transform: rotate(-45deg) translate(-45%, -11px);
  transform: rotate(-45deg) translate(-45%, -11px);
}

#btnHamburger[aria-expanded="true"] span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}
.navbar.hidden {
  transform: translateY(-100%);
  opacity: 0 ;
  transition:0.3s ease-in-out;
}
.navbar {
  transform: translateY(0);
  opacity: 1;
  transition:0.3s ease-in-out;
}

#secExpoBanner, #secThemeBanner, #secExhGuidebook, #secCity{
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.40) 100%), url(../images/bg_exposite.webp) lightgray no-repeat center center;
  background-size: cover;
  height: 600px;
  position: relative;
}
#secThemeBanner{
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.40) 100%), url(../images/bg_theme.webp) lightgray no-repeat center center;
}
#secExhGuidebook{
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.40) 100%), url(../images/bg_exhibitor_guidebook.webp) lightgray no-repeat center center;
}
#secCity{
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.40) 100%), url(../images/bg_city.webp) lightgray no-repeat center center;
}
#secExposite{
  padding-top:626px;
  transition:ease .25s;
}
#expomap{
  height:500px;
  overflow: hidden;
}
#expomap::before{
  content: '';
  display: block;
  width: 100%;
  height:100px;
  background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.50) 74.12%, rgba(255, 255, 255, 0.00) 100%);
  position: absolute;
  top:0;
  left:0;
  z-index: 1;
  pointer-events: none;
}
#expomap::after{
  content: '';
  display: block;
  width: 100%;
  height:100%;
  background-color:#FFF;
  position: absolute;
  top:0;
  left:0;
  z-index: 1;
  opacity: 1;
  transition:ease .8s;
}
#expomap.loaded::after{
  opacity: 0;
  pointer-events: none;
}
#slideMap{
  position: absolute;
  display: block;
  top:0;
  left: 0;
  width: 100%;
  z-index: 2;
  pointer-events: none;
}
#carouselExpoMap{
  pointer-events: fill;
}
.point-map {
  transform: scale(1.5);
  cursor: pointer;
  position: absolute;
  width: 2.5% !important;
  aspect-ratio: 1 / 1;
  -webkit-aspect-ratio: 1 / 1; /* สำหรับ Safari */
  object-fit: cover;
  -webkit-object-fit: cover;
  border-radius: 100%;
  outline: 1px solid var(--grey);
  animation: glow 3s infinite normal;
  -webkit-animation: glow 3s infinite normal;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-size: cover;
  box-sizing: border-box; /* เพื่อให้การคำนวณขนาดถูกต้อง */
  border: none;
}
.point-map-city {
  transform: scale(1);
  cursor: pointer;
  position: absolute;
  width: 9% !important;
  aspect-ratio: 1 / 1;
  -webkit-aspect-ratio: 1 / 1; /* สำหรับ Safari */
  object-fit: cover;
  -webkit-object-fit: cover;
  border-radius: 100%;
  outline: 4px solid var(--grey);
  animation: glow 3s infinite normal;
  -webkit-animation: glow 3s infinite normal;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-size: cover;
  box-sizing: border-box; /* เพื่อให้การคำนวณขนาดถูกต้อง */
  border: none;
}
.poster-expo{
  object-fit: contain;
  object-position: top;
  height: auto;
  width: 100%;
}
.point-map.active{
  outline: 2px solid var(--primary);
  animation: glowactive 3s infinite normal;
}
.point-map-city.active{
  outline: 4px solid var(--primary);
  animation: glowactive 3s infinite normal;
}

#carouselExpoMap .carousel-control-prev, #carouselExpoMap .carousel-control-next{
  width: 40px;
  height: 40px;
  top:50%;
  transform: translateY(-50%);
  background-color: var(--primary);
  display: flex;
  border-radius: 100%;
  top:0;
  opacity: 1;
}
#carouselExpoMap .carousel-control-prev > span, #carouselExpoMap .carousel-control-next > span{
  width: 1rem;
}
#carouselExpoMap .carousel-control-prev{
  left:0;
}
#carouselExpoMap .carousel-control-next{
  right:0;
}
/* Expo map accordion (desktop) */
#accordionExpoMap{
  pointer-events: auto;
  background-color: #FFF;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  max-height: 640px;
  overflow-y: auto;
}
.expo-acc-item + .expo-acc-item{
  border-top: 1px solid #EEE;
}
.expo-acc-btn{
  background: none;
  border: none;
  padding: 14px 16px;
  color: var(--pink);
  font-weight: 500;
}
.expo-acc-btn:not(.collapsed){
  color: var(--black);
}
.expo-acc-btn > svg{
  color: var(--pink);
}
.expo-acc-icon{
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  border: 1px solid #CCC;
}
.expo-acc-icon::before, .expo-acc-icon::after{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1.5px;
  background-color: var(--black);
  transform: translate(-50%, -50%);
  transition: ease .25s;
}
.expo-acc-btn.collapsed .expo-acc-icon::after{
  transform: translate(-50%, -50%) rotate(90deg);
}
.expo-acc-body{
  padding: 0 16px 16px;
  font-size: .875rem;
  color: var(--grey);
}
#carouselEngagingActivities .carousel-item {
  transition: opacity 1.5s ease-in-out;
}
.line-clamp{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.theme-box{
  border : .5rem solid var(--primary);
  padding:1.5rem;
}
.exh-download{
  color:var(--black);
  position:relative;
  transition:ease .3s;
}
.exh-download:after{
  content:'';
  position: absolute;
  top:0;
  left:50%;
  transform: translateX(-50%);
  background: var(--primary);
  /* opacity: .5; */
  width: 0%;
  height: 100%;
  transition:ease .3s;
  z-index: -1;
}
.exh-download:hover{
  color:var(--white);
}
.exh-download:hover .poster{
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 25%);
}
.exh-download:hover::after{
  width: 100%;
}
.exh-download .icon-download{
  filter: brightness(0);
  transition:ease .3s;
}
.exh-download:hover .icon-download{
  filter: brightness(1);
}

#cityMap{
  position: relative;
  max-width: 638px;
  margin:2.5rem auto;
}

.kv-countdown {
    background-image: url(../images/bg_ud_l.webp), url(../images/bg_ud_r.webp);
    background-repeat: no-repeat;
    background-position: left bottom, right bottom;
    background-size:  30% auto,  30% auto;
}
.kv-symbolic{
    background-color: var(--primary);
    background-image: url(../images/bg_symbolic.svg), url(../images/bg_symbolic.svg);
    background-repeat: repeat-x;
    background-position: center top -40px, center bottom -40px;
    background-size:auto;
}
.flow-left:after, .flow-mid:after, .flow-right:after{
  content: '';
  display: block;
  position: absolute;
  width:120px;
  height:120px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.flow-left:after{
  bottom:-1rem;
  right:-1rem;
  background-image: url(../images/flower_left.webp);
}
.flow-mid:after{
  bottom:-1rem;
  right:-1rem;
  background-image: url(../images/flower_mid.webp);
}
.flow-right:after{
  bottom:-1rem;
  right:-1rem;
  background-image: url(../images/flower_right.webp);
}

@keyframes glow {
  0% {
    box-shadow: 0 0 10px rgba(98, 91, 113, 0.5);  /* Start with small glow */
  }
  50% {
    box-shadow: 0 0 0px 4px rgba(98, 91, 113, 0.5); /* Bigger, brighter glow */
  }
  100% {
    box-shadow: 0 0 0px 4px transparent; /* Bigger, brighter glow */
  }
}
@keyframes glowactive {
  0% {
    box-shadow: 0 0 10px rgba(193, 78, 82, 0.5);  /* Start with small glow */
  }
  50% {
    box-shadow: 0 0 0px 4px rgba(193, 78, 82, 0.5); /* Bigger, brighter glow */
  }
  100% {
    box-shadow: 0 0 0px 4px transparent; /* Bigger, brighter glow */
  }
}

@media (min-width: 576px) {
  #footerSp{
    gap: 1rem;
  }
  .btn-white{
    padding:0.625rem 1.5rem;
  }
  .sub-news-img{
    width: 200px;
    height: 200px;
  }
  #goose{
    transform: translate(-1.875rem, -75%);
  }
  #bgExpGroup2 > div, #bgExpGroup3 > div{
    row-gap: 0;
  }
  .point-map {
    transform: scale(1);
  }
  .kv-countdown {
        background-size: auto 220px;
    }

}
@media (min-width: 768px) {
  footer .container .d-flex{
    row-gap: 1.5rem;
  }
  #formApp > *{
    width: calc(50% - .75rem);
  }
  .bg-exp{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #bgExpGroup1{
    display: block;
  }
  #bgExpGroup2, #bgExpGroup4{
    justify-content: end;
  }
  #bgExpGroup3{
    display: flex;
  }
  .point-map{
    outline: 2px solid var(--grey);
  }
  .point-map.active{
    outline: 4px solid var(--primary);
  }
  

  @keyframes glow {
    0% {
      box-shadow: 0 0 10px rgba(98, 91, 113, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 10px rgba(98, 91, 113, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 10px transparent; /* Bigger, brighter glow */
    }
  }
  @keyframes glowactive {
    0% {
      box-shadow: 0 0 10px rgba(193, 78, 82, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 10px rgba(193, 78, 82, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 10px transparent; /* Bigger, brighter glow */
    }
  }
}

@media (min-width: 992px) {
  .main-news-content{
    max-width: 440px;
  }
  .row-news{
    margin-top:2.5rem; 
    gap:60px;
  }
  .row-news-page{
    margin-top:2.5rem; 
    column-gap:80px;
  }
  #goose{
    left:2.5rem;
    transform: translate(0);
  }
  #langContent{
    width: auto;
  }
  .navbar-collapse.collapsing > ul, .navbar-collapse.collapse.show > ul{
    border-top:unset;
  }
  .max-w-lg-440{
    max-width: 440px;
  }
  #collapseFormapp{
    display: block !important;
  }
  .point-map{
    outline: 3px solid var(--grey);
  }
  .point-map.active{
    outline: 6px solid var(--primary);
  }
  #carouselExpoMap{
    max-width: 756px;
    width: 80%;
    outline: 8px solid var(--primary);
  }
  #carouselExpoMap .carousel-control-prev{
    left:-5rem;
  }
  #carouselExpoMap .carousel-control-next{
    right:-5rem;
  }
  .poster-expo{
    max-width: 340px;
    width: 50%;
  }
  #carouselExpoMap .carousel-control-prev, #carouselExpoMap .carousel-control-next{
    top:50%;
  }
  #expomap::before{
    height:300px;
  }
  #secExposite{
    padding-top:0;
  }
  #slideMap{
    position: relative;
    pointer-events: auto;
  }
  #slideMap > .container{
    padding-left: 0;
    padding-right: 0;
  }
  #expomap{
    height:800px;
  }
  #carouselExpoMap{
    background-color: #FFF;
  }
  @keyframes glow {
    0% {
      box-shadow: 0 0 10px rgba(98, 91, 113, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 14px rgba(98, 91, 113, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 14px transparent; /* Bigger, brighter glow */
    }
  }
  @keyframes glowactive {
    0% {
      box-shadow: 0 0 10px rgba(193, 78, 82, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 14px rgba(193, 78, 82, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 14px transparent; /* Bigger, brighter glow */
    }
  }
}

@media (min-width: 1200px) {
  #goose{
    left:6rem;
  }
  #footerMenu{
    column-gap: 8rem;
  }
  #secExpoBanner, #secThemeBanner, #secExhGuidebook, #secCity{
    height: 700px;
  }
  #expomap{
    height:800px;
  }
  .point-map{
    outline: 4px solid var(--grey);
  }
  .point-map.active{
    outline: 8px solid var(--primary);
  }
  @keyframes glow {
    0% {
      box-shadow: 0 0 10px rgba(98, 91, 113, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 16px rgba(98, 91, 113, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 16px transparent; /* Bigger, brighter glow */
    }
  }
  @keyframes glowactive {
    0% {
      box-shadow: 0 0 10px rgba(225, 107, 144, 0.5);  /* Start with small glow */
    }
    50% {
      box-shadow: 0 0 0px 16px rgba(225, 107, 144, 0.5); /* Bigger, brighter glow */
    }
    100% {
      box-shadow: 0 0 0px 16px transparent; /* Bigger, brighter glow */
    }
  }
}

