/* Project Bonhoeffer Studio: site footer (Elementor footer template, native containers). */

.pb-ui .pb-footer {
	background: var(--pb-night) !important;
	background-image: radial-gradient(60% 70% at 100% 100%, rgba(43, 31, 214, 0.35) 0%, rgba(43, 31, 214, 0) 65%) !important;
	border-top: 4px solid var(--pb-signal);
	padding: clamp(64px, 8vw, 104px) var(--pb-gutter) 28px !important;
	overflow: hidden;
}

.pb-ui .pb-footer > .e-con-inner {
	gap: 0 !important;
}

.pb-ui .pb-footer__top {
	display: grid !important;
	grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 3fr);
	gap: 40px clamp(32px, 5vw, 72px) !important;
	padding: 0 0 clamp(48px, 6vw, 72px) !important;
}

.pb-ui .pb-footer__brand,
.pb-ui .pb-footer__col {
	gap: 18px !important;
	padding: 0 !important;
}

.pb-ui .pb-footer-logo img {
	width: 190px !important;
	height: auto !important;
	border-radius: 0 !important;
}

.pb-ui .pb-footer-logo {
	text-align: left !important;
}

.pb-ui .elementor-location-footer .pb-footer-about,
.pb-ui .elementor-location-footer .pb-footer-about :is(p, span) {
	font-family: var(--pb-serif) !important;
	font-size: 1.05rem !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	max-width: 38ch;
}

.pb-ui .elementor-location-footer .pb-footer-mail a {
	font-family: var(--pb-sans) !important;
	font-weight: 700;
	font-size: 1.05rem;
	color: #FFFFFF !important;
	text-decoration: none;
	border-bottom: 2px solid var(--pb-signal);
	padding-bottom: 2px;
	transition: color 0.2s var(--pb-ease);
}

.pb-ui .elementor-location-footer .pb-footer-mail a:hover {
	color: var(--pb-signal) !important;
}

.pb-ui .elementor-location-footer .pb-footer-title .elementor-heading-title {
	font-family: var(--pb-sans) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--pb-signal) !important;
}

.pb-ui .elementor-location-footer .pb-footer-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.pb-ui .elementor-location-footer .pb-footer-links li {
	margin: 0;
}

.pb-ui .elementor-location-footer .pb-footer-links a {
	font-family: var(--pb-sans) !important;
	font-size: 1rem !important;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.86) !important;
	text-decoration: none !important;
	background: linear-gradient(var(--pb-signal), var(--pb-signal)) 0 100% / 0 2px no-repeat;
	padding-bottom: 2px;
	transition: background-size 0.3s var(--pb-ease), color 0.2s var(--pb-ease);
}

.pb-ui .elementor-location-footer .pb-footer-links a:hover {
	color: #FFFFFF !important;
	background-size: 100% 2px;
}

.pb-ui .elementor-location-footer .elementor-social-icons-wrapper {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
}

.pb-ui .elementor-location-footer .elementor-social-icon {
	width: 44px !important;
	height: 44px !important;
	display: inline-grid !important;
	place-items: center;
	font-size: 18px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.1) !important;
	transition: background-color 0.2s var(--pb-ease), transform 0.2s var(--pb-ease);
}

.pb-ui .elementor-location-footer .elementor-social-icon :is(i, svg) {
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
}

.pb-ui .elementor-location-footer .elementor-social-icon:hover {
	background: var(--pb-signal) !important;
	transform: translateY(-2px);
}

.pb-ui .elementor-location-footer .elementor-social-icon:hover :is(i, svg) {
	color: var(--pb-night) !important;
	fill: var(--pb-night) !important;
}

/* The wordmark: the full name, whole, sized to the width of the footer. */
.pb-ui .pb-wordmark {
	container-type: inline-size;
	width: 100% !important;
	padding-bottom: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	padding-top: clamp(28px, 4vw, 48px);
}

.pb-ui .elementor-location-footer .pb-wordmark .elementor-heading-title {
	font-family: var(--pb-sans) !important;
	font-size: min(10.4cqi, 10rem) !important;
	font-weight: 900 !important;
	font-stretch: 72% !important;
	line-height: 0.82 !important;
	letter-spacing: -0.01em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	color: transparent !important;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.28);
	transition: -webkit-text-stroke-color 0.4s var(--pb-ease);
}

.pb-ui .elementor-location-footer .pb-wordmark:hover .elementor-heading-title {
	-webkit-text-stroke-color: var(--pb-signal);
}

.pb-ui .pb-footer__bottom {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px 24px !important;
	padding: 24px 0 0 !important;
}

.pb-ui .pb-footer__bottom > .elementor-widget {
	width: auto !important;
	margin: 0 !important;
}

.pb-ui .elementor-location-footer .pb-footer-legal,
.pb-ui .elementor-location-footer .pb-footer-legal :is(p, span, a) {
	font-family: var(--pb-sans) !important;
	font-size: 0.85rem !important;
	color: rgba(255, 255, 255, 0.55) !important;
	text-decoration: none !important;
}

.pb-ui .elementor-location-footer .pb-footer-legal a:hover {
	color: #FFFFFF !important;
}

.pb-ui .elementor-location-footer .pb-footer-legal p {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}

@media (max-width: 900px) {
	.pb-ui .pb-footer__top {
		grid-template-columns: 1fr 1fr;
	}
	.pb-ui .pb-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 520px) {
	.pb-ui .pb-footer__top {
		grid-template-columns: 1fr;
	}
}
