.bd-calendar{--bd-accent:#2d8927;--bd-day-height:128px;color:#191919;font-family:inherit;width:100%;font-size:14px;line-height:1.4}
.bd-calendar *{box-sizing:border-box}
.bd-calendar-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:8px}
.bd-calendar-month{font-family:inherit;font-size:25px;font-weight:400;line-height:1.3;margin:0;color:inherit}
.bd-calendar .bd-calendar-arrow{display:inline-flex;align-items:center;justify-content:center;flex:none;border:0;border-radius:50%;background:var(--bd-accent);color:#fff;width:var(--bd-arrow-size,30px);height:var(--bd-arrow-size,30px);min-width:var(--bd-arrow-size,30px);padding:0;font:20px/1 sans-serif;cursor:pointer}
.bd-calendar .bd-calendar-arrow:disabled{opacity:.35;cursor:default}
.bd-calendar-timezone{font-size:11px;color:#606060;margin:0 0 12px}
.bd-calendar .bd-calendar-grid{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;border:1px solid #e9e9e9;background:#fff}
.bd-calendar-grid th,.bd-calendar-grid td{border:1px solid #e9e9e9;padding:0;text-align:left;vertical-align:top}
.bd-calendar-grid th{font-size:10px;letter-spacing:.025em;font-weight:400;color:#777;padding:6px 8px;background:#fff}
.bd-calendar-day-inner{min-height:var(--bd-day-height);padding:8px;display:flex;flex-direction:column;gap:5px}
.bd-calendar-date{font-size:12px;line-height:1.4;align-self:flex-start}
.bd-calendar-date[aria-current=date]{outline:2px solid var(--bd-accent);outline-offset:3px;border-radius:2px;font-weight:700}
.bd-calendar-outside{background:#f7f7f7;color:#999}
.bd-calendar-event{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px;background:var(--bd-event-bg,#c7dfc2);color:var(--bd-event-text,#23651c);text-decoration:none!important;border-radius:3px;overflow-wrap:anywhere}
.bd-calendar a.bd-calendar-event:hover{color:var(--bd-event-text,#23651c);filter:brightness(.95);text-decoration:underline!important}
.bd-calendar-event-title{font-size:11px;line-height:1.25;font-weight:600;color:inherit}
.bd-calendar-event-type{font-size:10px;line-height:1.3;color:inherit}
.bd-calendar-event-note{font-size:10px;font-style:italic}
.bd-calendar-single .bd-calendar-event{margin-top:auto;padding:4px 0;background:transparent}
.bd-calendar-list{display:none}
.bd-calendar-status{font-size:14px;margin:12px 0;color:#555}
.bd-calendar .bd-calendar-retry,.bd-event-register{display:inline-block;padding:12px 20px;background:var(--bd-accent,#2d8927);color:#fff;border:0;border-radius:5px;font:inherit;text-decoration:none;cursor:pointer}
.bd-event-register:hover{color:#fff;filter:brightness(.9)}
.bd-event-details{font-size:14px;line-height:1.5}
.bd-calendar a:focus-visible,.bd-calendar button:focus-visible,.bd-event-register:focus-visible{outline:3px solid #111;outline-offset:3px}
.bd-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:767px){.bd-calendar-grid{display:none!important}.bd-calendar-list{display:grid;gap:12px}.bd-calendar-list .bd-calendar-event{padding:18px;gap:8px}.bd-calendar-list .bd-calendar-event-title{font-size:17px}.bd-calendar-list .bd-calendar-event-type{font-size:12px}.bd-calendar-event-details{font-size:13px;line-height:1.6}.bd-calendar-month{font-size:23px}.bd-calendar-toolbar{gap:18px}}

.bd-calendar .bd-calendar-arrow-custom{background:transparent;border-radius:0;box-shadow:none}
.bd-calendar-arrow-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

/* Keep theme hover, active and focus backgrounds off the month controls. */
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow,
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow:is(:hover,:active,:focus){appearance:none;-webkit-appearance:none;background:var(--bd-accent)!important;color:#fff!important;border:0!important;border-radius:50%;box-shadow:none!important;text-decoration:none;-webkit-tap-highlight-color:transparent}
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow-custom,
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow-custom:is(:hover,:active,:focus){background:transparent!important;border-radius:0}
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow:focus:not(:focus-visible){outline:none!important}
.bd-calendar .bd-calendar-toolbar button.bd-calendar-arrow:focus-visible{outline:2px solid var(--bd-accent)!important;outline-offset:4px}

/* Reserve the status line and calendar area during month changes. */
.bd-calendar-status{min-height:20px}
.bd-calendar-status-quiet{color:transparent;user-select:none}
.bd-calendar-skeleton{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e9e9e9;border-left:1px solid #e9e9e9}
.bd-calendar-skeleton-heading{height:27px;background:#f7f7f7;border-right:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
.bd-calendar-skeleton-cell{min-height:var(--bd-day-height);padding:8px;border-right:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.bd-calendar-skeleton-date,.bd-calendar-skeleton-line,.bd-calendar-skeleton-card{display:block;border-radius:3px;background:linear-gradient(90deg,#f1f2f1 25%,#e5e8e5 50%,#f1f2f1 75%);background-size:200% 100%;animation:bd-calendar-shimmer 1.4s ease-in-out infinite}
.bd-calendar-skeleton-date{width:18px;height:14px}.bd-calendar-skeleton-line{width:85%;height:26px;margin-bottom:8px}
.bd-calendar-skeleton-mobile{display:none}
@keyframes bd-calendar-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(max-width:767px){.bd-calendar-skeleton{display:none}.bd-calendar-skeleton-mobile{display:grid;gap:12px}.bd-calendar-skeleton-card{height:132px}}
@media(prefers-reduced-motion:reduce){.bd-calendar-skeleton-date,.bd-calendar-skeleton-line,.bd-calendar-skeleton-card{animation:none}}

/* Event link chooser inherits the site's typography. */
.bd-calendar button.bd-calendar-event{width:100%;font:inherit;text-align:left;border:0;box-shadow:none;cursor:pointer;white-space:normal}
.bd-calendar button.bd-calendar-event:is(:hover,:focus,:active){background:var(--bd-event-bg,#c7dfc2);color:var(--bd-event-text,#23651c)}
.bd-calendar-dialog{font-family:inherit;color:#191919;background:#fff;border:0;border-radius:16px;padding:24px;width:420px;max-width:calc(100vw - 32px);max-height:85vh;overflow:auto;box-shadow:0 16px 60px #0003}
.bd-calendar-dialog::backdrop{background:#0006}
.bd-calendar-dialog-title{font-family:inherit;font-size:20px;font-weight:600;line-height:1.4;margin:0 0 20px}
.bd-calendar-dialog-links{display:flex;flex-wrap:wrap;gap:12px}
.bd-calendar .bd-calendar-dialog-close{display:block;margin:20px 0 0 auto;background:transparent;color:#333;border:1px solid #ccc;border-radius:6px;padding:8px 14px;font:inherit;cursor:pointer}
