.ll-history {
  --ll-line: #086638;
  --ll-year: #39b24c;
  --ll-text: #000;
  container-type: inline-size;
  container-name: ll-history;
  width: 100%;
  min-width: 0;
  max-width: var(--ll-timeline-width, 1185px);
  overflow-x: auto;
  margin-inline: auto;
  padding-block: 4px;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
}
.ll-history *, .ll-history *::before { box-sizing: border-box; }
.ll-history .ll-history__list {
  position: relative;
  width: var(--ll-timeline-width, 1185px);
  height: calc(var(--ll-top) + var(--ll-bottom));
  margin: 0;
  padding: 0;
  list-style: none;
}
.ll-history__list::before {
  content: "";
  position: absolute;
  top: var(--ll-top);
  left: 0;
  width: 100%;
  border-top: 0.5px solid var(--ll-line);
}
.ll-history .ll-history__event {
  position: absolute;
  left: var(--ll-left);
  width: var(--ll-width);
  height: var(--ll-height);
  margin: 0;
  padding: 0;
  border-left: 0.5px solid var(--ll-line);
}
.ll-history__event--top { top: calc(var(--ll-top) - var(--ll-height)); }
.ll-history__event--bottom { top: var(--ll-top); }
.ll-history__event::before {
  content: "";
  position: absolute;
  left: -0.25px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ll-line);
  transform: translate(-50%, -50%);
  top: 0;
}
.ll-history__event--bottom::before { top: 100%; }
.ll-history__content { padding-left: var(--ll-content-gap); padding-right: 8px; }
.ll-history__event--bottom .ll-history__content { padding-top: var(--ll-bottom-padding); }
.ll-history__year { color: var(--ll-year); font-size: 20px; font-weight: 600; line-height: 1; letter-spacing: 0; }
.ll-history__description {
  margin-top: var(--ll-year-gap);
  color: var(--ll-text);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.ll-history .ll-history__image {
  display: block;
  width: var(--ll-image-width);
  height: var(--ll-image-height);
  max-width: 100%;
  margin-top: var(--ll-image-gap);
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: left top;
}
/* Preserve the horizontal geometry; narrow screens scroll inside the widget. */
@container ll-history (max-width: 767px) {
  .ll-history__year,
  .ll-history__description { font-size: 15px; line-height: 1; }
}
