.site-footer {
	position: relative;
	margin: 0;
	padding: 40px;
	background: var(--color-bg-quaternary);
	color: var(--color-secondary);
}

.site-footer,
.site-footer a {
	color: var(--color-secondary);
}

.site-footer a {
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.footer-grid {
	display: grid;
	grid-template-columns: 186.625px 223.39px 287.56px 162.23px;
	column-gap: 40px;
	align-items: start;
	justify-content: start;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}

.footer-brand {
	align-self: start;
}

.footer-logo {
	display: block;
	width: 186.625px;
	height: auto;
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 22px;
}

.footer-social a {
	display: inline-flex;
	width: 26.765px;
	height: 26.765px;
	border-radius: 50%;
}

.footer-social a:hover,
.footer-social a:focus-visible {
	opacity: 0.75;
	text-decoration: none;
}

.footer-social img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.site-footer .footer-column {
	font-size: 18px !important;
	line-height: 26.1px !important;
}

.site-footer .footer-heading {
	margin: 0;
	color: var(--color-secondary);
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 29px !important;
}

.site-footer .footer-column p,
.site-footer .footer-column a,
.site-footer .footer-column dt,
.site-footer .footer-column dd,
.site-footer .footer-column li {
	font-size: inherit !important;
	line-height: inherit !important;
}

.footer-column p {
	margin: 0;
	line-height: inherit;
}

.footer-column p + p {
	margin-top: 10px;
}

.footer-contact-list,
.footer-contact-list dd {
	margin: 0;
}

.footer-contact-list > div {
	display: grid;
	grid-template-columns: 67px minmax(0, 1fr);
	gap: 0;
	line-height: 26.1px;
}

.footer-contact-list dt,
.footer-contact-list dd {
	min-width: 0;
}

.footer-contact-list a {
	overflow-wrap: anywhere;
}

.footer-pages ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-pages li {
	margin: 0;
	line-height: 26.1px;
}

.footer-meta {
	display: grid;
	grid-template-columns: 57px 943px;
	column-gap: 75px;
	align-items: end;
	justify-content: start;
	width: 100%;
	max-width: 1360px;
	margin: 36px auto 0;
}

.site-footer .footer-legal {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	width: 57px;
	font-size: 18px !important;
	line-height: 26.1px !important;
}

.site-footer .footer-copyright {
	margin: 0;
	font-size: 12px !important;
	line-height: 17.4px !important;
	text-align: center;
}

.site-footer #toTop {
	position: absolute;
	z-index: 100;
	left: auto;
	right: max(40px, calc((100% - 1360px) / 2));
	bottom: 40px;
	width: 50px;
	height: auto;
}

.site-footer #toTop img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 1099.98px) {
	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px;
	}

	.footer-meta {
		grid-template-columns: 90px minmax(0, 1fr);
		column-gap: 40px;
	}

	.footer-legal {
		width: 90px;
	}
}

@media (min-width: 1400px) {
	.footer-grid {
		grid-template-columns:
			calc(19.05% - 40px)
			calc(22.13% - 40px)
			calc(27.53% - 40px)
			14.05%;
	}

	.footer-logo {
		width: 100%;
	}

	.footer-social {
		margin-top: 20px;
	}

	.footer-social a {
		width: 14.68%;
		height: auto;
		aspect-ratio: 1;
	}

	.footer-meta {
		grid-template-columns: 11.1% 79.6%;
		column-gap: 0;
		margin-top: 24px;
	}

	.site-footer .footer-legal {
		width: auto;
	}
}

@media (max-width: 767.98px) {
	.site-footer {
		padding: 40px 20px 87px;
	}

	.footer-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		max-width: none;
	}

	.footer-logo {
		width: 100%;
	}

	.footer-social {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5px 10px;
		justify-content: center;
		width: 100%;
		max-width: 328px;
		margin-right: auto;
		margin-left: auto;
		margin-top: 20px;
	}

	.footer-social a {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}

	.site-footer .footer-column {
		font-size: 13px !important;
		line-height: 18.85px !important;
	}

	.site-footer .footer-heading {
		font-size: 18px !important;
		line-height: 26.1px !important;
	}

	.footer-contact-list > div {
		grid-template-columns: 52px minmax(0, 1fr);
		line-height: 18.85px;
	}

	.footer-pages li {
		line-height: 18.85px;
	}

	.footer-meta {
		display: block;
		max-width: none;
		margin-top: 66px;
	}

	.site-footer .footer-legal {
		width: auto;
		font-size: 13px !important;
		line-height: 18.85px !important;
	}

	.site-footer .footer-copyright {
		font-size: 11px !important;
		line-height: 15.95px !important;
		text-align: left;
	}

	.site-footer #toTop {
		right: 20px;
		bottom: 40px;
		width: 50px;
	}
}
