/**
 * Home Five hero responsive corrections.
 * Section: 25519f9; content column: 889e8fc; image slider: ecc710d.
 */

/*
 * Unified Anyfor hero palette.
 * Keep Elementor's background slides available for rollback/editing, but do
 * not render the former orange/green images on the public home page.
 */
body.home .elementor-element-25519f9 .elementor-element-ccae239 > .elementor-widget-wrap,
body.home .elementor-element-25519f9 .elementor-element-a6746a9 {
	color: #fff;
	background-color: #23a6d5 !important;
	background-image: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab) !important;
	background-position: 0% 50%;
	background-size: 400% 400%;
	isolation: isolate;
	-webkit-animation: anyfor-home-hero-gradient 15s ease infinite;
	animation: anyfor-home-hero-gradient 15s ease infinite;
}

body.home .elementor-element-25519f9 .elementor-element-a6746a9 > .elementor-background-slideshow {
	display: none !important;
}

body.home .elementor-element-25519f9 .elementor-element-a6746a9 > .elementor-background-overlay {
	z-index: 0;
	background: linear-gradient(90deg, rgba(5, 34, 42, .28) 0%, rgba(5, 34, 42, .11) 54%, rgba(5, 34, 42, .03) 100%) !important;
	opacity: 1 !important;
	pointer-events: none;
}

body.home .elementor-element-25519f9 .elementor-element-a6746a9 > .elementor-container {
	position: relative;
	z-index: 1;
}

body.home .elementor-element-25519f9 .wt-formbanner {
	box-shadow:
		0 0 0 10px rgba(219, 179, 50, .13),
		0 18px 42px rgba(3, 31, 39, .18) !important;
}

@-webkit-keyframes anyfor-home-hero-gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@keyframes anyfor-home-hero-gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@media (max-width: 1024px) {
	body.home .elementor-element-25519f9 .elementor-element-a6746a9 {
		padding-bottom: 20px !important;
	}

	body.home .elementor-element-25519f9 .elementor-element-889e8fc,
	body.home .elementor-element-25519f9 .elementor-element-889e8fc > .elementor-widget-wrap {
		position: relative !important;
	}

	/* Keep the text, search controls and tags legible above the portrait. */
	body.home .elementor-element-889e8fc .elementor-element-a493311,
	body.home .elementor-element-889e8fc .elementor-element-3639e0d {
		position: relative;
		z-index: 3;
	}

	/*
	 * The search-type menu opens below the search bar. Keep it above the
	 * portrait and the later Popular categories widget, which otherwise wins
	 * the equal-z-index source-order tie.
	 */
	body.home .elementor-element-889e8fc .elementor-element-ff3601a {
		position: relative;
		z-index: 40;
	}

	body.home .elementor-element-25519f9 .wt-radioholder {
		z-index: 1000 !important;
	}

	/*
	 * Elementor clips this hero at two nested levels. Release that clipping
	 * only while the search-type menu is visibly open, so the dropdown can
	 * cross the hero's bottom edge without changing the normal banner crop.
	 */
	body.home .elementor-element-25519f9:has(.wt-radioholder[style*="display: block"]),
	body.home .elementor-element-25519f9 .elementor-element-ccae239 > .elementor-widget-wrap:has(.wt-radioholder[style*="display: block"]),
	body.home .elementor-element-25519f9 .elementor-element-a6746a9:has(.wt-radioholder[style*="display: block"]) {
		overflow: visible !important;
	}

	/* The original second column becomes empty after the runtime move. */
	body.home .elementor-element-b1f990f.anyfor-mobile-slider-source-empty {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .elementor-element-889e8fc .elementor-element-ecc710d.anyfor-mobile-hero-slider {
		position: absolute !important;
		right: 18px;
		bottom: var(--anyfor-hero-person-bottom, -20px);
		z-index: 1;
		width: var(--anyfor-hero-person-width, 340px) !important;
		height: var(--anyfor-hero-person-height, 510px) !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: none;
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	body.home .anyfor-mobile-hero-slider > .elementor-widget-container,
	body.home .anyfor-mobile-hero-slider .wr-image-slider-wrapper,
	body.home .anyfor-mobile-hero-slider .wr-image-slider,
	body.home .anyfor-mobile-hero-slider .swiper-wrapper,
	body.home .anyfor-mobile-hero-slider .swiper-slide {
		width: 100% !important;
		height: 100% !important;
	}

	body.home .anyfor-mobile-hero-slider .wr-image-slider {
		margin: 0 !important;
	}

	body.home .anyfor-mobile-hero-slider img {
		display: block;
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center bottom !important;
	}
}

/*
 * The header overlays the hero at tablet widths. The script sizes the person
 * from the header's bottom edge to the hero's bottom edge.
 */
@media (min-width: 768px) and (max-width: 1024px) {
	body.home .elementor-element-25519f9 .elementor-element-a6746a9 {
		padding-top: 150px !important;
	}
}

@media (max-width: 480px) {
	body.home .elementor-element-889e8fc .elementor-element-ecc710d.anyfor-mobile-hero-slider {
		left: 50%;
		right: auto;
		transform: translateX(-50%) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .elementor-element-25519f9 .elementor-element-ccae239 > .elementor-widget-wrap,
	body.home .elementor-element-25519f9 .elementor-element-a6746a9 {
		animation: none;
		background-position: 50% 50%;
	}
}
