/* Additional Animations for Crown Nova Technologies */

/* Fade In Up Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Fade In Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Scale Up Animation */
@keyframes scaleUp {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* Slide In from Left */
@keyframes slideInLeft {
  from {
    transform: translateX(-50px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Slide In from Right */
@keyframes slideInRight {
  from {
    transform: translateX(50px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Bounce Animation */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

/* Pulse Animation */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

/* Progress Bar Fill Animation */
@keyframes progressFill {
  from {
    width: 0%;
  }
}

/* Card Hover Effect */
.feature-gird,
.grids-1,
.card,
.blog-item,
.team-grids {
  transition: all 0.3s ease;
}

.feature-gird:hover,
.grids-1:hover,
.card:hover,
.blog-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Button Hover Animation */
.btn {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn:hover::before {
  width: 300px;
  height: 300px;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

/* Image Hover Effect */
img {
  transition: transform 0.3s ease;
}

.image-overlay-wrapper img:hover {
  transform: scale(1.05);
}

/* Progress Bar Animation */
.progress-bar {
  transition: width 1.5s ease;
  animation: progressFill 1.5s ease;
}

.progress-bar-striped {
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.15) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(255, 255, 255, 0.15) 75%,
    transparent 75%,
    transparent
  );
  background-size: 1rem 1rem;
  animation: progress-bar-stripes 1s linear infinite;
}

@keyframes progress-bar-stripes {
  0% {
    background-position: 1rem 0;
  }
  100% {
    background-position: 0 0;
  }
}

/* Counter Animation */
.counter {
  font-size: 3rem;
  font-weight: 700;
  animation: fadeIn 0.5s ease;
}

/* Video Banner Animation */
.banner-info-bg {
  animation: fadeInUp 1s ease;
}

.banner-info-bg p {
  animation: fadeInUp 1.2s ease;
}

.banner-info-bg h5 {
  animation: fadeInUp 1.4s ease;
}

.banner-info-bg .btn {
  animation: fadeInUp 1.6s ease;
}

/* Icon Animation */
.fa {
  transition: all 0.3s ease;
}

.fa:hover {
  transform: scale(1.2) rotate(5deg);
}

/* Team Member Hover */
.team-grids:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

.team-grids img {
  transition: all 0.3s ease;
}

/* Logo Hover Animation */
.logo-grid img {
  transition: all 0.3s ease;
  filter: grayscale(100%);
}

.logo-grid img:hover {
  filter: grayscale(0%);
  transform: scale(1.1);
}

/* Navbar Animation */
#site-header {
  transition: all 0.3s ease;
}

#site-header.nav-fixed {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/* Move to Top Button Animation */
#movetop {
  animation: fadeIn 0.3s ease;
  transition: all 0.3s ease;
}

#movetop:hover {
  transform: scale(1.1);
  background-color: var(--primary-color);
}

/* Loading Animation */
.page-loader {
  animation: fadeOut 0.5s ease;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* Smooth Scroll Animation */
html {
  scroll-behavior: smooth;
}

/* Stats Section Animation */
.stats_info {
  animation: scaleUp 0.6s ease;
}

/* Feature Grid Animation */
.feature-gird {
  animation: fadeInUp 0.6s ease;
}

.feature-gird:nth-child(1) {
  animation-delay: 0.1s;
}

.feature-grid:nth-child(2) {
  animation-delay: 0.2s;
}

.feature-gird:nth-child(3) {
  animation-delay: 0.3s;
}

/* Blog Card Stagger Animation */
.grids-1:nth-child(1) {
  animation: fadeInUp 0.6s ease 0.1s both;
}

.grids-1:nth-child(2) {
  animation: fadeInUp 0.6s ease 0.3s both;
}

.grids-1:nth-child(3) {
  animation: fadeInUp 0.6s ease 0.5s both;
}

/* Social Icons Animation */
.footer-29-w3l ul li a {
  transition: all 0.3s ease;
}

.footer-29-w3l ul li a:hover {
  transform: translateY(-3px) rotate(5deg);
}

/* Form Input Animation */
input, textarea, select {
  transition: all 0.3s ease;
}

input:focus, textarea:focus, select:focus {
  transform: scale(1.02);
  box-shadow: 0 0 10px rgba(0, 123, 255, 0.3);
}

/* Video Overlay Animation */
.video-overlay {
  animation: fadeIn 1s ease;
}

/* Blue Overlay Animation */
.blue-overlay {
  transition: opacity 0.3s ease;
}

.image-overlay-wrapper:hover .blue-overlay {
  opacity: 0.5;
}

/* Responsive Animations */
@media (max-width: 768px) {
  .feature-gird:hover,
  .grids-1:hover,
  .card:hover {
    transform: translateY(-5px);
  }
}

/* Print Styles */
@media print {
  * {
    animation: none !important;
    transition: none !important;
  }
}