.elementor-kit-5{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#C5C3C9;--e-global-color-text:#11009E;--e-global-color-accent:#926BE0;--e-global-color-c71cbb0:#095584;--e-global-typography-primary-font-family:"Orbitron";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Philosopher";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Offside";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Mooli";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:500;--e-global-typography-c90fa2a-font-family:"Ropa Sans";--e-global-typography-c90fa2a-font-size:50px;--e-global-typography-858766b-font-family:"Orbit";--e-global-typography-858766b-font-size:55px;--e-global-typography-858766b-font-weight:600;--e-global-typography-858766b-letter-spacing:10px;--e-global-typography-7a752c6-font-family:"Philosopher";--e-global-typography-7a752c6-font-size:20px;--e-global-typography-7a752c6-font-weight:400;--e-global-typography-7288908-font-family:"Philosopher";--e-global-typography-7288908-font-size:16px;--e-global-typography-7288908-font-weight:400;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== header layout ===== */
@media (min-width: 768px) {
#site-header-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#site-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 2px;
  z-index: 9999;
  opacity: 1 !important;
  filter: none !important;
}

#site-logo a:hover img {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

#site-navigation-wrap {
  position: absolute;
  left: 40px;
  top: 20px;
}

#site-navigation-wrap ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
}

/* ===== Active menu glow highlight ===== */
header .current-menu-item > a{
position:relative;
display:inline-block;
z-index:1;
}

header .current-menu-item > a::before{
content:"";
position:absolute;
left:50%;
top:50%;

width:140%;
height:70%;

transform:translate(-50%,-50%);

background:radial-gradient(
ellipse,
rgba(0,234,255,0.8),
transparent 70%
);

filter:blur(12px);

z-index:-1;
}

header .menu li{
overflow:visible;
}



/* Footer layout and positioning */
#footer {
  margin-top: -350px; /* pull upward */
  background: transparent;
  position: relative;
  z-index: 10;
}

/* Footer menu alignment (right + vertical) */
#footer-widgets .footer-box {
  width: 100%;
  display: flex;
  justify-content: flex-end; /* align right */
}

#footer-widgets .menu {
  display: flex;
  flex-direction: column;   /* vertical layout */
  align-items: flex-end;    /* right-aligned text */
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 10px;
}

/* Footer menu link style */
#footer-widgets .menu li a {
  text-decoration: none;
  color: white;
  transition: all 0.3s ease;
}

#footer-widgets .menu li a:hover {
  transform: translateX(-3px); /* shift left on hover */
  opacity: 0.8;
}

/* Remove container width restriction */
#footer-widgets .container {
  max-width: 100%;
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
}

/* Force footer font style */
#footer-widgets .menu li a {
  font-family: "Orbit", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1 !important;  
  letter-spacing: 0 !important;
}

/* Footer pointer events control */
#footer {
  pointer-events: none;
}

#footer a,
#footer button {
  pointer-events: auto; 
}

/* Hide footer widgets on mobile */
@media (max-width: 768px) {
  #footer-widgets {
    display: none !important;
  }
}



/* ===== Highlight current footer menu item with glow ===== */
#footer-widgets .menu li.current-menu-item > a {
  position: relative;
  display: inline-block;
  z-index: -1;
}

#footer-widgets .menu li.current-menu-item > a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140%;
  height: 120%;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    ellipse,
    rgba(0,234,255,1),
    transparent 70%
  );
  filter: blur(12px);
  z-index: -1;
}

#footer-widgets .menu li {
  overflow: visible;
}



/* ===== Disable default cursor on desktop ===== */
@media (hover: hover) and (pointer: fine) {
  body:not(.elementor-editor-active),
  body:not(.elementor-editor-active) * {
    cursor: none !important;
  }
}



/* ===== Add top spacing when scrolling to anchor ===== */
html {
  scroll-padding-top: 60px;
  scroll-behavior: smooth;  
}

@media (max-width: 767px) {
html {
  scroll-padding-top: 15px;
}
}



/* ===== Custom neon cursor ===== */
.tech-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 7px;
  height: 7px;
  background: #00ffff;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
  box-shadow:
    0 0 7px #00ffff,
    0 0 12px #bf3dd4;
}

.tech-cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9998;
  background: rgba(0,255,255,0.2);
  box-shadow:
    0 0 20px rgba(0,255,255,0.7),
    0 0 40px rgba(0,255,255,0.5),
    0 0 60px rgba(0,255,255,0.2);
  animation: ringBreath 2s ease-in-out infinite alternate;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tech-cursor-hover {
  transform: translate(-50%, -50%) scale(1.6);
  box-shadow:
    0 0 30px #DF00FE,
    0 0 60px #DF00FE,
    0 0 90px #DF00FE;
 
  filter: brightness(2);
}

.tech-cursor-click {
  animation: pulseGlow 0.9s ease;
}

@keyframes pulseGlow {
  0% {
    filter: brightness(1);
  }
  40% {
    filter: brightness(2.5);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes ringBreath {
  0% {
    opacity: 0.7;
  }
  100% {
    opacity: 0.4;
  }
}



/* ===== Particle background behind content ===== */
#particles-js {
  position: fixed;
  inset: 0;
  z-index: 0;
}

.elementor-section {
  position: relative;
  z-index: 1;
}



/* ===== Purple gradient background with layered glow ===== */

/* Used on the Home page to enrich the background colors */
.purplebg {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 600px at 10% 20%, rgba(170,0,255,0.22), transparent 70%),
    radial-gradient(800px 500px at 85% 30%, rgba(140,0,255,0.18), transparent 70%),
    radial-gradient(700px 500px at 30% 80%, rgba(200,0,255,0.15), transparent 75%),
    radial-gradient(600px 400px at 70% 75%, rgba(120,0,255,0.14), transparent 75%),
    #095584;
}

.purplebg > * {
  position: relative;
  z-index: 2;
}



/* ===== Disable pointer events selectively ===== */
body:not(.elementor-editor-active) .no-pointer {
  pointer-events: none;
}

.no-pointer .allow-click {
  pointer-events: auto;
}



/* ===== hide focus outlines ===== */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}



/* ===== Neon scroll-to-top button styling ===== */
#scroll-top {
    
    position: fixed;

    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius:50%;

    color: #00eaff;
    background: rgba(10,20,30,0.7);

    border: 1px solid rgba(0,255,255,0.4);

    backdrop-filter: blur(6px);

    transition: all 0.3s ease;
}

#scroll-top::before{
content:"";
position:absolute;
inset:-2px;

border-radius:50%;

background:linear-gradient(
45deg,
#00eaff,
#00aaff,
#00eaff
);

filter:blur(8px);
opacity:.6;

z-index:-1;
}

#scroll-top:hover{

transform:translateY(-4px);

box-shadow:
0 0 8px #00eaff,
0 0 16px #00eaff,
0 0 32px rgba(0,234,255,.6);

text-shadow:
0 0 10px #00eaff,
0 0 20px #00eaff,
0 0 40px #00eaff;
}

#scroll-top::after{

content:"▲";

font-size:18px;
color:#00eaff;

text-shadow:
0 0 5px #00eaff,
0 0 10px #00eaff,
0 0 20px #00eaff;

}

#scroll-top i{
display:none;
}


@media (max-width: 768px) {
  #scroll-top {
    left: 15px !important;
    bottom: 15px !important;
  }
  #scroll-top::after{
    font-size:12px;
  }
}



/* ===== Neon glowing text effect ===== */

/* used in theme text and logo at the bottom */
.neon-breath {
  color: #66e6e6;
  text-shadow:
    0 0 4px rgba(0, 255, 255, 0.6),
    0 0 10px rgba(0, 255, 255, 0.4);

  transition:
    color 0.3s ease,
    text-shadow 0.3s ease;

  animation: neonGlowSoft 3s ease-in-out infinite alternate;
}

.neon-breath:hover {
  color: #c084f5;
  text-shadow:
    0 0 6px rgba(157, 0, 255, 0.6),
    0 0 14px rgba(157, 0, 255, 0.4);
}

@keyframes neonGlowSoft {
  from {
    text-shadow:
      0 0 4px rgba(0, 255, 255, 0.5),
      0 0 8px rgba(0, 255, 255, 0.3);
  }

  to {
    text-shadow:
      0 0 6px rgba(0, 255, 255, 0.6),
      0 0 14px rgba(0, 255, 255, 0.35);
  }
}



/* ===== Heading container with main and sub heading ===== */

/* used in subheading */
.heading-container {
  position: relative;    
  width: 100%;
  height: 150px;          
  display: flex;
  justify-content: center;
  align-items: center;  
}

.big-heading {
  position: relative;    
  font-size: 60px;
  margin: 0;
  z-index: 1;                
}

.small-heading {
  position: absolute;    
  top: 65%;      
  left: 50%;    
  transform: translate(-50%, -50%); 
  font-size: 24px;
  margin: 0;
  z-index: 2;          
}



/* ===== Neon underline effect on hover ===== */

/* Used in buttons that link to other pages (Home) */
.hover-neon {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #fff;
}

.hover-neon::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 3px;

  background: #00ffff;
  
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s ease;

  /* Neon light */
  box-shadow:
    0 0 5px #00d9ff,
    0 0 10px #bf3dd4,
    0 0 20px #bf3dd4;
}

.hover-neon:hover::after {
  transform: scaleX(1);
}



/* ===== Neon animated divider (horizontal & vertical) ===== */
.neon-divider .elementor-divider-separator {
  position: relative;
  height: 4px;
  background: rgba(0,255,255,0.15) !important; /* faint base color */
  border: none !important;
  border-radius: 50px;
  overflow: hidden;

  /* Neon breath animation */
  animation: neonBreath 3s ease-in-out infinite alternate;
}

/* Beam (disappears before dot) */
.neon-divider .elementor-divider-separator::before {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 45%;
  height: 100%;
  border-radius: 50px;

  background: linear-gradient(
    90deg,
    transparent 0%,
    #bf3dd4 15%,
    #00ffff 50%,
    #bf3dd4 85%,
    transparent 100%
  );

  box-shadow:
    0 0 6px #bf3dd4,
    0 0 18px #bf3dd4,
    0 0 30px #bf3dd4;

  animation: absorbFlow 3s linear infinite;
}

/* Beam moves and fades at dot */
@keyframes absorbFlow {
  0% { left: -45%; opacity: 1; }
  75% { left: 65%; opacity: 1; }
  85% { left: 75%; opacity: 0; }
  100% { left: 75%; opacity: 0; }
}

/* Line neon breath animation */
@keyframes neonBreath {
  0% {
    background: rgba(0,255,255,0.1);
    box-shadow:
      0 0 5px rgba(191,61,212,0.2),
      0 0 10px rgba(134,108,225,0.2),
      0 0 20px rgba(191,61,212,0.2);
  }
  50% {
    background: rgba(0,255,255,0.25);
    box-shadow:
      0 0 10px #bf3dd4,
      0 0 25px #864ce1,
      0 0 45px #bf3dd4;
  }
  100% {
    background: rgba(0,255,255,0.1);
    box-shadow:
      0 0 5px rgba(191,61,212,0.2),
      0 0 10px rgba(134,108,225,0.2),
      0 0 20px rgba(191,61,212,0.2);
  }
}



 /* ===== Vertical Line (Reverse Beam) ===== */
.neon-divider-vertical .elementor-divider-separator {
  position: relative;
  width: 4px;  /* line width */
  height: 150px; /* adjustable length */
  background: rgba(0,255,255,0.15) !important; /* faint base color */
  border: none !important;
  border-radius: 50px;
  overflow: hidden;

  /* Neon breath animation */
  animation: neonBreathVertical 2s ease-in-out infinite alternate;
}

/* Beam (moves up and fades) */
.neon-divider-vertical .elementor-divider-separator::before {
  content: "";
  position: absolute;
  top: 100%;  /* start below container */
  left: 0;
  width: 100%;
  height: 45%; /* beam length */
  border-radius: 50px;

  background: linear-gradient(
    0deg, /* bottom to top */
    transparent 0%,
    #bf3dd4 15%,
    #00ffff 50%,
    #bf3dd4 85%,
    transparent 100%
  );

  box-shadow:
    0 0 6px #bf3dd4,
    0 0 18px #bf3dd4,
    0 0 30px #bf3dd4;

  animation: absorbFlowVerticalReverse 2s linear infinite;
}

@keyframes absorbFlowVerticalReverse {
  0% { top: 100%; opacity: 1; }
  75% { top: 10%; opacity: 1; }
  85% { top: 5%; opacity: 0.5; }
  100% { top: 0%; opacity: 0; }
}

@keyframes neonBreathVertical {
  0% {
    background: rgba(0,255,255,0.1);
    box-shadow:
      0 0 5px rgba(191,61,212,0.2),
      0 0 10px rgba(134,108,225,0.2),
      0 0 20px rgba(191,61,212,0.2);
  }
  50% {
    background: rgba(0,255,255,0.25);
    box-shadow:
      0 0 10px #bf3dd4,
      0 0 25px #864ce1,
      0 0 45px #bf3dd4;
  }
  100% {
    background: rgba(0,255,255,0.1);
    box-shadow:
      0 0 5px rgba(191,61,212,0.2),
      0 0 10px rgba(134,108,225,0.2),
      0 0 20px rgba(191,61,212,0.2);
  }
}




/* ===== Left timeline container ===== */
.year-timeline {
  position: relative;
  padding-left: 30px;
}

/* Year button */
.year-btn {
  position: relative;
  margin-bottom: 60px;
  cursor: pointer;
  transition: 0.3s ease;
}

/* Dot indicator */
.year-btn::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 8px;
  width: 12px;
  height: 12px;
  background: #0ff;
  border-radius: 50%;
  box-shadow: 0 0 10px #0ff;
  transition: 0.3s ease;
}

/* Hover effect */
.year-btn:hover {
  color: #0ff;
}

/* Active state (text style) */
.year-btn.active .elementor-heading-title {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 26px !important;
}

/* Active state (position shift) */
.year-btn.active {
  transform: translateX(6px);
}

/* Active state (dot effect) */
.year-btn.active::before {
  transform: scale(1.4);
  box-shadow: 0 0 20px #0ff;
}

/* ===== Right content animation (smooth transition + auto height) ===== */
.year-content {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  max-height: 0;
  overflow: hidden;
  margin-bottom: 0;
}

/* Active content display */
.year-content.active {
  opacity: 1;
  transform: translateY(0);
  max-height: 10000px; /* large enough to expand content */
  margin-bottom: 40px;
}

/* ===== Elementor editor mode (always visible) ===== */
body.elementor-editor-active .year-content {
  opacity: 1 !important;
  transform: none;
  max-height: none !important;
  margin-bottom: 40px;
}

/* ===== Remove absolute positioning ===== */
body:not(.elementor-editor-active) .year-content {
  position: relative; /* avoid absolute positioning */
}

/* ===== Mobile responsive ===== */
@media (max-width: 767px) {

  /* Timeline container (mobile) */
  .year-timeline {
    padding-left: 0px;
  }

  /* Year button (mobile) */
  .year-btn {
    margin-bottom: 20px;
  }

  /* Dot indicator (mobile) */
  .year-btn::before {
    left: -18px;
    width: 10px;
    height: 10px;
  }

  /* Active text (mobile) */
  .year-btn.active .elementor-heading-title {
    font-size: 18px !important;
  }

  /* Active content spacing (mobile) */
  .year-content.active {
    margin-bottom: 15px;
  }

  /* Smaller dot (mobile fine tune) */
  .year-btn::before {
    width: 8px;
    height: 8px; 
  }

}/* End custom CSS */