/* KA Termine, GPL-3.0-or-later.
 * Timeline geometry adapted from JP Timeline 2.5, copyright Joomlaplates, GPL-3.0-or-later.
 * Scoped styles and accessible content presentation newly implemented for KA Termine.
 */
.ka-termine { position:relative; overflow:hidden; isolation:isolate; }
.ka-termine::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:3px; background:#d6d5d5; }
.ka-termine .ka-timeline { position:relative; padding:0 30px 0 0; }
.ka-termine .ka-timeline::after { content:""; display:block; clear:both; }
.ka-termine .ka-timeline-icon { box-sizing:content-box; position:absolute; top:0; bottom:0; left:0; right:-4px; margin:auto; width:18px; height:18px; border:2px solid #d6d5d5; border-radius:50%; background:#fff; }
.ka-termine .ka-timeline-icon::before { content:""; position:absolute; inset:0; margin:auto; width:8px; height:8px; border-radius:50%; background:var(--ka-accent,#737ab4); }
.ka-termine .ka-timeline:first-child::before,.ka-termine .ka-timeline:last-child::before { content:""; box-sizing:content-box; position:absolute; top:0; left:0; right:-3px; margin:auto; width:13px; height:13px; border:2px solid #d6d5d5; border-radius:50%; background:transparent; }
.ka-termine .ka-timeline:last-child::before { top:auto; bottom:0; }
.ka-termine .ka-date { display:inline-block; position:absolute; top:50%; right:35%; transform:translateY(-50%); margin:0; padding:6px 20px; background:var(--ka-accent,#737ab4); color:#fff; font-size:14px; line-height:24px; text-align:center; white-space:nowrap; }
/* Overlap triangle and badge by 1px to prevent subpixel seams at zoomed widths. */
.ka-termine .ka-date::before { content:""; position:absolute; top:0; left:-17px; border-top:18px solid transparent; border-bottom:18px solid transparent; border-right:18px solid var(--ka-accent,#737ab4); }
.ka-termine .ka-time { display:block; font-size:12px; }
.ka-termine .ka-timeline-content { box-sizing:border-box; position:relative; width:46.5%; margin:0 20px 0 0; padding:24px; background:var(--ka-background,#f2f2f2); color:inherit; overflow-wrap:anywhere; }
.ka-termine .ka-timeline-content::after { content:""; position:absolute; top:50%; right:-20px; transform:translateY(-50%); border-left:20px solid var(--ka-background,#f2f2f2); border-top:20px solid transparent; border-bottom:20px solid transparent; }
.ka-termine .ka-event-title { margin:0 0 12px; color:inherit; }
.ka-termine .ka-speaker { margin:0 0 12px; font-style:italic; }
.ka-termine .ka-speaker strong { font-weight:700; color:var(--ka-accent,#737ab4); }
.ka-termine .ka-speaker-link { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.ka-termine .ka-speaker-link:hover { text-decoration-thickness:2px; }
.ka-termine .ka-speaker-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.ka-termine { scroll-margin-top:90px; }
.ka-termine .ka-description a { color:#e03e2d; }
.ka-termine .ka-description a:hover,.ka-termine .ka-description a:focus { text-decoration:underline; }
.ka-termine .ka-description>p { margin:0 0 12px; }
.ka-termine .ka-description>:last-child { margin-bottom:0; }
.ka-termine .ka-readmore { margin:10px 0 0; }
.ka-termine .ka-readmore a { color:#e03e2d; }
.ka-termine .ka-readmore a:hover,.ka-termine .ka-readmore a:focus { text-decoration:underline; }
.ka-termine .ka-timeline:nth-child(even) { padding:0 0 0 30px; }
.ka-termine .ka-timeline:nth-child(even) .ka-date { left:35%; right:auto; }
.ka-termine .ka-timeline:nth-child(even) .ka-date::before { left:auto; right:-17px; border-right:0; border-left:18px solid var(--ka-accent,#737ab4); }
.ka-termine .ka-timeline:nth-child(even) .ka-timeline-content { float:right; margin:0 0 0 20px; }
.ka-termine .ka-timeline:nth-child(even) .ka-timeline-content::after { right:auto; left:-20px; border-left:0; border-right:20px solid var(--ka-background,#f2f2f2); }
.ka-termine .ka-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1200px) { .ka-termine .ka-date { right:30%; } .ka-termine .ka-timeline:nth-child(even) .ka-date { left:30%; } }
@media(max-width:990px) { .ka-termine .ka-date { right:25%; } .ka-termine .ka-timeline:nth-child(even) .ka-date { left:25%; } }
@media(max-width:767px) {
 .ka-termine::before { left:10px; }
 .ka-termine .ka-timeline,.ka-termine .ka-timeline:nth-child(even) { padding:0 0 0 30px; margin-bottom:20px; }
 .ka-termine .ka-timeline:last-child { margin-bottom:0; }
 .ka-termine .ka-timeline:first-child::before,.ka-termine .ka-timeline:last-child::before { display:none; }
 .ka-termine .ka-timeline-icon { top:7px; bottom:auto; left:0; right:auto; margin:0; }
 .ka-termine .ka-date,.ka-termine .ka-timeline:nth-child(even) .ka-date { display:table; position:relative; top:auto; left:auto; right:auto; transform:none; margin:0 0 32px 30px; font-weight:bold; }
 .ka-termine .ka-timeline:nth-child(even) .ka-date::before { right:auto; left:-17px; border-left:0; border-right:18px solid var(--ka-accent,#737ab4); }
 .ka-termine .ka-timeline-content,.ka-termine .ka-timeline:nth-child(even) .ka-timeline-content { width:auto; float:none; margin:0 0 0 30px; padding:24px; }
 .ka-termine .ka-timeline-content::after { display:none; }
}
@media(max-width:480px) {
 .ka-termine .ka-date,.ka-termine .ka-timeline:nth-child(even) .ka-date { margin-left:20px; }
 .ka-termine .ka-timeline-content,.ka-termine .ka-timeline:nth-child(even) .ka-timeline-content { margin-left:10px; }
}
@media(prefers-reduced-motion:reduce) { .ka-termine .ka-timeline-content { animation:none!important; opacity:1!important; visibility:visible!important; transform:none!important; } }
