/* Lean Content Displays – layouts, cards, pages and the motion engine. Everything is scoped to .lcd / .lcdm. */

/* ================================================================ Display */
.lcd {
	--lcd-cols: 3; --lcd-cols-t: 2; --lcd-cols-m: 1; --lcd-gap: 24px;
	--lcd-accent: #1d4ed8; --lcd-radius: 0px; --lcd-fit: cover; --lcd-pos: center;
	--lcd-shade: rgba(0, 0, 0, .45); --lcd-list-w: 33%;
	box-sizing: border-box; max-width: var(--lcd-max-w, none); margin: var(--lcd-margin, 0 auto 1.5em);
	padding: var(--lcd-pad, 0); background: var(--lcd-bg, transparent);
}
/* Timelines keep their own box model (their stylesheet is written for it); displays inside a timeline item get ours again. */
.lcd :where(:not(.tlite-wrap *)), .lcd :where(:not(.tlite-wrap *))::before, .lcd :where(:not(.tlite-wrap *))::after,
.tlite-wrap .lcd *, .tlite-wrap .lcd *::before, .tlite-wrap .lcd *::after { box-sizing: border-box; }
:where(.lcd) img { max-width: 100%; height: auto; }

.lcd__head { margin: 0 0 1em; }
.lcd__heading { margin: 0; }
.lcd__head--center { text-align: center; }
.lcd__head--right { text-align: right; }
.lcd__head--line { display: flex; align-items: center; gap: .75em; }
.lcd__head--line::before, .lcd__head--line::after { content: ""; flex: 1 1 0; border-top: 1px solid currentColor; opacity: .25; }
.lcd__head--line.lcd__head--left::before, .lcd__head--line.lcd__head--right::after { flex: 0 0 0; }
.lcd__head--underline { padding-bottom: .4em; border-bottom: 2px solid var(--lcd-accent); }
.lcd__head--box .lcd__heading { display: inline-block; padding: .3em .8em; background: var(--lcd-accent); color: #fff; }
.lcd__head--box .lcd__heading a { color: inherit; }

.lcd__items { list-style: none; margin: 0; padding: 0; }
.lcd__item { margin: 0; padding: 0; min-width: 0; }
.lcd__item::before, .lcd__item::marker { content: none; }
.lcd__empty { margin: 0; padding: 1em 0; opacity: .75; }

/* ---------------------------------------------------------------- Grid, masonry (fallback) */
.lcd--grid .lcd__items, .lcd--masonry .lcd__items {
	display: grid; grid-template-columns: repeat(var(--lcd-cols), minmax(0, 1fr));
	gap: var(--lcd-row-gap, var(--lcd-gap)) var(--lcd-gap);
}
.lcd--masonry .lcd__items { align-items: start; }
@media (max-width: 1024px) {
	.lcd--grid .lcd__items, .lcd--masonry .lcd__items { grid-template-columns: repeat(var(--lcd-cols-t), minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.lcd--grid .lcd__items, .lcd--masonry .lcd__items { grid-template-columns: repeat(var(--lcd-cols-m), minmax(0, 1fr)); }
}
.lcd--masonry .lcd__items.is-masonry { display: block; position: relative; }
.lcd--masonry .lcd__items.is-masonry > .lcd__item { position: absolute; top: 0; left: 0; }

/* Equal heights: cards fill their row and "read more" sits at the bottom. */
.lcd--equal .lcd__item, .lcd--equal .lcdm__slide { display: flex; }
.lcd--equal .lcd-card { flex: 1 1 auto; }
.lcd--equal .lcd-card__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.lcd--equal .lcd-card__more-wrap { margin-top: auto; }

/* ---------------------------------------------------------------- List */
.lcd--list .lcd__items { display: flex; flex-direction: column; gap: var(--lcd-row-gap, var(--lcd-gap)); }
.lcd--list .lcd-card, .lcd--magazine .lcd__item:not(:first-child) .lcd-card {
	display: grid; grid-template-columns: var(--lcd-list-w) minmax(0, 1fr); gap: 0 calc(var(--lcd-gap) * .75); align-items: start;
}
.lcd--list .lcd-card--no-image, .lcd--list .lcd-card:not(:has(.lcd-card__media)),
.lcd--magazine .lcd__item .lcd-card--no-image, .lcd-card-side .lcd-card--no-image { grid-template-columns: minmax(0, 1fr) !important; }
.lcd-img-right.lcd--list .lcd-card .lcd-card__media,
.lcd-img-alternate.lcd--list .lcd__item:nth-child(even) .lcd-card__media { order: 2; }
.lcd-img-right.lcd--list .lcd-card, .lcd-img-alternate.lcd--list .lcd__item:nth-child(even) .lcd-card { grid-template-columns: minmax(0, 1fr) var(--lcd-list-w); }
.lcd-img-top.lcd--list .lcd-card { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 640px) {
	.lcd--list .lcd-card { grid-template-columns: minmax(0, 1fr) !important; }
	.lcd--list .lcd-card .lcd-card__media { order: 0 !important; }
}

/* ---------------------------------------------------------------- Magazine: the first card large, the rest beside or below it */
.lcd--magazine .lcd__items { display: grid; gap: var(--lcd-row-gap, var(--lcd-gap)) var(--lcd-gap); grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
.lcd--magazine .lcd__item:first-child { grid-row: 1 / span var(--lcd-mag-span, 1); }
.lcd--magazine.lcd-mag-top .lcd__items { grid-template-columns: repeat(var(--lcd-cols), minmax(0, 1fr)); }
.lcd--magazine.lcd-mag-top .lcd__item:first-child { grid-row: auto; grid-column: 1 / -1; }
.lcd--magazine .lcd__item:not(:first-child) .lcd-card__excerpt { display: none; }
.lcd--magazine .lcd__item:not(:first-child) .lcd-card__title { font-size: 1em; }
@media (max-width: 1024px) {
	.lcd--magazine .lcd__items { grid-template-columns: minmax(0, 1fr); }
	.lcd--magazine .lcd__item:first-child { grid-row: auto; }
}

/* ================================================================ Cards */
.lcd-card {
	position: relative; min-width: 0; display: flex; flex-direction: column;
	background: var(--lcd-card-bg, transparent); border: var(--lcd-card-border, 0) solid var(--lcd-card-border-color, rgba(0, 0, 0, .12));
	border-radius: var(--lcd-card-radius, 0); overflow: hidden; text-align: left;
}
.lcd-card-shadow .lcd-card { box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.lcd-align-center .lcd-card { text-align: center; }
.lcd-align-right .lcd-card { text-align: right; }
.lcd-card__body { padding: var(--lcd-card-pad, 0); padding-top: .75em; }
.lcd-card__body > :first-child { margin-top: 0; }
.lcd-card__body > :last-child { margin-bottom: 0; }

.lcd-card__media { position: relative; overflow: hidden; border-radius: var(--lcd-radius); line-height: 0; }
.lcd-card__media a { display: block; }
.lcd-card__media img, .lcd-card__img {
	display: block; width: 100%; height: auto; object-fit: var(--lcd-fit); object-position: var(--lcd-pos);
	border-radius: 0; transition: transform .4s ease, filter .4s ease, opacity .4s ease;
}
.lcd-ratio .lcd-card__media img, .lcd-ratio .lcd-card__img { aspect-ratio: var(--lcd-ratio); } /* Only when chosen: "auto" keeps the ratio from the image's own size. */
.lcd-card__media--empty { aspect-ratio: var(--lcd-ratio, 16 / 9); width: 100%; max-width: 100%; background: #e5e7eb; }
.lcd-card__media--video { aspect-ratio: 16 / 9; background: #000; }
.lcd-video { display: block; width: 100%; height: 100%; border: 0; }
.lcd-card__media--video .lcd-video { position: absolute; inset: 0; }

.lcd-hover-zoom .lcd-card:hover .lcd-card__media img { transform: scale(1.06); }
.lcd-hover-zoom-out .lcd-card__media img { transform: scale(1.06); }
.lcd-hover-zoom-out .lcd-card:hover .lcd-card__media img { transform: none; }
.lcd-hover-grayscale .lcd-card__media img { filter: grayscale(1); }
.lcd-hover-grayscale .lcd-card:hover .lcd-card__media img { filter: none; }
.lcd-hover-fade .lcd-card:hover .lcd-card__media img { opacity: .8; }
.lcd-hover-lift .lcd-card { transition: transform .25s ease, box-shadow .25s ease; }
.lcd-hover-lift .lcd-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, .12); }

.lcd-card__title { margin: 0 0 .35em; font-size: 1.2em; line-height: 1.3; }
.lcd-card__title a { color: inherit; text-decoration: none; }
.lcd-card__title a:hover, .lcd-card__title a:focus { text-decoration: underline; }
.lcd-card__excerpt { margin: .4em 0 .6em; }
.lcd-card__excerpt > :last-child { margin-bottom: 0; }
.lcd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .1em .5em; margin: .2em 0 .4em; font-size: .85em; opacity: .85; }
.lcd-meta > span { display: inline-flex; align-items: center; gap: .3em; }
.lcd-meta .lcd-meta__sep { gap: 0; }
.lcd-meta .lcd-meta__comma { display: inline; }
.lcd-meta a { color: inherit; }
.lcd-icon { flex: none; vertical-align: -.125em; }
.lcd-card__terms { margin: 0 0 .4em; font-size: .8em; text-transform: uppercase; letter-spacing: .04em; }
.lcd-card__terms a { color: var(--lcd-accent); text-decoration: none; }
.lcd-term--badge { display: inline-block; padding: .2em .6em; border-radius: 999px; background: var(--lcd-accent); color: #fff !important; }
.lcd-card__more-wrap { margin: .6em 0 0; }
.lcd-card__more { font-weight: 600; color: var(--lcd-accent); }
.lcd-button, .lcd-card__more.lcd-button {
	display: inline-block; padding: .55em 1.2em; border: 0; border-radius: var(--lcd-btn-radius, 3px);
	background: var(--lcd-btn-bg, var(--lcd-accent)); color: var(--lcd-btn-color, #fff); text-decoration: none; line-height: 1.3;
	box-shadow: inset 0 0 0 1px var(--lcd-btn-border, transparent);
}
.lcd-button:hover, .lcd-button:focus { background: var(--lcd-btn-hover-bg, var(--lcd-btn-bg, var(--lcd-accent))); color: var(--lcd-btn-hover-color, var(--lcd-btn-color, #fff)); filter: brightness(1.08); }

/* Side by side (inside any layout) */
.lcd-card-side .lcd-card { display: grid; grid-template-columns: var(--lcd-list-w, 40%) minmax(0, 1fr); gap: 0 1em; align-items: start; }
.lcd-card-side .lcd-card__body { padding-top: 0; }
.lcd--list .lcd-card__body, .lcd--magazine .lcd__item:not(:first-child) .lcd-card__body { padding-top: 0; }

/* Minimal: text only, compact */
.lcd-card-minimal .lcd-card__media { display: none; }
.lcd-card-minimal .lcd-card__body { padding-top: 0; }
.lcd-card-minimal.lcd--list .lcd-card, .lcd-card-minimal.lcd--magazine .lcd-card { display: block; }

/* ---------------------------------------------------------------- Text over the image (overlay and image cards) */
/* The image sets the card's size; the text lies over it (and is cut off if it is longer than the image is tall). */
.lcd-card-overlay .lcd-card__media + .lcd-card__body, .lcd-card-image .lcd-card__media + .lcd-card__body {
	position: absolute; left: 0; right: 0; bottom: 0; max-height: 100%; overflow: hidden; z-index: 2;
}
.lcd-card-overlay .lcd-card__body, .lcd-card-image .lcd-card__body {
	padding: 1em; color: #fff; background: linear-gradient(to top, var(--lcd-shade), transparent);
}
.lcd-card-overlay .lcd-card__body a, .lcd-card-image .lcd-card__body a:not(.lcd-button) { color: #fff; }
.lcd-card-overlay .lcd-card__terms a { color: #fff; }
.lcd-overlay-center .lcd-card__media + .lcd-card__body { top: 0; display: flex; flex-direction: column; justify-content: center; background: var(--lcd-shade); }
.lcd-overlay-top .lcd-card__media + .lcd-card__body { top: 0; bottom: auto; background: linear-gradient(to bottom, var(--lcd-shade), transparent); }
.lcd-overlay-hover .lcd-card__media + .lcd-card__body { opacity: 0; transition: opacity .3s ease; }
.lcd-overlay-hover .lcd-card:hover .lcd-card__body, .lcd-overlay-hover .lcd-card:focus-within .lcd-card__body { opacity: 1; }
@media (hover: none) { .lcd-overlay-hover .lcd-card__media + .lcd-card__body { opacity: 1; } }
.lcd-card-overlay .lcd-card__body:first-child { background: var(--lcd-card-bg, #333); }
.lcd--equal.lcd-card-overlay .lcd-card__body, .lcd--equal.lcd-card-image .lcd-card__body { flex: none; }
.lcd-text-shadow .lcd-card__body, .lcd-text-shadow .lcd-banner__content { text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
.lcd-card-image .lcd-card__body { padding: .6em .9em; font-size: .9em; }
.lcd-card-image .lcd-card__excerpt { margin: 0; }
.lcd-card-image .lcd-card--image:not(:has(.lcd-card__excerpt)) .lcd-card__body:empty { display: none; }

/* ---------------------------------------------------------------- Banner cards (slides) */
.lcd-card--banner { display: block; }
.lcd-banner__link { display: block; color: inherit; text-decoration: none; }
.lcd-card--banner .lcd-banner__media, .lcd-card--banner { position: relative; }
.lcd-banner-ratio .lcd-card--banner { aspect-ratio: var(--lcd-banner-ratio); min-height: var(--lcd-banner-minh, 0); }
.lcd-banner-fixed .lcd-card--banner { height: var(--lcd-banner-h); }
.lcd-banner-responsive .lcd-card--banner { height: var(--lcd-banner-rh); }
.lcd-banner-auto .lcd-banner__img { position: static !important; height: auto !important; }
@supports not (aspect-ratio: 1 / 1) { .lcd-banner-ratio .lcd-card--banner { height: var(--lcd-banner-rh); } }
.lcd-card--banner .lcd-banner__media { position: absolute; inset: 0; overflow: hidden; background: #000; }
.lcd-banner-auto .lcd-card--banner .lcd-banner__media { position: relative; }
.lcd-banner__img, .lcd-card--banner .lcd-banner__media picture img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: var(--lcd-banner-fit, cover); object-position: center; }
.lcd-card--banner .lcd-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.lcd-banner__box { position: absolute; inset: 0; z-index: 3; display: flex; padding: 50px 5%; pointer-events: none; }
.lcd-banner__content { pointer-events: auto; max-width: min(var(--lcd-banner-box, 500px), 100%); padding: 20px; color: var(--lcd-banner-color, #fff); background: var(--lcd-banner-bg, transparent); text-align: left; }
.lcd-banner__title { margin: 0 0 .4em; font-size: 1.6em; font-weight: 600; line-height: 1.2; color: inherit; }
.lcd-banner__text { line-height: 1.5; }
.lcd-banner__text p { margin: 0 0 .6em; }
.lcd-banner__text a, .lcd-banner__title a { color: inherit; }
.lcd-banner__actions { margin: .6em 0 0; }
.lcd-banner__button.lcd-button { background: var(--lcd-banner-btn-bg, transparent); color: var(--lcd-banner-btn, inherit); border: 1px solid currentColor; }
.lcd-pos-top-left .lcd-banner__box { align-items: flex-start; justify-content: flex-start; }
.lcd-pos-top-center .lcd-banner__box { align-items: flex-start; justify-content: center; }
.lcd-pos-top-right .lcd-banner__box { align-items: flex-start; justify-content: flex-end; }
.lcd-pos-center-left .lcd-banner__box { align-items: center; justify-content: flex-start; }
.lcd-pos-center-center .lcd-banner__box { align-items: center; justify-content: center; }
.lcd-pos-center-right .lcd-banner__box { align-items: center; justify-content: flex-end; }
.lcd-pos-bottom-left .lcd-banner__box { align-items: flex-end; justify-content: flex-start; }
.lcd-pos-bottom-center .lcd-banner__box { align-items: flex-end; justify-content: center; }
.lcd-pos-bottom-right .lcd-banner__box { align-items: flex-end; justify-content: flex-end; }
.lcd-pos-top-center .lcd-banner__content, .lcd-pos-center-center .lcd-banner__content, .lcd-pos-bottom-center .lcd-banner__content { text-align: center; }
@media (max-width: 767px) {
	.lcd-banner__box { padding: 15px 4%; }
	.lcd-banner__content { padding: 15px; }
	.lcd-banner__title { font-size: 1.25em; }
}

/* ================================================================ Pages */
.lcd-pages { margin: 1.5em 0 0; }
.lcd-pages ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .35em; margin: 0; padding: 0; list-style: none; }
.lcd-pages li { margin: 0; }
.lcd-pages__link, .lcd-pages__gap { display: inline-block; min-width: 2.4em; padding: .4em .7em; border-radius: 3px; text-align: center; line-height: 1.4; }
.lcd-pages a.lcd-pages__link { border: 1px solid rgba(0, 0, 0, .15); color: inherit; text-decoration: none; }
.lcd-pages a.lcd-pages__link:hover, .lcd-pages a.lcd-pages__link:focus { border-color: var(--lcd-accent); color: var(--lcd-accent); }
.lcd-pages .is-current { background: var(--lcd-accent); color: #fff; }

/* ================================================================ Motion: sliders, carousels, tickers */
.lcdm { position: relative; --lcdm-dot: #b5b5b5; --lcdm-dot-on: #000; --lcdm-arrow-color: #000; --lcdm-arrow-size: 32px; --lcdm-arrow-off: 10px; }
.lcdm:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lcdm__viewport { position: relative; overflow: hidden; touch-action: pan-y; }
.lcdm--vertical .lcdm__viewport { touch-action: pan-x; }
.lcdm__track { position: relative; display: flex; align-items: stretch; will-change: transform; }
.lcdm__slide { position: relative; flex: 0 0 100%; min-width: 0; }
.lcdm.is-adaptive .lcdm__track { align-items: flex-start; }
.lcdm.is-dragging { cursor: grabbing; user-select: none; }
.lcdm.is-dragging a { pointer-events: none; }
.lcdm__slide > .lcd-card { height: 100%; }
.lcd--slider .lcd-card-classic .lcd-card, .lcd--slider.lcd-card-classic .lcd-card { height: auto; }

/* Until the script runs (or if it can't), show just the first slide. */
.lcdm:not(.is-ready) .lcdm__slide:not(:first-child) { display: none; }
.lcdm.is-broken .lcdm__slide { display: block !important; }

.lcdm--vertical .lcdm__track { flex-direction: column; }
.lcdm--vertical .lcdm__slide { flex: 0 0 auto; width: 100%; }
.lcdm--coverflow .lcdm__viewport { perspective: 1200px; }
.lcdm--coverflow .lcdm__track { transform-style: preserve-3d; }
.lcdm--fade .lcdm__track, .lcdm--effect .lcdm__track { display: grid; }
.lcdm--fade .lcdm__slide, .lcdm--effect .lcdm__slide {
	grid-area: 1 / 1; width: 100%; opacity: 0; visibility: hidden; transform: var(--lcdm-in, none); transition: none; z-index: 0;
}
.lcdm--fade .lcdm__slide.is-active, .lcdm--effect .lcdm__slide.is-active {
	opacity: 1; visibility: visible; transform: none; z-index: 2;
	transition: opacity var(--lcdm-speed, .5s) ease, transform var(--lcdm-speed, .5s) ease;
}
.lcdm--fade .lcdm__slide.is-leaving, .lcdm--effect .lcdm__slide.is-leaving {
	opacity: 0; visibility: visible; transform: var(--lcdm-out, none); z-index: 1;
	transition: opacity var(--lcdm-speed, .5s) ease, transform var(--lcdm-speed, .5s) ease;
}
.lcdm-effect-scale { --lcdm-in: scale(.85); --lcdm-out: scale(1.15); }
.lcdm-effect-rotate { --lcdm-in: rotate(-12deg) scale(.85); --lcdm-out: rotate(12deg) scale(.85); }
.lcdm-effect-fold .lcdm__viewport { perspective: 1200px; }
.lcdm-effect-fold { --lcdm-in: rotateY(90deg); --lcdm-out: rotateY(-90deg); }
.lcdm-effect-fold .lcdm__slide { transform-origin: left center; }
.lcdm-effect-fold .lcdm__slide.is-leaving { transform-origin: right center; }
.lcdm--ticker .lcdm__slide { flex: 0 0 auto; }

/* Scattered polaroids */
.lcdm--stack .lcdm__viewport { height: 580px; background: #ddd; }
.lcdm--stack .lcdm__track { position: absolute; inset: 0; display: block; }
.lcdm--stack .lcdm__slide { position: absolute; top: 0; left: 0; width: 240px; padding: 20px 20px 10px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); cursor: pointer; }
.lcdm--stack .lcdm__slide.is-active { cursor: default; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.lcdm--stack .lcdm__slide img { width: 200px; height: 200px; object-fit: cover; aspect-ratio: auto; }
.lcdm--stack .lcd-card__body { padding: 10px 0 0; background: none; color: #333; font-size: 15px; line-height: 1.3; text-align: center; }
.lcdm--stack .lcdm__dots { position: absolute; left: 0; right: 0; bottom: 12px; margin: 0; z-index: 101; }
@media (max-width: 640px) {
	.lcdm--stack .lcdm__viewport { height: 420px; }
	.lcdm--stack .lcdm__slide { width: 180px; padding: 12px 12px 8px; }
	.lcdm--stack .lcdm__slide img { width: 156px; height: 156px; }
}

/* Controls */
.lcdm__arrow {
	position: absolute; top: 50%; z-index: 120; display: flex; align-items: center; justify-content: center;
	width: var(--lcdm-arrow-size); height: var(--lcdm-arrow-size); margin: 0; padding: 0; border: 0; border-radius: 0;
	background: var(--lcdm-arrow-bg, transparent) no-repeat center / contain; color: var(--lcdm-arrow-color); cursor: pointer;
	transform: translateY(-50%); transition: opacity .2s; line-height: 1; box-shadow: none;
}
.lcdm__arrow svg { display: block; width: 100%; height: 100%; }
.lcdm__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lcdm__arrow[disabled] { opacity: .3; cursor: default; }
.lcdm__arrow[hidden] { display: none; }
.lcdm__prev { left: var(--lcdm-arrow-off); }
.lcdm__next { right: var(--lcdm-arrow-off); }
[dir="rtl"] .lcdm__prev { left: auto; right: var(--lcdm-arrow-off); }
[dir="rtl"] .lcdm__next { right: auto; left: var(--lcdm-arrow-off); }
[dir="rtl"] .lcdm__arrow svg { transform: scaleX(-1); }
.lcdm__dots { margin-top: 10px; text-align: center; line-height: 0; }
.lcdm__dot { display: inline-block; width: 10px; height: 10px; margin: 0 5px; padding: 0; border: 0; border-radius: 50%; background: var(--lcdm-dot); cursor: pointer; vertical-align: middle; box-shadow: none; }
.lcdm__dot.is-active { background: var(--lcdm-dot-on); }
.lcdm__dot:focus-visible { outline: 2px solid var(--lcdm-dot-on); outline-offset: 2px; }
.lcdm-arrows-hover .lcdm__arrow { opacity: 0; }
.lcdm-arrows-hover:hover .lcdm__arrow, .lcdm-arrows-hover .lcdm__arrow:focus-visible { opacity: 1; }
.lcdm-arrows-rss1 .lcdm__arrow svg, .lcdm-arrows-rss2 .lcdm__arrow svg, .lcdm-arrows-rss3 .lcdm__arrow svg, .lcdm-arrows-rss4 .lcdm__arrow svg { display: none; }
.lcdm-arrows-rss1 .lcdm__prev { background-image: url(../images/rss-arrow-left.png); width: 41px; height: 42px; }
.lcdm-arrows-rss1 .lcdm__next { background-image: url(../images/rss-arrow-right.png); width: 41px; height: 42px; }
.lcdm-arrows-rss2 .lcdm__prev { background-image: url(../images/rss-arrow-left-sm.png); width: 27px; height: 44px; }
.lcdm-arrows-rss2 .lcdm__next { background-image: url(../images/rss-arrow-right-sm.png); width: 27px; height: 44px; }
.lcdm-arrows-rss3 .lcdm__prev { background-image: url(../images/rss-arrow-left-3.png); width: 28px; height: 22px; }
.lcdm-arrows-rss3 .lcdm__next { background-image: url(../images/rss-arrow-right-3.png); width: 28px; height: 22px; }
.lcdm-arrows-rss4 .lcdm__prev { background-image: url(../images/rss-arrow-left-4.png); width: 20px; height: 20px; }
.lcdm-arrows-rss4 .lcdm__next { background-image: url(../images/rss-arrow-right-4.png); width: 20px; height: 20px; }

/* Captions under images in sliders (image cards) */
.lcd-card-image .lcdm .lcd-card__body { background: var(--lcd-caption-bg, rgba(0, 0, 0, .55)); color: var(--lcd-caption-color, #fff); }

/* ---------------------------------------------------------------- Skins */
.lcdm-skin-default .lcdm__arrow { padding: 6px; border-radius: 50%; background: var(--lcdm-arrow-bg, rgba(255, 255, 255, .85)); color: var(--lcdm-arrow-color, #111); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); --lcdm-arrow-size: 38px; }
.lcdm-skin-minimal .lcdm__arrow { color: var(--lcdm-arrow-color, #fff); filter: drop-shadow(0 0 2px rgba(0, 0, 0, .5)); }
.lcdm-skin-minimal .lcdm__dots { position: absolute; left: 0; right: 0; bottom: 10px; z-index: 5; margin: 0; }
.lcdm-skin-minimal { --lcdm-dot: rgba(255, 255, 255, .6); --lcdm-dot-on: #fff; }

/* bxSlider: dark round arrows, caption over the image, dots below. */
.lcdm-skin-bxslider .lcdm__arrow { --lcdm-arrow-size: 32px; padding: 7px; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; }
.lcdm-skin-bxslider .lcd-card--image .lcd-card__body { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(80,80,80,.75); color: #fff; font-size: .85em; text-align: center; }
.lcdm-skin-bxslider { --lcdm-dot: #666; --lcdm-dot-on: #000; }

/* FlexSlider: arrows slide in on hover, grey caption bar, dots below. */
.lcdm-skin-flexslider .lcdm__arrow { --lcdm-arrow-size: 40px; color: rgba(0,0,0,.8); opacity: 0; }
.lcdm-skin-flexslider .lcdm__prev { left: -10px; }
.lcdm-skin-flexslider .lcdm__next { right: -10px; }
.lcdm-skin-flexslider:hover .lcdm__prev, .lcdm-skin-flexslider .lcdm__prev:focus-visible { left: 10px; opacity: .8; }
.lcdm-skin-flexslider:hover .lcdm__next, .lcdm-skin-flexslider .lcdm__next:focus-visible { right: 10px; opacity: .8; }
.lcdm-skin-flexslider { --lcdm-dot: rgba(0,0,0,.5); --lcdm-dot-on: rgba(0,0,0,.9); }
.lcdm-skin-flexslider .lcd-card--image .lcd-card__body { background: #737373; color: #fff; padding: 10px 15px; text-align: center; }

/* Owl Carousel: text buttons and dots below. */
.lcdm-skin-owl .lcdm__arrow { position: static; display: inline-block; width: auto; height: auto; margin: 10px 5px 0; padding: 4px 8px; border-radius: 3px; background: #d6d6d6; color: #000; font-size: 14px; transform: none; }
.lcdm-skin-owl .lcdm__arrow svg { display: none; }
.lcdm-skin-owl .lcdm__arrow::after { content: attr(data-text); }
.lcdm-skin-owl { text-align: center; --lcdm-dot: #d6d6d6; --lcdm-dot-on: #869791; }
.lcdm-skin-owl .lcdm__viewport { text-align: initial; }

/* Nivo: image arrows on hover, light caption, image bullets. */
.lcdm-skin-nivo .lcdm__arrow { width: 30px; height: 30px; background-image: url(../images/arrows.png); background-size: auto; opacity: 0; }
.lcdm-skin-nivo .lcdm__arrow svg { display: none; }
.lcdm-skin-nivo .lcdm__prev { left: 15px; background-position: 0 0; }
.lcdm-skin-nivo .lcdm__next { right: 15px; background-position: -30px 0; }
.lcdm-skin-nivo:hover .lcdm__arrow, .lcdm-skin-nivo .lcdm__arrow:focus-visible { opacity: 1; }
.lcdm-skin-nivo .lcdm__dot { width: 22px; height: 22px; margin: 0 2px; border-radius: 0; background: url(../images/bullets.png) no-repeat 0 0; }
.lcdm-skin-nivo .lcdm__dot.is-active { background-position: 0 -22px; }
.lcdm-skin-nivo .lcd-card--image .lcd-card__body { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(221,221,221,.87); color: #000; padding: 10px 15px; }
.lcdm-skin-nivo .lcd-card--post .lcd-card__body { background: #fff; border: 10px solid #ddd; padding: 10px; }

/* Swiper and 3D: black chevrons near the edges, small dots. */
.lcdm-skin-swiper { --lcdm-arrow-size: 30px; --lcdm-arrow-off: 5px; --lcdm-dot: #b5b5b5; --lcdm-dot-on: #000; }
.lcdm-skin-swiper .lcdm__dot { width: 9px; height: 9px; margin: 0 4px; }
.lcdm-skin-swiper .lcd-card--post .lcd-card__body { background: #f1f1f1; padding: 15px; }

/* Wallop and Unslider: dark square buttons with white arrows. */
.lcdm-skin-wallop .lcdm__arrow, .lcdm-skin-unslider .lcdm__arrow { width: 30px; height: 60px; --lcdm-arrow-off: 0px; padding: 15px 4px; background: rgba(0,0,0,.6); color: #fff; }
.lcdm-skin-wallop .lcdm__dot, .lcdm-skin-unslider .lcdm__dot { background: transparent; border: 1px solid #000; }
.lcdm-skin-wallop .lcdm__dot.is-active, .lcdm-skin-unslider .lcdm__dot.is-active { background: #000; }
.lcdm-skin-unslider .lcd-card--image .lcd-card__body { position: absolute; left: 0; right: 0; bottom: 0; font-size: 14px; padding: 15px; background: #737373; color: #fff; }

/* Banner: white chevrons with a shadow, dots over the slide. */
.lcdm-skin-banner { --lcdm-arrow-color: #fffc; --lcdm-arrow-size: 32px; --lcdm-arrow-off: 15px; --lcdm-dot: #fff; --lcdm-dot-on: #000; }
.lcdm-skin-banner .lcdm__arrow svg { filter: drop-shadow(0 0 2px rgba(0,0,0,.4)); }
.lcdm-skin-banner .lcdm__dots { position: absolute; left: 0; right: 0; bottom: 10px; z-index: 5; margin: 0; }
.lcdm-skin-banner .lcdm__dot { box-shadow: 0 0 2px rgba(0,0,0,.4); }

/* Slides with a fixed height */
.lcd .lcdm__slide { height: var(--lcd-slide-h, auto); }

@media (prefers-reduced-motion: reduce) {
	.lcd *, .lcd *::before, .lcd *::after { transition-duration: 0s !important; }
}

.lcd-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------------------------------------------------------------- Filters */
.lcd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lcd--filtered.lcd-filters-left, .lcd--filtered.lcd-filters-right { display: grid; grid-template-columns: var(--lcd-filters-w, 260px) minmax(0, 1fr); gap: 0 var(--lcd-gap, 24px); align-items: start; }
.lcd--filtered.lcd-filters-right { grid-template-columns: minmax(0, 1fr) var(--lcd-filters-w, 260px); }
.lcd--filtered.lcd-filters-left > .lcd__head, .lcd--filtered.lcd-filters-right > .lcd__head, .lcd--filtered > .lcd__status, .lcd--filtered > .lcd-filters--above { grid-column: 1 / -1; }
.lcd--filtered > .lcd-filters--above .lcd-filters__body { flex-direction: row; align-items: flex-end; }
.lcd--filtered.lcd-filters-right > .lcd-filters { order: 2; }
@media (max-width: 781px) {
	.lcd--filtered.lcd-filters-left, .lcd--filtered.lcd-filters-right { display: block; }
}
.lcd-filters { margin: 0 0 1.25em; font-size: var(--lcd-chip-size, inherit); }
.lcd-filters__body { display: flex; flex-wrap: wrap; gap: .75em 1.5em; align-items: flex-end; }
.lcd-filters-left .lcd-filters__body, .lcd-filters-right .lcd-filters__body { flex-direction: column; align-items: stretch; }
.lcd-filters--align-center .lcd-filters__body, .lcd-filters--align-center .lcd-filter__chips { justify-content: center; }
.lcd-filters--align-right .lcd-filters__body, .lcd-filters--align-right .lcd-filter__chips { justify-content: flex-end; }
.lcd-filter { min-width: 0; max-width: 100%; }
.lcd-filter--terms.lcd-filter--buttons, .lcd-filter--alphabet, .lcd-filter--field.lcd-filter--buttons, .lcd-filter--date { flex-basis: 100%; }
.lcd-filter__set { margin: 0; padding: 0; border: 0; min-width: 0; }
.lcd-filter__label { display: block; margin: 0 0 .35em; padding: 0; font-weight: 600; font-size: .95em; color: var(--lcd-filter-label, inherit); }
.lcd-filter__chips { display: flex; flex-wrap: wrap; gap: .4em; }
.lcd-chip {
	display: inline-flex; align-items: center; gap: .35em; margin: 0; padding: .4em .9em; font: inherit; font-size: .9em; line-height: 1.3; cursor: pointer;
	color: var(--lcd-chip-own-color, var(--lcd-chip-color, inherit)); background: var(--lcd-chip-own-bg, var(--lcd-chip-bg, transparent));
	border: 1px solid var(--lcd-chip-border, currentColor); border-radius: var(--lcd-chip-radius, 999px);
}
.lcd-chip:hover { color: var(--lcd-chip-hover-color, var(--lcd-chip-own-color, var(--lcd-chip-color, inherit))); background: var(--lcd-chip-hover-bg, rgba(127, 127, 127, .12)); }
.lcd-chip[aria-pressed="true"] { color: var(--lcd-chip-active-color, #fff); background: var(--lcd-chip-active-bg, var(--lcd-accent)); border-color: var(--lcd-chip-active-bg, var(--lcd-accent)); }
.lcd-chip.has-own-colour[aria-pressed="true"] { box-shadow: inset 0 0 0 2px currentColor; }
.lcd-chip:focus-visible, .lcd-dd__summary:focus-visible, .lcd-filters :is(input, select, button, a):focus-visible { outline: 2px solid var(--lcd-accent); outline-offset: 2px; }
.lcd-chip:disabled { opacity: .4; cursor: default; }
.lcd-chip__icon { width: 1.1em; height: 1.1em; object-fit: contain; }
.lcd-chip__count { opacity: .75; font-size: .9em; }
.lcd-depth-1 { margin-inline-start: .75em; } .lcd-depth-2 { margin-inline-start: 1.5em; } .lcd-depth-3, .lcd-depth-4, .lcd-depth-5 { margin-inline-start: 2.25em; }
.lcd-check-row.lcd-depth-1, .lcd-check-row.lcd-depth-2, .lcd-check-row.lcd-depth-3, .lcd-check-row.lcd-depth-4, .lcd-check-row.lcd-depth-5 { margin-inline-start: 0; padding-inline-start: calc(1.25em * var(--d, 1)); }
.lcd-check-row.lcd-depth-2 { --d: 2; } .lcd-check-row.lcd-depth-3 { --d: 3; } .lcd-check-row.lcd-depth-4, .lcd-check-row.lcd-depth-5 { --d: 4; }
.lcd-filter__list { list-style: none; margin: 0; padding: 0; }
.lcd-filter__list li { margin: 0 0 .25em; }
.lcd-check { display: inline-flex; align-items: center; gap: .4em; cursor: pointer; color: var(--lcd-chip-own-color, inherit); }
.lcd-check input { margin: 0; accent-color: var(--lcd-accent); }
.lcd-filter__select, .lcd-search__input, .lcd-dates__input { font: inherit; font-size: .95em; padding: .4em .6em; max-width: 100%; border: 1px solid rgba(127, 127, 127, .6); border-radius: 4px; background: #fff; color: #1e1e1e; }
.lcd-filters-left .lcd-filter__select, .lcd-filters-right .lcd-filter__select { width: 100%; }

/* Drop-down list */
.lcd-dd { position: relative; display: inline-block; max-width: 100%; }
.lcd-filters-left .lcd-dd, .lcd-filters-right .lcd-dd { display: block; }
.lcd-dd__summary { display: flex; align-items: center; gap: .5em; padding: .45em 2em .45em .8em; border: 1px solid rgba(127, 127, 127, .6); border-radius: 4px; cursor: pointer; list-style: none; position: relative; background: #fff; color: #1e1e1e; }
.lcd-dd__summary::-webkit-details-marker { display: none; }
.lcd-dd__summary::after { content: ""; position: absolute; right: .8em; top: 50%; width: .45em; height: .45em; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-70%) rotate(45deg); }
.lcd-dd[open] .lcd-dd__summary::after { transform: translateY(-30%) rotate(-135deg); }
.lcd-dd__title { font-weight: 600; }
.lcd-dd__current { opacity: .8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 14em; }
.lcd-dd__panel { position: absolute; z-index: 50; top: calc(100% + 4px); left: 0; min-width: 100%; width: max-content; max-width: min(90vw, 26em); padding: .75em; background: #fff; color: #1e1e1e; border: 1px solid rgba(0, 0, 0, .15); border-radius: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, .15); }
.lcd-filters-left .lcd-dd__panel, .lcd-filters-right .lcd-dd__panel { position: static; box-shadow: none; width: auto; margin-top: 4px; }
.lcd-dd__panel .lcd-filter__list { max-height: 18em; overflow: auto; }
.lcd-dd__find { width: 100%; margin: 0 0 .5em; font: inherit; padding: .35em .5em; border: 1px solid rgba(127, 127, 127, .6); border-radius: 4px; box-sizing: border-box; }
.lcd-dd__none { margin: .25em 0; opacity: .75; }

/* Range, levels, dates, search */
.lcd-range, .lcd-dates, .lcd-levels { display: flex; flex-wrap: wrap; gap: .5em 1em; align-items: flex-end; }
.lcd-range__part, .lcd-dates__part, .lcd-level { display: flex; flex-direction: column; gap: .2em; font-size: .9em; }
.lcd-level__label, .lcd-range__label { font-size: .9em; opacity: .85; }
.lcd-filter--date .lcd-dates { margin-top: .5em; }
.lcd-search { position: relative; display: flex; align-items: stretch; }
.lcd-search__input { min-width: 12em; border-radius: 4px 0 0 4px; }
.lcd-search__go { display: inline-flex; align-items: center; gap: .3em; padding: .4em .8em; font: inherit; border: 1px solid var(--lcd-accent); border-radius: 0 4px 4px 0; background: var(--lcd-accent); color: #fff; cursor: pointer; }
.lcd-search__list { position: absolute; z-index: 60; top: 100%; left: 0; right: 0; margin: 2px 0 0; padding: .25em 0; list-style: none; background: #fff; color: #1e1e1e; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; box-shadow: 0 8px 20px rgba(0, 0, 0, .12); max-height: 16em; overflow: auto; }
.lcd-search__list li { padding: .4em .75em; cursor: pointer; }
.lcd-search__list li[aria-selected="true"], .lcd-search__list li:hover { background: var(--lcd-accent); color: #fff; }
.lcd-filter__clear { display: inline-block; padding: .4em 0; color: var(--lcd-accent); }
.lcd-filters__actions { flex-basis: 100%; }
.lcd-filters.is-live:not(.lcd-filters--apply) .lcd-filters__actions { display: none; }
.lcd-filters__toggle { display: none; align-items: center; gap: .4em; }
@media (max-width: 640px) {
	.lcd-filters--collapse-phone.is-live .lcd-filters__toggle { display: inline-flex; }
	.lcd-filters--collapse-phone.is-live:not(.is-open) .lcd-filters__body { display: none; }
}
@media (max-width: 1024px) {
	.lcd-filters--collapse-tablet.is-live .lcd-filters__toggle { display: inline-flex; }
	.lcd-filters--collapse-tablet.is-live:not(.is-open) .lcd-filters__body { display: none; }
}
.lcd-filters--collapse-phone.is-open .lcd-filters__body, .lcd-filters--collapse-tablet.is-open .lcd-filters__body { margin-top: .75em; }
.lcd__count { margin: 0 0 .75em; font-size: .95em; opacity: .85; }
.lcd.is-loading .lcd__results { opacity: .5; transition: opacity .15s; }

/* Load more */
.lcd-more { display: flex; justify-content: center; margin: 1.5em 0 0; }
.lcd-more__button.is-busy { opacity: .6; cursor: progress; }
.lcd-more__done { margin: 0; opacity: .75; }

/* ---------------------------------------------------------------- Pop-up */
.lcd-popup { width: min(var(--lcd-pop-w, 800px), calc(100vw - 2rem)); max-width: none; max-height: min(var(--lcd-pop-h, 100vh), calc(100vh - 2rem)); padding: 0; border: 0; border-radius: 8px; background: #fff; color: #1e1e1e; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); overflow: hidden; }
.lcd-popup::backdrop { background: var(--lcd-pop-overlay, rgba(20, 21, 24, .6)); }
.lcd-popup--left { margin: 0 auto 0 0; height: 100vh; max-height: 100vh; border-radius: 0; }
.lcd-popup--right { margin: 0 0 0 auto; height: 100vh; max-height: 100vh; border-radius: 0; }
.lcd-popup__frame { position: relative; max-height: inherit; height: 100%; overflow: auto; overscroll-behavior: contain; }
.lcd-popup__close { position: sticky; top: .5rem; float: right; margin: .5rem .5rem 0 0; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; font-size: 1.4rem; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .65); color: #fff; cursor: pointer; }
.lcd-popup__close:focus-visible { outline: 3px solid var(--lcd-accent, #1d4ed8); outline-offset: 2px; }
.lcd-popup__body { padding: 1.5rem 2rem 2rem; }
.lcd-popup__title { margin: 0 0 1rem; }
.lcd-popup__image { display: block; width: 100%; height: auto; margin: 0 0 1rem; border-radius: 4px; }
.lcd-popup__content img { max-width: 100%; height: auto; }
.lcd-popup__more { margin-top: 1.5em; }
html.lcd-popup-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
	.lcd-popup--fade[open] { animation: lcd-pop-fade .2s ease-out; }
	.lcd-popup--zoom[open] { animation: lcd-pop-zoom .2s ease-out; }
	.lcd-popup--slide[open] { animation: lcd-pop-slide .25s ease-out; }
	.lcd-popup--left.lcd-popup--slide[open] { animation-name: lcd-pop-left; }
	.lcd-popup--right.lcd-popup--slide[open] { animation-name: lcd-pop-right; }
}
@keyframes lcd-pop-fade { from { opacity: 0; } }
@keyframes lcd-pop-zoom { from { opacity: 0; transform: scale(.9); } }
@keyframes lcd-pop-slide { from { opacity: 0; transform: translateY(2rem); } }
@keyframes lcd-pop-left { from { transform: translateX(-100%); } }
@keyframes lcd-pop-right { from { transform: translateX(100%); } }

/* ---------------------------------------------------------------- Collapsible list */
.lcd--accordion .lcd__items { display: flex; flex-direction: column; gap: var(--lcd-row-gap, 0); }
.lcd-acc { border-bottom: 1px solid var(--lcd-acc-line, rgba(127, 127, 127, .35)); }
.lcd--accordion .lcd__item:first-child .lcd-acc { border-top: 1px solid var(--lcd-acc-line, rgba(127, 127, 127, .35)); }
.lcd-acc__head { display: flex; align-items: center; gap: .75em; padding: .8em .25em; cursor: pointer; list-style: none; }
.lcd-acc__head::-webkit-details-marker { display: none; }
.lcd-acc__head::after { content: ""; flex: none; width: .55em; height: .55em; margin-left: auto; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
.lcd-acc[open] > .lcd-acc__head::after { transform: rotate(-135deg); }
.lcd-acc__head:focus-visible { outline: 2px solid var(--lcd-accent); outline-offset: 2px; }
.lcd-acc__title { margin: 0; font-size: 1.1em; }
.lcd-acc__body { padding: 0 .25em 1em; }
.lcd-acc__body .lcd-card { display: grid; grid-template-columns: minmax(0, 1fr); }
.lcd-acc__body .lcd-card:has(.lcd-card__media) { grid-template-columns: minmax(0, var(--lcd-list-w, 30%)) minmax(0, 1fr); gap: 0 1em; align-items: start; }
.lcd-acc__body .lcd-card__body { padding-top: 0; }
.lcd-img-right .lcd-acc__body .lcd-card:has(.lcd-card__media) { grid-template-columns: minmax(0, 1fr) minmax(0, var(--lcd-list-w, 30%)); }
.lcd-img-right .lcd-acc__body .lcd-card__media { order: 2; }
.lcd-img-top .lcd-acc__body .lcd-card:has(.lcd-card__media) { grid-template-columns: minmax(0, 1fr); gap: .75em; }
@media (max-width: 640px) { .lcd-acc__body .lcd-card:has(.lcd-card__media) { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .lcd-acc__head::after { transition: none; } }

/* ================================================================ A display inside a timeline item */
.tlite__display { margin: 1em 0 0; }
