
.protest-revolution-regular {
    font-family: "Protest Revolution", sans-serif;
    font-weight: 400;
    font-style: normal;
}

/*  */

/* Offset content for fixed-top navbar (approx height of .navbar) */
body { padding-top: 3.5rem; }

/* Example hero styling similar to old .jumbotron */
.custom-hero {
  /* Overlay + background image */
  background-image: linear-gradient(
      rgba(0, 0, 0, 0.5), 
      rgba(0, 0, 0, 0.5)
    ),
    url('pageImages/tronImage2025.jpeg');

  background-size: cover;
  background-position: center;

  /* Sizing & spacing */
  min-height: 300px;
  padding: 4rem;

  margin-bottom: 2rem;

  /* Text styling */
  color: #fff; /* white text works better against the dark overlay */
}

.custom-hero .btn-primary {
  /* Optional: make call-to-action button stand out against overlay */
  background-color: #fb0202; /* red */
  border-color: #000000;
}
.custom-headline.protest-revolution-regular {
    font-family: "Protest Revolution", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

.custom-headline {
    color: whitesmoke;
}

/* overridding all Bootstrap primary button color */
.btn-primary {
  background-color: #fb0202; /* New primary color (e.g., royal purple) */
  border-color: #fb0202;
}

.btn-primary:hover {
    background-color: #000000; /* e.g., #0056b3 */
    border-color: #000000; /* e.g., #004085 */
}

.calendar {
    font-family: Arial, sans-serif;
    width: 300px; /* Adjust width as needed for "small" */
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.calendar-header {
    background-color: #fb0202;
    color: white;
    padding: 10px;
    text-align: center;
    font-weight: bold;
}

.calendar-weekdays,
.calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
}

.calendar-weekdays div {
    background-color: #e9ecef;
    padding: 8px 0;
    font-size: 0.8em;
    font-weight: bold;
}

.calendar-dates div {
    padding: 10px 0;
    border-top: 1px solid #eee;
    border-left: 1px solid #eee;
}

.calendar-dates div:nth-child(7n+1) { /* Remove left border for first column */
    border-left: none;
}

.calendar-dates .empty {
    background-color: #f8f9fa;
}

.calendar-dates .event {
    background-color: #ffc107;
    font-weight: bold;
    color: #333;
    /* border-radius: 50%;  Optional: for a circular highlight */
    display: flex;
    justify-content: center;
    align-items: center;
}

.big-square-btn {
  display: flex;
  align-items: center;
  justify-content: center;

  /* Size roughly like the calendar */
  min-height: 300px;   /* adjust to match calendar height */
  border-radius: 1rem; /* large rounded corners */
  font-size: 1.5rem;   /* bigger text */
  text-align: center;
  background-color: #fb0202;
}

.big-square-btn:hover {
    background-color: #000000;
}

/* Masonry layout (pure CSS) */
    .masonry {
      column-count: 2;
      column-gap: 1rem;
    }
    @media (min-width: 768px) { .masonry { column-count: 3; } }
    @media (min-width: 992px) { .masonry { column-count: 4; } }

    .masonry-item {
      display: block;
      margin: 0 0 1rem;
      break-inside: avoid;
      -webkit-column-break-inside: avoid;
      border-radius: .5rem;
      overflow: hidden;
      position: relative;
    }

    .masonry-item picture,
    .masonry-item img {
      display: block;
      width: 100%;
      height: auto;
    }

    /* Optional hover polish */
    .masonry-item img { transition: transform .2s ease; }
    .masonry-item:hover img { transform: scale(1.02); }

    /* Lightbox modal tweaks */
    .modal-content {
      background-color: #000; /* dark chrome */
    }
    .modal-body {
      padding: 0;
    }
    .lightbox-stage {
      position: relative;
      background: #000;
    }
    .lightbox-stage img {
      display: block;
      width: 100%;
      height: auto;
      max-height: calc(100vh - 6rem);
      object-fit: contain;
      margin: 0 auto;
      background: #000;
    }
    .lightbox-caption {
      color: #fff;
      padding: .75rem 1rem 1rem;
      font-size: .95rem;
      opacity: .85;
    }
    .lightbox-control {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      border: none;
      background: rgba(0,0,0,.35);
      width: 3rem; height: 3rem;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff;
    }
    .lightbox-control:hover { background: rgba(0,0,0,.55); }
    .lightbox-prev { left: .75rem; }
    .lightbox-next { right: .75rem; }

    /* Dark red wrapper behind the carousel */
  .reviews-section {
    background-color: #6b0b0b; /* dark red */
    color: #fff;
    border-radius: 0.75rem;
  }

  .reviews-section .carousel-item{
    min-height: 280px;                 /* height target on small screens */
    padding: 1rem;                     /* breathing room */
  }
  @media (min-width: 768px){
    .reviews-section .carousel-item{
      height: 360px;               /* taller on tablets/desktop */
    }
  }

  /* center the quote inside each slide */
  .reviews-section .slide-inner{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }

/* Optional: keep the quote from getting too wide */
.reviews-section blockquote{
  max-width: 60ch;
  margin-inline: auto;
}

  /* The quote card inside each slide */
  .reviews-section blockquote {
    /* background: rgba(0, 0, 0, 0.35); */
    color: #fff;
  }

  /* Make indicators visible on dark background */
  /* .reviews-section .carousel-indicators [data-bs-target] {
    background-color: #fff;
  } */

  /* Ensure the nav arrows are visible on dark red */
  .reviews-section .carousel-control-prev-icon,
  .reviews-section .carousel-control-next-icon {
    filter: invert(1);
  }

  /* Compact reviews panel for sidebar/column use */
.reviews-compact {
  background-color: #000000;  /* dark red */
  color: #fff;
  border-radius: .75rem;
}

/* Let Bootstrap hide inactive slides; only visible slides become flex to center content */
.reviews-compact .carousel-item { padding: .5rem 0; }
.reviews-compact .carousel-item.active,
.reviews-compact .carousel-item-next,
.reviews-compact .carousel-item-prev {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 240px;   /* column-friendly height */
}
@media (min-width: 768px){
  .reviews-compact .carousel-item.active,
  .reviews-compact .carousel-item-next,
  .reviews-compact .carousel-item-prev {
    height: 280px;
  }
}

/* Quote card */
.reviews-compact blockquote {
  background: rgba(0,0,0,.35);
  color: #fff;
  border-radius: .5rem;
  max-width: 100%;
  margin: 0 1rem;   /* keep it off the red edges */
}

/* Controls/indicators visible on dark red */
.reviews-compact .carousel-control-prev-icon,
.reviews-compact .carousel-control-next-icon { filter: invert(1); }
.reviews-compact .carousel-indicators [data-bs-target] { background-color: #fff; }


