/* ==========================================================================
	FOOTER
========================================================================== */

#footer {
	background: var(--ink-100);
	color: var(--navy-tint-70);
}

#footer #inner-footer {
	width: 92%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 5rem 0 3rem;
}

/* -- Footer > primary ------------------------------------------------------ */

#footer #inner-footer .site-footer-primary {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"services"
		"resources"
		"company";
	gap: 3rem 2rem;
}

/* -- Footer > primary > section ------------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-section {
	min-width: 0;
}

#footer #inner-footer .site-footer-primary .site-footer-services {
	grid-area: services;
}

#footer #inner-footer .site-footer-primary .site-footer-resources {
	grid-area: resources;
}

#footer #inner-footer .site-footer-primary .site-footer-company {
	grid-area: company;
}

/* -- Footer > primary > section > heading --------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-section-heading {
	margin: 0 0 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(190, 195, 200, 0.45);
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

/* -- Footer > primary > services grid ------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-services-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
}

/* -- Footer > primary > menu column --------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-column {
	display: grid;
	gap: 2rem;
	min-width: 0;
}

/* -- Footer > primary > menu navigation ----------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-navigation {
	min-width: 0;
}

/* -- Footer > primary > menu groups wrapper ------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-groups {
	display: grid;
	gap: 2rem;
	min-width: 0;
}

/* -- Footer > primary > menu group ---------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-group {
	min-width: 0;
}

/* -- Footer > primary > menu heading -------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-heading {
	margin: 0 0 0.625rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

/* -- Footer > primary > menu list ----------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-list {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* -- Footer > primary > menu item ----------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-item {
	margin: 0;
	padding: 0;
}

/* -- Footer > primary > menu link ----------------------------------------- */

#footer #inner-footer .site-footer-primary .site-footer-menu-link {
	display: inline-block;
	color: var(--navy-tint-70);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	padding-block: 0.1875rem;
	text-decoration: none;
	transition: color 180ms ease;
}

#footer #inner-footer .site-footer-primary .site-footer-menu-link:hover,
#footer #inner-footer .site-footer-primary .site-footer-menu-link:focus-visible {
	color: var(--teal-100, #03ddc2);
}

#footer #inner-footer .site-footer-primary .site-footer-menu-link:focus-visible {
	outline: 2px solid var(--teal-100, #03ddc2);
	outline-offset: 0.25rem;
	border-radius: 0.125rem;
}

/* -- Footer > secondary ---------------------------------------------------- */

#footer #inner-footer .site-footer-secondary {
	display: grid;
	justify-items: center;
	gap: 1.75rem;
	margin-top: 5rem;
	text-align: center;
}

/* -- Footer > secondary > brand ------------------------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-brand {
	display: grid;
	justify-items: center;
	gap: 1rem;
	width: 100%;
}

/* -- Footer > secondary > brand divider lines ----------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-brand::before,
#footer #inner-footer .site-footer-secondary .site-footer-brand::after {
	display: none;
	content: "";
	width: 100%;
	height: 1px;
	background: rgba(190, 195, 200, 0.45);
}

/* -- Footer > secondary > logo -------------------------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#footer #inner-footer .site-footer-secondary .site-footer-logo img {
	display: block;
	width: min(100%, 19rem);
	height: auto;
}

/* -- Footer > secondary > contact ----------------------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-contact {
	display: grid;
	gap: 0.625rem;
	margin: 0;
	color: #fff;
	font-style: normal;
	font-size: 0.875rem;
	line-height: 1.45;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact p {
	margin: 0;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact a {
	color: var(--white, #fff);
	text-decoration: none;
	transition: color 180ms ease;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact a:hover,
#footer #inner-footer .site-footer-secondary .site-footer-contact a:focus-visible {
	color: var(--teal-100, #03ddc2);
	text-decoration: underline;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact a:focus-visible {
	outline: 2px solid var(--teal-100, #03ddc2);
	outline-offset: 0.25rem;
	border-radius: 0.125rem;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact p.site-footer-contact-toll-free {
	font-size: 1rem;
	font-weight: 700;
}

#footer #inner-footer .site-footer-secondary .site-footer-contact p.site-footer-contact-toll-free span {
	color: var(--white, #fff);
}

#footer #inner-footer .site-footer-secondary .site-footer-contact p.site-footer-contact-toll-free a {
	color: var(--teal-100, #03ddc2);
}

#footer #inner-footer .site-footer-secondary .site-footer-contact-separator {
	margin: 0 0.375rem;
	color: var(--navy-tint-70);
}

/* -- Footer > secondary > social ------------------------------------------ */

#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-facebook-link .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-instagram-link .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-x-twitter-link .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-linkedin-link .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-pinterest-link .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-youtube-link .global-social-link-icon {
	color: var(--navy-tint-70);
}

#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-facebook-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-facebook-link:focus-visible .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-instagram-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-instagram-link:focus-visible .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-x-twitter-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-x-twitter-link:focus-visible .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-linkedin-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-linkedin-link:focus-visible .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-pinterest-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-pinterest-link:focus-visible .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-youtube-link:hover .global-social-link-icon,
#footer #inner-footer .site-footer-secondary .global-social-links .global-social-link.global-youtube-link:focus-visible .global-social-link-icon {
	color: var(--teal-100, #03ddc2);
}

/* -- Footer > secondary > legal ------------------------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1.25rem;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1.5;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal a {
	color: var(--navy-tint-70);
	text-decoration: none;
	transition: color 180ms ease;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal a:hover,
#footer #inner-footer .site-footer-secondary .site-footer-legal a:focus-visible {
	color: var(--teal-100, #03ddc2);
	text-decoration: underline;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal a:focus-visible {
	outline: 2px solid var(--teal-100, #03ddc2);
	outline-offset: 0.25rem;
	border-radius: 0.125rem;
}

/* -- Footer > secondary > legal nav --------------------------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-legal-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

/* -- Footer > secondary > legal nav > WordPress menu ---------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-legal-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal-list li {
	margin: 0;
	padding: 0;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal-list li:not(:last-child)::after {
	content: "·";
	margin-left: 0.5rem;
	color: var(--navy-tint-70);
}

/* -- Footer > secondary > legal nav > fallback links ---------------------- */

#footer #inner-footer .site-footer-secondary .site-footer-legal-link {
	color: var(--navy-tint-70);
	text-decoration: none;
}

#footer #inner-footer .site-footer-secondary .site-footer-legal-separator {
	color: var(--navy-tint-70);
}

/* -- 600 up ------------------------------------------------------------- */

@media only screen and (min-width: 600px) {

	/* -- Footer > primary -------------------------------------------------- */

	#footer #inner-footer .site-footer-primary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"services services"
			"resources company";
	}

	/* -- Footer > primary > services grid --------------------------------- */

	#footer #inner-footer .site-footer-primary .site-footer-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* -- 1024 up ------------------------------------------------------------ */

@media only screen and (min-width: 1024px) {

	/* -- Footer ------------------------------------------------------------ */

	#footer #inner-footer {
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

	/* -- Footer > primary -------------------------------------------------- */

	#footer #inner-footer .site-footer-primary {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-areas:
			"services services resources company";
		align-items: start;
	}
	
	/* -- Footer > primary > section > heading --------------------------------- */

	#footer #inner-footer .site-footer-primary .site-footer-section-heading {
		font-size: 1rem;
	}

	/* -- Footer > primary > menu heading ---------------------------------- */

	#footer #inner-footer .site-footer-primary .site-footer-menu-heading {
		font-size: 0.875rem;
	}

	/* -- Footer > secondary > brand --------------------------------------- */

	#footer #inner-footer .site-footer-secondary .site-footer-brand {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: center;
		gap: 1rem 2rem;
	}

	#footer #inner-footer .site-footer-secondary .site-footer-brand::before {
		display: block;
		grid-column: 1;
		grid-row: 1;
	}

	#footer #inner-footer .site-footer-secondary .site-footer-brand::after {
		display: block;
		grid-column: 3;
		grid-row: 1;
	}

	#footer #inner-footer .site-footer-secondary .site-footer-logo {
		grid-column: 2;
		grid-row: 1;
	}

	/* -- Footer > secondary > contact ------------------------------------- */

	#footer #inner-footer .site-footer-secondary .site-footer-contact {
		grid-column: 1 / -1;
		grid-row: 2;
		font-size: 0.75rem;
	}

}