/*
 * Site footer (template-parts/site-footer.php).
 * Values ported 1:1 from the Elementor "Footer V2" template (post-46538.css, its custom CSS and
 * the Elementor widget defaults it relied on). Breakpoints match Elementor's:
 * mobile <= 767px, tablet 768-1024px, desktop >= 1025px.
 * Rules are scoped to #thl-footer so the kit's global link/heading styles and Hello's
 * button reset can't leak in.
 *
 * The markup is kept flat, so a few Elementor wrappers are folded into one element:
 * - "boxed" sections centre their content with padding (max(gutter, (100% - max-width) / 2))
 *   instead of an inner wrapper;
 * - icons are SVGs (Font Awesome Free 6.5.1 paths, the icon font the old footer rendered;
 *   CC BY 4.0, fontawesome.com) used as masks on pseudo-elements, so they add no elements;
 * - map stars and their tooltips are the ::before / ::after of a single button.
 */

#thl-footer {
	--thl-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z'/%3E%3C/svg%3E");
	--thl-i-marker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");
	--thl-i-directions: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z'/%3E%3C/svg%3E");
	--thl-i-caret-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z'/%3E%3C/svg%3E");
	--thl-i-caret-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z'/%3E%3C/svg%3E");
	--thl-i-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 197.816 325.961 185.585 255.898 9.569 185.835 185.585 0 197.816 142.534 318.842 95.762 502.431 255.898 401.21 416.035 502.431 369.263 318.842z'/%3E%3C/svg%3E");
	--thl-i-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z'/%3E%3C/svg%3E");
	--thl-i-twitter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E");
	--thl-i-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z'/%3E%3C/svg%3E");
	--thl-i-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E");

	position: relative;
	display: block;
	background-color: #000;
	color: #333;
	font-family: "Inter", Sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	text-align: start;
}
#thl-footer *,
#thl-footer *::before,
#thl-footer *::after { box-sizing: border-box; }
#thl-footer a { text-decoration: none; transition: color .3s; }
#thl-footer p { margin: 0; }
#thl-footer img { display: block; max-width: 100%; height: auto; border: 0; }
/* Image optimisers (ShortPixel AVIF/WebP) may wrap images in <picture>; keep it out of the layout. */
#thl-footer picture { display: contents; }
#thl-footer [hidden] { display: none !important; }

/* Masked icons: each element sets --thl-icon; the colour is the background-color. */
#thl-footer .thl-footer__phone::before,
#thl-footer .thl-footer__office-links a::before,
#thl-footer summary::after,
#thl-footer .thl-footer__hotspot::before,
#thl-footer .thl-footer__social a::before {
	content: "";
	flex-shrink: 0;
	-webkit-mask: var(--thl-icon) center / contain no-repeat;
	mask: var(--thl-icon) center / contain no-repeat;
}

/* Diagonal pattern over the black background. */
#thl-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='100%' viewBox='0 0 64 64' fill='%23FFFFFF' xmlns='http://www.w3.org/2000/svg'%3E%3cpath d='M32 25.7l32 31.8v-8L32 17.7l-32 32v8zm0-16l32 31.8v-8L32 1.7l-32 32v8zM25.7 0h-8L0 17.5v8zM64 25.5v-8L46.4 0h-8zM9.5 0h-8L0 1.5v8zM64 9.5v-8L62.5 0h-8zM9.7 64L32 41.7 54.4 64h0 8 0L32 33.7 1.6 64h0zM32 57.8l6.3 6.2h8L32 49.8 17.7 64h8z'/%3e%3c/svg%3e");
	background-position: top left;
	background-repeat: repeat;
	opacity: .1;
	mix-blend-mode: screen;
	pointer-events: none;
}
#thl-footer > * { position: relative; }

/* ---------- Map + offices (content max 1250px) ---------- */
#thl-footer .thl-footer__offices {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 4em;
	overflow: hidden;
	padding: 10em max(0px, calc((100% - 1250px) / 2)) 2em;
}
#thl-footer .thl-footer__map-col {
	display: flex;
	flex: 1 0 auto;
	justify-content: flex-end;
	align-items: center;
	width: 50%;
}
#thl-footer .thl-footer__map {
	position: relative;
	width: 100%;
	max-width: 450px;
	margin-left: 2em;
}
#thl-footer .thl-footer__map img { width: 100%; }

/*
 * Map stars (Elementor hotspot). --x/--y are percentages of the map image. The Elementor star
 * box is 28px (20px star + 4px padding), pulled back by its own size times --x/--y; the button
 * adds a 5px click margin around it, which the translate compensates for.
 */
#thl-footer .thl-footer__hotspot,
#thl-footer .thl-footer__hotspot:hover,
#thl-footer .thl-footer__hotspot:focus {
	position: absolute;
	z-index: 1;
	top: calc(var(--y) * 1%);
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	cursor: pointer;
	transition: none;
}
#thl-footer .thl-footer__hotspot--left {
	left: calc(var(--x) * 1%);
	transform: translate(calc(var(--x) * -.28px - 5px), calc(var(--y) * -.28px - 5px));
}
#thl-footer .thl-footer__hotspot--right {
	right: calc(var(--x) * 1%);
	transform: translate(calc(var(--x) * .28px + 5px), calc(var(--y) * -.28px - 5px));
}
#thl-footer .thl-footer__hotspot::before {
	--thl-icon: var(--thl-i-star);
	position: absolute;
	inset: 9px;
	background-color: #fff;
	animation: thl-footer-soft-beat .7s infinite alternate ease;
}
#thl-footer .thl-footer__hotspot.is-active::before { background-color: #f4cf3e; }
#thl-footer .thl-footer__hotspot:focus:not(:focus-visible) { outline: none; }

/* Tooltip: the star's label. */
#thl-footer .thl-footer__hotspot::after {
	content: attr(aria-label);
	position: absolute;
	top: 50%;
	padding: 2.5px 25px;
	border-radius: 25px;
	background-color: #fff;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
	color: #7f333d;
	font-family: "Merriweather Sans", Sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 1px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%);
	transition: opacity .5s;
}
#thl-footer .thl-footer__hotspot--tip-left::after { right: 100%; }
#thl-footer .thl-footer__hotspot--tip-right::after { left: 100%; }

@keyframes thl-footer-soft-beat {
	from { transform: scale(1); }
	to { transform: scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	#thl-footer .thl-footer__hotspot::before { animation: none; }
}

/* Office details. */
#thl-footer .thl-footer__office-col {
	display: flex;
	flex: 0 1 auto;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-end;
	align-self: flex-start;
	width: 50%;
	padding: 5em 2em 2em 0;
}
#thl-footer .thl-footer__office {
	display: flex;
	flex-direction: column;
	gap: .25em;
	align-self: flex-end;
	width: 100%;
	padding-left: 3px;
}
#thl-footer .thl-footer__office h2 {
	margin: 0;
	padding: 0;
	color: #fff;
	font-family: "Merriweather Sans", Sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 1px;
	word-spacing: .1em;
	text-transform: capitalize;
}
#thl-footer .thl-footer__office h2 a {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	word-spacing: inherit;
}
#thl-footer .thl-footer__address,
#thl-footer .thl-footer__phone,
#thl-footer .thl-footer__office-links a {
	display: flex;
	align-items: center;
	color: #fff;
	font-family: "Open Sans", Sans-serif;
	letter-spacing: 1px;
	word-spacing: .1em;
}
#thl-footer .thl-footer__address {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.4;
	white-space: pre-line;
}
#thl-footer .thl-footer__phone {
	/* The theme forces tel: links to inline-block !important; the Elementor footer overrode it the same way. */
	display: flex !important;
	padding: 8px 0;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}
/* Icon: 1.25em x 1em box at 14px with the glyph at its left (as the icon font drew it), then 10px to the text. */
#thl-footer .thl-footer__phone::before,
#thl-footer .thl-footer__office-links a::before {
	width: 17.5px;
	height: 14px;
	margin-right: 10px;
	background-color: #f4cf3e;
	-webkit-mask-position: left center;
	mask-position: left center;
}
#thl-footer .thl-footer__phone::before { --thl-icon: var(--thl-i-phone); }
#thl-footer .thl-footer__map-link::before { --thl-icon: var(--thl-i-marker); }
#thl-footer .thl-footer__directions-link::before { --thl-icon: var(--thl-i-directions); }
#thl-footer .thl-footer__phone:hover,
#thl-footer .thl-footer__office-links a:hover { color: #f4cf3e; }

/* Map | Directions: 52px apart with a 2px divider 25px after the first link. */
#thl-footer .thl-footer__office-links { display: flex; flex-wrap: wrap; gap: 0 52px; }
#thl-footer .thl-footer__office-links a {
	position: relative;
	font-size: .9rem;
	font-weight: 400;
	line-height: 1.3;
}
#thl-footer .thl-footer__map-link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% + 25px);
	border-left: 2px solid #fff;
}

/* ---------- Practice area / city accordions (content max 1500px) ---------- */
#thl-footer .thl-footer__nav {
	display: flex;
	flex-direction: column;
	padding: 3em max(1em, calc((100% - 1500px) / 2)) 0;
}
#thl-footer .thl-footer__accordion { border-bottom: 1px solid #464646; }
#thl-footer .thl-footer__accordion--practice { padding-bottom: .25em; }
#thl-footer .thl-footer__accordion--cities { padding: .75em 0 .25em; }
#thl-footer .thl-footer__acc-item { position: relative; display: flex; flex-direction: column; }
/* Title spacing in px: it was set on a 16px element, while the title text is 14.4px on tablet/mobile. */
#thl-footer summary {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 0 8px;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05px;
	list-style: none;
	cursor: pointer;
}
#thl-footer summary::-webkit-details-marker { display: none; }
#thl-footer summary::after {
	--thl-icon: var(--thl-i-caret-down);
	display: block;
	width: 9px;
	height: 15px;
	background-color: currentColor;
	/* Glyph at full 15px height from the left edge, like the icon font (9.375px glyph in a 9px box). */
	-webkit-mask-size: auto 100%;
	mask-size: auto 100%;
	-webkit-mask-position: left center;
	mask-position: left center;
}
#thl-footer .thl-footer__acc-item[open] > summary::after { --thl-icon: var(--thl-i-caret-right); width: 7.5px; }
#thl-footer .thl-footer__acc-item[open] > summary,
#thl-footer .thl-footer__acc-item:not([open]):hover > summary { color: #f4cf3e; }

#thl-footer .thl-footer__acc-panel { padding-right: 1em; }
/* One link per line; a margin (not padding) keeps the hover area on the text, as before. */
#thl-footer .thl-footer__acc-panel a {
	display: block;
	width: fit-content;
	margin-bottom: 10px;
	color: #fff;
	font-family: "Inter", Sans-serif;
	font-size: .85rem;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
}
#thl-footer .thl-footer__acc-panel a:hover { color: #f4cf3e; }

/* ---------- Menu, social, disclaimer, credit (1em gutter left, content max 1500px) ---------- */
#thl-footer .thl-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	padding: .5em max(0px, calc((100% - 1516px) / 2)) 2em max(16px, calc(16px + (100% - 1516px) / 2));
}
#thl-footer .thl-footer__menu {
	width: 100%;
	padding-bottom: 2em;
	color: #fff;
	text-align: center;
}
#thl-footer .thl-footer__menu a {
	display: inline-block;
	padding: 0 1em;
	color: #fff;
	font-family: "Inter", Sans-serif;
	font-size: .8rem;
	font-weight: 400;
	line-height: 1.4;
}
#thl-footer .thl-footer__menu a:hover { color: #f4cf3e; }

#thl-footer .thl-footer__brand {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	gap: 20px;
	padding-bottom: 2.5em;
}
#thl-footer .thl-footer__logo { display: block; padding-right: 1em; }
#thl-footer .thl-footer__logo img { width: 175px; }
#thl-footer .thl-footer__follow {
	padding-left: 16px;
	color: #999;
	font-family: "Open Sans", Sans-serif;
	font-size: .9rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: .2px;
}
#thl-footer .thl-footer__social { display: flex; gap: 30px; }
#thl-footer .thl-footer__social a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	color: #fff;
	font-size: 30px;
	line-height: 1;
}
#thl-footer .thl-footer__social a::before { width: 1em; height: 1em; background-color: currentColor; }
#thl-footer .thl-footer__social a:hover { color: #f4cf3e; }
#thl-footer .thl-footer__social-facebook::before { --thl-icon: var(--thl-i-facebook); }
#thl-footer .thl-footer__social-twitter::before { --thl-icon: var(--thl-i-twitter); }
#thl-footer .thl-footer__social-linkedin::before { --thl-icon: var(--thl-i-linkedin); }
/* Wider than the 1em box: overflows to the right, as the icon-font glyph did. */
#thl-footer .thl-footer__social-youtube::before { --thl-icon: var(--thl-i-youtube); width: 1.125em; margin-right: -.125em; }

#thl-footer .thl-footer__disclaimer {
	width: 75%;
	color: #999;
	font-family: "Open Sans", Sans-serif;
	font-size: .75rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}
#thl-footer .thl-footer__disclaimer a {
	color: inherit;
	font-family: "Inter", Sans-serif;
	font-weight: 400;
	line-height: inherit;
}

#thl-footer .thl-footer__credit {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-top: 32px;
	color: #999;
	font-family: "Open Sans", Sans-serif;
	font-size: .8rem;
	font-weight: 300;
	line-height: 1;
}
#thl-footer .thl-footer__managed { letter-spacing: 1px; text-align: end; }
#thl-footer .thl-footer__trulaw img { width: 150px; }
#thl-footer .thl-footer__copyright {
	width: 100%;
	padding-top: 8px;
	letter-spacing: .2px;
	text-align: center;
}

/* ---------- Tablet and desktop: accordions as a row ---------- */
@media (min-width: 768px) {
	#thl-footer .thl-footer__accordion {
		display: flex;
		justify-content: center;
		align-items: stretch;
		overflow: hidden;
	}
	#thl-footer .thl-footer__acc-item { gap: 1em; width: 25%; }
	/* Titles sit slightly right of the column start and slide back when opened. */
	#thl-footer summary {
		display: block;
		transform: translateX(22%);
		transition: transform .7s ease;
	}
	#thl-footer summary[aria-expanded="true"] { transform: translateX(0); }
	/* 13px = the space and 8px padding that separated title and icon; the icon-font baseline puts
	   the caret 1/8em (of 15px) below the text baseline. */
	#thl-footer summary::after { display: inline-block; margin: 0 8px 0 13px; vertical-align: -1.875px; }
}

/* ---------- Tablet and mobile ---------- */
@media (max-width: 1024px) {
	#thl-footer .thl-footer__nav { z-index: 1; margin-top: -1px; }
	#thl-footer summary { font-size: .9rem; }
}

/* ---------- Tablet ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
	#thl-footer .thl-footer__offices { justify-content: center; gap: 3em; padding: 10em 2em 2em; }
	#thl-footer .thl-footer__map-col { flex: 0 0 auto; align-self: center; width: 350px; }
	#thl-footer .thl-footer__map { margin-left: 0; }
	#thl-footer .thl-footer__office-col { align-self: center; justify-content: center; width: 100%; padding: 0; }

	/* Keep the 16px title row's line box with the smaller title text. */
	#thl-footer summary { line-height: 22.4px; }
	#thl-footer summary::after { margin: 0 5.6px 0 10.6px; }
	#thl-footer .thl-footer__accordion--practice summary { transform: translateX(5%); }
	#thl-footer .thl-footer__accordion--cities .thl-footer__acc-item { width: 100%; }
	#thl-footer .thl-footer__accordion--cities summary { transform: translateX(33.33%); }
	#thl-footer summary[aria-expanded="true"] { transform: translateX(0); }
	/* 18.8px = the line box the 12px links had inside the old 16px list items. */
	#thl-footer .thl-footer__acc-panel a { font-size: .75rem; line-height: 18.8px; }

	#thl-footer .thl-footer__bottom { padding: .5em max(8px, calc((100% - 1500px) / 2)) 2em; }
	#thl-footer .thl-footer__menu a { padding: 0 .65em; font-size: .75rem; }
	#thl-footer .thl-footer__disclaimer { width: 100%; }
}

/* ---------- Desktop ---------- */
@media (min-width: 1025px) {
	#thl-footer .thl-footer__hotspot:hover,
	#thl-footer .thl-footer__hotspot:focus-visible { z-index: 2; }
	#thl-footer .thl-footer__hotspot:hover::after,
	#thl-footer .thl-footer__hotspot:focus-visible::after { opacity: 1; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	#thl-footer .thl-footer__offices {
		flex-direction: column;
		align-items: center;
		padding: 10em 1em 0;
	}
	#thl-footer .thl-footer__map-col { order: 1; width: 100%; }
	#thl-footer .thl-footer__map { margin-left: 0; }
	#thl-footer .thl-footer__office-col { align-items: center; width: 100%; padding: 0 0 0 1.5em; }
	#thl-footer .thl-footer__office { align-items: flex-start; align-self: center; padding-left: 0; }
	#thl-footer .thl-footer__phone::before { width: 20px; height: 16px; }

	#thl-footer .thl-footer__nav { padding-top: 5em; }
	#thl-footer .thl-footer__accordion,
	#thl-footer .thl-footer__accordion--cities { padding: 0; border: 0; }
	#thl-footer summary {
		justify-content: space-between;
		padding: 12px 0;
		border-bottom: 1px solid #464646;
	}
	#thl-footer .thl-footer__acc-item:not([open]):hover > summary { color: #fff; }
	#thl-footer .thl-footer__acc-item[open] > summary { border-bottom: 0; }
	#thl-footer .thl-footer__acc-item[open] > .thl-footer__acc-panel { border-bottom: 1px solid #333; }
	#thl-footer .thl-footer__accordion--cities .thl-footer__acc-item:last-child > summary { border: 0; }
	#thl-footer .thl-footer__accordion--cities .thl-footer__acc-panel { padding-top: 1em; }
	#thl-footer .thl-footer__acc-panel a:hover { color: #fff; }

	#thl-footer .thl-footer__bottom { padding: 5em 0 1em; }
	#thl-footer .thl-footer__menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		padding: 4em 1em;
	}
	#thl-footer .thl-footer__menu a { padding: .5em 0; font-size: .9rem; }
	#thl-footer .thl-footer__menu a:nth-child(odd) { border-right: 1px solid #464646; }
	#thl-footer .thl-footer__menu a:hover { color: #fff; }

	#thl-footer .thl-footer__brand { order: -1; flex-wrap: wrap; gap: 1em; padding: 0 1em; }
	#thl-footer .thl-footer__logo { order: 1; width: 100%; padding: 1.5em 0 0; }
	#thl-footer .thl-footer__logo img { width: 100%; max-width: 150px; margin: 0 auto; }
	#thl-footer .thl-footer__follow { padding-left: 0; font-size: 1rem; }
	#thl-footer .thl-footer__social a { font-size: 25px; }

	#thl-footer .thl-footer__disclaimer { width: 100%; padding: 0 16px 32px; }
	#thl-footer .thl-footer__credit { padding-top: 0; }
	#thl-footer .thl-footer__copyright { padding-top: 0; }
}
