.fc-loading::after {
  content: 'Loading events...';
  color: #ffc107;
  font-size: 14px;
  display: block;
  text-align: center;
  padding: 10px;
}

.hero-slider {

  position: relative;

  width: 100%;

  height: 100%;

  overflow: hidden;

  min-height: 100% !important;

}



.hero-slider .slide {

  position: absolute;

  top: 0; left: 0;

  width: 100%; height: 100%;

  background-size: cover;

  background-position: center;

  opacity: 0;

  transition: opacity 1s ease-in-out;

}



.hero-slider .slide.active {

  opacity: 1;

  z-index: 1;

}



.hero-slider .overlay {

  position: absolute;

  top: 0; left: 0;

  width: 100%; height: 100%;

  background: rgba(0,0,0,0.55);

}



.hero-slider .content {

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  text-align: center;

  z-index: 2;

  color: #fff;

}



.hero-slider .content .logo {

  width: 400px;

  max-width: 90%;

  margin-bottom: 20px;

}



.hero-slider .content h1 {

  font-family: 'Playfair Display', serif;

  font-size: 2.5rem;

  font-weight: 700;

  color: #fff;

  text-shadow: 0 3px 10px rgba(0,0,0,0.6);

  letter-spacing: 1px;

}



/* .hero-slider .arrow:hover {

  background: rgba(255,255,255,0.2);

} */

.hero-slider .arrow.left { left: 30px; }

.hero-slider .arrow.right { right: 30px; }



@media (max-width: 768px) {

  .hero-slider .content .logo { width: 250px; }

  .hero-slider .content h1 { font-size: 1.8rem; }

}



/* ---- Filter bar styling ---- */


.filter-label {

  font-weight: 700;

  font-size: 13px;

  text-transform: uppercase;

}

.calendar-filters button:hover {

  background: #fff;

  color: #000;

}



/* Arrow buttons */

.cal-nav-btn {

  border: 2px solid #fff;

  background: transparent;

  color: #fff;

  font-size: 16px;

  width: 34px;

  height: 32px;

  display: flex;

  justify-content: center;

  align-items: center;

  cursor: pointer;

}



.cal-nav-btn:hover {

  background: #fff;

  color: #000;

}



#monthLabel {

  font-weight: 700;

  font-size: 14px;

  margin: 0 6px;

  text-transform: capitalize;

}



/* Reset button */

.reset-btn {

  border: 2px solid #fff;

}
div#cal-list {
    display: none;
}
#calendarContainer {

    background: #4a4a4a;

    padding: 0;

    border-radius: 10px;

    max-width: 1100px;

    margin: 0 auto 3rem;

    min-height: 420px;

    border: none;

}

#calendarContainer thead th {

    padding: 0;

    text-align: center;

    font-weight: 700;

    color: #fff !important;

    background: transparent !IMPORTANT;

    border: 1px solid rgba(255, 255, 255, .25);

}



/* Make Sunday-Saturday headers gold */

.fc-col-header-cell-cushion {

  color: #ffc107 !important;

  font-weight: 600;

}



.fc-toolbar-title {

  color: #ffc107 !important;

  font-weight: bold;

}

section#upcoming-events .events-grid .event-card-horizontal {

    z-index: 9;

    display: flex;

    align-items: stretch;

    background: #0b0b0b;

    border: 5px solid;

    color: #fff;

    overflow: hidden;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

    cursor: pointer;

    width: 100%;

    height: 250px;

    transition: transform .2s;

    border-radius: 0;

}

section#upcoming-events {

    display: block;

}

section#upcoming-events .events-grid .event-card-horizontal .event-info h3 {

    margin: 0;

    font-size: 1.2rem;

    line-height: 1.25;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    letter-spacing: -0.011em;

    -webkit-box-orient: vertical;

    overflow: hidden;

    box-sizing: border-box;

    font-style: normal;

    font-weight: 500;

    font-family: 'Poppins', sans-serif;

    color: #fff;

    margin-bottom: 5px;

}

section#upcoming-events .events-grid .event-card-horizontal .event-info p {

    color: #c0c0c0;

    font-size: .95rem;

    box-sizing: border-box;

    font-family: 'Poppins', sans-serif;

}

.events-grid {

    gap: 20px;

}

section#upcoming-events .events-grid .event-card-horizontal .event-info {

    background: #0e1a2b;

}

section#upcoming-events .events-grid .event-card-horizontal .event-img img {

    width: 100%;

    height: 100%;

    min-height: 240px;

    max-height: 360px;

    object-fit: cover;

    display: block;

}

section#upcoming-events .events-grid .event-card-horizontal .event-img {

    min-width: 0;

}

section#upcoming-events {

    margin-top: 0;

}

.events-grid {

    max-width: 800px;

}

@media (max-width: 768px) {

div#calendarContainer {
    display: none;
}
div#cal-list {
    display: block;
}

}

