.o-publicCalendar__layout { display: grid; grid-template-columns: minmax(430px, 3fr) minmax(320px, 2fr); gap: 22rem; }
.o-publicCalendar__intro { margin-bottom: 22rem; }
.o-publicCalendar__content { margin-top: 12rem; }
.o-publicCalendar__picker, .o-publicCalendar__details { padding: 14rem; border: 1px solid #ddd; border-radius: 5rem; background: #fff; }
#publicActivitiesCalendar .datepick, #publicActivitiesCalendar .datepick-month { width: 100% !important; }
#publicActivitiesCalendar .datepick-month { font-size: 14rem; padding: 0; }
#publicActivitiesCalendar .datepick-month-header,
#publicActivitiesCalendar .datepick-month-header select { font-size: 18rem; margin-top: 0; margin-bottom: 8rem; white-space: nowrap; }
#publicActivitiesCalendar .datepick-month-header select { display: inline-block; width: auto !important; max-width: 48%; }
#publicActivitiesCalendar .datepick-month table { width: calc(100% - 18rem); margin: 8rem auto 0; }
#publicActivitiesCalendar .datepick-month tbody { line-height: 2.8em; }
#publicActivitiesCalendar .datepick-month a { max-width: 34rem !important; max-height: 34rem; margin: .2em auto; }
#publicActivitiesCalendar .datepick-nav { height: 0; }
#publicActivitiesCalendar .datepick-cmd-prev,
#publicActivitiesCalendar .datepick-cmd-next {
    z-index: 9;
    width: 25px !important;
    height: 16px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-family: auto;
    font-size: 25px;
    font-weight: 100;
    line-height: 16px;
    color: #a4a8ab !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    transform: scaleY(2.5);
    top: 22px !important;
}
#publicActivitiesCalendar .datepick-cmd-prev { padding-left: 4% !important; }
#publicActivitiesCalendar .datepick-cmd-next { padding-right: 4% !important; }
#publicActivitiesCalendar .datepick-cmd-prev:focus,
#publicActivitiesCalendar .datepick-cmd-next:focus,
#publicActivitiesCalendar .datepick-cmd-prev:active,
#publicActivitiesCalendar .datepick-cmd-next:active { outline: 0 !important; box-shadow: none !important; }
#publicActivitiesCalendar .datepick-month td.dayWithCites { position: relative; }
#publicActivitiesCalendar .datepick-month .dayWithCites::before {
    top: auto;
    bottom: 1rem;
    left: 50%;
    z-index: 2;
    font-size: 12rem;
    line-height: 1;
    transform: translateX(-50%);
}
#publicActivitiesCalendar .dayWithCites a { background: #64bfd0; color: #fff; border-radius: 4rem; }
#publicActivitiesCalendar .dayWithCites a:hover { background: #42aebf; color: #fff; }
.o-publicCalendar__header { padding-bottom: 15rem; border-bottom: 1px solid #e5e5e5; }
.o-publicCalendar__header span { color: #777; }
.o-publicCalendar__header h2 { margin: 3rem 0 0; font-size: 24rem; }
.o-publicCalendar__activities { display: grid; gap: 9rem; padding-top: 12rem; }
.o-publicCalendar__activity { padding: 11rem; border: 1px solid #e1e1e1; border-left: 4rem solid #64bfd0; border-radius: 4rem; background: #fafafa; }
.o-publicCalendar__activity h3 { margin: 0 0 6rem; font-size: 18rem; }
.o-publicCalendar__activity > div { line-height: 1.5; }
.o-publicCalendar__empty { margin: 0; color: #777; font-style: italic; }
@media (min-width: 901px) {
    .o-publicCalendar__layout { grid-template-columns: minmax(380px, 1fr) minmax(380px, 1fr); }
    #publicActivitiesCalendar .datepick-month table { width: calc(100% - 30rem); }
}
@media (max-width: 900px) {
    .o-publicCalendar__layout { grid-template-columns: 1fr; }
    #publicActivitiesCalendar .datepick-month { font-size: 13rem; }
}
