/* Calendar monthly view redesign v1.0.23 */
.agenda-month-page{
  max-width:1200px;
  margin:0 auto;
  padding:1rem;
  color:#231f20;
}
.agenda-month-page #agenda-page-heading{
  margin:0 0 .65rem;
  color:#002d72;
  font-size:2rem;
  line-height:1.15;
  font-weight:800;
}
.agenda-month-page .agenda-month-navigation{
  display:grid;
  grid-template-columns:max-content 1fr max-content;
  align-items:center;
  gap:1rem;
  margin:.45rem 0 .35rem;
}
.agenda-month-page .agenda-month-navigation__current{
  color:#002d72;
  font-size:1.6rem;
  line-height:1.2;
  text-align:center;
}
.agenda-month-page .agenda-month-navigation__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.7rem;
  padding:.58rem 1.15rem !important;
  border:1px solid #84754e;
  border-radius:999px;
  background:#fff;
  color:#6d5d36;
  font-size:.95rem;
  font-weight:700;
  line-height:1.15;
  text-decoration:none;
  box-shadow:none;
  white-space:nowrap;
}
.agenda-month-page .agenda-month-navigation__button[rel="next"]{
  background:#84754e;
  color:#fff;
}
.agenda-month-page .agenda-month-navigation__button:hover,
.agenda-month-page .agenda-month-navigation__button:focus-visible{
  outline:3px solid rgba(0,45,114,.25);
  outline-offset:2px;
  background:#002d72;
  border-color:#002d72;
  color:#fff;
  text-decoration:none;
}
.agenda-month-page .agenda-month-view-link{
  margin:.35rem 0 .9rem;
  font-size:.95rem;
  font-weight:700;
}
.agenda-month-page .agenda-month-view-link a{
  color:#002d72;
  text-decoration:none;
}
.agenda-month-page .agenda-month-view-link a:hover,
.agenda-month-page .agenda-month-view-link a:focus-visible{
  text-decoration:underline;
}
.agenda-month-page .agenda-month-view-link__icon{
  display:inline-block;
  margin-right:.28rem;
  color:#002d72;
  font-size:1.05rem;
  line-height:1;
  transform:translateY(.03rem);
}
.agenda-month-page .agenda-month{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #d8dee8;
  border-radius:8px;
  background:#fff;
}
.agenda-month-page .agenda-weekday,
.agenda-month-page .agenda-day{
  min-width:0;
  border-right:1px solid #d8dee8;
  border-bottom:1px solid #d8dee8;
}
.agenda-month-page .agenda-weekday:nth-child(7n),
.agenda-month-page .agenda-day:nth-child(7n){
  border-right:0;
}
.agenda-month-page .agenda-weekday{
  min-height:auto;
  padding:.82rem .35rem;
  background:#002d72;
  color:#fff;
  font-size:.94rem;
  font-weight:700;
  line-height:1.15;
  text-align:center;
}
.agenda-month-page .agenda-day{
  min-height:7.7rem;
  padding:.42rem .5rem;
  background:#fff;
}
.agenda-month-page .agenda-day-number{
  display:block;
  margin:0 0 .42rem;
  color:#231f20;
  font-size:.95rem;
  font-weight:500;
  line-height:1;
}
.agenda-month-page .agenda-month-event{
  display:block;
  margin-top:.28rem;
  padding:.28rem .34rem;
  border:0;
  border-left:4px solid #1f66cf;
  border-radius:4px;
  background:#f5f8ff;
  color:#002d72;
  font-size:.7rem;
  font-weight:700;
  line-height:1.16;
  text-decoration:none;
  overflow-wrap:anywhere;
  box-shadow:0 1px 4px rgba(35,31,32,.16);
}
.agenda-month-page .agenda-month-event:nth-of-type(3n + 1){
  border-left-color:#1f66cf;
  background:#f4f7ff;
}
.agenda-month-page .agenda-month-event:nth-of-type(3n + 2){
  border-left-color:#84754e;
  background:#fbf8ef;
  color:#51451f;
}
.agenda-month-page .agenda-month-event:nth-of-type(3n){
  border-left-color:#6d35d9;
  background:#f7f3ff;
  color:#402177;
}
.agenda-month-page .agenda-month-event--multiday{
  box-shadow:0 1px 4px rgba(35,31,32,.18);
}
.agenda-month-page .agenda-month-event--continuation{
  border-left-style:dashed;
}
.agenda-month-page .agenda-month-event:hover,
.agenda-month-page .agenda-month-event:focus-visible{
  outline:2px solid #002d72;
  outline-offset:1px;
  text-decoration:underline;
  box-shadow:0 2px 6px rgba(35,31,32,.24);
}
.agenda-month-page .agenda-day--crowded .agenda-month-event{
  margin-top:.22rem;
  padding:.24rem .3rem;
  font-size:.64rem;
  line-height:1.12;
}
@media(max-width:700px){
  .agenda-month-page .agenda-month{
    display:block;
    overflow:visible;
    border:0;
    border-radius:0;
  }
  .agenda-month-page .agenda-weekday,
  .agenda-month-page .agenda-day.empty{
    display:none;
  }
  .agenda-month-page .agenda-day{
    display:block;
    min-height:auto;
    margin-bottom:.55rem;
    border:1px solid #d8dee8;
    border-radius:5px;
  }
  .agenda-month-page .agenda-day:not(:has(a)){
    display:none;
  }
  .agenda-month-page .agenda-month-event,
  .agenda-month-page .agenda-day--crowded .agenda-month-event{
    padding:.34rem .4rem;
    font-size:.95rem;
    line-height:1.18;
  }
}
@media(max-width:700px){
  .agenda-month-page #agenda-page-heading{font-size:1.7rem;}
  .agenda-month-page .agenda-month-navigation__current{font-size:1.3rem;}
  .agenda-month-page .agenda-month-navigation__button{min-height:2.45rem;padding:.5rem .9rem !important;font-size:.88rem;}
}
@media(max-width:560px){
  .agenda-month-page .agenda-month-navigation{
    grid-template-columns:1fr 1fr;
    gap:.45rem;
  }
  .agenda-month-page .agenda-month-navigation__current{
    grid-column:1/-1;
    grid-row:1;
    margin-bottom:.1rem;
  }
  .agenda-month-page .agenda-month-navigation__button{
    white-space:normal;
    text-align:center;
  }
}
