/* =========================================================
   FIRUZE FOOTER
========================================================= */

.fz-footer {
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: var(--color-white);
	font-family: var(--font-fa);
}

.fz-footer,
.fz-footer *,
.fz-footer *::before,
.fz-footer *::after {
	box-sizing: border-box;
}

/* =========================================================
   MAIN FOOTER
========================================================= */

.fz-footer-content {
	position: relative;
	isolation: isolate;
	width: 100%;
	min-height: 0;
	overflow: hidden;
	background: var(--color-secondary);
}

/* =========================================================
   BACKGROUND
   The image never determines footer height.
========================================================= */

.fz-footer-background-wrap {
	position: absolute;
	z-index: -1;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	line-height: 0;
	pointer-events: none;
}

.fz-footer-background {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
object-position: center top;
pointer-events: none;
}

/* =========================================================
   CONTENT CONTAINER
========================================================= */

.fz-footer-content > .container-fluid {
	position: relative;
	z-index: 1;
	display: flex;
	width: min(
		calc(100% - (var(--space-xl) * 2)),
		var(--container-width)
	);
	max-width: var(--container-width);
	min-height: 0;
	margin-inline: auto;
	padding: clamp(var(--space-4xl), 9vw, 150px) 0 var(--space-xl);
	flex-direction: column;
	justify-content: flex-end;
}

/* =========================================================
   LOGO
========================================================= */

.fz-footer-content .footer-logo-row {
	display: flex;
	width: 100%;
	justify-content: center;
	margin: 0 0 var(--space-xl);
}

.fz-footer-content .footer-logo {
	width: 100%;
	margin: 0;
	text-align: center;
}

.fz-footer-content .footer-logo img {
	display: inline-block;
	width: auto;
	max-width: 220px;
	height: auto;
	margin: 0;
}

/* Old optional mobile logo */
.footer-logo-mobile {
	display: none !important;
}

/* =========================================================
   MAIN COLUMNS
========================================================= */

.fz-footer-content .footer-main-row {
	display: grid !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	grid-template-columns:
		minmax(0, 4fr)
		minmax(110px, 1fr)
		minmax(110px, 1fr)
		minmax(0, 4fr);
	gap: var(--space-xl);
	align-items: start !important;
}

.fz-footer-content .footer-main-row > div {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: start !important;
}

/* =========================================================
   ABOUT
========================================================= */

.fz-footer-content .footer-about {
	padding-inline-end: var(--space-lg) !important;
}

.fz-footer-content h5,
.fz-footer-content h5.color-00cccc {
	margin: 0 0 var(--space-md) !important;
	color: var(--color-white) !important;
	font-size: var(--fs-h4);
	font-weight: 700;
	line-height: 1.7;
}

.fz-footer-content .text-white {
	color: var(--color-white) !important;
}

.fz-footer-content .footer-about .text-right-justify {
	color: var(--color-white);
	font-size: var(--fs-small);
	line-height: 2.15;
	text-align: justify;
	text-align-last: right;
}

.fz-footer-content .footer-about .text-right-justify > :first-child {
	margin-top: 0;
}

.fz-footer-content .footer-about .text-right-justify > :last-child {
	margin-bottom: 0;
}

/* =========================================================
   FOOTER MENUS
========================================================= */

.fz-footer-content .footer-sid,
.fz-footer-content .widget_nav_menu {
	margin: 0 !important;
	padding: 0 !important;
	transform: none;
}

.fz-footer-content .widget_nav_menu h2,
.fz-footer-content .widget_nav_menu h3,
.fz-footer-content .widget_nav_menu h4,
.fz-footer-content .widget_nav_menu h5 {
	margin: 0 0 var(--space-sm) !important;
	color: var(--color-white);
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 1.6;
}

.fz-footer-content .menu,
.fz-footer-content .widget_nav_menu ul,
.fz-footer-content .menu-footer-1-container ul,
.fz-footer-content .menu-footer-2-container ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.fz-footer-content .widget_nav_menu li,
.fz-footer-content .menu-footer-1-container li,
.fz-footer-content .menu-footer-2-container li {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

.fz-footer-content .widget_nav_menu li a,
.fz-footer-content .menu-footer-1-container li a,
.fz-footer-content .menu-footer-2-container li a {
	display: block;
	margin: 0 !important;
	padding: 3px 0 !important;
	color: var(--color-white);
	font-size: var(--fs-small);
	line-height: 1.5 !important;
	text-decoration: none;
	transition: color var(--transition-fast);
}

.fz-footer-content .widget_nav_menu li a:hover,
.fz-footer-content .widget_nav_menu li a:focus-visible {
	color: var(--color-gold);
	text-decoration: none;
	outline: 0;
}

/* =========================================================
   CONTACT
========================================================= */

.fz-footer-content .footer-contact-column {
	padding-inline-start: var(--space-lg) !important;
}

.fz-footer-content .footer-contact-column h5 {
	margin-bottom: var(--space-md) !important;
}

.fz-footer-content .footer-contact-item {
	margin: var(--space-xs) 0 !important;
	padding: 0;
	color: var(--color-white);
	font-size: var(--fs-small);
	line-height: 1.9;
}

.fz-footer-content .footer-contact-title {
	margin-inline-end: var(--space-xs);
	color: var(--color-white);
	font-size: var(--fs-small);
	font-weight: 700;
}

.fz-footer-content .footer-contact-value {
	color: var(--color-white);
	font-size: var(--fs-small);
}

.fz-footer-content .footer-contact-item i {
	color: var(--color-gold);
}

/* =========================================================
   SOCIAL LINKS
========================================================= */

.fz-footer-content .footer-social-row,
.fz-footer-content .row.align-items-center {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: var(--space-md) !important;
	margin: var(--space-md) 0 0 !important;
	padding: 0 !important;
}

.fz-footer-content .footer-social-row a,
.fz-footer-content .row.align-items-center a {
	display: inline-flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0;
	color: var(--color-white);
	font-size: 25px !important;
	line-height: 1 !important;
	text-decoration: none;
	transition:
		color var(--transition-fast),
		transform var(--transition-fast);
}

.fz-footer-content .footer-social-row a i,
.fz-footer-content .row.align-items-center a i {
	font-size: 25px !important;
	line-height: 1 !important;
}

.fz-footer-content .footer-social-row a:hover,
.fz-footer-content .footer-social-row a:focus-visible {
	color: var(--color-gold);
	text-decoration: none;
	transform: translateY(-2px);
	outline: 0;
}

/* =========================================================
   COPYRIGHT
========================================================= */

.fz-footer-copyright {
	display: flex;
	width: 100%;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border-top: 1px solid
		color-mix(
			in srgb,
			var(--color-white) 15%,
			transparent
		);
	background: var(--color-secondary);
}

.fz-footer-copyright-container {
	display: flex;
	width: min(
		calc(100% - (var(--space-xl) * 2)),
		var(--container-width)
	);
	min-height: 50px;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	padding: var(--space-xs) 0;
}

.fz-footer-copyright-container p {
	margin: 0;
	padding: 0;
	color: var(--color-white);
	font-size: calc(var(--fs-small) * 0.875);
	line-height: 1.6;
	text-align: center;
}

/* =========================================================
   LARGE DESKTOP
   Prevent oversized empty turquoise areas.
========================================================= */

@media (min-width: 1600px) {
	.fz-footer-content > .container-fluid {
		padding-top: clamp(180px, 11vw, 230px);
		padding-bottom: var(--space-xl);
	}

	.fz-footer-background {
		object-position: center top;
	}
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
	.fz-footer-content > .container-fluid {
		width: min(
			calc(100% - (var(--space-lg) * 2)),
			var(--container-width)
		);
		padding: var(--space-4xl) 0 var(--space-xl);
		justify-content: flex-start;
	}

	.fz-footer-content .footer-logo-row {
		margin-bottom: var(--space-xl);
	}

	.fz-footer-content .footer-main-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-xl);
	}

	.fz-footer-content .footer-about,
	.fz-footer-content .footer-contact-column {
		grid-column: 1 / -1;
		padding: 0 !important;
	}

	.fz-footer-content .footer-about {
		order: 1;
	}

	.fz-footer-content .footer-sid {
		order: 2;
		text-align: center;
	}

	.fz-footer-content .footer-contact-column {
		order: 3;
		text-align: center !important;
	}

	.fz-footer-content .footer-contact-column h5,
	.fz-footer-content .footer-contact-item {
		text-align: center !important;
	}

	.fz-footer-content .footer-social-row,
	.fz-footer-content .row.align-items-center {
		justify-content: center !important;
	}

	.fz-footer-content .footer-about .text-right-justify {
		text-align: justify;
		text-align-last: right;
	}

	.fz-footer-background {
		object-position: center top;
	}
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {
	.fz-footer-content > .container-fluid {
		width: min(
			calc(100% - (var(--space-md) * 2)),
			var(--container-width)
		);
		padding: var(--space-3xl) 0 var(--space-lg);
	}

	.fz-footer-content .footer-logo-row {
		margin-bottom: var(--space-lg);
	}

	.fz-footer-content .footer-logo img {
		max-width: 180px;
	}

	.fz-footer-content .footer-main-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-xl) var(--space-md);
	}

	.fz-footer-content h5,
	.fz-footer-content h5.color-00cccc {
		font-size: 20px;
	}

	.fz-footer-content .footer-about .text-right-justify,
	.fz-footer-content .widget_nav_menu li a,
	.fz-footer-content .footer-contact-item,
	.fz-footer-content .footer-contact-title,
	.fz-footer-content .footer-contact-value {
		font-size: var(--fs-small);
	}

	.fz-footer-content .footer-social-row a,
	.fz-footer-content .footer-social-row a i {
		font-size: 26px !important;
	}

	.fz-footer-copyright-container {
		width: min(
			calc(100% - (var(--space-md) * 2)),
			var(--container-width)
		);
	}

	.fz-footer-copyright-container p {
		font-size: calc(var(--fs-small) * 0.75);
	}
}
/* Footer contact column — align with the bottom of other columns */
@media (min-width: 992px) {
	.fz-footer-content
	.footer-main-row > .footer-contact-column {
		align-self: end !important;
	}

	.fz-footer-content
	.footer-contact-column .footer-social-row {
		margin-bottom: 0 !important;
	}
}
/* Align about text and contact column at the bottom */
@media (min-width: 992px) {
	.fz-footer-content .footer-main-row > .footer-about,
	.fz-footer-content .footer-main-row > .footer-contact-column {
		align-self: end !important;
	}

	.fz-footer-content .footer-about .text-right-justify,
	.fz-footer-content .footer-about .text-right-justify > :last-child {
		margin-bottom: 0 !important;
	}
}
/* English footer description — justified */
.fz-footer.fz-footer--en .footer-about > .text-left,
.fz-footer.fz-footer--en .footer-about > .text-left p {
	direction: ltr;
	text-align: justify !important;
	text-align-last: left !important;
	font-size: var(--fs-small);
	line-height: 2.15;
}

.fz-footer.fz-footer--en .footer-about > .text-left > :first-child {
	margin-top: 0;
}

.fz-footer.fz-footer--en .footer-about > .text-left > :last-child {
	margin-bottom: 0;
}
/* Russian footer: stable four-column layout */
.fz-footer--ru .footer-main-row {
	display: grid !important;
	grid-template-columns:
		minmax(0, 4fr)
		minmax(0, 1fr)
		minmax(0, 1fr)
		minmax(0, 4fr);
	gap: 32px;
	align-items: start !important;
	direction: ltr;
}

.fz-footer--ru .footer-main-row > * {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	align-self: start !important;
}

.fz-footer--ru .footer-about {
	grid-column: 1;
	grid-row: 1;
}

.fz-footer--ru .footer-sid {
	grid-row: 1;
	text-align: left !important;
}

.fz-footer--ru .footer-contact-column {
	grid-column: 4;
	grid-row: 1;
	text-align: left !important;
}

.fz-footer--ru .footer-contact-item {
	text-align: left !important;
}

.fz-footer--ru .footer-social-row {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 16px;
}

@media (max-width: 991px) {
	.fz-footer--ru .footer-main-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fz-footer--ru .footer-about {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.fz-footer--ru .footer-sid {
		grid-row: 2;
	}

	.fz-footer--ru .footer-contact-column {
		grid-column: 1 / -1;
		grid-row: 3;
	}
}

@media (max-width: 575px) {
	.fz-footer--ru .footer-main-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.fz-footer--ru .footer-main-row > * {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}