/* Keep the global footer at the viewport edge on short pages, while preserving
   the normal document flow when the page content is taller than the screen. */
html,
body:not(.et-fb) {
	min-height: 100%;
}

body:not(.et-fb) #page-container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100svh;
	box-sizing: border-box;
}

/* Divi wraps the main area in #et-boc whenever the Theme Builder is active. */
body:not(.et-fb) #page-container > #et-boc {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

body:not(.et-fb) #et-main-area {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

body:not(.et-fb) #main-content {
	flex: 1 0 auto;
}

body:not(.et-fb) .et-l--footer {
	flex: 0 0 auto;
	margin-top: auto;
}

.ach-global-footer {
	position: relative;
	padding: clamp(28px, 3vw, 38px) 0 15px !important;
	background:
		radial-gradient(circle at 8% 25%, rgba(239, 115, 94, .055), transparent 22%),
		linear-gradient(118deg, rgba(131, 216, 206, .075), transparent 52%),
		#052f30 !important;
	border-top: 0;
	isolation: isolate;
	overflow: hidden;
}

.ach-global-footer::before {
	content: "";
	position: absolute;
	top: -210px;
	right: -110px;
	z-index: -1;
	width: 390px;
	height: 390px;
	border: 1px solid rgba(131, 216, 206, .09);
	border-radius: 50%;
	box-shadow:
		0 0 0 46px rgba(131, 216, 206, .025),
		0 0 0 92px rgba(131, 216, 206, .016);
	pointer-events: none;
}

.ach-global-footer::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(1160px, calc(100% - 64px));
	height: 2px;
	background: linear-gradient(90deg, transparent, #ef735e 12%, #9bd8d1 42%, transparent 88%);
	opacity: .72;
	transform: translateX(-50%);
	pointer-events: none;
}

.ach-global-footer .et_pb_row {
	position: relative;
	z-index: 1;
	width: calc(100% - 64px) !important;
	max-width: 1160px !important;
	padding: 0 !important;
}

.ach-global-footer .ach-global-footer__main {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(420px, 1fr);
	align-items: start;
	gap: 0;
	padding: clamp(23px, 2.4vw, 31px) clamp(24px, 2.8vw, 34px) !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));
	border: 1px solid rgba(155, 216, 209, .15);
	border-radius: 22px;
	box-shadow:
		0 18px 44px rgba(0, 20, 21, .2),
		inset 0 1px 0 rgba(255, 255, 255, .035);
}

/* Divi's clearfix becomes an empty grid item and creates an extra row gap. */
.ach-global-footer__main::after {
	content: none !important;
	display: none !important;
}

.ach-global-footer__main > .et_pb_column,
.ach-global-footer__bottom > .et_pb_column {
	width: 100% !important;
	margin: 0 !important;
}

.ach-global-footer__warning {
	padding-right: clamp(28px, 3vw, 42px);
}

.ach-global-footer__heading,
.ach-global-footer__copy,
.ach-global-footer__navigation-heading,
.ach-global-footer__links,
.ach-global-footer__credits {
	margin: 0 !important;
}

.ach-global-footer__heading h2,
.ach-global-footer__navigation-heading h3 {
	margin: 0;
	padding: 0;
	color: #ffc0b3;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ach-global-footer__heading h2,
.ach-global-footer .anticiclic-footer-links__group-title {
	display: flex;
	align-items: center;
	gap: 9px;
}

.ach-global-footer__heading h2::before,
.ach-global-footer .anticiclic-footer-links__group-title::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 2px;
	background: #ef735e;
	border-radius: 999px;
	box-shadow: 0 0 10px rgba(239, 115, 94, .18);
}

.ach-global-footer__copy {
	max-width: 780px;
	margin-top: 10px !important;
}

.ach-global-footer__copy p {
	margin: 0;
	color: rgba(229, 245, 242, .7);
	font-size: 13px;
	line-height: 1.55;
}

.ach-global-footer__copy p + p { margin-top: 5px; }
.ach-global-footer__copy strong { color: #fff; font-weight: 760; }

/* The two link groups are explicit enough without a repeated generic title. */
.ach-global-footer__navigation-heading {
	display: none !important;
}

.anticiclic-footer-links__group-title {
	display: block;
	margin: 0 0 5px;
	color: #ffc0b3;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.anticiclic-footer-links__group + .anticiclic-footer-links__group {
	margin-top: 11px;
	padding-top: 11px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.ach-global-footer__navigation {
	position: relative;
	padding: 0 0 0 clamp(28px, 3vw, 42px);
	background: transparent;
	border: 0;
	border-left: 1px solid rgba(155, 216, 209, .14);
	border-radius: 0;
	box-shadow: none;
}

.ach-global-footer .anticiclic-footer-links {
	display: grid;
	grid-template-columns: minmax(230px, 1.15fr) minmax(150px, .85fr);
	align-items: start;
	gap: 0;
	min-width: 0;
}

.ach-global-footer .anticiclic-footer-links__group {
	display: block;
	min-width: 0;
}

.ach-global-footer .anticiclic-footer-links__group-title {
	margin: 0 0 11px;
	white-space: nowrap;
}

.ach-global-footer .anticiclic-footer-links__group + .anticiclic-footer-links__group {
	margin: 0;
	padding: 0 0 0 clamp(24px, 2.5vw, 34px);
	border-top: 0;
	border-left: 1px solid rgba(155, 216, 209, .14);
}

.ach-global-footer__navigation::before {
	content: none;
	display: none;
}

.ach-global-footer__navigation-heading h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
}

.ach-global-footer__navigation-heading h3::before {
	content: "";
	width: 6px;
	height: 6px;
	background: #ef735e;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(239, 115, 94, .12);
}

.ach-global-footer .anticiclic-footer-links ul {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ach-global-footer .anticiclic-footer-links li {
	margin: 0 !important;
	padding: 0 !important;
}

.ach-global-footer .anticiclic-footer-links a {
	display: inline-flex;
	align-items: center;
	color: rgba(229, 245, 242, .68);
	font-size: 12px;
	line-height: 1.45;
	text-decoration: none;
	transition: color .18s ease, transform .18s ease;
}

.ach-global-footer .anticiclic-footer-links a:hover,
.ach-global-footer .anticiclic-footer-links a:focus-visible {
	color: #fff;
	text-decoration: none;
	transform: translateX(2px);
}

.ach-global-footer .anticiclic-footer-links__link--donation {
	gap: 6px;
}

.ach-global-footer .anticiclic-footer-links__donation-icon {
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
	fill: none;
	stroke: #ef8875;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke .18s ease, transform .18s ease;
}

.ach-global-footer .anticiclic-footer-links__link--donation:hover .anticiclic-footer-links__donation-icon,
.ach-global-footer .anticiclic-footer-links__link--donation:focus-visible .anticiclic-footer-links__donation-icon {
	stroke: #ffc0b3;
	transform: translateY(-1px) scale(1.05);
}

.ach-global-footer .ach-global-footer__bottom {
	width: fit-content !important;
	max-width: calc(100% - 64px) !important;
	margin: 14px auto 0 !important;
	padding: 7px 16px !important;
	background: rgba(0, 21, 22, .2);
	border: 1px solid rgba(155, 216, 209, .1);
	border-radius: 999px;
}

.ach-global-footer .anticiclic-copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	color: rgba(229, 245, 242, .53);
	font-size: 11px;
	letter-spacing: .025em;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}

.ach-global-footer .anticiclic-copyright p {
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
}
.ach-global-footer .anticiclic-copyright p + p::before {
	content: "•";
	margin: 0 9px;
	color: rgba(229, 245, 242, .3);
}
.ach-global-footer .anticiclic-copyright__restriction { color: rgba(229, 245, 242, .42); }

body.et-db #main-footer,
body.et_pb_theme_builder_template #main-footer {
	display: none !important;
}

@media (max-width: 980px) {
	.ach-global-footer .ach-global-footer__main { grid-template-columns: 1fr; gap: 24px; }
	.ach-global-footer__warning { padding-right: 0; }
	.ach-global-footer__navigation {
		padding: 24px 0 0;
		border-top: 1px solid rgba(155, 216, 209, .14);
		border-left: 0;
	}
	.ach-global-footer .anticiclic-footer-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 760px) {
	.ach-global-footer .et_pb_row { width: calc(100% - 36px) !important; }
	.ach-global-footer .ach-global-footer__main {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 21px 18px !important;
		border-radius: 18px;
	}
	.ach-global-footer__navigation {
		padding: 20px 0 0;
	}
	.ach-global-footer .anticiclic-footer-links { display: block; }
	.ach-global-footer .anticiclic-footer-links__group { display: block; }
	.ach-global-footer .anticiclic-footer-links__group-title { margin-bottom: 5px; }
	.ach-global-footer .anticiclic-footer-links__group + .anticiclic-footer-links__group {
		margin: 14px 0 0;
		padding: 14px 0 0;
		border-top: 1px solid rgba(155, 216, 209, .14);
		border-left: 0;
	}
	.ach-global-footer .anticiclic-footer-links ul { flex-flow: row wrap; gap: 7px 18px; }
	.ach-global-footer .anticiclic-footer-links a { white-space: normal; }
	.ach-global-footer .anticiclic-copyright {
		flex-wrap: wrap;
		font-size: clamp(8px, 2.45vw, 11px);
		letter-spacing: 0;
		white-space: normal;
	}
	.ach-global-footer .ach-global-footer__bottom {
		width: calc(100% - 36px) !important;
		max-width: none !important;
		border-radius: 14px;
	}
	.ach-global-footer .anticiclic-copyright p + p::before { margin: 0 5px; }
}

@media (prefers-reduced-motion: reduce) {
	.ach-global-footer .anticiclic-footer-links a { transition: none; }
	.ach-global-footer .anticiclic-footer-links__donation-icon { transition: none; }
	.ach-global-footer .anticiclic-footer-links a:hover,
	.ach-global-footer .anticiclic-footer-links a:focus-visible { transform: none; }
	.ach-global-footer .anticiclic-footer-links__link--donation:hover .anticiclic-footer-links__donation-icon,
	.ach-global-footer .anticiclic-footer-links__link--donation:focus-visible .anticiclic-footer-links__donation-icon { transform: none; }
}
