/* ==========================================================
   Avada site footer
   Add these classes to the matching Avada Builder elements.
   ========================================================== */

/* Top-level Avada Container */
.site-footer-cta {
	position: relative;
	margin-top: 120px !important;
	padding-top: 0 !important;
	background: var(--color-surface-subtle) !important;
	border: var(--border-width-button) solid var(--color-border);
	border-bottom: 0;
	border-radius: var(--radius-xl) var(--radius-xl) 0 0;
	box-shadow: 8px 8px 0 var(--color-shadow);
	overflow: visible !important;
}

html body .site-footer-cta.fusion-builder-row.fusion-row,
html body .site-footer-cta .fusion-builder-row.fusion-row {
	align-items: center;
	gap: 0;
	width: 100% !important;
	max-width: 1200px !important;
	box-sizing: border-box;
	margin-right: auto !important;
	margin-left: auto !important;
	overflow: visible !important;
}

/* Left Avada Column */
.site-footer-copy {
	padding:
		clamp(28px, 4vw, 56px)
		var(--space-6)
		clamp(36px, 6vw, 88px)
		clamp(72px, 8vw, 140px) !important;
}

.site-footer-copy > .fusion-column-wrapper {
	width: 100%;
	max-width: 520px;
	margin-right: 0 !important;
	margin-left: auto !important;
}

.site-footer-eyebrow {
	display: inline-block;
	margin: 0 0 var(--space-4) !important;
	color: var(--color-brand-strong) !important;
	font-family: var(--font-family-body);
	font-size: var(--font-size-300);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-widest);
	text-transform: uppercase;
}

.site-footer-title h2,
.site-footer-title .title-heading-left {
	max-width: 12ch;
	margin: 0 !important;
	color: var(--color-text) !important;
	font-family: var(--font-family-display) !important;
	font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
	font-weight: var(--font-weight-extrabold) !important;
	line-height: var(--line-height-display) !important;
	letter-spacing: var(--letter-spacing-tight) !important;
}

.site-footer-description,
.site-footer-description p {
	max-width: 48ch;
	color: var(--color-text-muted) !important;
	font-size: var(--font-size-600) !important;
}

.site-footer-description {
	margin-block: var(--space-5) var(--space-8);
}

.site-footer-button {
	display: inline-flex !important;
}

/* Right Avada Column and Image element */
.site-footer-visual {
	position: relative;
	align-self: stretch;
	min-height: 520px;
	background: transparent;
	padding:
		0
		clamp(24px, 4vw, 56px)
		clamp(24px, 4vw, 56px)
		var(--space-6) !important;
	transform: translateY(calc(0px - var(--space-12) - var(--space-12)));
	margin-bottom: calc(0px - var(--space-12) - var(--space-12));
	z-index: 2;
	overflow: visible !important;
}

.site-footer-visual > .fusion-column-wrapper {
	align-items: flex-start !important;
	width: 100%;
	margin-right: auto !important;
	margin-left: 0 !important;
	text-align: left !important;
}

.site-footer-image,
.site-footer-image .fusion-imageframe {
	position: relative;
	display: block;
	width: 100% !important;
	max-width: 700px !important;
	height: 100%;
	margin-right: auto;
	margin-left: 0;
	overflow: visible !important;
}

.site-footer-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 410px;
	object-fit: cover;
	max-width: 700px !important;
	border: 0 !important;
	border-radius: var(--radius-lg);
	box-shadow: none !important;
}

html body .site-footer-visual .site-footer-image,
html body .site-footer-visual .site-footer-image.fusion-imageframe,
html body .site-footer-visual .site-footer-image .fusion-imageframe {
	border: 0 !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-button) !important;
	overflow: visible !important;
}

/* Bottom top-level Avada Container */
.site-footer-base {
	background: var(--color-surface-subtle) !important;
	border: var(--border-width-button) solid var(--color-border);
	border-top: 0;
	border-radius: 0 0 var(--radius-xl) var(--radius-xl);
	box-shadow: 8px 8px 0 var(--color-shadow);
	color: var(--color-text);
}

.site-footer-base > .fusion-builder-row {
	align-items: center;
	gap: 0;
}

.site-footer-brand {
	color: var(--color-text) !important;
	font-family: var(--font-family-display) !important;
	font-size: var(--font-size-700) !important;
	font-weight: var(--font-weight-extrabold) !important;
}

.site-footer-menu a,
.site-footer-social a {
	color: var(--color-brand-strong) !important;
}

.site-footer-menu a:hover,
.site-footer-social a:hover {
	color: var(--primary-300) !important;
}

.site-footer-legal,
.site-footer-legal p {
	margin: 0;
	color: var(--color-text-muted) !important;
	font-size: var(--font-size-300);
}

@media (max-width: 1024px) {
	.site-footer-copy {
		padding: 32px var(--space-3) 40px 0 !important;
	}

	.site-footer-visual {
		min-height: 440px;
		transform: translateY(calc(0px - var(--space-8) - var(--space-8)));
		margin-bottom: calc(0px - var(--space-8) - var(--space-8));
	}
}

@media (min-width: 641px) {
	html body .site-footer-cta.fusion-builder-row.fusion-row,
	html body .site-footer-cta .fusion-builder-row.fusion-row {
		flex-wrap: nowrap !important;
	}

	html body .site-footer-cta .site-footer-copy,
	html body .site-footer-cta .site-footer-visual {
		min-width: 0;
	}

	html body .site-footer-cta .site-footer-copy {
		--awb-width-large: 45% !important;
		--awb-width-medium: 45% !important;
		width: 45% !important;
		max-width: 45% !important;
		flex: 0 0 45% !important;
		flex-basis: 45% !important;
	}

	html body .site-footer-cta .site-footer-visual {
		--awb-width-large: 55% !important;
		--awb-width-medium: 55% !important;
		width: 55% !important;
		max-width: 55% !important;
		flex: 0 0 55% !important;
		flex-basis: 55% !important;
	}

	.site-footer-visual .fusion-imageframe,
	.site-footer-visual .site-footer-image {
		display: block !important;
		margin-right: auto !important;
		margin-left: 0 !important;
	}
}

@media (max-width: 640px) {
	.site-footer-cta {
		margin-top: 0 !important;
		border: var(--border-width-button) solid var(--color-border) !important;
		border-bottom: 0 !important;
		border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
		box-shadow: var(--shadow-field) !important;
	}

	.site-footer-base {
		border: var(--border-width-button) solid var(--color-border) !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.site-footer-cta > .fusion-builder-row,
	.site-footer-base > .fusion-builder-row {
		gap: var(--space-8);
	}

	.site-footer-copy {
		padding: 28px var(--space-5) 24px !important;
	}

	.site-footer-copy > .fusion-column-wrapper {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: left !important;
	}

	.site-footer-visual {
		min-height: 360px;
		padding: 0 var(--space-5) var(--space-5) !important;
		transform: translateY(calc(0px - var(--space-5) - var(--space-5)));
		margin-bottom: calc(0px - var(--space-5) - var(--space-5));
	}

	.site-footer-visual > .fusion-column-wrapper {
		align-items: center !important;
		text-align: center !important;
	}

	.site-footer-visual .site-footer-image,
	.site-footer-visual .site-footer-image.fusion-imageframe,
	.site-footer-visual .site-footer-image .fusion-imageframe {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.site-footer-image img {
		min-height: 310px;
	}

	.site-footer-base {
		text-align: center;
	}
}
