/* Loading Screen */
.fx-loading-screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #0a1628 0%, #1a365d 100%);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.fx-loading-screen.fx-loaded {
	opacity: 0;
	visibility: hidden;
}

.fx-loading-screen__content {
	text-align: center;
}

.fx-loading-screen__logo {
	margin-bottom: 30px;
	opacity: 0;
	transform: scale(0.8);
	animation: fx-logo-reveal 0.8s ease forwards;
}

.fx-loading-screen__logo img {
	max-width: 280px;
	height: auto;
	filter: brightness(0) invert(1);
}

.fx-loading-screen__spinner {
	width: 40px;
	height: 40px;
	margin: 0 auto;
	border: 3px solid rgba(255, 255, 255, 0.2);
	border-top-color: #fff;
	border-radius: 50%;
	animation: fx-spin 1s linear infinite;
	opacity: 0;
	animation: fx-spin 1s linear infinite, fx-fade-in 0.5s ease 0.4s forwards;
}

@keyframes fx-logo-reveal {
	0% {
		opacity: 0;
		transform: scale(0.8) translateY(20px);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

@keyframes fx-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes fx-fade-in {
	to {
		opacity: 1;
	}
}

/* Prevent scroll while loading */
body.fx-loading {
	overflow: hidden;
}

.page-header {
	transition: all 0.3s ease;
}

.fx-sparkle {
	/* Masthead */
	.masthead--homepage {
		.sub-heading,
		.masthead__text h1,
		.masthead__text p,
		.btn-group .btn {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Image Buttons */
	.image-buttons {
		.image-buttons__headings *,
		.image-button-slider .image-button-item {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Half and Half Image */
	.image-text {
		.image-text__img *,
		.image-text__text * {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Revenue Calculator */
	.revenue-calculator {
		.revenue-calculator_heading *,
		.revenue-calculator__wrapper,
		.revenue-calculator__wrapper .revenue-calculator-col,
		.revenue-result {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Cards Item */
	.cards {
		.cards__headings > *,
		.card-slider {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
		/* Only initially visible slides - class added via JS */
		.card-slider .fx-initial-slide {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Text Logos */
	.text-logo {
		.text-logo__text > *,
		.fx-slider {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
		/* Only initially visible slides - class added via JS */
		.fx-slider .fx-initial-slide {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Testimonial Slider */
	.testimonials {
		.testimonials__heading > *,
		.testimonials-slider-wrap {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
		/* Only initially visible slides - class added via JS */
		.fx-slider .fx-initial-slide {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* News Cards */
	.news-cards {
		.news-cards__headings > *,
		.news-card-slider,
		.news-card-slider:not(.slick-initialized) .news-card-item {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}

		/* Only initially visible slides - class added via JS */
		.fx-slider .fx-initial-slide {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* CTA */
	.cta {
		.cta-content > * {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* masthead--innerpage & breadcrumbs */

	/* icons-cards */
	.icons-cards {
		.icons-cards__headlines > *,
		.icons-card-slider,
		.icons-cards__bttn {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
		/* Only initially visible slides - class added via JS */
		.icons-card-slider .fx-initial-slide {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* fx-accordion */
	.fx-accordion {
		.fx-accordion__heading > *,
		.fx-accordion__panels .fx-accordion__panel {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* number-stats */
	.number-stats,
	.number-stats__col > * {
		opacity: 0;
		transform: translateY(10px);
		scale: 0.9;
		transition: all 0.3s ease;
	}

	/* half-text-form */
	.half-text-form {
		&,
		.half-text-contact-form,
		.half-text-form__content > * {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}

	/* Footer */
	.page-footer {
		.footer-top > *,
		.footer-contact .footer-contact-col,
		.footer-bottom {
			opacity: 0;
			transform: translateY(10px);
			scale: 0.9;
			transition: all 0.3s ease;
		}
	}
}
