/**
 * Site footer: three-column band (address, links, brand) + bottom bar.
 * Columns reverse on mobile (brand first). Entrance animations: see theme.js.
 */

.csat-footer {
	clear: both;
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1;
}
.csat-footer p { margin: 0; }

/* Shared container: centered row, 1440 / 1024 / 767 max widths. */
.csat-footer__container {
	position: relative;
	display: flex;
	max-width: 1440px;
	margin-inline: auto;
}
@media (max-width: 1024px) {
	.csat-footer__container { flex-wrap: wrap; max-width: 1024px; }
}
@media (max-width: 767px) {
	.csat-footer__container { max-width: 767px; }
}

/* ---- Main band ------------------------------------------------------------ */
.csat-footer__main {
	position: relative;
	padding: 60px 0;
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}
.csat-footer__main::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #111416;
	opacity: 0.97;
	transition: background .3s, border-radius .3s, opacity .3s;
}
.csat-footer__col {
	position: relative;
	display: flex;
	min-height: 1px;
	width: 100%;
}
.csat-footer__col-inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 100%;
	padding: 30px;
}
.csat-footer__col-inner > * { width: 100%; margin-top: 0; margin-bottom: 16px; }
.csat-footer__col-inner > :last-child { margin-bottom: 0; }
.csat-footer__col--links .csat-footer__col-inner,
.csat-footer__col--brand .csat-footer__col-inner {
	border-radius: 4px;
	box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.03);
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}
@media (min-width: 768px) {
	.csat-footer__col { width: 33.333%; }
}
@media (max-width: 1024px) and (min-width: 768px) {
	.csat-footer__col--address,
	.csat-footer__col--brand { width: 30%; }
	.csat-footer__col--links { width: 18%; }
}
@media (max-width: 767px) {
	.csat-footer__main { padding: 40px 0; }
	.csat-footer__col--address { order: 10; width: 100%; }
	.csat-footer__col--links { order: 9; width: 40%; }
	.csat-footer__col--brand { order: 8; }
	.csat-footer__col--brand .csat-footer__col-inner { padding: 2em; }
}

.csat-footer__heading {
	margin: 0 0 16px;
	padding: 0;
	font-family: "Roboto", Sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #ffffff;
}

/* Lists (address with icons, quick links). */
.csat-footer__list { list-style-type: none; margin: 0; padding: 0; }
.csat-footer__list li {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font-family: "Roboto", Sans-serif;
	font-size: 0.875rem;
	line-height: 1.5em;
	color: rgba(255, 255, 255, 0.7);
	transition: color 0.3s;
}
.csat-footer__list li:not(:last-child) { padding-block-end: 4px; }
.csat-footer__list li:not(:first-child) { margin-block-start: 4px; }
.csat-footer__list a {
	display: flex;
	align-items: center;
	width: 100%;
	font-size: inherit;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.3s;
}
/* Icons (Font Awesome shapes, previously inline SVG). 15px icon, then 24.75px to the text. */
.csat-footer__list--icons li::before {
	content: "";
	flex: none;
	width: 15px;
	height: 15px;
	margin-right: 24.75px;
	background-color: #279BD7;
	-webkit-mask: var(--csat-icon) center / contain no-repeat;
	mask: var(--csat-icon) center / contain no-repeat;
	transition: background-color 0.3s;
}
.csat-footer__item--map { --csat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E"); }
.csat-footer__item--phone { --csat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z'/%3E%3C/svg%3E"); }
.csat-footer__item--mail { --csat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z'/%3E%3C/svg%3E"); }

/* Brand column. */
.csat-footer__logo { margin: 0 0 31px; text-align: start; }
.csat-footer__col-inner > .csat-footer__logo { margin-bottom: 31px; }
.csat-footer__logo img { width: 50%; height: auto; max-width: 100%; border: none; border-radius: 0; box-shadow: none; vertical-align: baseline; }
.csat-footer__logo a { display: inline; }
/* Desktop: logo at half its former size (requested 2026-10-13). */
@media (min-width: 1025px) {
	.csat-footer__logo img { width: 25%; }
}
.csat-footer__col-inner > .csat-footer__about {
	margin-bottom: 40px;
	font-family: "Roboto", Sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.617em;
	color: rgba(255, 255, 255, 0.7);
}
.csat-footer__tagline { margin: 0; padding: 0; line-height: 1; }

/* ---- Bottom bar ------------------------------------------------------------- */
.csat-footer__bottom {
	position: relative;
	margin-top: 0;
	margin-bottom: 20px;
	padding: 16px 0;
	background-color: #404040;
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}
.csat-footer__bottom-col {
	position: relative;
	display: flex;
	min-height: 1px;
	width: 100%;
	padding: 10px;
}
@media (min-width: 768px) {
	.csat-footer__bottom-col { width: 50%; }
}
.csat-footer__copyright {
	position: relative;
	width: 100%;
	text-align: left;
	font-size: 16px;
	font-weight: 500;
	color: #ffffff;
	transition: all .3s ease;
}
@media (max-width: 767px) {
	.csat-footer__copyright { text-align: center; }
}
.csat-footer__bottom-col--legal { flex-wrap: wrap; align-content: flex-start; }
.csat-footer__legal {
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1;
	text-align: end;
	color: #F8F8F9;
}
.csat-footer__legal a { color: inherit; text-decoration: none; transition: color .2s ease; }
.csat-footer__legal a:hover { color: #7FD0F5; text-decoration: underline; text-underline-offset: 2px; }
.csat-footer__legal .csat-footer__sep { background: transparent; }

/* ---- Entrance animations ------------------------------------------------------
   Hidden until scrolled into view (theme.js adds .is-animated after the delay),
   then a 1.25s fade or pulse. Without JS everything stays visible. */
html.csat-js .csat-anim:not(.is-animated) { visibility: hidden; }
.csat-anim.is-animated { animation-duration: 1.25s; animation-fill-mode: both; }
.csat-anim--fade-in.is-animated { animation-name: csat-fade-in; }
.csat-anim--pulse.is-animated { animation-name: csat-pulse; }
@keyframes csat-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes csat-pulse { from { transform: scale3d(1, 1, 1); } 50% { transform: scale3d(1.05, 1.05, 1.05); } to { transform: scale3d(1, 1, 1); } }
@media (prefers-reduced-motion: reduce) {
	html.csat-js .csat-anim:not(.is-animated) { visibility: visible; }
	.csat-anim.is-animated { animation: none; }
}
