a {
  text-decoration: none;
}
header a {
  color: #fff !important;
  text-transform: uppercase;
}
footer,
footer a {
  color: #fff !important;
}
.header-area {
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  padding-top: 5px;
  padding-bottom: 5px;
}
.navbar {
  background-color: transparent !important;
}
.navbar a {
  color: #707070;
  font-weight: 500;
  font-size: 1.05rem;
}
.navbar a:not(:last-child) {
  margin-right: 20px;
}
.navbar-icon {
  font-size: 2rem;
  font-weight: 500;
}
.scroll-x {
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
}
.scroll-x::-webkit-scrollbar {
  display: none;
}
.fw-500 {
  font-weight: 500;
}
.hero h1 {
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
}

.hero h1 {
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
}

.hero h1 span {
  display: block;
  font-size: 0.73em;
  font-weight: 400;
  color: bisque;
}
@media only screen and (max-width: 768px) {
  .hero h1 {
    font-size: 1.65rem;
  }
  .hero h1 span {
    font-size: 0.78em;
  }
}

.countdown_box {
  width: 90px;
  line-height: 20px;
  border: 2px solid #fff;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .countdown_box {
    width: 65px;
  }
}
.fs-5-5 {
  font-size: 1.125rem !important;
}

@media (max-width: 575px) {
  .mask {
    -webkit-mask-image: linear-gradient(to left, transparent 0, #000 20%);
    mask-image: linear-gradient(to left, transparent 0, #000 20%);
  }
}
.r_line::after {
  content: "";
  flex: 1;
  margin-left: 0.5rem;
  height: 1px;
  margin-top: 10px;
  background-color: var(--bs-gray-300);
}
.event-header-lg {
  display: none;
}
@media (min-width: 992px) {
  .event-header-lg {
    min-width: 728px;
    max-width: 970px;
    height: 90px;
  }
}
.text-light-blue {
  color: #bcf8ee !important;
}
.text-light-yellow {
  color: #feffb6 !important;
}

@media (min-width: 992px) 
{
  .pb-lg-5{padding-bottom:3rem!important}
  .pt-lg-0{padding-top:0!important}
}

.event-details {
  display: grid;
  grid-template-columns: 200px 1fr;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.event-details dt,
.event-details dd {
  padding: 10px 16px;
  border-bottom: 1px solid #dee2e6;
}

.event-details dt {
  font-weight: 600;
  background-color: #f8f9fa;
  color: #212529; 
}

.event-details dd {
  margin: 0;
}

.event-details dd p {
  margin: 6px 0 0;
  font-size: 0.93rem;
  color: #555;
  max-width: 130ch;
}

/* remove last row border */
.event-details > *:nth-last-child(-n+2) {
  border-bottom: none;
}


@media (max-width: 576px) {
  .event-details {
    grid-template-columns: 1fr;
  }

  .event-details dt {
    border-bottom: none;
  }

  .event-details dd {
    border-bottom: 1px solid #dee2e6;
  }
}
.g-map {width: 100%; height: 350px;}

.more-info {
  position: relative;
  margin-top: -70px;
  z-index: 3; /* ensures it’s above hero overlay */
}

@media only screen and (max-width: 768px) {
  .more-info {
    margin-top: -70px;
  }
}
.more-info .info-item {
  border-radius: 15px;
  box-shadow: 0 0 15px #00000026;
  text-align: center;
}

.hero h1, .hero p, .hero .countdown_box {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
}

.hero-img {
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0; /* behind content */
}

.hero {
	text-align: center;
  position: relative;
  color: #fff; /* ensures text is light */
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0; */
  background: rgba(0, 0, 0, 0.5); /* dark overlay: 0.5 = 50% opacity */
  z-index: 1;
}

.hero > .container {
  position: relative;
  z-index: 2; /* ensures text sits above overlay */
}

.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}
.small, small{font-size:.875em}
.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}
dt::after {
    content: ":";
  }

/* ========= Event intro: mobile clamp + fade + expand (CSS-only) ========= */

/* clamp the paragraph */
.event-intro{
  position: relative;
  overflow: hidden;
  scroll-margin-top: 90px;

  /* fallback clamp (for browsers without -webkit-line-clamp) */
  max-height: 9.2em; /* ~5 lines depending on line-height */
}

/* modern clamp */
@supports (-webkit-line-clamp: 1){
  .event-intro{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    max-height: none;
  }
}

/* fade overlay */
.event-intro::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 78px;
  background: linear-gradient(to bottom, rgba(248,249,250,0), rgba(248,249,250,1));
  pointer-events: none;
}

/* expanded when wrapper is targeted */
.event-intro-wrap:target .event-intro{
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  max-height: none;
}

.event-intro-wrap:target .event-intro::after{
  display: none;
}

/* read more link with left/right lines */
.read-more-link{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  margin-top: -30px; 
  position: relative; /* Helps with positioning */
  z-index: 10; /* Ensures it stays above other content */
}


/* hide link after expand */
.event-intro-wrap:target .read-more-link{
  display: none;
}

/* desktop: always expanded */
@media (min-width: 992px){
  .event-intro{
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
    max-height: none;
  }
  .event-intro::after{ display: none; }
  .read-more-link{ display: none; }
}