#agenda .agenda-board {
    --agenda-blue: #23445f;
    --agenda-yellow: #ffcf52;
    --agenda-muted: #7895a4;
    --agenda-highlight: #e8edef;
    color: var(--agenda-blue);
    overflow: hidden;
}

#agenda .agenda-intro,
#agenda .agenda-day-heading,
#agenda .agenda-event {
    display: grid;
    grid-template-columns: 35% 16% 49%;
}

#agenda .agenda-intro {
    margin-bottom: 4rem;
}

#agenda .agenda-date {
    align-self: start;
    grid-column: 1 / 3;
    height: 49px;
    border-bottom: 7px solid var(--agenda-yellow);
    text-align: right;
}

#agenda .agenda-date span {
    display: inline-block;
    padding: 15px 2px 0 10px;
    font-family: 'Anton', 'Lato', sans-serif;
    font-size: 20px;
    line-height: 27px;
    letter-spacing: .4px;
    white-space: nowrap;
    transform: translateY(5px);
}

#agenda .agenda-intro-copy {
    grid-column: 3;
    padding-left: 41px;
}

#agenda .agenda-intro-copy h3 {
    margin: 0 0 4px;
    color: var(--agenda-yellow);
    font-family: 'Anton', 'Lato', sans-serif;
    font-size: 62px;
    font-weight: 400;
    line-height: .98;
}

#agenda .agenda-intro-copy p {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

#agenda .agenda-day + .agenda-day { margin-top: 52px; }
#agenda .agenda-day-heading { height: 172px; }
#agenda .agenda-day-heading .agenda-date { margin-top: 50px; }

#agenda .agenda-day-number {
    grid-column: 3;
    display: flex;
    overflow: hidden;
    padding-left: 41px;
    color: var(--agenda-yellow);
    font-family: 'Anton', 'Lato', sans-serif;
    font-size: 188px;
    font-weight: 400;
    line-height: .91;
    letter-spacing: 0;
    white-space: nowrap;
}

#agenda .agenda-day-number-inner {
    display: flex;
    overflow: hidden;
}

#agenda .agenda-day-number-inner span:first-child {
    margin-left: -47px;
    margin-right: 10px;
}


#agenda .agenda-events { font-size: 18px; margin-top: 2rem; }

#agenda .agenda-event {
    align-items: start;
    min-height: 56px;
    line-height: 1.25;
}

#agenda .agenda-event .time {
    grid-column: 2;
    padding-left: 25px;
    white-space: nowrap;
}

#agenda .agenda-event > div {
    grid-column: 3;
    padding-left: 41px;
}

#agenda .agenda-event strong { font-weight: 700; }

#agenda .agenda-event small {
    display: block;
    color: var(--agenda-muted);
    font-size: 14px;
    line-height: 1.35;
}

#agenda .agenda-event-featured {
    min-height: 34px;
    margin-bottom: 22px;
    background: linear-gradient(
        to right,
        transparent calc(35% + 17px),
        var(--agenda-highlight) calc(35% + 17px)
    );
    line-height: 34px;
}

#agenda .agenda-event-details {
    min-height: 0;
    margin-top: -8px;
    margin-bottom: 36px;
    color: var(--agenda-muted);
    font-size: 14px;
    line-height: 1.35;
}

#agenda .agenda-meal-icon {
    display: inline-block;
    position: relative;
    width: 45px;
    height: 1em;
    margin-left: 10px;
    color: var(--agenda-blue);
    line-height: 1;
    vertical-align: baseline;
}

#agenda .agenda-meal-icon::before {
    content: '🍽︎';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-family: 'Segoe UI Symbol', sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
}

@media (max-width: 767px) {
    #agenda .agenda-intro,
    #agenda .agenda-day-heading,
    #agenda .agenda-event { grid-template-columns: 21% 30% 49%; }

    #agenda .agenda-date {
        height: 40px;
        border-bottom-width: 6px;
    }

    #agenda .agenda-date span {
        padding-top: 10px;
        font-size: 17px;
        line-height: 25px;
    }

    #agenda .agenda-intro-copy h3 {
        max-width: 245px;
        font-size: 50px;
        line-height: 1.12;
    }

    #agenda .agenda-intro-copy p {
        font-size: 16px;
        line-height: 1.2;
    }

    #agenda .agenda-day-heading { height: 168px; }
    #agenda .agenda-day-heading .agenda-date { margin-top: 52px; }
    #agenda .agenda-day-number {
        font-size: 184px;
        padding-left: 41px;
    }

    #agenda .agenda-day-number-inner span:first-child {
        margin-left: -45px;
        margin-right: 10px;
    }
    #agenda .agenda-events { font-size: 17px; }
    #agenda .agenda-event { min-height: 55px; }
    #agenda .agenda-event .time { padding-left: 16px; }

    #agenda .agenda-event > div,
    #agenda .agenda-intro-copy { padding-left: 41px; }

    #agenda .agenda-event-featured {
        min-height: 31px;
        background: linear-gradient(
            to right,
            transparent calc(21% + 16px),
            var(--agenda-highlight) calc(21% + 16px)
        );
        line-height: 31px;
    }

    #agenda .agenda-event-details { font-size: 13px; }
}

@media (max-width: 575px) {
    #agenda .agenda-board {
        margin-right: -15px;
        margin-left: -15px;
    }

    #agenda .agenda-intro-copy h3 { font-size: clamp(39px, 8.9vw, 50px); }
    #agenda .agenda-intro-copy p { font-size: clamp(12px, 2.85vw, 16px); }

    #agenda .agenda-event,
    #agenda .agenda-events { font-size: clamp(13px, 3.05vw, 17px); }

    #agenda .agenda-event > div,
    #agenda .agenda-intro-copy,
    #agenda .agenda-day-number { padding-left: clamp(14px, 7.3vw, 41px); }

    #agenda .agenda-date span { font-size: clamp(13px, 3.05vw, 17px); }
}