#upcoming-events > div { height: auto !important; }
#upcoming-events > div > div { display: flex; flex-wrap: wrap; }
#upcoming-events .ccm-block-calendar-event-list-event { background: #E4F6FB; border-radius: 8px; margin-right: 2%; padding: 0; width: 32%; }
#upcoming-events .ccm-block-calendar-event-list-event:last-of-type { margin-right: 0; }
#upcoming-events .ccm-block-calendar-event-list-event-date { background: #015957; border-radius: 8px 8px 0 0; color: #fff; float: none; padding: 12px 14px; text-transform: uppercase; width: 100%; }
#upcoming-events .ccm-block-calendar-event-list-event-date img { display: inline-block; height: 28px; margin: -1px 8px 0 0; vertical-align: middle; }
#upcoming-events .ccm-block-calendar-event-list-event-date span { display: inline-block; font-size: 1.2em; font-weight: 700; vertical-align: middle; }
#upcoming-events .ccm-block-calendar-event-list-event-title { font-size: 1.3em; padding: 14px 22px 14px 16px; }
#upcoming-events .ccm-block-calendar-event-list-event-title a { color: #4D4C4C; font-weight: 700; text-decoration: none; }
#upcoming-events .ccm-block-calendar-event-list-event-date-full { color: #015957; font-size: 1.1em; font-weight: 700; padding: 0 16px; }
#upcoming-events .ccm-block-calendar-event-list-event-description { padding: 14px 20px 0px 16px; }
#upcoming-events .ccm-block-calendar-event-list-event-files { padding: 14px 20px 12px 16px; }
#upcoming-events .ccm-block-calendar-event-list-event-files a { background: #015957; border-radius: 6px; color: #fff; display: inline-block; margin: 0 6px 8px 0; padding: 5px 12px; text-decoration: none; }
#upcoming-events .ccm-block-calendar-event-list-event-files a:hover { background: #003c3a; }

@media screen and (max-width: 992px) {
    #upcoming-events .ccm-block-calendar-event-list-event { font-size: .9em; }
}

@media screen and (max-width: 768px) {
    #upcoming-events .ccm-block-calendar-event-list-event { margin-right: 0; margin-bottom: 22px; width: 100%; }
}