/**
 * @package     TIE Content Listing
 * @copyright   Copyright (C) 2026 TIE Custom. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

.tie-content-listing{--tie-title-color:#884dff;--tie-link-color:#008000;--tie-text-color:#555;--tie-heading-color:#111;--tie-gap:28px;width:100%}.tie-content-listing *{box-sizing:border-box}.tie-module-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px;color:var(--tie-heading-color);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.2;text-transform:uppercase;text-align:center}.tie-module-heading span{flex:0 0 auto}.tie-heading-style12{justify-content:flex-start}.tie-heading-style12:after{content:"";height:1px;background:currentColor;flex:1 1 auto}.tie-heading-style4:before,.tie-heading-style4:after{content:"";height:2px;background:currentColor;flex:1 1 120px;max-width:360px}.tie-heading-style3{display:block}.tie-heading-none{display:block;text-align:left}.tie-module-subheading{max-width:1100px;margin:0 auto 32px;text-align:center;font-size:.95rem;line-height:1.55;color:#1f2933}.tie-heading-style12+.tie-module-subheading,.tie-heading-style3+.tie-module-subheading{font-size:.82rem;margin-top:-8px}.tie-content-grid{display:grid;grid-template-columns:repeat(var(--tie-cols,3),minmax(0,1fr));gap:44px var(--tie-gap)}.tie-gutter-tight{--tie-gap:18px}.tie-gutter-normal{--tie-gap:28px}.tie-gutter-wide{--tie-gap:42px}.tie-cols-1{--tie-cols:1}.tie-cols-2{--tie-cols:2}.tie-cols-3{--tie-cols:3}.tie-cols-4{--tie-cols:4}.tie-cols-5{--tie-cols:5}.tie-layout-first_large .tie-featured-item{grid-column:span 2}.tie-layout-first_large .tie-featured-span-1{grid-column:span 1}.tie-layout-first_large .tie-featured-span-2{grid-column:span 2}.tie-layout-first_large .tie-featured-span-3{grid-column:span 3}.tie-content-item{min-width:0}.tie-content-image{display:block;width:100%;overflow:hidden;margin-bottom:14px;background:#f4f4f4;color:inherit}.tie-content-image img{display:block;width:100%;height:100%;object-fit:cover}.tie-ratio-1x1{aspect-ratio:1/1}.tie-ratio-4x3{aspect-ratio:4/3}.tie-ratio-2x1{aspect-ratio:2/1}.tie-ratio-16x9{aspect-ratio:16/9}.tie-ratio-circle{aspect-ratio:1/1;border-radius:50%!important}.tie-radius-none{border-radius:0}.tie-radius-small{border-radius:4px}.tie-radius-normal{border-radius:7px}.tie-radius-large{border-radius:16px}.tie-content-title{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;line-height:1.2;font-weight:500}.tie-content-title a,.tie-content-title a:visited{color:var(--tie-title-color);text-decoration:none}.tie-content-title a:hover,.tie-content-title a:focus{text-decoration:underline}.tie-content-intro{margin:0;color:var(--tie-text-color);font-size:1rem;line-height:1.5}.tie-content-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:-4px 0 10px;color:#777;font-size:.9rem}.tie-readmore{display:inline-block;margin-top:6px;font-weight:700;text-decoration:none}.tie-align-center .tie-content-item{text-align:center}.tie-align-right .tie-content-item{text-align:right}.tie-style-card .tie-content-item{border:1px solid #ddd;background:#fff}.tie-style-card .tie-content-image{border-radius:0;margin-bottom:0}.tie-style-card .tie-content-body{padding:16px 18px 20px}.tie-style-card .tie-content-title{font-size:1.15rem}.tie-style-card .tie-content-title a{color:var(--tie-link-color);text-decoration:underline;font-weight:700}.tie-style-card .tie-content-intro{font-size:.92rem}.tie-style-compact .tie-content-title{font-size:1.05rem}.tie-style-compact .tie-content-intro{font-size:.9rem}.tie-layout-compact_list .tie-content-grid{display:block}.tie-layout-compact_list .tie-content-item{display:grid;grid-template-columns:38% 1fr;gap:0;margin-bottom:20px;border:1px solid #ddd;background:#fff}.tie-layout-compact_list .tie-content-image{height:100%;margin:0;border-radius:0;aspect-ratio:auto}.tie-layout-compact_list .tie-content-body{padding:14px}.tie-layout-compact_list .tie-content-title{font-size:1.15rem}.tie-layout-compact_list .tie-content-title a{color:var(--tie-link-color);text-decoration:underline;font-weight:700}.tie-layout-compact_list .tie-content-intro{font-size:.9rem}.tie-layout-circle_row .tie-content-grid{align-items:start}.tie-layout-circle_row .tie-content-item{text-align:center;position:relative}.tie-layout-circle_row .tie-content-image{max-width:150px;margin:0 auto 10px;border-radius:50%}.tie-layout-circle_row .tie-content-title{font-size:1rem;margin-top:-58px;padding:0 12px;position:relative;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.85)}.tie-layout-circle_row .tie-content-title a{color:#fff!important;text-decoration:underline;font-weight:700}.tie-layout-circle_row .tie-content-intro,.tie-style-overlay .tie-content-intro{display:none}@media(max-width:900px){.tie-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tie-layout-first_large .tie-featured-item{grid-column:span 2}.tie-layout-first_large .tie-featured-span-1{grid-column:span 1}.tie-layout-first_large .tie-featured-span-2{grid-column:span 2}.tie-layout-first_large .tie-featured-span-3{grid-column:span 3}.tie-layout-compact_list .tie-content-item{grid-template-columns:40% 1fr}}@media(max-width:640px){.tie-content-grid{grid-template-columns:1fr}.tie-layout-first_large .tie-featured-item{grid-column:span 1}.tie-module-heading:before,.tie-module-heading:after{flex-basis:40px}.tie-heading-style12{justify-content:center}.tie-heading-style12:after{display:none}.tie-layout-compact_list .tie-content-item{grid-template-columns:1fr}.tie-layout-compact_list .tie-content-image{aspect-ratio:4/3}.tie-layout-circle_row .tie-content-image{max-width:170px}}

.tie-space-none .tie-content-image{margin-bottom:0}.tie-space-small .tie-content-image{margin-bottom:8px}.tie-space-normal .tie-content-image{margin-bottom:14px}.tie-space-large .tie-content-image{margin-bottom:24px}.tie-item-border .tie-content-item{border:1px solid #ddd;padding:12px;background:#fff}.tie-media-left.tie-layout-equal_grid .tie-content-item,.tie-media-right.tie-layout-equal_grid .tie-content-item{display:grid;grid-template-columns:var(--tie-horizontal) 1fr;gap:14px;align-items:start}.tie-media-right.tie-layout-equal_grid .tie-content-image{order:2}.tie-media-left.tie-layout-equal_grid .tie-content-image,.tie-media-right.tie-layout-equal_grid .tie-content-image{margin-bottom:0}.tie-layout-compact_list .tie-content-item{grid-template-columns:var(--tie-horizontal) 1fr}
@media(max-width:900px){.tie-layout-first_large .tie-featured-span-3{grid-column:span 2}}@media(max-width:640px){.tie-layout-first_large .tie-featured-span-2,.tie-layout-first_large .tie-featured-span-3{grid-column:span 1}.tie-media-left.tie-layout-equal_grid .tie-content-item,.tie-media-right.tie-layout-equal_grid .tie-content-item{display:block}}

/* v0.4 image control fixes: Normal/Auto ratio, height choices, and cleaner compact-list images */
.tie-ratio-auto{aspect-ratio:auto}.tie-height-item-auto{height:auto}.tie-height-item-auto img{height:auto}.tie-height-item-small{height:120px}.tie-height-item-medium{height:180px}.tie-height-item-large{height:250px}.tie-height-item-xlarge{height:320px}.tie-fit-contain .tie-content-image img{object-fit:contain}.tie-fit-cover .tie-content-image img{object-fit:cover}.tie-layout-compact_list .tie-content-image{height:132px;min-height:132px}.tie-layout-compact_list .tie-content-image img{height:100%;object-fit:cover}.tie-layout-compact_list .tie-featured-item{display:block}.tie-layout-compact_list .tie-featured-item .tie-content-image{height:250px;min-height:0;margin-bottom:0}.tie-layout-compact_list .tie-featured-item .tie-content-body{padding:14px 0 18px}.tie-style-card.tie-layout-compact_list .tie-featured-item .tie-content-body{padding:14px}.tie-layout-compact_list .tie-featured-item .tie-content-title{font-size:1.25rem}.tie-layout-compact_list .tie-featured-item .tie-content-intro{font-size:.9rem}.tie-layout-compact_list .tie-height-item-small{height:120px}.tie-layout-compact_list .tie-height-item-medium{height:150px}.tie-layout-compact_list .tie-height-item-large{height:190px}.tie-layout-compact_list .tie-height-item-xlarge{height:240px}.tie-layout-compact_list .tie-featured-item .tie-height-item-small{height:180px}.tie-layout-compact_list .tie-featured-item .tie-height-item-medium{height:220px}.tie-layout-compact_list .tie-featured-item .tie-height-item-large{height:280px}.tie-layout-compact_list .tie-featured-item .tie-height-item-xlarge{height:340px}@media(max-width:640px){.tie-height-item-small,.tie-height-item-medium,.tie-height-item-large,.tie-height-item-xlarge{height:auto}.tie-height-item-small img,.tie-height-item-medium img,.tie-height-item-large img,.tie-height-item-xlarge img{height:auto}.tie-layout-compact_list .tie-content-image,.tie-layout-compact_list .tie-featured-item .tie-content-image{height:auto;min-height:0}}


/* v0.5 sidebar/narrow position fixes */
.tie-content-listing{max-width:100%;overflow-wrap:anywhere}
.tie-content-listing .tie-content-grid,.tie-content-listing .tie-content-item{min-width:0}
.tie-layout-sidebar_list .tie-module-heading{font-size:1.05rem;margin-bottom:12px;gap:10px}
.tie-layout-sidebar_list .tie-module-subheading{text-align:left;font-size:.82rem;margin:0 0 14px;line-height:1.4}
.tie-layout-sidebar_list .tie-content-grid{display:block;width:100%}
.tie-layout-sidebar_list .tie-content-item{display:grid;grid-template-columns:var(--tie-sidebar-img) minmax(0,1fr);gap:10px;align-items:start;margin:0 0 14px;padding:0;border:0;background:transparent;max-width:100%}
.tie-layout-sidebar_list.tie-style-card .tie-content-item,.tie-layout-sidebar_list.tie-item-border .tie-content-item{border:1px solid #ddd;background:#fff;padding:8px;border-radius:6px}
.tie-layout-sidebar_list .tie-content-image{width:var(--tie-sidebar-img);height:72px;min-height:72px;margin:0;border-radius:6px;aspect-ratio:auto;background:#f4f4f4}
.tie-layout-sidebar_list .tie-content-image img{width:100%;height:100%;object-fit:cover}
.tie-layout-sidebar_list .tie-content-body{min-width:0;padding:0!important}
.tie-layout-sidebar_list .tie-content-title{font-size:1rem;line-height:1.2;margin:0 0 5px;word-break:normal;overflow-wrap:anywhere}
.tie-layout-sidebar_list .tie-content-intro{font-size:.82rem;line-height:1.35;margin:0;color:var(--tie-text-color)}
.tie-layout-sidebar_list .tie-content-meta{font-size:.78rem;margin:0 0 5px;gap:4px 8px}
.tie-layout-sidebar_list .tie-readmore{font-size:.82rem;margin-top:4px}
.tie-layout-sidebar_list.tie-align-center .tie-content-item,.tie-layout-sidebar_list.tie-align-right .tie-content-item{text-align:left}
.tie-layout-sidebar_list.tie-space-none .tie-content-image,.tie-layout-sidebar_list.tie-space-small .tie-content-image,.tie-layout-sidebar_list.tie-space-normal .tie-content-image,.tie-layout-sidebar_list.tie-space-large .tie-content-image{margin-bottom:0}
.tie-layout-sidebar_list .tie-height-item-auto,.tie-layout-sidebar_list .tie-height-item-small,.tie-layout-sidebar_list .tie-height-item-medium,.tie-layout-sidebar_list .tie-height-item-large,.tie-layout-sidebar_list .tie-height-item-xlarge{height:72px;min-height:72px}
.tie-layout-sidebar_list .tie-ratio-auto,.tie-layout-sidebar_list .tie-ratio-1x1,.tie-layout-sidebar_list .tie-ratio-4x3,.tie-layout-sidebar_list .tie-ratio-2x1,.tie-layout-sidebar_list .tie-ratio-16x9{aspect-ratio:auto}
@container (max-width: 260px){.tie-layout-sidebar_list .tie-content-item{display:block}.tie-layout-sidebar_list .tie-content-image{width:100%;height:auto;aspect-ratio:4/3;margin:0 0 8px}}
@media(max-width:420px){.tie-layout-sidebar_list .tie-content-item{display:block}.tie-layout-sidebar_list .tie-content-image{width:100%;height:auto;aspect-ratio:4/3;margin:0 0 8px}.tie-layout-sidebar_list .tie-content-image img{height:100%}}
/* Narrow parent fallback for sidebar modules even when another layout is selected */
.t4-sidebar .tie-content-listing .tie-content-grid,.sidebar .tie-content-listing .tie-content-grid,.moduletable-sidebar .tie-content-listing .tie-content-grid,.aside .tie-content-listing .tie-content-grid{grid-template-columns:1fr!important}
.t4-sidebar .tie-content-listing .tie-featured-item,.sidebar .tie-content-listing .tie-featured-item,.aside .tie-content-listing .tie-featured-item{grid-column:span 1!important}

/* v0.6 true image overlay style: article title is drawn from the article title */
.tie-style-overlay .tie-content-image{position:relative;margin-bottom:0;display:block;color:#fff;text-decoration:none;background:#222}
.tie-style-overlay .tie-content-image::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(0,0,0,.38)}
.tie-style-overlay.tie-overlay-shade-none .tie-content-image::after{background:transparent}
.tie-style-overlay.tie-overlay-shade-light .tie-content-image::after{background:rgba(0,0,0,.22)}
.tie-style-overlay.tie-overlay-shade-medium .tie-content-image::after{background:rgba(0,0,0,.38)}
.tie-style-overlay.tie-overlay-shade-dark .tie-content-image::after{background:rgba(0,0,0,.55)}
.tie-style-overlay .tie-overlay-title{position:absolute;z-index:2;margin:0;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.8);font-weight:600;line-height:1.18;text-transform:none;text-decoration:none;pointer-events:none}
.tie-style-overlay .tie-content-image:hover .tie-overlay-title,.tie-style-overlay .tie-content-image:focus .tie-overlay-title{text-decoration:underline}
.tie-style-overlay.tie-overlay-center .tie-overlay-title{top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);text-align:center}
.tie-style-overlay.tie-overlay-bottom_left .tie-overlay-title{left:18px;right:18px;bottom:18px;text-align:left}
.tie-style-overlay.tie-overlay-bottom_center .tie-overlay-title{left:18px;right:18px;bottom:18px;text-align:center}
.tie-style-overlay .tie-content-title a{color:#fff!important}
.tie-style-overlay .tie-content-body{padding:0;margin:0}
.tie-style-overlay .tie-content-intro{display:none!important}
.tie-style-overlay .tie-content-meta{margin:8px 0 0}
.tie-style-overlay.tie-layout-circle_row .tie-content-image::after{border-radius:50%}
.tie-style-overlay.tie-layout-circle_row .tie-content-title{margin:0;padding:0;position:absolute}
.tie-style-overlay.tie-layout-sidebar_list .tie-content-item{display:block}
.tie-style-overlay.tie-layout-sidebar_list .tie-content-image{width:100%;height:120px;min-height:120px;margin:0 0 12px}
.tie-style-overlay.tie-layout-sidebar_list .tie-overlay-title{font-size:1.05rem}

/* v0.7 overlay layout fixes: make overlay images fill the whole item/card and ignore media-left/media-right split rules */
.tie-style-overlay .tie-content-item{
  position:relative;
  overflow:hidden;
  padding:0!important;
}
.tie-style-overlay.tie-item-border .tie-content-item{
  border:1px solid #ddd;
  background:#fff;
}
.tie-style-overlay.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-style-overlay.tie-media-right.tie-layout-equal_grid .tie-content-item,
.tie-style-overlay.tie-media-left .tie-content-item,
.tie-style-overlay.tie-media-right .tie-content-item{
  display:block;
}
.tie-style-overlay .tie-content-image{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  display:block;
  margin:0!important;
  overflow:hidden;
  position:relative;
}
.tie-style-overlay .tie-content-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
}
.tie-style-overlay .tie-content-body{
  display:none;
}
.tie-style-overlay .tie-overlay-title{
  font-size:clamp(1.15rem, 2vw, 1.75rem);
  width:calc(100% - 32px);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.tie-style-overlay.tie-layout-sidebar_list .tie-content-image{
  height:140px!important;
  min-height:140px!important;
}
.tie-style-overlay.tie-layout-circle_row .tie-content-image{
  max-width:150px!important;
  width:150px!important;
  height:150px!important;
  margin:0 auto!important;
}
.tie-style-overlay.tie-layout-circle_row .tie-overlay-title{
  font-size:1rem;
}


/* v0.9 polish: sub-heading alignment/width and true no-border open style */
.tie-subheading-left .tie-module-subheading{
  text-align:left;
  margin-left:0;
  margin-right:auto;
}
.tie-subheading-center .tie-module-subheading{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.tie-subheading-width-full .tie-module-subheading{max-width:100%;}
.tie-subheading-width-600 .tie-module-subheading{max-width:600px;}
.tie-subheading-width-800 .tie-module-subheading{max-width:800px;}
.tie-subheading-width-1000 .tie-module-subheading{max-width:1000px;}
.tie-style-open:not(.tie-item-border) .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-layout-compact_list .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-layout-sidebar_list .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-layout-first_large .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-layout-equal_grid .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-style-open:not(.tie-item-border).tie-media-right.tie-layout-equal_grid .tie-content-item{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.tie-style-open:not(.tie-item-border) .tie-content-body{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.tie-style-open:not(.tie-item-border) .tie-content-image{
  border:0!important;
  box-shadow:none!important;
}
.tie-style-open:not(.tie-item-border).tie-layout-compact_list .tie-content-body,
.tie-style-open:not(.tie-item-border).tie-layout-sidebar_list .tie-content-body{
  padding-left:0;
  padding-right:0;
}


/* v0.10 side-by-side spacing, contain/full-image behavior, and media vertical alignment */
.tie-space-none{--tie-media-gap:0px;}
.tie-space-small{--tie-media-gap:8px;}
.tie-space-normal{--tie-media-gap:14px;}
.tie-space-large{--tie-media-gap:24px;}

/* Keep text from butting against left/right images, even in open/no-border style. */
.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-media-right.tie-layout-equal_grid .tie-content-item,
.tie-layout-compact_list .tie-content-item{
  gap:var(--tie-media-gap,14px)!important;
}
.tie-media-left.tie-layout-equal_grid.tie-space-none .tie-content-item,
.tie-media-right.tie-layout-equal_grid.tie-space-none .tie-content-item,
.tie-layout-compact_list.tie-space-none .tie-content-item{
  gap:0!important;
}
.tie-style-open:not(.tie-item-border).tie-layout-compact_list .tie-content-body{
  padding:0!important;
}
.tie-style-open:not(.tie-item-border).tie-media-left.tie-layout-equal_grid .tie-content-body,
.tie-style-open:not(.tie-item-border).tie-media-right.tie-layout-equal_grid .tie-content-body{
  padding:0!important;
}

/* Vertical alignment for image + text layouts. */
.tie-media-valign-top.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-top.tie-media-right.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-top.tie-layout-compact_list .tie-content-item,
.tie-media-valign-top.tie-layout-sidebar_list .tie-content-item{align-items:start;}
.tie-media-valign-center.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-center.tie-media-right.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-center.tie-layout-compact_list .tie-content-item,
.tie-media-valign-center.tie-layout-sidebar_list .tie-content-item{align-items:center;}
.tie-media-valign-bottom.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-bottom.tie-media-right.tie-layout-equal_grid .tie-content-item,
.tie-media-valign-bottom.tie-layout-compact_list .tie-content-item,
.tie-media-valign-bottom.tie-layout-sidebar_list .tie-content-item{align-items:end;}

/* Contain should truly show the whole image, overriding compact/sidebar cover rules. */
.tie-fit-contain .tie-content-image img{
  object-fit:contain!important;
}
.tie-fit-contain .tie-height-item-auto{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto;
  overflow:visible;
}
.tie-fit-contain .tie-height-item-auto img{
  height:auto!important;
  object-fit:contain!important;
}
.tie-fit-contain.tie-layout-compact_list .tie-content-image img,
.tie-fit-contain.tie-layout-sidebar_list .tie-content-image img{
  object-fit:contain!important;
}
.tie-fit-contain.tie-layout-compact_list .tie-height-item-auto,
.tie-fit-contain.tie-layout-sidebar_list .tie-height-item-auto{
  height:auto!important;
  min-height:0!important;
}

@media(max-width:640px){
  .tie-media-left.tie-layout-equal_grid .tie-content-item,
  .tie-media-right.tie-layout-equal_grid .tie-content-item,
  .tie-layout-compact_list .tie-content-item{gap:0!important;}
}


/* v0.11 horizontal-list refinements, no-border spacing, and contain/image background cleanup */
/* Open/no-border styles should not create a gray image box unless a fixed crop/height needs a backdrop. */
.tie-style-open:not(.tie-item-border) .tie-content-image{
  background:transparent!important;
}

/* A one-column left/right media layout is a true horizontal article list. Keep breathing room even with no border. */
.tie-horizontal-list.tie-media-left.tie-layout-equal_grid .tie-content-item,
.tie-horizontal-list.tie-media-right.tie-layout-equal_grid .tie-content-item{
  display:grid!important;
  grid-template-columns:var(--tie-horizontal) minmax(0,1fr)!important;
  column-gap:max(var(--tie-media-gap,14px), 14px)!important;
  row-gap:0!important;
}
.tie-horizontal-list.tie-media-left.tie-layout-equal_grid .tie-content-image,
.tie-horizontal-list.tie-media-right.tie-layout-equal_grid .tie-content-image{
  margin:0!important;
}
.tie-horizontal-list.tie-media-left.tie-layout-equal_grid .tie-content-body,
.tie-horizontal-list.tie-media-right.tie-layout-equal_grid .tie-content-body{
  min-width:0;
  padding:0!important;
}

/* Only apply the vertical alignment control to the true one-column horizontal list. */
.tie-horizontal-list.tie-media-valign-top .tie-content-item{align-items:start!important;}
.tie-horizontal-list.tie-media-valign-center .tie-content-item{align-items:center!important;}
.tie-horizontal-list.tie-media-valign-bottom .tie-content-item{align-items:end!important;}

/* Multi-column grids with left/right images should stay top-aligned so cards do not look uneven. */
.tie-media-left.tie-layout-equal_grid:not(.tie-horizontal-list) .tie-content-item,
.tie-media-right.tie-layout-equal_grid:not(.tie-horizontal-list) .tie-content-item{
  align-items:start!important;
}

/* Compact/sidebar lists keep their own alignment rules and do not use Horizontal Ratio. */
.tie-layout-sidebar_list .tie-content-item{align-items:start;}

/* Contain / Show Full Image: prevent accidental cropping from inherited height, ratio, or cover rules. */
.tie-fit-contain .tie-content-image{
  background:transparent!important;
}
.tie-fit-contain .tie-content-image img{
  object-fit:contain!important;
  object-position:center center!important;
}
.tie-fit-contain .tie-height-item-auto,
.tie-fit-contain .tie-ratio-auto{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
.tie-fit-contain .tie-height-item-auto img,
.tie-fit-contain .tie-ratio-auto img{
  height:auto!important;
  max-height:none!important;
}

@media(max-width:640px){
  .tie-horizontal-list.tie-media-left.tie-layout-equal_grid .tie-content-item,
  .tie-horizontal-list.tie-media-right.tie-layout-equal_grid .tie-content-item{
    display:block!important;
  }
  .tie-horizontal-list.tie-media-left.tie-layout-equal_grid .tie-content-image,
  .tie-horizontal-list.tie-media-right.tie-layout-equal_grid .tie-content-image{
    margin:0 0 var(--tie-media-gap,14px)!important;
  }
}


/* v0.12 Featured top + compact list layout: matches JA-style layout-01 sections */
.tie-layout-feature_list .tie-content-grid{
  display:block;
}
.tie-layout-feature_list .tie-content-item{
  display:grid;
  grid-template-columns:var(--tie-horizontal) minmax(0,1fr);
  column-gap:max(var(--tie-media-gap,14px), 14px);
  margin-bottom:18px;
  min-width:0;
}
.tie-layout-feature_list.tie-item-border .tie-content-item,
.tie-layout-feature_list .tie-content-item{
  border:1px solid #ddd;
  background:#fff;
  border-radius:6px;
  overflow:hidden;
}
.tie-layout-feature_list:not(.tie-item-border).tie-style-open .tie-content-item{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible;
}
.tie-layout-feature_list .tie-content-image{
  margin:0!important;
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0!important;
  background:transparent;
}
.tie-layout-feature_list .tie-content-body{
  padding:12px 14px;
  min-width:0;
}
.tie-layout-feature_list.tie-style-open:not(.tie-item-border) .tie-content-body{
  padding:0!important;
}
.tie-layout-feature_list.tie-style-open:not(.tie-item-border) .tie-content-item{
  column-gap:max(var(--tie-media-gap,14px), 14px)!important;
}
.tie-layout-feature_list .tie-content-title{
  font-size:1.15rem;
  margin-bottom:8px;
}
.tie-layout-feature_list .tie-content-intro{
  font-size:.9rem;
  line-height:1.45;
}
/* First/special article stacks image above text and spans full module width. */
.tie-layout-feature_list .tie-featured-item{
  display:block!important;
  margin-bottom:22px;
}
.tie-layout-feature_list .tie-featured-item .tie-content-image{
  display:block;
  width:100%!important;
  height:auto;
  min-height:0;
}
.tie-layout-feature_list .tie-featured-item .tie-content-body{
  padding:12px 0 0;
}
.tie-layout-feature_list.tie-item-border .tie-featured-item .tie-content-body{
  padding:12px 14px 14px;
}
.tie-layout-feature_list .tie-featured-item .tie-content-title{
  font-size:1.35rem;
  margin:0 0 8px;
}
/* Media vertical alignment applies to the compact rows, not the featured top article. */
.tie-layout-feature_list.tie-media-valign-top .tie-content-item:not(.tie-featured-item){align-items:start;}
.tie-layout-feature_list.tie-media-valign-center .tie-content-item:not(.tie-featured-item){align-items:center;}
.tie-layout-feature_list.tie-media-valign-bottom .tie-content-item:not(.tie-featured-item){align-items:end;}
.tie-layout-feature_list.tie-media-right .tie-content-item:not(.tie-featured-item) .tie-content-image{order:2;}
.tie-layout-feature_list.tie-fit-contain .tie-content-image,
.tie-layout-feature_list.tie-fit-contain .tie-content-image img{
  object-fit:contain!important;
  background:transparent!important;
}
@media(max-width:640px){
  .tie-layout-feature_list .tie-content-item{display:block!important;}
  .tie-layout-feature_list .tie-content-image{margin:0 0 var(--tie-media-gap,14px)!important;height:auto!important;}
  .tie-layout-feature_list .tie-content-body{padding:0!important;}
  .tie-layout-feature_list.tie-item-border .tie-content-body{padding:12px 14px 14px!important;}
}


/* v0.13 typography, overlay, contain, and circle refinements */
.tie-content-listing {
  font-size: inherit;
}

.tie-content-listing .tie-module-heading {
  font-family: inherit;
  font-weight: inherit;
}

.tie-content-listing .tie-module-subheading {
  font-size: inherit;
  line-height: 1.55;
}

.tie-content-listing .tie-heading-style12 + .tie-module-subheading,
.tie-content-listing .tie-heading-style3 + .tie-module-subheading {
  font-size: inherit;
}

.tie-content-listing .tie-content-title {
  font-family: inherit;
  font-weight: 500;
}

.tie-content-listing .tie-content-title a {
  font-weight: inherit;
}

.tie-content-listing .tie-style-card .tie-content-title a,
.tie-content-listing .tie-layout-compact_list .tie-content-title a,
.tie-content-listing .tie-layout-sidebar_list .tie-content-title a,
.tie-content-listing .tie-layout-circle_row .tie-content-title a {
  font-weight: inherit;
}

.tie-content-listing .tie-style-overlay .tie-overlay-title {
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}

.tie-content-listing .tie-style-overlay.tie-overlay-shade-none .tie-overlay-title {
  text-shadow: none;
}

.tie-content-listing.tie-fit-contain .tie-content-image,
.tie-content-listing.tie-style-open .tie-content-image,
.tie-content-listing.tie-style-overlay.tie-fit-contain .tie-content-image {
  background: transparent !important;
}

.tie-content-listing.tie-style-overlay.tie-fit-contain .tie-content-image::after {
  inset: 0;
}

.tie-content-listing .tie-ratio-circle {
  overflow: hidden;
  border-radius: 50% !important;
  clip-path: circle(50% at 50% 50%);
  transform: translateZ(0);
}

.tie-content-listing .tie-ratio-circle img {
  border-radius: 50%;
  backface-visibility: hidden;
}

.tie-content-listing.tie-layout-circle_row .tie-content-title {
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}

.tie-content-listing.tie-layout-circle_row .tie-content-title a {
  font-weight: inherit;
}

.tie-content-listing.tie-gutter-tight {
  --tie-gap: 14px;
}


/* v0.14 Inquisitive polish: restore title font, soften overlays, tighten spacing, and use site base color */
.tie-content-listing{
  --tie-text-color:#373a3e;
  --tie-heading-color:#373a3e;
  color:#373a3e;
}

/* Keep the lighter weight, but restore the prettier serif heading/title face. */
.tie-content-listing .tie-module-heading,
.tie-content-listing .tie-content-title{
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:500;
}

.tie-content-listing .tie-module-subheading{
  color:#373a3e;
}

/* Softer overlay text: no heavy shadow, just a tiny readability lift. */
.tie-content-listing .tie-style-overlay .tie-overlay-title,
.tie-content-listing.tie-layout-circle_row .tie-content-title{
  font-weight:500;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
}

.tie-content-listing.tie-overlay-shade-none .tie-overlay-title,
.tie-content-listing .tie-style-overlay.tie-overlay-shade-none .tie-overlay-title{
  text-shadow:none;
}

/* Slightly tighter module spacing, especially for image rows and overlay grids. */
.tie-content-listing{
  --tie-gap:22px;
  --tie-row-gap:28px;
}
.tie-content-listing .tie-content-grid{
  gap:var(--tie-row-gap) var(--tie-gap);
}
.tie-content-listing.tie-gutter-tight{
  --tie-gap:10px;
  --tie-row-gap:16px;
}
.tie-content-listing.tie-gutter-normal{
  --tie-gap:22px;
  --tie-row-gap:28px;
}
.tie-content-listing.tie-gutter-wide{
  --tie-gap:34px;
  --tie-row-gap:38px;
}
.tie-content-listing.tie-layout-circle_row .tie-content-grid,
.tie-content-listing.tie-style-overlay .tie-content-grid{
  gap:var(--tie-row-gap) var(--tie-gap);
}

/* Contain/show-full-image should not show a gray box behind transparent or narrow images. */
.tie-content-listing.tie-fit-contain .tie-content-image,
.tie-content-listing.tie-style-overlay.tie-fit-contain .tie-content-image,
.tie-content-listing.tie-style-open .tie-content-image{
  background:transparent!important;
}


/* v0.15 contain/full-image background cleanup for sidebar and horizontal layouts.
   When Media Fit is set to Contain / Show Full Image, the image area should not
   add a gray placeholder behind transparent or narrow images. */
.tie-content-listing.tie-fit-contain .tie-content-image,
.tie-content-listing.tie-fit-contain .tie-content-image:link,
.tie-content-listing.tie-fit-contain .tie-content-image:visited,
.tie-content-listing.tie-fit-contain.tie-layout-sidebar_list .tie-content-image,
.tie-content-listing.tie-fit-contain.tie-layout-compact_list .tie-content-image,
.tie-content-listing.tie-fit-contain.tie-layout-feature_list .tie-content-image,
.tie-content-listing.tie-fit-contain.tie-horizontal-list .tie-content-image {
  background-color: transparent !important;
  background-image: none !important;
}

.tie-content-listing.tie-fit-contain .tie-content-image img {
  background: transparent !important;
  object-fit: contain !important;
}

/* Keep overlay shade only as the intentional overlay, not as a gray image box. */
.tie-content-listing.tie-fit-contain.tie-style-overlay .tie-content-image {
  background-color: transparent !important;
  background-image: none !important;
}

/* v0.16 homepage/JACL parity refinements */
.tie-content-listing{
  --tie-title-color:#009900;
  --tie-link-color:#009900;
  --tie-text-color:#373a3e;
  --tie-heading-color:#373a3e;
  --tie-media-gap:8px;
  color:#373a3e;
}

/* Restore readable title sizing while keeping the lighter weight. */
.tie-content-listing .tie-content-title,
.tie-content-listing .tie-item-title{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:500;
  line-height:1.22;
  margin:0 0 6px;
  color:#373a3e;
}
.tie-content-listing h2.tie-content-title{font-size:1.55rem;}
.tie-content-listing h3.tie-content-title{font-size:1.35rem;}
.tie-content-listing h4.tie-content-title{font-size:1.18rem;}
.tie-content-listing h5.tie-content-title{font-size:1.05rem;}
.tie-content-listing .tie-content-title a,
.tie-content-listing .tie-content-title a:link,
.tie-content-listing .tie-content-title a:visited,
.tie-content-listing .tie-item-title a,
.tie-content-listing .tie-item-title a:link,
.tie-content-listing .tie-item-title a:visited{
  color:#009900!important;
  font-weight:inherit;
  text-decoration:none;
}
.tie-content-listing .tie-content-title a:hover,
.tie-content-listing .tie-content-title a:focus{text-decoration:underline;}

/* Intro/subheading should feel closer to site text, not tiny module text. */
.tie-content-listing .tie-content-intro{
  font-size:inherit;
  line-height:1.5;
  color:#373a3e;
}
.tie-content-listing .tie-module-subheading{
  font-size:inherit;
  color:#373a3e;
}

/* Add 8:5 media ratio. */
.tie-content-listing .tie-ratio-8x5{aspect-ratio:8/5;}

/* Tighten image-to-text spacing across the common homepage layouts. */
.tie-content-listing .tie-content-image{margin-bottom:8px;}
.tie-content-listing.tie-space-none .tie-content-image{margin-bottom:0;}
.tie-content-listing.tie-space-small .tie-content-image{margin-bottom:6px;}
.tie-content-listing.tie-space-normal .tie-content-image{margin-bottom:8px;}
.tie-content-listing.tie-space-large .tie-content-image{margin-bottom:14px;}
.tie-content-listing.tie-layout-first_large .tie-content-image,
.tie-content-listing.tie-layout-equal_grid .tie-content-image,
.tie-content-listing.tie-layout-compact_list .tie-content-image{margin-bottom:8px;}
.tie-content-listing.tie-media-left .tie-content-image,
.tie-content-listing.tie-media-right .tie-content-image,
.tie-content-listing.tie-layout-feature_list .tie-content-image,
.tie-content-listing.tie-layout-sidebar_list .tie-content-image{margin-bottom:0!important;}
.tie-content-listing.tie-layout-compact_list .tie-content-body,
.tie-content-listing.tie-layout-feature_list .tie-content-body{padding:10px 12px;}
.tie-content-listing.tie-style-open.tie-layout-compact_list:not(.tie-item-border) .tie-content-body,
.tie-content-listing.tie-style-open.tie-layout-feature_list:not(.tie-item-border) .tie-content-body{padding:0!important;}
.tie-content-listing.tie-style-open.tie-layout-compact_list:not(.tie-item-border) .tie-content-item,
.tie-content-listing.tie-style-open.tie-layout-feature_list:not(.tie-item-border) .tie-content-item,
.tie-content-listing.tie-horizontal-list .tie-content-item{column-gap:max(var(--tie-media-gap,8px), 10px)!important;}

/* Per-item article style support, mainly for featured/first article controls. */
.tie-content-listing .tie-item-style-open{border:0;background:transparent;box-shadow:none;}
.tie-content-listing .tie-item-style-card{border:1px solid #ddd;background:#fff;border-radius:6px;overflow:hidden;}
.tie-content-listing .tie-item-style-card .tie-content-body{padding:12px 14px;}
.tie-content-listing .tie-item-style-compact .tie-content-title{font-size:1.08rem;}
.tie-content-listing .tie-item-align-left{text-align:left;}
.tie-content-listing .tie-item-align-center{text-align:center;}
.tie-content-listing .tie-item-align-right{text-align:right;}

/* Overlay support on wrapper style OR per-item featured style. */
.tie-content-listing.tie-style-overlay .tie-content-image,
.tie-content-listing .tie-item-style-overlay .tie-content-image{
  position:relative;
  margin-bottom:0;
  display:block;
  color:#fff;
  text-decoration:none;
  background:transparent;
}
.tie-content-listing.tie-style-overlay .tie-content-image::after,
.tie-content-listing .tie-item-style-overlay .tie-content-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(0,0,0,.18);
}
.tie-content-listing.tie-overlay-shade-none .tie-content-image::after{background:transparent;}
.tie-content-listing.tie-overlay-shade-light .tie-content-image::after{background:rgba(0,0,0,.10);}
.tie-content-listing.tie-overlay-shade-medium .tie-content-image::after{background:rgba(0,0,0,.18);}
.tie-content-listing.tie-overlay-shade-dark .tie-content-image::after{background:rgba(0,0,0,.28);}
.tie-content-listing.tie-style-overlay .tie-overlay-title,
.tie-content-listing .tie-item-style-overlay .tie-overlay-title{
  position:absolute;
  z-index:2;
  margin:0;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18)!important;
  font-weight:500;
  line-height:1.18;
  pointer-events:none;
}
.tie-content-listing.tie-style-overlay .tie-overlay-title a,
.tie-content-listing .tie-item-style-overlay .tie-overlay-title a{color:#fff!important;}
.tie-content-listing.tie-overlay-center .tie-overlay-title{top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);text-align:center;}
.tie-content-listing.tie-overlay-bottom_left .tie-overlay-title{left:18px;right:18px;bottom:18px;text-align:left;}
.tie-content-listing.tie-overlay-bottom_center .tie-overlay-title{left:18px;right:18px;bottom:18px;text-align:center;}

/* Non-overlay layouts should not use the pseudo layer as a gray canvas. */
.tie-content-listing:not(.tie-style-overlay) .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::after{
  background:transparent!important;
}

/* Contain / Show Full Image canvas colors for fixed-height contain situations. */
.tie-content-listing.tie-fit-contain .tie-content-image img{object-fit:contain!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-transparent .tie-content-image{background:transparent!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-white .tie-content-image{background:#fff!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-light .tie-content-image{background:#f4f4f4!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-match .tie-content-image{background:inherit!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-transparent .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::before,
.tie-content-listing.tie-fit-contain.tie-contain-bg-transparent .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::after{background:transparent!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-white .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::before,
.tie-content-listing.tie-fit-contain.tie-contain-bg-white .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::after{background:#fff!important;}
.tie-content-listing.tie-fit-contain.tie-contain-bg-light .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::before,
.tie-content-listing.tie-fit-contain.tie-contain-bg-light .tie-content-item:not(.tie-item-style-overlay) .tie-content-image::after{background:#f4f4f4!important;}

/* Smoother circle edges while allowing oval behavior at smaller heights. */
.tie-content-listing .tie-ratio-circle{
  overflow:hidden;
  border-radius:50%!important;
  transform:translateZ(0);
}
.tie-content-listing .tie-ratio-circle img{border-radius:inherit;backface-visibility:hidden;}


/* v0.17 media outline and circle-row overlay refinements */
.tie-content-listing.tie-media-no-outline .tie-content-image,
.tie-content-listing.tie-media-no-outline .tie-content-image img{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.tie-content-listing.tie-media-outline .tie-content-image{
  outline:2px solid #e9ecef;
  outline-offset:0;
}
.tie-content-listing.tie-media-outline.tie-layout-circle_row .tie-content-image{
  outline:2px solid #e9ecef;
  outline-offset:2px;
}
.tie-content-listing.tie-layout-circle_row .tie-content-item{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  overflow:visible!important;
}
.tie-content-listing.tie-layout-circle_row .tie-content-image{
  width:min(100%, var(--tie-circle-size, 190px))!important;
  max-width:min(100%, var(--tie-circle-size, 190px))!important;
  height:var(--tie-circle-size, 190px)!important;
  min-height:0!important;
  margin:0 auto 10px!important;
  border-radius:50%!important;
}
.tie-content-listing.tie-layout-circle_row .tie-height-item-auto{--tie-circle-size:190px;}
.tie-content-listing.tie-layout-circle_row .tie-height-item-small{--tie-circle-size:130px;}
.tie-content-listing.tie-layout-circle_row .tie-height-item-medium{--tie-circle-size:170px;}
.tie-content-listing.tie-layout-circle_row .tie-height-item-large{--tie-circle-size:220px;}
.tie-content-listing.tie-layout-circle_row .tie-height-item-xlarge{--tie-circle-size:270px;}
.tie-content-listing.tie-layout-circle_row .tie-content-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.tie-content-listing.tie-layout-circle_row.tie-style-overlay .tie-content-title,
.tie-content-listing.tie-layout-circle_row .tie-item-style-overlay .tie-content-title{
  margin:0!important;
  padding:0!important;
  position:absolute!important;
}
.tie-content-listing.tie-layout-circle_row .tie-overlay-title{
  font-size:clamp(.95rem,1.5vw,1.2rem)!important;
}
@media(max-width:640px){
  .tie-content-listing.tie-layout-circle_row .tie-content-image{
    width:min(100%, 190px)!important;
    max-width:min(100%, 190px)!important;
    height:190px!important;
  }
}
