body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

.navbar {
    height: 5rem;
    background-color: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(6px);
}




@media (max-width: 991px) {
    .navbar-brand {
        font-size: 1rem; /* Adjust the font size as needed */
        line-height: 1.2; /* Adjust the line height for better spacing */
    }

    .navbar {
        height: 5rem;
        background-color: rgba(255, 255, 255, 0.9) !important;
        /*backdrop-filter: blur(6px);*/
    }
    .navbar-nav {
        margin-top: 32px;
        background-color: rgba(255, 255, 255, 0.9) !important;
        backdrop-filter: blur(6px)!important;

    }
}


.navbar .nav-link {
    color: #333;
}

.navbar .nav-link:hover {
    color: #000;
}

section {
    padding: 60px 20px;
    margin-top: 60px;
}



#message {
    background-color: #f6f9fa; /* Light gray background */
    position: relative;
    color: black; /* Ensures text is readable */
    /*text-align: center; !* Centers the text *!*/
    padding: 5rem 0; /* Adds padding to the section */
    overflow: hidden;
}

#message::before {
    content: "";
    background-image: url('assets/logo-dbc-primary-minimal.png'); /* Path to your logo image */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left bottom;
    opacity: 0.1; /* Alpha transparency */
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%; /* Adjust the size as needed */
    height: 100%; /* Adjust the size as needed */
    z-index: 0;
}

#message .container {
    position: relative;
    z-index: 1; /* Ensures content is above the background image */
}


#about {
    /*background-color: #e2e2e2;*/
    background-image: url('assets/genopode_cut.JPG');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; /* Prevents the image from repeating */
    color: white; /* Ensures text is readable */
    text-align: center; /* Centers the text */
    padding: 5rem 0; /* Adds padding to the section */
    margin-top: 20px;
    min-height: 25rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

#speakers {
    background-color: #a9c4d5;
    margin-top: 20px;
}

#schedule {
    background-color: #ffffff;
    margin-top: 20px;
}

#info {
    /*background-color: #C4D64C;*/
    background-color: #e1f6bd;
    margin-top: 20px;
}

#venue {
    background-color: white;
    margin-top: 20px;
}

/*top_banner.jpg*/


#contact {
    background-color: #e2e2e2;
    margin-top: 20px;
}

#funding {
    background-color: white;
    margin-top: 20px;
}

#submission {
    background-image: url('assets/banner_dbc_edited.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; /* Prevents the image from repeating */
    color: white; /* Ensures text is readable */
    text-align: center; /* Centers the text */
    padding: 5rem 0; /* Adds padding to the section */
}


.footer {
    background-color: #343a40;
    color: white;
    padding: 1rem 0;
}

.footer .container {
    display: flex;
    justify-content: center;
    align-items: center;
}


dl {
    display: flex;
    flex-wrap: wrap;
}

dt {
    width: 17rem;
    font-weight: bold;
}

dd {
    margin-left: 0;
}


.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
}

.table-bordered {
    border: 1px solid #dee2e6;
}

.thead-dark th {
    color: #fff;
    background-color: #343a40;
    border-color: #454d55;
}

.event-type {
    font-weight: bold;
}

.speaker, .affiliation {
    margin-left: 20px;
    color: #555;
}

.break td {
    background-color: #b0b4b8 !important;
}

.circle-crop {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    object-fit: cover;
}

.affiliation {
    font-weight: lighter;
    font-style: italic;
}

.light-character {

}

.speakers {
    width: 15rem;
}

.lab-link {
    font-weight: bold !important;;
    color: #07529a !important;
    text-decoration: none !important;;

}

/* Programme table styling: enforce line order and emphasis */
#programme table.table td:nth-child(2) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

/* Time column styling (first column) */
#programme table.table td:first-child {
    width: 11rem; /* fixed width for time column */
    white-space: nowrap;
    vertical-align: top;
}

/* First line: Speaker (bold) - Event type */
#programme .speaker {
    order: 1;
    font-weight: 700;
    margin-left: 0; /* override global indent */
    color: inherit; /* keep standard text color */
}
#programme .event-type {
    order: 2;
    font-weight: 400; /* normal weight; only speaker/title are bold */
}
#programme .event-type::before {
    content: " - ";
}
/* Suppress separator when event-type is the first item (e.g., Coffee Break) */
#programme table.table td > .event-type:first-child::before {
    content: "";
}

/* Second line: Affiliation(s) */
#programme .affiliation {
    order: 3;
    flex-basis: 100%;
    margin-left: 0; /* override global indent */
}

/* Third line: Talk title (bold) */
#programme .talk-title {
    order: 4;
    flex-basis: 100%;
    font-weight: 700;
    margin-left: 0; /* ensure alignment */
}

/* Support combined first line markup */
#programme .first-line {
    order: 1;
    flex-basis: 100%;
    margin: 0;
}
#programme .first-line .event-type::before {
    content: ""; /* prevent auto hyphen when event-type is inside first-line */
}

/* Programme table borders: only horizontal separators, no vertical or outer borders */
#programme table.table {
    border-collapse: collapse; /* allow shared borders */
    border: none !important; /* remove outer border */
}
#programme table.table th,
#programme table.table td {
    border: 0 !important; /* remove all default cell borders */
}
/* Add only horizontal separators between body rows (light gray) */
#programme table.table tbody tr + tr td {
    border-top: 1px solid #e0e0e0 !important; /* horizontal line between rows */
}
/* Neutralize Bootstrap 5 default table borders within #programme */
#programme table.table > :not(caption) > * {
    border-width: 0 !important; /* removes section top/bottom borders set by .table-bordered */
}
#programme table.table > :not(caption) > * > * {
    border-width: 0 !important; /* removes per-cell vertical/horizontal widths */
}
/* Ensure no bottom outside border on the last body row (safety) */
#programme table.table tbody tr:last-child td {
    border-bottom: 0 !important;
}