.oc-timeline { --oc-timeline-line: rgba(33,37,41,.22); --oc-timeline-marker-size: 1.5rem; width: 100%; overflow: hidden; }
.oc-timeline--light { color: var(--bs-body-color, #212529); }
.oc-timeline--dark { --oc-timeline-fade-color: var(--bs-dark, #212529); color: #fff; }
.oc-timeline--dark h2, .oc-timeline--dark h3, .oc-timeline--dark p, .oc-timeline--dark div, .oc-timeline--dark footer { color: inherit; }
.oc-timeline.bg-primary, .oc-timeline.bg-primary-scoped { --oc-timeline-fade-color: var(--bs-primary, #0d6efd); }
.oc-timeline.bg-secondary, .oc-timeline.bg-secondary-scoped { --oc-timeline-fade-color: var(--bs-secondary, #6c757d); }
.oc-timeline.bg-tertiary { --oc-timeline-fade-color: var(--bs-tertiary-bg, #f8f9fa); }
.oc-timeline.bg-quaternary { --oc-timeline-fade-color: var(--bs-quaternary, #f8f9fa); }
.oc-timeline.bg-h5 { --oc-timeline-fade-color: var(--h5-color, #f8f9fa); }
.oc-timeline.bg-h6 { --oc-timeline-fade-color: var(--h6-color, #f8f9fa); }
.oc-timeline.bg-success { --oc-timeline-fade-color: var(--bs-success, #198754); }
.oc-timeline.bg-danger { --oc-timeline-fade-color: var(--bs-danger, #dc3545); }
.oc-timeline.bg-warning { --oc-timeline-fade-color: var(--bs-warning, #ffc107); }
.oc-timeline.bg-info { --oc-timeline-fade-color: var(--bs-info, #0dcaf0); }
.oc-timeline.bg-light { --oc-timeline-fade-color: var(--bs-light, #f8f9fa); }
.oc-timeline.bg-dark { --oc-timeline-fade-color: var(--bs-dark, #212529); }
.oc-timeline.bg-white { --oc-timeline-fade-color: #fff; }
.oc-timeline.bg-body { --oc-timeline-fade-color: var(--bs-body-bg, #fff); }
.oc-timeline.bg-off-white { --oc-timeline-fade-color: #f8f7f3; }
.oc-timeline.bg-warm-white { --oc-timeline-fade-color: #f7f3ed; }
.oc-timeline.bg-cream { --oc-timeline-fade-color: #f4efe6; }
.oc-timeline.bg-soft-beige { --oc-timeline-fade-color: #e9ddd1; }
.oc-timeline.bg-sand { --oc-timeline-fade-color: #ddd0bf; }
.oc-timeline.bg-light-sage { --oc-timeline-fade-color: #dfe8dd; }
.oc-timeline.bg-sage { --oc-timeline-fade-color: #b8c6b1; }
.oc-timeline.bg-pale-green { --oc-timeline-fade-color: #e5eee3; }
.oc-timeline.bg-mist { --oc-timeline-fade-color: #edf1ef; }
.oc-timeline.bg-soft-gray { --oc-timeline-fade-color: #f1f1ee; }
.oc-timeline.bg-forest-green { --oc-timeline-fade-color: #173f35; }
.oc-timeline__header { max-width: 52rem; }
 .oc-timeline__section-eyebrow, .oc-timeline__eyebrow { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
 .oc-timeline__eyebrow { color: var(--bs-primary, #0d6efd); }
.oc-timeline__title { margin: 0; line-height: 1.2; text-transform: none !important; }
.oc-timeline__description, .oc-timeline__footer { color: inherit; line-height: 1.65; }
.oc-timeline__description > *:last-child, .oc-timeline__moment-description > *:last-child, .oc-timeline__footer > *:last-child { margin-bottom: 0; }
.oc-timeline__list { position: relative; max-width: 78rem; margin-left: auto; margin-right: auto; padding: 1rem 0 2rem; }
.oc-timeline__viewport { position: relative; }
.oc-timeline__viewport--faded:after { content: ""; position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 4rem; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--oc-timeline-fade-color, var(--bs-body-bg, #fff))); }
.oc-timeline--infinity.is-enhanced .oc-timeline__item--deferred { display: none; }
.oc-timeline__load-more { min-width: 9rem; }
.oc-timeline__list:before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--oc-timeline-line); transform: translateX(-50%); }
.oc-timeline__item { position: relative; display: flex; width: 100%; margin-bottom: 10rem; }
.oc-timeline--spacing-medium .oc-timeline__item { margin-bottom: 12rem; }
.oc-timeline--spacing-large .oc-timeline__item { margin-bottom: 15.4rem; }
.oc-timeline__item:last-child { margin-bottom: 0; }
.oc-timeline__item:nth-child(odd) { justify-content: flex-start; padding-right: calc(50% + 2rem); }
.oc-timeline__item:nth-child(even) { justify-content: flex-end; padding-left: calc(50% + 2rem); }
.oc-timeline__item--outside-image:nth-child(odd) .oc-timeline__outside-image { position: absolute; top: 0; right: 0; width: calc(50% - 2rem); }
.oc-timeline__item--outside-image:nth-child(even) .oc-timeline__outside-image { position: absolute; top: 0; left: 0; width: calc(50% - 2rem); }
.oc-timeline__outside-image .oc-timeline__image { display: block; width: 100%; height: clamp(16rem, 26vw, 22rem); object-fit: cover; border-radius: .75rem; box-shadow: 0 .5rem 1.5rem rgba(33,37,41,.14); }
.oc-timeline__outside-image-link { display: block; }
.oc-timeline__card { position: relative; }
.oc-timeline__link { position: relative; z-index: 2; display: inline-flex; align-items: center; margin-top: 1rem; font-weight: 700; }
.oc-timeline__marker { position: absolute; z-index: 1; top: 1.75rem; left: 50%; width: var(--oc-timeline-marker-size); height: var(--oc-timeline-marker-size); border: 3px solid var(--bs-body-bg, #fff); border-radius: 50%; box-shadow: 0 0 .75rem rgba(0,0,0,.2); transform: translateX(-50%); }
.oc-timeline__marker--square { border-radius: 0; }
.oc-timeline__marker--rounded-square { border-radius: .35rem; }
.oc-timeline__marker--diamond { border-radius: .15rem; transform: translateX(-50%) rotate(45deg); }
.oc-timeline__marker--pill { width: 2.4rem; border-radius: 999px; }
.oc-timeline__card { display: flex; align-items: center; gap: 1.5rem; width: 100%; padding: 1.5rem; border-radius: .75rem; box-shadow: 0 .35rem 1.25rem rgba(33,37,41,.10); transition: transform .2s ease, box-shadow .2s ease; }
.oc-timeline__card--dark, .oc-timeline__card--dark h3, .oc-timeline__card--dark p, .oc-timeline__card--dark div, .oc-timeline__card--dark time { color: #fff !important; }
.oc-timeline__card--light, .oc-timeline__card--light h3 { color: var(--bs-body-color, #212529); }
.oc-timeline__card:hover, .oc-timeline__card:focus-within { transform: translateY(-.25rem); box-shadow: 0 .75rem 1.75rem rgba(33,37,41,.16); }
.oc-timeline__content { flex: 1 1 auto; min-width: 0; }
.oc-timeline__moment-title { margin: .35rem 0 .75rem; line-height: 1.2; text-transform: none !important; }
.oc-timeline__moment-description { line-height: 1.65; }
.oc-timeline__date { display: block; margin-top: 1rem; font-size: .875rem; font-weight: 700; opacity: .8; }
.oc-timeline__image { flex: 0 0 42%; width: 42%; max-height: 15rem; object-fit: cover; border-radius: .5rem; }
.oc-timeline[data-animation-level="medium"] .oc-timeline__card { border-radius: 1rem; box-shadow: 0 .5rem 1.5rem rgba(33,37,41,.14); }
.oc-timeline[data-animation-level="high"] .oc-timeline__card { border-radius: 1.25rem; box-shadow: 0 .75rem 2rem rgba(33,37,41,.18); transition-duration: .3s; }
.oc-timeline[data-animation-level="high"] .oc-timeline__card:active { transform: translateY(0) scale(.985); }
@media (max-width: 767.98px) {
  .oc-timeline__list:before { left: .75rem; }
  .oc-timeline__item:nth-child(odd), .oc-timeline__item:nth-child(even) { justify-content: flex-end; padding-left: 2.75rem; padding-right: 0; }
  .oc-timeline__marker { left: .75rem; }
  .oc-timeline__item--outside-image:nth-child(odd), .oc-timeline__item--outside-image:nth-child(even) { display: block; min-height: 0; }
  .oc-timeline__item--outside-image:nth-child(odd) .oc-timeline__outside-image, .oc-timeline__item--outside-image:nth-child(even) .oc-timeline__outside-image { position: relative; top: auto; right: auto; left: auto; width: calc(100% - 2.75rem); margin: 0 0 1rem 2.75rem; }
  .oc-timeline__card { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1.25rem; }
  .oc-timeline__image { flex-basis: auto; width: 100%; height: clamp(12rem, 60vw, 18rem); }
}
@media (prefers-reduced-motion: reduce) {
  .oc-timeline__card { transition: none; }
  .oc-timeline__card:hover, .oc-timeline__card:focus-within, .oc-timeline[data-animation-level="high"] .oc-timeline__card:active { transform: none; }
}
