        /* Global styling for a clean look */
   /* Import fonts from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&family=Open+Sans:wght@400;600&display=swap');
   body {
        font-family: 'Open Sans', sans-serif;
        line-height: 1.6;
        color: #1A1F35;
        margin: 20px auto;
        padding: 0 15px;
        font-weight: 400;
        background-color: #F9F6F0;
    }
.nav-logo
{
    max-width: 35%;
    max-height: auto;
}
.nav-logo img
{
    max-width: 35%;
    max-height: auto;
}
@media (max-width: 767px) {
.nav-logo
{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.nav-logo img
{
    max-width: 100%;
    max-height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    float: none; /* Disables any floating that might be overriding margins */
}
}
ul 
{
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul li
{
    float: left;
    padding: 100px;
}

@media (min-width: 768px) {
    .img-carousel {
        max-width: 100%;
        height: 1000px;
        object-fit: none;  
        object-position: 65% 20%;
    }
}
@media (max-width: 767px) {
    .img-carousel {
        max-width: 100%;
        max-height: 40%;
        object-fit: none;  
        object-position: 65% 20%;
    }
}
h2, h5
{
    text-align: center;

}
h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 2px; /* Bebas looks best with a little breathing room */
    color: #023564; /* Primary Blue from logo */
}
/* .container
{
    display: flex;
    gap: 15px;
} */
.sidebar-image
{
    flex: 0 0 25%;
    max-width: fit-content;
}
.sidebar-image img 
{
    width: 100%; /* Fills the 15% container */
    height: auto; /* Maintains aspect ratio */
    display: block;
    border-radius: 8px;
}
.schedule
{
    flex: 1;
}
    h3 {
        color: #023564;
        padding: 12px 15px;
        border-left: 6px solid #023564;
        margin-top: 40px;
        margin-bottom: 10px;
        font-size: 1.2em;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    /* The key change: table-layout fixed ensures alignment across separate tables */
    table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 0px;
        table-layout: fixed; 
    }

    td {
        padding: 12px 15px;
        vertical-align: middle;
        word-wrap: break-word; /* Prevents long links from breaking the layout */
        overflow: hidden;
    }

    /* Defining fixed widths for each column so they line up vertically */
    td:nth-child(1) { width: 30%; font-weight: bold} /* Event Name */
    td:nth-child(2) { width: 15%; color: #666; font-style: italic; } /* Type */
    td:nth-child(3) { width: 20%; font-weight: bold; } /* Time */
    td:nth-child(4) { width: 25%; } /* Location */
    td:nth-child(5) { width: 10%; } /* Tickets */

    td a {
        color: #E1A506;
        text-decoration: none;
        font-weight: 600;
    }

    td a:hover {
        text-decoration: underline;
        color: #d81b60;
    }

    /* Mobile Responsiveness */
    @media screen and (max-width: 650px) {
        table {
            table-layout: auto; /* Allow tables to stack naturally on mobile */
        }
        
        table, tr, td {
            display: block;
            width: 100% !important;
        }
        
        tr {
            margin-bottom: 15px;
        }

        td {
            border: none;
            border-bottom: 1px solid #f0f0f0;
            padding: 10px 15px;
        }

        td:last-child {
            border-bottom: none;
        }
    }
    @media screen and (max-width: 650px) {
    .event-container {
        flex-direction: column;
    }
    .event-image {
        width: 100%; /* Image takes full width on mobile */
        max-width: 200px; /* Keeps it from getting too huge on mobile */
        margin: 0 auto;
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    } 
}
.fade-in
{
    animation-name: fadeIn;
    animation-duration: 1.5s;
    animation-timing-function: ease-in;
    animation-fill-mode: forwards;
}
#filter-content {
    max-height: 1000px; /* Large enough to hold content */
    overflow: hidden;
    transition: max-height 0.3s ease-out, opacity 0.3s ease;
    opacity: 1;
}

#filter-content.collapsed {
    max-height: 0;
    opacity: 0;
    pointer-events: none; /* Prevents clicking buttons while hidden */
}

.filter-header {
    cursor: pointer;
    background: #f1f1f1;
    border: none;
    width: 100%;
    text-align: left;
    padding: 10px;
    font-weight: bold;
}