/* Footer Styles */

.footer {
	padding: 53px 0 32px;
	color: var(--color-white);
	background-color: var(--color-primary);
}

.footer .column {
	position: relative;
	float: none;
}

.footer-logoBg {
	position: absolute;
	top: -25px;
	left: -30px;
	width: 416px;
	opacity: 0.05;
	pointer-events: none;
}

.footer-logoBg img {
	display: block;
	width: 100%;
}

.footer .h2 {
	margin-bottom: 37px;
	text-align: center;
	color: inherit;
	overflow: hidden;
	line-height: 1;
	letter-spacing: -0.063rem;
}

.footer .h2 span {
	color: var(--color-alternate);
}

.footer .h2 strong {
	display: block;
	font-weight: 500;
}

.footer-inner {
	position: relative;
	z-index: 1;
}

.footer-left {
	margin-bottom: 58px;
}

.footer-subtitle {
	margin-bottom: 14px;
	font-size: 1.125rem;
	text-align: center;
	line-height: 1.25rem;
}

.footer h3 {
	margin-bottom: 10px;
	text-align: center;
	color: inherit;
	line-height: 1;
	letter-spacing: -0.063rem;
}

.footer .accordion-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.footer .accordion-item-content {
	padding-top: 0;
	color: var(--color-white);
}

.footer .accordion-item-title {
	font-size: 1.563rem;
	color: var(--color-white);
}

.footer .accordion-item-title:focus,
.footer .accordion-item-title:hover {
	color: var(--color-white);
}

.footer-bottom {
	margin-top: 41px;
	padding-top: 21px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	text-align: center;
}

.footer-bottom-only {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.footer-bottom-only-page {
	padding-top: 40px;
	padding-bottom: 40px;
}

.footer-bottom-inner {
	margin-bottom: 8px;
}

.footer-bottom ul {
	margin-bottom: 0;
	margin-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.footer-bottom li {
	font-size: 0.75rem;
}

.footer-bottom li:after {
	margin: -2px 4px 0;
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 11px;
	background-color: var(--color-white);
	content: '';
}

.footer-bottom li:first-child {
	margin-right: 3px;
}

.footer-bottom li:first-of-type:after,
.footer-bottom li:last-of-type:after {
	display: none;
}

.footer-bottom li a {
	color: var(--color-white);
}

.footer-bottom li a:focus,
.footer-bottom li a:hover {
	color: var(--color-alternate);
}

.footer-bottom .social-links {
	margin-bottom: 10px;
	justify-content: center;
}

.footer-bottom p {
	margin-bottom: 0;
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.4;
}

.footer-bottom p a {
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
}

.footer-bottom p a:focus,
.footer-bottom p a:hover {
	color: var(--color-white);
	text-decoration: underline;
}

@media screen and (min-width: 768px) {
	.footer {
		padding: 73px 0 50px;
	}

	.footer-logoBg {
		top: 227px;
		left: -98px;
		width: 436px;
	}

	.footer .h2 {
		margin-bottom: 60px;
		font-size: var(--font-size-h1);
		letter-spacing: -0.125rem;
	}

	.footer-subtitle {
		margin-bottom: 27px;
		font-size: 1.438rem;
	}

	.footer-bottom {
		margin-top: 50px;
		padding-top: 21px;
		text-align: left;
	}

	.footer-bottom-only {
		margin-top: 0;
		padding-top: 0;
	}

	.footer-bottom-only-page {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.footer-bottom-inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.footer-bottom ul {
		margin-bottom: 0;
		order: 1;
	}

	.footer-bottom .social-links {
		margin-bottom: 0;
		order: 2;
	}

	.footer-bottom p {
		width: calc(100% - 250px);
		max-width: 100%;
	}
}

@media screen and (min-width: 1025px) {
	.footer-inner {
		display: grid;
		gap: 82px;
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-left {
		margin-bottom: 0;
	}

	.footer h3 {
		text-align: left;
	}
}