/* ===================================================
   FOOTER
=================================================== */

.ulg-footer{
	position:relative;
	padding:100px 0 40px;

	background:
	linear-gradient(
		180deg,
		rgba(8,15,38,0),
		rgba(8,15,38,1)
	);

	border-top:
	1px solid
	rgba(255,255,255,.06);

	overflow:hidden;
	z-index:1;
}

.ulg-footer::before{
	content:"";
	position:absolute;
	inset:0;

	background:
	radial-gradient(
		circle at top,
		rgba(0,209,255,.08),
		transparent 60%
	);

	pointer-events:none;
}

/* ===================================================
   FOOTER GRID
=================================================== */

.ulg-footer-grid{
	display:grid;

	grid-template-columns:
		minmax(280px,1.3fr)
		repeat(3,minmax(180px,1fr));

	gap:50px;

	margin-bottom:60px;

	position:relative;
	z-index:2;
}

.ulg-footer-col{
	min-width:0;
}

.ulg-footer-col > *{
	word-break:break-word;
}

/* ===================================================
   BRAND
=================================================== */

.ulg-footer-brand{
	margin-bottom:22px;
	display:flex;
	align-items:center;
	gap:14px;
}

.ulg-footer-brand img{
	max-width:180px;
	height:auto;
}

.ulg-footer-text{
	max-width:320px;

	color:
	rgba(
		255,
		255,
		255,
		.72
	);

	line-height:1.9;
}

/* ===================================================
   FOOTER TITLES
=================================================== */

.ulg-footer-col h4{
	font-size:22px;
	margin-bottom:24px;
	color:#fff;
	line-height:1.3;
}

/* ===================================================
   FOOTER LINKS
=================================================== */

.ulg-footer-col ul{
	list-style:none;
	padding:0;
	margin:0;
}

.ulg-footer-col li{
	margin-bottom:14px;
}

.ulg-footer-col a{
	color:
	rgba(
		255,
		255,
		255,
		.74
	);

	transition:
	var(--ulg-transition);

	display:inline-flex;
	align-items:center;
	gap:8px;
}

.ulg-footer-col a:hover{
	color:
	var(--ulg-primary);

	transform:
	translateX(4px);
}

.ulg-footer-col a:focus-visible{
	outline:
	2px solid
	var(--ulg-primary);

	outline-offset:
	4px;
	border-radius:8px;
}

/* ===================================================
   CONTACT LIST
=================================================== */

.ulg-contact-list{
	list-style:none;
	padding:0;
	margin:0;

	display:flex;
	flex-direction:column;
	gap:14px;
}

.ulg-contact-list li{
	display:flex;
	align-items:flex-start;
	gap:12px;
}

.ulg-contact-list a{
	font-weight:600;
	word-break:break-word;
}

/* ===================================================
   SOCIALS
=================================================== */

.ulg-socials{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:24px;
}

.ulg-social-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-height:46px;
	padding:12px 18px;

	border-radius:999px;

	background:
	rgba(
		255,
		255,
		255,
		.05
	);

	border:
	1px solid
	var(--ulg-border);

	font-size:14px;
	font-weight:600;

	backdrop-filter:
	blur(14px);

	-webkit-backdrop-filter:
	blur(14px);

	transition:
	var(--ulg-transition);
}

.ulg-social-link:hover{
	background:
	rgba(
		255,
		255,
		255,
		.1
	);

	transform:
	translateY(-2px);
}

.ulg-social-link:focus-visible{
	outline:
	2px solid
	var(--ulg-primary);

	outline-offset:
	4px;
}

/* ===================================================
   FOOTER WIDGETS
=================================================== */

.ulg-footer-widget{
	margin-bottom:20px;
}

.ulg-footer-widget ul{
	list-style:none;
	padding:0;
	margin:0;
}

.ulg-footer-widget li{
	margin-bottom:12px;
}

.ulg-footer-widget a{
	color:
	rgba(
		255,
		255,
		255,
		.72
	);

	word-break:break-word;
}

.ulg-footer-widget a:hover{
	color:
	var(--ulg-primary);
}

/* ===================================================
   FOOTER BOTTOM
=================================================== */

.ulg-footer-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:20px;

	padding-top:30px;

	border-top:
	1px solid
	rgba(
		255,
		255,
		255,
		.06
	);

	position:relative;
	z-index:2;
}

.ulg-footer-copy{
	color:
	rgba(
		255,
		255,
		255,
		.6
	);

	font-size:14px;
	line-height:1.8;
}

.ulg-footer-menu{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:20px;

	list-style:none;
	padding:0;
	margin:0;
}

.ulg-footer-menu a{
	color:
	rgba(
		255,
		255,
		255,
		.7
	);

	font-size:14px;
	font-weight:500;

	transition:
	var(--ulg-transition);
}

.ulg-footer-menu a:hover{
	color:
	var(--ulg-primary);
}

/* ===================================================
   TABLET
=================================================== */

@media(max-width:1100px){

	.ulg-footer-grid{
		grid-template-columns:
		repeat(
			2,
			minmax(0,1fr)
		);

		gap:40px;
	}
}

/* ===================================================
   MOBILE
=================================================== */

@media(max-width:768px){

	.ulg-footer{
		padding:
		80px 0 30px;
	}

	.ulg-footer-grid{
		grid-template-columns:
		1fr;

		gap:36px;
	}

	.ulg-footer-bottom{
		flex-direction:column;
		align-items:flex-start;
	}

	.ulg-footer-menu{
		width:100%;
		gap:14px;
	}

	.ulg-footer-text{
		max-width:100%;
	}

	.ulg-socials{
		width:100%;
	}
}

/* ===================================================
   ELEMENTOR FIX
=================================================== */

.elementor-location-footer
.ulg-footer{
	margin-top:0;
}