/* The Community Calendar (/calendar): on public-safety.css's page frame
   (osc-psr-*), the paper's ink and red. */

.osc-cal-wrap { max-width: 50rem; }
.osc-cal-crumb { margin: 0 0 14px; font-size: 14px; }
.osc-cal-crumb a { color: #164f8b; text-decoration: none; }
.osc-cal-crumb a:hover { text-decoration: underline; }

.osc-cal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 16px 0 0; font-size: 15px; }
.osc-cal-actions a:not(.osc-cal-submit) { color: #164f8b; }
.osc-cal-submit {
  display: inline-block; padding: 10px 18px; border-radius: 3px;
  background: #b21f2d; color: #fff !important; text-decoration: none;
  font: 700 13px/1 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase;
}
.osc-cal-submit:hover, .osc-cal-submit:focus-visible { background: #8f1824; }

.osc-cal-filter { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 24px 0 8px; padding: 12px 0; border-top: 1px solid #e3ddd0; border-bottom: 1px solid #e3ddd0; font-size: 14px; color: #3c3c3c; }
.osc-cal-filter label { display: flex; align-items: center; gap: 8px; }
.osc-cal-filter select { padding: 6px 8px; border: 1px solid #cfc7b6; border-radius: 3px; background: #fff; font-size: 14px; }

.osc-cal-day { margin-top: 30px; }
.osc-cal-date {
  margin: 0; padding-bottom: 6px; border-bottom: 2px solid #141414;
  font: 700 20px/1.25 Georgia, 'Times New Roman', serif; color: #141414;
}
.osc-cal-today {
  display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 3px; vertical-align: 2px;
  background: #b21f2d; color: #fff; font: 700 11px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.osc-cal-list { margin: 0; padding: 0; list-style: none; }
.osc-cal-item { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 4px 16px; padding: 14px 0; border-bottom: 1px solid #e9e3d6; }
.osc-cal-time { margin: 0; color: #5a554a; font: 700 14px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.osc-cal-title { margin: 0; font: 700 18px/1.35 Georgia, 'Times New Roman', serif; }
.osc-cal-title a { color: #141414; text-decoration: none; }
.osc-cal-title a:hover { color: #b21f2d; text-decoration: underline; }
.osc-cal-where { margin: 4px 0 0; color: #5a554a; font-size: 14px; line-height: 1.45; }
.osc-cal-tag {
  display: inline-block; margin-right: 6px; padding: 1px 7px; border-radius: 3px; vertical-align: 2px;
  background: #e6f2ea; color: #1a5f3b; font: 700 10.5px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase;
}
.osc-cal-tag.is-cancelled { background: #b21f2d; color: #fff; }
.osc-cal-item.is-meeting .osc-cal-title { font-size: 16.5px; }
.osc-cal-item.is-cancelled .osc-cal-title a { color: #7a7468; text-decoration: line-through; }
@media (max-width: 560px) {
  .osc-cal-item { grid-template-columns: minmax(0, 1fr); }
}

.osc-cal-empty, .osc-cal-note { color: #5a554a; font-size: 14.5px; line-height: 1.55; }
.osc-cal-empty a, .osc-cal-note a, .osc-cal-more a { color: #164f8b; }
.osc-cal-more { margin: 26px 0 0; font-weight: 700; }
.osc-cal-note { margin-top: 20px; }

/* One event. */
.osc-cal-facts { display: grid; gap: 12px; margin: 20px 0; padding: 16px 18px; background: #fff; border: 1px solid #e3ddd0; border-left: 3px solid #b21f2d; }
.osc-cal-facts div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 12px; }
.osc-cal-facts dt { color: #5a554a; font: 700 12px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.osc-cal-facts dd { margin: 0; font: 16px/1.5 Georgia, 'Times New Roman', serif; color: #141414; }
.osc-cal-desc p { font: 17px/1.65 Georgia, 'Times New Roman', serif; color: #2a2a2a; }

/* The form. */
.osc-cal-errors { margin: 18px 0; padding: 12px 16px; border-left: 3px solid #b21f2d; background: #fdf0f0; color: #5c1018; }
.osc-cal-errors p { margin: 0 0 6px; font-weight: 700; }
.osc-cal-errors ul { margin: 0; padding-left: 18px; }
.osc-cal-form { display: grid; gap: 16px; margin-top: 22px; }
.osc-cal-row { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.osc-cal-field { display: grid; gap: 6px; color: #141414; font: 700 14px/1.4 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.osc-cal-field span { color: #7a7468; font-weight: 400; }
.osc-cal-field input, .osc-cal-field select, .osc-cal-field textarea {
  width: 100%; box-sizing: border-box; padding: 9px 10px; border: 1px solid #cfc7b6; border-radius: 3px; background: #fff;
  font: 400 16px/1.4 Georgia, 'Times New Roman', serif; color: #141414;
}
.osc-cal-field input:focus, .osc-cal-field select:focus, .osc-cal-field textarea:focus { outline: 2px solid #164f8b; outline-offset: 0; border-color: #164f8b; }
.osc-cal-private { margin: 0; padding: 12px 14px 14px; border: 1px dashed #cfc7b6; border-radius: 4px; }
.osc-cal-private legend { padding: 0 6px; color: #5a554a; font-size: 13px; }
.osc-cal-send {
  justify-self: start; padding: 12px 22px; border: 0; border-radius: 3px; background: #141414; color: #fff; cursor: pointer;
  font: 700 14px/1 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase;
}
.osc-cal-send:hover, .osc-cal-send:focus-visible { background: #b21f2d; }
/* The trap: moved off the screen, not display:none, which a careful bot skips. */
.osc-cal-hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
