.xo-event-calendar {width:100%; max-width:30rem; margin: auto; margin-bottom:2rem;  }
.xo-event-calendar table.xo-month { border: none !important; }
.xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month th, 
.xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month td {border: none !important;}
.xo-event-calendar table.xo-month .month-dayname td div { text-align: center !important;font-size: 1.25rem !important; height: auto !important;  font-weight: 300 !important;  }
.xo-event-calendar table.xo-month .month-dayname td div.today { color:#75b342; font-weight: bold; }
.xo-event-calendar table.xo-month .month-dayname td div[ class*="holiday"] { background: none !important; position: relative;   }
.xo-event-calendar table.xo-month .month-dayname td div[ class*="holiday"]::after { content:""; display: block; position: absolute; width:100%; border-top:2px solid #333; top:50%; left:0; }
.xo-event-calendar table.xo-month .month-dayname td div.other-month { color:#ccc; opacity:1 !important; }

.xo-event-calendar table.xo-month .month-dayname td div[class*="holiday-all"] { background:#fff !important;  height: 30rem !important; z-index: 10; margin-top:0;}
.xo-event-calendar table.xo-month .month-dayname td div[ class*="holiday-all"]::after { top:1rem; left:0; }

.xo-event-calendar table.xo-month caption { font-size: 1.5rem; }
.xo-event-calendar table.xo-month > thead th.sunday { color: #df7232 !important; }
.xo-event-calendar table.xo-month > thead th.saturday { color: #0599d1 !important; }

.xo-event-calendar p.holiday-title span { background:none !important; border:none !important; position:relative;}
.xo-event-calendar p.holiday-title span::after { content:""; display: block; position: absolute; width:100%; border-top:2px solid #333; top:50%; left:0; }

.index_area .index_box .xo-event-calendar table.xo-month a { display:block;}