/* ==========================================================================
   Footer Styles
   ========================================================================== */

.site-footer {
	background: var(--color-primary);
	color: var(--color-white);
}

.footer-container {
	max-width: 1368px;
	margin: 0 auto;
	padding: 64px 1rem 24px;
	border-top: 1px solid rgba(20, 40, 122, 1);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}

.footer-brand {
	max-width: 321px;
}

.footer-logo {
	height: 56px;
	width: auto;
	object-fit: contain;
}

.contact-list {
	list-style: none;
	margin: 20px 0 12px;
	padding: 0;
	display: grid;
	gap: 10px;
}

.contact-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255,255,255,0.92);
}

.contact-list a,
.contact-list span {
	color: rgba(255,255,255,0.92);
	text-decoration: none;
}

.contact-list a:hover {
	text-decoration: underline;
}

.map-link {
	display: inline-block;
	margin-top: 12px;
	color: rgba(255,255,255,0.92);
	text-decoration: underline;
}

.footer-heading {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	margin: 8px 0 12px;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.footer-links a {
	color: rgba(255,255,255,0.92);
	text-decoration: none;
	font-family: var(--font-body);
}

.footer-links a:hover {
	text-decoration: underline;
}

.footer-bottom {
	padding: 16px 0 40px;
}

.footer-bottom-container {
	max-width: 1368px;
	margin: 0 auto;
	padding: 0 1rem;
	text-align: center;
	color: rgba(255,255,255,0.92);
}

/* Tablet */
@media (min-width: 768px) {
	.footer-grid {
		grid-template-columns: 1.5fr 1fr 1fr;
		gap: 48px;
	}
}

/* Desktop */
@media (min-width: 1024px) {
	.footer-container {
		padding-top: 64px;
	}
	
	.footer-grid {
		column-gap: 180px;
	}
	
	.footer-heading {
		font-size: 1.0625rem;
	}
}
