/* Homepage footer redesign */
#footer.rg-home-footer,
#footer.rg-home-footer * {
	box-sizing: border-box;
}

#footer.rg-home-footer {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #202426;
	color: #f0f2f3;
	font-family: 'Swis721 Cn BT', Arial, sans-serif;
}

body.tahefobu-hide-theme-footer #footer.rg-home-footer,
body.tahefobu-hide-theme-footer footer.rg-home-footer {
	display: block !important;
}

#footer.rg-home-footer a {
	color: inherit;
	text-decoration: none;
}

#footer.rg-home-footer a:hover,
#footer.rg-home-footer a:focus {
	color: #ffffff;
	text-decoration: none;
}

.rg-home-footer__inner,
.rg-home-footer__bar-inner {
	width: min(100%, 1580px);
	margin: 0 auto;
	padding-right: 24px;
	padding-left: 24px;
}

.rg-home-footer__partners {
	position: relative;
	padding: 42px 0 52px;
	background: #282e30;
	border-top: 2px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	text-align: center;
}

.rg-home-footer__partners::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(528px, 46vw);
	height: 4px;
	background: #d20000;
	transform: translateX(-50%);
}

.rg-home-footer__title {
	position: relative;
	margin: 0;
	color: #e00000;
	font-size: clamp(30px, 2.4vw, 42px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
}

.rg-home-footer__title::after {
	content: "";
	display: block;
	width: 160px;
	height: 3px;
	margin: 14px auto 0;
	background: rgba(210, 0, 0, 0.86);
}

.rg-home-footer__subtitle {
	margin: 14px 0 0;
	color: #aeb4b6;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
}

.rg-home-footer__partner-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
	width: min(100%, 1500px);
	margin: 0 auto;
	padding-top: 52px;
}

.rg-home-footer__partner {
	min-width: 0;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	background: #2e3436;
}

.rg-home-footer__partner img {
	width: auto;
	max-width: 100%;
	max-height: 58px;
	object-fit: contain;
	opacity: 0.92;
	transition: opacity 0.18s ease;
}

.rg-home-footer__partner:hover img {
	opacity: 1;
}

.rg-home-footer__contact {
	padding: 88px 0 50px;
	background: #111314;
}

.rg-home-footer__contact-card {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) 260px;
	align-items: center;
	gap: 34px;
	width: min(100%, 1390px);
	min-height: 158px;
	margin: 0 auto;
	padding: 34px 44px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 5px;
	background: #0c0e0f;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.rg-home-footer__message-icon {
	width: 90px;
	height: 62px;
	position: relative;
	justify-self: center;
	border: 3px solid #879093;
	border-radius: 7px;
}

.rg-home-footer__message-icon::before {
	content: "";
	position: absolute;
	bottom: -18px;
	left: 16px;
	width: 28px;
	height: 18px;
	border-bottom: 3px solid #879093;
	border-left: 3px solid #879093;
	transform: skewX(-28deg);
}

.rg-home-footer__message-icon span {
	position: absolute;
	inset: 14px 18px auto auto;
	width: 54px;
	height: 1px;
	background: rgba(135, 144, 147, 0.5);
	box-shadow: 0 14px 0 rgba(135, 144, 147, 0.42);
}

.rg-home-footer__contact-copy {
	min-width: 0;
}

.rg-home-footer__contact-copy h2 {
	margin: 0 0 10px;
	color: #e00000;
	font-size: clamp(26px, 2.1vw, 34px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
}

.rg-home-footer__contact-lead,
.rg-home-footer__contact-note {
	margin: 0;
	font-family: Arial, sans-serif;
	letter-spacing: 0;
}

.rg-home-footer__contact-lead {
	color: #f3f5f6;
	font-size: clamp(20px, 1.65vw, 26px);
	font-weight: 400;
	line-height: 1.32;
}

.rg-home-footer__contact-note {
	margin-top: 10px;
	color: #aeb4b6;
	font-size: 18px;
	line-height: 1.45;
}

.rg-home-footer__contact-actions {
	min-width: 0;
	display: grid;
	gap: 16px;
}

.rg-home-footer__button {
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 22px;
	border: 1px solid #555d60;
	border-radius: 4px;
	background: #171a1b;
	color: #bfc5c7;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.rg-home-footer__button--primary {
	border-color: #d20000;
	color: #f6f7f8;
}

.rg-home-footer__button:hover,
.rg-home-footer__button:focus {
	border-color: #e00000;
	background: #1b1f20;
	color: #ffffff;
	outline: none;
}

.rg-home-footer__contact-points {
	width: min(100%, 1090px);
	margin: 60px auto 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: #858c8e;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
}

.rg-home-footer__contact-points a {
	min-width: 0;
	position: relative;
	padding: 22px 0 0 30px;
	color: #858c8e;
	white-space: nowrap;
	transition: color 0.18s ease;
}

.rg-home-footer__contact-points a::before {
	content: "";
	position: absolute;
	top: 19px;
	left: 0;
	width: 18px;
	height: 18px;
	border: 2px solid #d20000;
	border-radius: 50%;
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.rg-home-footer__contact-points a:hover,
.rg-home-footer__contact-points a:focus {
	color: #ffffff;
	outline: none;
}

.rg-home-footer__contact-points a:hover::before,
.rg-home-footer__contact-points a:focus::before {
	background: #d20000;
	box-shadow: 0 0 0 5px rgba(210, 0, 0, 0.14);
}

.rg-home-footer__bar {
	background: #202426;
	border-top: 2px solid rgba(255, 255, 255, 0.08);
}

.rg-home-footer__bar-inner {
	min-height: 156px;
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto minmax(320px, 1fr);
	gap: 26px;
	align-items: center;
}

.rg-home-footer__legal,
.rg-home-footer__social {
	min-width: 0;
	display: flex;
	align-items: center;
}

.rg-home-footer__legal {
	justify-content: flex-start;
	gap: 28px;
}

.rg-home-footer__legal a,
.rg-home-footer__social a {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.rg-home-footer__copyright {
	min-width: 0;
	margin: 0;
	color: #d3d7d8;
	font-family: Arial, sans-serif;
	font-size: 18px;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
}

.rg-home-footer__copyright span {
	padding: 0 10px;
	color: #8c9496;
}

.rg-home-footer__social {
	justify-content: flex-end;
	gap: 18px 26px;
	flex-wrap: wrap;
}

.rg-home-footer__social a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #aeb4b6;
}

.rg-home-footer__social-icon {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #4e5658;
	border-radius: 50%;
}

.rg-home-footer__social svg {
	width: 18px;
	height: 18px;
	display: block;
	fill: #d20000;
}

@media (max-width: 1280px) {
	.rg-home-footer__partner-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 840px;
	}

	.rg-home-footer__contact-card {
		grid-template-columns: 100px minmax(0, 1fr) 240px;
		padding: 32px 34px;
	}
}

@media (max-width: 1080px) {
	.rg-home-footer__bar-inner {
		grid-template-columns: 1fr;
		gap: 18px;
		padding-top: 32px;
		padding-bottom: 32px;
		text-align: center;
	}

	.rg-home-footer__legal,
	.rg-home-footer__social {
		justify-content: center;
	}

	.rg-home-footer__copyright {
		white-space: normal;
	}
}

@media (max-width: 920px) {
	.rg-home-footer__contact {
		padding-top: 66px;
	}

	.rg-home-footer__contact-card {
		grid-template-columns: 1fr;
		gap: 24px;
		text-align: center;
	}

	.rg-home-footer__contact-actions {
		width: min(100%, 360px);
		margin: 0 auto;
	}

	.rg-home-footer__contact-points {
		width: min(100%, 640px);
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 42px;
	}

	.rg-home-footer__contact-points a {
		white-space: normal;
	}
}

@media (max-width: 680px) {
	.rg-home-footer__inner,
	.rg-home-footer__bar-inner {
		padding-right: 18px;
		padding-left: 18px;
	}

	.rg-home-footer__partners {
		padding-top: 46px;
	}

	.rg-home-footer__partner-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		padding-top: 34px;
	}

	.rg-home-footer__partner {
		height: 72px;
		padding: 12px 16px;
	}

	.rg-home-footer__partner img {
		max-height: 48px;
	}

	.rg-home-footer__contact-card {
		padding: 28px 20px;
	}

	.rg-home-footer__legal,
	.rg-home-footer__social {
		gap: 16px 20px;
		flex-wrap: wrap;
	}
}

@media (max-width: 430px) {
	.rg-home-footer__partner-grid {
		grid-template-columns: 1fr;
	}

	.rg-home-footer__button {
		width: 100%;
		font-size: 20px;
	}

	.rg-home-footer__social {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: center;
	}
}
