/* =========================================
   FOOTER
========================================= */

.site-footer {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.site-footer,
.site-footer *,
.site-footer *::before,
.site-footer *::after {
	box-sizing: border-box;
}


/* =========================================
   MAIN FOOTER
========================================= */

.site-footer__main {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;

	background: #0000000d;
}


/* =========================================
   MAIN FOOTER CONTAINER
========================================= */

.site-footer__main .site-footer__container {
	width: 100% !important;
	max-width: 1540px !important;

	margin: 0 auto !important;

	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 70px;

	padding: 50px 150px;
}


/* =========================================
   BRAND / LOGO
========================================= */

.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	min-width: 0;
}

.site-footer__logo {
	margin-bottom: 55px;
}

.site-footer__logo .custom-logo-link {
	display: block;
	line-height: 0;
}

.site-footer__logo .custom-logo {
	display: block;

	width: auto;
	max-width: 340px;
	height: auto;
}

.site-footer__title {
	display: inline-block;

	color: var(--color-heading, #363542);

	font-family: var(--font-heading, sans-serif);
	font-size: 40px;
	font-weight: 500;
	line-height: 1;

	text-decoration: none;
}


/* =========================================
   SOCIAL
========================================= */

.site-footer__social {
	min-width: 0;
}

.site-footer__social-title {
	margin: 0 0 20px;

	color: var(--color-heading, #111111);

	font-family: var(--font-body, sans-serif);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.footer-social-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 20px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.footer-social-menu li {
	margin: 0;
	padding: 0;
}

.footer-social-menu a {
	display: flex;
	align-items: center;
	justify-content: center;

	color: var(--color-body, #5c5c5c);

	font-family: var(--font-body, sans-serif);
	font-size: 25px;
	font-weight: 600;

	text-decoration: none;

	transition:
		color 0.2s ease,
		transform 0.2s ease;
}

.footer-social-menu a:hover {
	color: var(--color-primary, #111111);
}


/* =========================================
   FOOTER MENUS
========================================= */

.footer-menu {
	display: flex;
	flex-direction: column;

	gap: 10px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.footer-menu li {
	margin: 0;
	padding: 0;
}

.footer-menu a {
	display: inline-block;

	color: var(--color-heading, #111111);

	font-family: var(--font-body, sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;

	text-decoration: none;

	transition: color 0.2s ease;
}

.footer-menu a:hover {
	color: var(--color-accent, #3264d6);
}


/* =========================================
   BOTTOM FOOTER
========================================= */

.site-footer__bottom {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--color-secondary, #ffffff);
}

.site-footer__bottom .site-footer__container {
	width: 100%;
	max-width: 1540px;

	margin: 0 auto;

	padding: 25px 150px;

	box-sizing: border-box;
}


/* =========================================
   COPYRIGHT
========================================= */

.site-footer__copyright {
	display: flex;
	align-items: center;

	gap: 16px;
}

.site-footer__credit-text {
	color: var(--color-body, #111111);

	font-family: var(--font-body, sans-serif);
	font-size: 16px;
	line-height: 1.5;
}

.site-footer__credit-text a {
	color: inherit;

	text-decoration: underline;
	text-underline-offset: 2px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

	.site-footer__main .site-footer__container {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));

		gap: 45px;

		padding: 40px 50px 44px;
	}

	.site-footer__logo {
		margin-bottom: 30px;
	}

	.site-footer__logo .custom-logo {
		max-width: 260px;
	}

	.site-footer__bottom .site-footer__container {
		padding-left: 50px;
		padding-right: 50px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	/* -----------------------------------------
	   MAIN CONTAINER
	----------------------------------------- */

	.site-footer__main .site-footer__container {
		width: 100% !important;

		display: flex;
		flex-direction: column;

		gap: 35px;

		padding: 40px 20px 35px;
	}


	/* -----------------------------------------
	   BRAND
	----------------------------------------- */

	.site-footer__brand {
		width: 100%;

		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}


	/* -----------------------------------------
	   LOGO
	----------------------------------------- */

	.site-footer__logo {
		margin-bottom: 28px;
	}

	.site-footer__logo .custom-logo {
		width: auto;
		max-width: 200px;
		max-height: 60px;

		object-fit: contain;
	}

	.site-footer__title {
		font-size: 32px;
	}


	/* -----------------------------------------
	   SOCIAL
	----------------------------------------- */

	.site-footer__social-title {
		margin-bottom: 15px;

		font-size: 15px;
	}

	.footer-social-menu {
		gap: 16px;
	}

	.footer-social-menu a {
		font-size: 22px;
	}


	/* -----------------------------------------
	   FOOTER COLUMNS
	----------------------------------------- */

	.site-footer__column {
		width: 100%;

		padding-top: 5px;
	}

	.footer-menu {
		gap: 14px;
	}

	.footer-menu a {
		font-size: 14px;
		line-height: 1.35;
	}


	/* -----------------------------------------
	   BOTTOM FOOTER
	----------------------------------------- */

	.site-footer__bottom .site-footer__container {
		width: 100%;

		padding: 20px;
	}

	.site-footer__copyright {
		display: block;
	}

	.site-footer__credit-text {
		font-size: 13px;
		line-height: 1.6;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

	.site-footer__main .site-footer__container {
		padding: 35px 18px 30px;

		gap: 30px;
	}

	.site-footer__logo .custom-logo {
		max-width: 175px;
	}

	.site-footer__title {
		font-size: 29px;
	}

	.site-footer__social-title {
		font-size: 14px;
	}

	.footer-social-menu {
		gap: 14px;
	}

	.footer-social-menu a {
		font-size: 21px;
	}

	.footer-menu {
		gap: 13px;
	}

	.footer-menu a {
		font-size: 14px;
	}

	.site-footer__bottom .site-footer__container {
		padding: 18px;
	}

	.site-footer__credit-text {
		font-size: 12px;
	}
}


/* =========================================
   VERY SMALL PHONES
========================================= */

@media (max-width: 360px) {

	.site-footer__main .site-footer__container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.site-footer__logo .custom-logo {
		max-width: 155px;
	}

	.site-footer__credit-text {
		font-size: 11px;
	}
}