/* Meeting timeline layout repair v1.155 */
.meetingsPage{padding:20px 24px 40px!important;overflow-x:hidden}
.meetingsPage>.wrap.section{width:100%;max-width:1180px;padding:0!important;box-sizing:border-box}
.meetingsPage .sectionLead{max-width:100%;margin:0 0 14px!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.55}
.meetingsPage .unifiedMeetingTimeline{margin:14px 0 24px}
.unifiedMeetingTimeline {
  --timeline-ink: var(--ink, #193b48);
  --timeline-muted: #5b747d;
  margin: 24px 0 44px;
  color: var(--timeline-ink);
}
.meetingTimelineFigure {
  overflow: hidden;
  border: 1px solid #dce7e9;
  border-radius: 15px;
  background: linear-gradient(180deg, #f7fafb 0%, #fff 100%);
  box-shadow: 0 8px 24px rgb(25 59 72 / 7%);
}
.meetingTimelineViewport {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 14px;
  scrollbar-color: #9eb8bd #eef4f4;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  touch-action: pan-x;
}
.meetingTimelineViewport:focus-visible { outline: 3px solid #3479a4; outline-offset: -3px; }
.meetingTimelineTrack {
  position: relative;
  display: flex;
  min-width: 100%;
  height: 276px;
  margin: 0 auto;
}
.meetingTimelineWave {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.meetingTimelineWavePath {
  fill: none;
  stroke: #74a4ab;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .82;
  filter: drop-shadow(0 0 3px rgb(116 164 171 / 42%)) drop-shadow(0 2px 7px rgb(25 59 72 / 17%));
}
.meetingTimelineYearSeparator {
  stroke: #dce7e9;
  stroke-width: 1;
  stroke-dasharray: 3 5;
}
.meetingYearGroup {
  position: relative;
  flex: 0 0 auto;
  height: 276px;
  scroll-snap-align: start;
  background: rgb(255 255 255 / 38%);
}
.meetingYearGroup:nth-child(even) { background: rgb(233 242 244 / 38%); }
.meetingYearHeading {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 3px;
  margin: 0;
  white-space: nowrap;
}
.meetingYearLabel { color: var(--timeline-ink); font-size: 15px; font-weight: 800; }
.meetingYearCount {
  display: inline-grid;
  place-items: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 999px;
  background: #e5eef0;
  color: var(--timeline-muted);
  font-size: 10px;
  font-weight: 700;
}
.meetingTimelineDot {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--event-color, #087d82);
  cursor: pointer;
  scroll-margin-inline: 18px;
}
.meetingTimelineDotCore {
  display: block;
  width: 18px;
  height: 18px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 2px #263c44, 0 2px 5px rgb(20 40 48 / 22%);
  transition: transform .15s ease, box-shadow .15s ease;
}
.meetingTimelineDot[aria-pressed="true"] .meetingTimelineDotCore,
.meetingTimelineDot:hover .meetingTimelineDotCore,
.meetingTimelineDot:focus-visible .meetingTimelineDotCore {
  transform: scale(1.25);
  box-shadow: 0 0 0 3px #263c44, 0 0 0 7px color-mix(in srgb, currentColor 28%, transparent);
}
.meetingTimelineDot:focus-visible { outline: 2px solid currentColor; outline-offset: -1px; }
.meetingTimelineLegend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 12px 17px 14px;
  border-top: 1px solid #e5edef;
  background: #fff;
  color: var(--timeline-muted);
  font-size: 15px;
}
.meetingTimelineLegendItem { display: inline-flex; align-items: center; gap: 9px; }
.meetingTimelineLegend i { width: 12px; height: 12px; display: inline-block; border: 1px solid #263c44; border-radius: 50%; }
.meetingTimelineSelection {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-top: 12px;
  padding: 14px 17px;
  border: 1px solid #e4ecee;
  border-radius: 10px;
  background: #fff;
}
.meetingTimelineSelectionYear { color: var(--timeline-muted); font-weight: 800; white-space: nowrap; }
.meetingTimelineCategory {
  display: inline-block;
  margin: 0 0 4px;
  color: var(--event-color, #087d82);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.meetingTimelineSelection h2 { margin: 0 0 4px; font-size: 19px; line-height: 1.3; }
.meetingTimelineSelection h2 a { color: var(--timeline-ink); text-decoration: none; }
.meetingTimelineSelection h2 a:hover { text-decoration: underline; }
.meetingTimelineMeta { margin: 0; color: var(--timeline-muted); font-size: 14px; }
.meetingTimelineDescription { margin: 7px 0 0; color: var(--timeline-ink); }
.meetingTimelineDescription[hidden] { display: none; }
.meetingTimelineOpenLink {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 7px;
  background: #1565c0;
  color: #fff;
  font-weight: 750;
  text-decoration: none;
}
.meetingTimelineOpenLink:hover,
.meetingTimelineOpenLink:focus-visible { background: #0d477f; text-decoration: underline; }
.meetingTimelineOpenLink[hidden] { display: none; }
.meetingFallback { margin: 24px 0; }
.meetingFallback li { margin: 7px 0; }
@media (max-width: 640px) {
  .meetingTimelineViewport { padding: 0 8px; }
  .meetingTimelineTrack { margin-left: 0; }
  .meetingTimelineYearHeading { font-size: 14px; }
  .meetingTimelineSelection { gap: 9px; padding: 12px; }
  .meetingTimelineSelection h2 { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .meetingTimelineDotCore { transition: none; } }
