/*
Theme Name: Shah-Teelani
Theme URI: https://shah-teelani.com/
Description: A custom Hello Elementor child theme for Shah-Teelani, developed by KryptonInc.
Author: KryptonInc
Author URI: https://kryptoninc.com.au/
Template: hello-elementor
Version: 1.0.0
Text Domain: shah-teelani
*/

/* Add your custom styles here */
/* Import parent theme styles */
@import url("../hello-elementor/style.css");

/* Make the main header sticky */
.header-placeholder {
	display: none;
}
.sticky {
  position: fixed !important;
  top: 0;
  width: 100%;
}
.d-none {
	display: none !important;
}
.bg-color {
	background-color: #16222D !important;
}

/* ========== PRELOADER STYLES ========== */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #16222D;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  overflow: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

#preloader.hidden {
  opacity: 0;
  visibility: hidden;
}

#preloader .preloader-logo {
  opacity: 0;
  transform: scale(0.9);
}

#preloader img {
  width: 320px;
  height: auto;
}
/* preloader Css End */
/* Back to top button css start */
#backToTop {
    position: fixed;
    bottom: 100px;
    right: 30px;
    padding: 0px 14px;
    background: #fff;
    color: #001E42;
    border: 2px solid #001E42;
    border-radius: 50%;
    font-size: 32px;
    cursor: pointer;
    display: none;
    z-index: 9999;
    transition: opacity 0.3s ease;
}

#backToTop.show {
    display: block;
    opacity: 1;
}

/* Back to top button css end */
.top-header-txt p {
  margin-bottom: 0px;
}
/* Hide button initially */
.service-main-grid .service-btn-link {
  display: inline-block;
  opacity: 0;
  transform: translateY(12px);
  transition: all 0.35s ease;
  text-decoration: none;
}

/* Show button when parent card is hovered */
.service-main-grid .elementor-widget-image-box:hover .service-btn-link {
  opacity: 1;
  transform: translateY(0);
}

/* Button styling */
.service-main-grid .read-more-btn-wrapper {
  background: #00387A;
  color: #fff;
  padding: 4px 18px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  transition: background 0.3s ease;
}

.service-main-grid .read-more-btn-wrapper:hover {
  background: #00387A;
}

/* Animate the text slightly on hover */
.service-main-grid .read-more-button-text span {
  display: inline-block;
  transition: transform 0.3s ease;
}

.service-main-grid .service-btn-link:hover .read-more-button-text span {
  transform: translateY(-3px);
}

/* Optional: card lift-up effect */
.service-main-grid .elementor-widget-image-box {
  transition: transform 0.3s ease;
}
.service-main-grid .elementor-widget-image-box:hover {
  transform: translateY(-4px);
}

.flip-box .elementor-flip-box .elementor-flip-box__back {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px !important;
    margin: 10px 10px 10px 10px;
    padding: 10px 10px 10px 10px;
    width: 96%;
    height: 92%;
}

/* marquee wrapper (keep as your container .marquee) */
.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
}

/* track that will be created by JS (original + clone) */
.marquee-track {
  display: inline-flex;
  align-items: center;
  gap: 48px;
  white-space: nowrap;
  will-change: transform;
  animation-name: marquee-scroll;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: var(--scroll-duration, 25s);
}

/* make sure individual Elementor widgets behave inline */
.marquee .marquee-content-text {
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
  margin: 0;
}

/* example styling for the heading text inside each widget */
.marquee .marquee-content-text .elementor-heading-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  text-transform: none;
  color: #222;
}

/* star separator (you can tune spacing) */
.marquee .marquee-content-text::after {
  content: "★";
  margin-left: 28px;
  color: #0b74ff;
  opacity: 0.85;
  font-size: 14px;
}

/* keyframes translate exactly by the track width set by JS */
@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100%{ transform: translateX(calc(-1 * var(--scroll-width, 50%))); }
}


/* css for home page steps hover effect */
/* Base layout: stack all images in same spot */
.step-1-img,
.step-2-img,
.step-3-img,
.step-4-img {
  display: none;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  pointer-events: none;
}

/* Parent should be relative so absolute positioning works */
.steps-img-container {
  position: relative;
}

/* Active image shows with fade */
.step-1-img.active,
.step-2-img.active,
.step-3-img.active,
.step-4-img.active {
  display: block;
  pointer-events: auto;
}

/* Default step text color */
.step-1 h4,
.step-2 h4,   
.step-3 h4,
.step-4 h4,
.step-1 .elementor-icon-box-title span,
.step-2 .elementor-icon-box-title span,
.step-3 .elementor-icon-box-title span,
.step-4 .elementor-icon-box-title span {
  color: #ffffff;
  transition: color 0.3s ease;
}

/* Active step highlight */
.active-step h4,
.active-step .elementor-icon-box-title span {
  color: #B10000 !important; /* your accent color */
}
.sticky-img {
	position: sticky !important;
    top: 100px;
}
/* css for aniation */
header {
  position: relative;
  z-index: 9999;
  opacity: 1 !important;
}
/* Hide only on frontend, not in Elementor editor */
body:not(.elementor-editor-active) .animate-me {
  opacity: 0;
  visibility: hidden;
  transform: translateY(0) !important;
  will-change: transform, opacity;
}

/* Optional: preload state for smoother page entry */
body.gsap-init:not(.elementor-editor-active) * {
  opacity: 0;
  visibility: hidden;
  transform: translateY(0) !important;
}
/* keep header visible in editor and frontend; don't let .animate-me hide header */
header, .site-header, .main-header, .ast-header, .elementor-location-header {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.contact-form .elementor-field-textual {
  padding: 14px 14px;
}
.contact-form .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  gap: 5px;
  align-items: center;
}
.career-form .elementor-upload-field {
	padding: 10px 10px;
}
/* responsive: slower on smaller screens */
@media (max-width:1024px){
  .marquee-track { animation-duration: var(--scroll-duration, 40s); }
}
@media (max-width:767px){
  .marquee-track { animation-duration: var(--scroll-duration, 60s); gap: 28px; }
  .marquee .marquee-content-text .elementor-heading-title { font-size: 16px; }
}
@media (max-width:581px){
  .flip-box { width: 100% !important; }
  .marquee {    
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
}


