You can customize the calendar query and
add your own class as a column in the query - for the holidays
And specify the column as CSS class in the attributes
and then add your custom CSS for the class.



Edit:
@ulrik-larsen I see what you mean.
I do not think that is possible straight away. But I think we can do a work around
- Add a class that includes the date - take the sub string of the class so that we will only get the date
- Select the td using the data-date attribute
- Add the class to the td that way
- Hide the event anchor tag
Calendar query
select ORDER_ID,
CUSTOMER_ID,
ORDER_TOTAL,
ORDER_TIMESTAMP,
USER_NAME,
TAGS,
'apex-cal-green' css_class
from DEMO_ORDERS
union
select 1,
1,
1,
to_date('06/12/2020', 'MM/DD/YYYY'),
'e',
'TAGS',
'hol-sel-class hol-class-'||to_char(to_date('06/12/2020', 'MM/DD/YYYY'), 'YYYY-MM-DD') css_class
from dual
union
select 1,
1,
1,
to_date('06/13/2020', 'MM/DD/YYYY')+1,
'e',
'TAGS',
'apex-cal-green' css_class
from dual
Function and Global Variable Declaration
function holidayCss(){
$(".hol-sel-class").each(function(){
var classList = this.className.split(/\s+/);
for (var i = 0; i < classList.length; i++) {
console.log('classList[i] - ',classList[i]);
console.log('classList[i].substring(0, 10) - ',classList[i].substring(0, 10));
if (classList[i].substring(0, 10) == "hol-class-") {
console.log('in loop - '+classList[i].substring(10));
// data-date="2020-05-26"
$('td[data-date="'+classList[i].substring(10)+'"]').addClass('apex-cal-test-class');
console.log('td[data-date='+classList[i].substring(10)+']');
console.log('td[data-date="'+classList[i].substring(10)+'"]');
console.log($('td[data-date="'+classList[i].substring(10)+'"]').attr( "class" ));
$(".hol-sel-class").addClass('am-hidden');
}
}
});
}
Execute when page loads
setTimeout(holidayCss, 500);
We need to delay the JS execution because calendar is loaded after the page is loaded
CSS Inline
td.fc-day.ui-widget-content.fc-fri.fc-future.apex-cal-test-class {
background-color: darkgray;
}
a.fc-day-grid-event.fc-h-event.fc-event.fc-start.fc-end.hol-sel-class.am-hidden {
display: none;
}


Hope this helps :)