@import url("https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");
@tailwind base;
@tailwind components;
@tailwind utilities;


/* Text Shadow */
/* Fallback styles */
body {
    font-family: 'Ubuntu', sans-serif;
}
/* Text shadow utilities */
.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.text-shadow-lg {
    text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
}
.text-shadow-xl {
    text-shadow: 4px 4px 16px rgba(0, 0, 0, 0.5);
}
.text-shadow-none {
    text-shadow: none;
}

/* Custom colored text shadows */
.text-shadow-blue {
    text-shadow: 2px 2px 8px rgba(59, 130, 246, 0.5);
}
.text-shadow-purple {
    text-shadow: 2px 2px 8px rgba(168, 85, 247, 0.5);
}
.text-shadow-pink {
    text-shadow: 2px 2px 8px rgba(236, 72, 153, 0.5);
}
.text-shadow-white {
    text-shadow: 2px 1px 2px rgba(255, 255, 255, 0.638);
}
/* Neon effect */
.text-shadow-neon {
    text-shadow: 0 0 5px #fff, 0 0 7px #fff, 0 0 8px #0073e6, 0 0 7px #0073e6;
}

/*--------inner shadow-----------*/

.inner-shadow {
            box-shadow: inset 0 0 25px 50px rgba(0, 0, 0, 0.7);
        }
        
        .inner-glow {
            box-shadow: inset 0 0 15px 3px rgba(59, 130, 246, 0.5);
        }
     


/* index page top bar text animation */
.cube-container {
      width: 120px;
      height: 40px;
      position: relative;
      transform-style: preserve-3d;
      transform: rotateX(0deg);
    }

.cube-face {

      width: 100%;
      height: 100%;
      backface-visibility: hidden;
      
      

      
    }
.face-1 { transform: translateZ(20px); }
    .face-2 { transform: rotateX(90deg) translateZ(20px); }
    .face-3 { transform: rotateX(180deg) translateZ(20px); }
    .face-4 { transform: rotateX(270deg) translateZ(20px); }



/* index page image slide animation */
.slide {
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
}

.slide.active {
  opacity: 1;
  transform: translateX(0);
}

.slide.exit {
  opacity: 0;
  transform: translateX(-100%);
}




/*---    Slider       ----*/

/* gap used for spacing between visible items */
  #carousel-track { gap: 1.25rem; transition: transform 0.7s ease-in-out; will-change: transform; display:flex; }
  /* remove the inline margin utilities from items for layout, but keep other visual styles */
  #carousel-track .carousel-item { margin: 0 !important; box-sizing: border-box; flex: 0 0 calc((100% - 2.5rem) / 3); max-width: calc((100% - 2.5rem) / 3); }
  /* viewport padding to mimic the horizontal spacing you had with m-5 */
  .carousel-viewport { padding-left: 1.25rem; padding-right: 1.25rem; }
  /* keep the images inside items behaving as you set (absolute, object contain, blur) */
  /* small helper to avoid text selection while dragging */
  #carousel { -webkit-user-select: none; -ms-user-select: none; user-select: none; }
        