
.d-flex{display:flex}
.calendar{}
.calendar .calendar-header{width:100%;margin-bottom:0.5rem;display:grid;grid-template-columns:1fr auto 1fr;grid-auto-rows:minmax(40px,auto);align-items:center}
.calendar .calendar-header .start-col{justify-self:start}
.calendar .calendar-header .end-col{justify-self:end}
.calendar .calendar-header .current-period{display:flex;justify-content:center;align-items:center}
.calendar .calendar-header .current-period .period-title{padding-right:1rem;padding-left:1rem}
.calendar .calendar-body{width:100%;height:100%}
.calendar .calendar-week-header,.calendar .calendar-week{display:grid;grid-template-columns:repeat(7,1fr);column-gap:6px;row-gap:2px;align-items:stretch}
.calendar .calendar-week-header{grid-auto-rows:minmax(20px,auto)}
.calendar.month .calendar-week{grid-auto-rows:minmax(120px,auto)}
.calendar.week .calendar-week{grid-auto-rows:minmax(400px,auto)}
.calendar .calendar-header-day{text-align:center}
.calendar .calendar-day{border-top:1.8px solid #6c757d;cursor:pointer}
.calendar .calendar-day.today{border-top:1.8px solid #ce0000}
.calendar .calendar-day.today .day-date{color:#ce0000;background-color:rgba(206,0,0,0.2)}
.calendar .calendar-day:hover,.calendar .calendar-day.selected{background-color:rgba(225,225,225,0.53)}
.calendar .calendar-day:hover .day-date,.calendar .calendar-day.selected .day-date{background-color:transparent}
.calendar .day-week,.calendar .day-month{display:flex;flex-direction:column;justify-content:start;align-items:stretch}
.calendar .day-date{align-self:start;margin:0.25rem;width:1.75rem;height:1.75rem;line-height:1.75rem;border-radius:50%;color:#212529}
.calendar .occupancy{border-radius:0.4rem;padding:2px 6px}