@charset "UTF-8";

/**
 * Mobile overrides for TLE article bodies (editorial.ed_text).
 *
 * Seminar blocks are 700px email tables: title row, then
 * [125px photo | width:100% copy]. Do not set max-width:100% on
 * images at desktop — that 100% copy cell steals the photo column
 * and the headshot collapses to 0. Stack only below 768px.
 *
 * Exhibitor logo grids are <table> with no width attribute and empty
 * 50px spacer tds. Keep those as tables on mobile so they stay
 * 3-across; stacking them makes the JPEGs explode to full width.
 */

.tle-article-body {
	width: 100%;
	max-width: 100%;
	padding: 0 12px;
	box-sizing: border-box;
}

.tle-article-body a {
	position: relative;
	z-index: 2;
	cursor: pointer;
	pointer-events: auto;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
	touch-action: manipulation;
}

/*
 * Logo rows: a real height + object-fit is required — max-height
 * alone clips tall marks (Heritage, K-Rain) instead of scaling them.
 */
.tle-article-body table:not([width]) img {
	width: auto !important;
	height: 64px !important;
	max-width: 210px;
	object-fit: contain;
	vertical-align: middle;
}

/* Extra leading/trailing gutters on the last logo row. :first-of-type
   ignores whitespace text nodes that break :first-child. */
.tle-article-body table:not([width]) tr > td:first-of-type:empty,
.tle-article-body table:not([width]) tr > td:last-of-type:empty {
	display: none;
}

@media (max-width: 767px) {
	.tle-article-body *,
	.tle-article-body *::before,
	.tle-article-body *::after {
		box-sizing: border-box;
	}

	.tle-article-body {
		overflow-x: auto;
		min-width: 0;
		overflow-wrap: anywhere;
		word-wrap: break-word;
	}

	.tle-article-body,
	.tle-article-body p,
	.tle-article-body td,
	.tle-article-body th,
	.tle-article-body span,
	.tle-article-body em,
	.tle-article-body strong,
	.tle-article-body a,
	.tle-article-body font {
		text-align: center;
		white-space: normal !important;
	}

	.tle-article-body [style*="font-size: 32px"],
	.tle-article-body [style*="font-size:32px"],
	.tle-article-body [style*="font-size: 42px"],
	.tle-article-body [style*="font-size:42px"] {
		font-size: 1.35rem !important;
		line-height: 1.35 !important;
	}

	.tle-article-body table {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.tle-article-body table,
	.tle-article-body tbody,
	.tle-article-body thead,
	.tle-article-body tfoot,
	.tle-article-body tr,
	.tle-article-body td,
	.tle-article-body th {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		position: relative;
	}

	.tle-article-body td,
	.tle-article-body th {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Keep inline widths (125px headshot, 725px hero); only shrink if they overflow. */
	.tle-article-body img {
		max-width: 100% !important;
		height: auto !important;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.tle-article-body a {
		display: inline-block;
		max-width: 100%;
	}

	/* Empty 50px gutters become full-width blank rows once tds stack. */
	.tle-article-body td:empty,
	.tle-article-body td[style*="width:50px"] {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		max-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		font-size: 0 !important;
		line-height: 0 !important;
	}

	/* Triple <br> between logo tables is desktop row spacing. */
	.tle-article-body table:not([width]) + br,
	.tle-article-body table:not([width]) + br + br,
	.tle-article-body table:not([width]) + br + br + br {
		display: none !important;
	}

	/*
	 * Logo grids must stay tables. The block stacking above is for
	 * seminar [photo | copy] rows only.
	 */
	.tle-article-body table:not([width]) {
		display: table !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		table-layout: fixed;
		border-collapse: separate;
		border-spacing: 8px 12px;
	}

	.tle-article-body table:not([width]) tbody {
		display: table-row-group !important;
	}

	.tle-article-body table:not([width]) tr {
		display: table-row !important;
		width: auto !important;
		height: auto !important;
	}

	.tle-article-body table:not([width]) td {
		display: table-cell !important;
		width: auto !important;
		max-width: none !important;
		height: auto !important;
		vertical-align: middle !important;
		text-align: center !important;
		padding: 4px !important;
	}

	.tle-article-body table:not([width]) img {
		width: auto !important;
		height: 48px !important;
		max-width: 100% !important;
		object-fit: contain;
		margin: 0 auto;
	}

	/* Must follow display:table-cell — otherwise empty gutters become columns again. */
	.tle-article-body table:not([width]) td:empty,
	.tle-article-body table:not([width]) td[style*="width:50px"] {
		display: none !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		font-size: 0 !important;
		line-height: 0 !important;
	}
}
