/* @group Site Footer
------------------------------------ */

.site-footer {
	color: var(--flat-black);
	background: var(--soft-white);
	border-top: 1px solid var(--tower-red);
	padding-block: 3rem 0;
	position: relative;
	isolation: isolate;
}
.site-footer a {
	font: inherit;
}
.site-footer a:not(.logo):hover {
	opacity: .7;
}

.site-footer .menu-col .secondary-menu {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin: 0 0 1.8rem;
}
.site-footer .menu-col .secondary-menu li {
	--fw: 700;
	--fs: 1.6rem;
	--lh: 1em;
	--ls: .0125em;
}

.site-footer .logo-col {
	text-align: center;
}
.site-footer .logo-col .logo {
	height: 5rem;
	margin: 0 0 2.1rem;
}
.site-footer .logo-col .logo img {
	object-fit: contain;
}

.site-footer .copy-col {
	text-align: right;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 3rem;
}
.site-footer .copy-col .social {
	display: flex;
	justify-content: flex-end;
	gap: .75rem;
}
.site-footer .copy-col .social .icon {
	height: 3rem;
}
.site-footer .copy-col .social .icon img {
	object-fit: contain;
}
.site-footer .copy-col .privacy-menu li a {
	text-decoration: underline;
}
.site-footer .copy-col .copy {
	--fs: 1.6rem;
	--lh: 1.56em;
}

.site-footer .brand-col {
	margin-top: 3.4rem;
	padding-block: 1rem .7rem;
	position: static;
	color: var(--soft-white);
}
.site-footer .brand-col::before {
	content: '';
	position: absolute;
	pointer-events: none;
	width: 100vw;
	height: 3.4rem;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
	background: var(--flat-black);
	z-index: var(--z-index-under);
}
.site-footer .brand-col p {
	--fs: 1.4rem;
	--lh: 1.4em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
}
.site-footer .brand-col p a {
	line-height: 1em;
}
.site-footer .brand-col p img {
	width: 10.1rem;
	height: auto;
}

@media only screen 
and (min-width : 961px) {
	.site-footer {
		padding-block: 4rem 0;
	}
	.site-footer :is(.row, #important) {
		align-items: flex-start;
	}
	.site-footer .menu-col  {
		padding-top: .8rem;
	}
	.site-footer .menu-col .secondary-menu {
		gap: 5.3rem;
	}
	.site-footer .menu-col .secondary-menu li {
		--fs: 1.5rem;
		--ls: .013em;
	}
	.site-footer .menu-col .phone {
		--ls: .0133em
	}
	.site-footer .logo-col .logo {
		height: 9.2rem;
		margin: 0 0 4.6rem;
	}
	.site-footer .logo-col .directions {
		--lh: 1.46em;
		--ls: .0133em;
	}
	.site-footer .copy-col {
		gap: 4.3rem;
	}
	.site-footer .copy-col .social {
		gap: .5rem;
		margin-top: .3rem;
	}
	.site-footer .copy-col .social .icon {
		height: 2.4rem;
	}
	.site-footer .copy-col .privacy-menu li {
		--lh: 1.46em;
		--ls: .0133em;
	}
	.site-footer .copy-col .copy {
		--fs: 1.5rem;
		--lh: 1.46em;
		--ls: .0133em;
	}
	.site-footer .brand-col p {
		justify-content: flex-start;
	}
}

@media only screen 
and (min-width : 0) 
and (max-width : 960px) {
	.site-footer :is(.row, #important) {
		flex-direction: row;
		align-items: center;
	}
	.site-footer :is(.logo-col) {
		order: -1;
		margin: 0 0 5rem;
	}
	.site-footer :is(.menu-col, .copy-col, #important) {
		flex: 0 1 50%;
		max-width: 50%;
	}
	.site-footer .brand-col {
		text-align: center;
	}
}

/* @end */


/* Animations
------------------------------------ */
:where(#wrapper) .contenedor .elemento {
	opacity: 0;
	--duration: 1s;
}
:where(#wrapper) .contenedor.animateActive .elemento {
	animation: fade var(--duration) forwards;
	animation-delay: var(--delay, 0);
}
:where(#wrapper) .contenedor.animateActive .elemento {
    --delay: 0.3s;
}