Program Planner DOCS & HELP

CSS Variables & Styling

Most color wishes are covered by the color pickers under Settings → Design & Options. For everything else the plugin relies on CSS variables and stable classes that you address in your theme or under Appearance → Customize → Additional CSS.

The global color variables

The plugin writes the eight colors from the settings as variables into :root. Preferably change them there – then the preview in the back end and the admin pages match too.

VariableSettingDefault
--ec-primaryPrimary color#f76b15
--ec-secondarySecondary color#eef4fa
--ec-bg-lightBackground (toolbar)#fff8f0
--ec-borderBorder color#dcebf7
--ec-tab-bgBackground (tabs)#ffffff
--ec-live-bgBackground (live section)#fff9f9
--ec-upcoming-bgBackground (upcoming)#ffffff
--ec-card-footer-bgBackground (card footer)#ffffff
Additional CSS – different colors on one page only
.page-id-42 .ec-event-calendar-app {
    --ec-primary: #2a6f97;
    --ec-bg-light: #eef6fb;
}

Because the variables are inherited, it is enough to set them again on an enclosing element – without !important.

Accent colors per session

Venue or category colors are set directly on the element: --ec-local-accent on tile and compact card, --ec-s-accent with --ec-s-bg-rgb and --ec-s-fg on the detail page. Change these colors in the venue or category management, not via CSS – otherwise calendar, timetable and monitors no longer match.

Important classes

ClassElement
.ec-event-calendar-appOuter frame of calendar, timetable, ticker, speaker directory and detail page. The safe entry point for your own rules.
.ec-toolbarSearch and filter bar above the calendar
.ec-cardOne tile of the grid view
.ec-tableThe list view
.ec-timetable-container, .ec-timetable-eventTimetable and one tile in it
.ec-live-view-containerLive ticker
.ec-compact-cardCompact card [event_card]
.ec-detail-modal-dialogThe detail pop-up
.ec-is-cancelledCancelled session (in all views)
.ec-past-eventSession that is already over
.ec-widget-compact-card, .ec-widget-live-tickerThe two sidebar widgets
Example: dim cancelled sessions more
.ec-event-calendar-app .ec-card.ec-is-cancelled {
    opacity: .55;
}

Responsive: container width instead of screen width

Calendar and timetable switch their layout according to the width of their container, not the screen width. That way the same calendar looks right in a narrow sidebar column and on a full page. Write your own layout adjustments as container queries:

Container query instead of media query
@container ec-card-container (max-width: 600px) {
    .ec-card-title { font-size: 1rem; }
}
Media queries miss the point

A @media rule for the same width doesn’t hit the same cases – a calendar in a 600 px column on a large screen would stay untouched.

What doesn’t exist

The plugin has no dark mode of its own. The variables above allow dark backgrounds, but text colors follow the theme – so test a dark color scheme in all views. To fundamentally rebuild the detail page, use a template copy.