/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.12.1759235521
Updated: 2025-09-30 12:32:01

*/





    

    /* Buttons (example) */
    .btn {
      padding: 10px 18px;
      margin: 10px;
      background: #ff5c73;
      color: white;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-weight: bold;
    }
    .btn:hover {
      background: #e64a62;
    }

    /* Modal Background */
    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.5);
    }

    /* Modal Box */
    .modal-content {
      background: #fff;
      width: 500px !important;
      
      margin: 20% auto;
      padding: 20px;
      border-radius: 8px;
      position: relative;
    }

    /* Close Button */
    .close {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 22px;
      font-weight: bold;
      color: #666;
      cursor: pointer;
    }

    .close:hover {
      color: #000;
    }

    /* Input + Button */
    .modal-content input {
      width: calc(100% - 100px);
      padding: 10px;
      border: 1px solid #ccc;
      border-radius: 6px;
      margin-right: 10px;
    }

    .modal-content button {
      padding: 10px 20px;
      background: #003344;
      color: #fff;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-weight: bold;
    }

    .modal-content button:hover {
      background: #001f29;
    }

    .error {
      margin-top: 10px;
      color: red;
      font-size: 14px;
    }
  
 .container-card {
    max-width: 1050px;
    margin: 36px auto;
    background: #fff;
    border-radius: 12px;
    padding: 26px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);

}





/* Basic setup */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 700ms cubic-bezier(.2,.9,.2,1), transform 700ms cubic-bezier(.2,.9,.2,1);
  will-change: opacity, transform;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll {
    transition: none;
  }
}

/* Trigger state */
.animate-on-scroll.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Variations */

/* Fade-up (default mild slide up) */
.fade-up { /* already handled by base */
}

/* Slide-left: element comes from right -> left */
.slide-left {
  transform: translateX(20px);
  transition: opacity 700ms cubic-bezier(.2,.9,.2,1), transform 700ms cubic-bezier(.2,.9,.2,1);
}
.slide-left.in-view {
  transform: translateX(0);
  opacity: 1;
}

/* Zoom-in: image slightly scales from 0.95 -> 1 */
.zoom-in {
  transform: scale(0.96);
  transition: opacity 700ms cubic-bezier(.2,.9,.2,1), transform 700ms cubic-bezier(.2,.9,.2,1);
}
.zoom-in.in-view {
  transform: scale(1);
  opacity: 1;
}

/* Stagger helpers (use on container children to create delay) */
[data-animate-stagger] > * {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 650ms ease, transform 650ms ease;
}
[data-animate-stagger] > *.in-view {
  opacity: 1;
  transform: translateY(0);
}
/* JS will add .in-view to parent children with incremental delay below */

/* Optional: nicer hero image shadow and rounding */
.hero-img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(10,20,30,0.12);
}

/* small responsive tweaks */
@media (max-width: 768px) {
  .fade-up.in-view, .slide-left.in-view, .zoom-in.in-view {
    transition-duration: 500ms;
  }
	
	/* Modal Box */
    .modal-content {
      background: #fff;
      width: 350px !important; 
    }
}





.headerfixed {
  position: relative;
  width: 100%;
  height: 100px;
  background: #333;
  color: white;
  transition: all 0.3s ease;
}

.headerfixed.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
















