/**
Theme Name: Astra Child
Author: Deltamarx
Author URI: https://deltamarx.com
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mishay-astra-child
Template: astra
*/
/* Variables */
:root {
  --header-height: 80px;
}

/* Card Slider for About page */
.my-card-slider {
  padding: 10px 0;
}

.my-card-slider .swiper-slide {
  width: 48%;
}

.card {
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0px;
  align-items: stretch;
  background: #fff;
  border-radius: 12px;
  padding: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,.1);
  transition: transform .3s, box-shadow .3s;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,.15);
}

.card img {
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 12px;
}

.card h2 {
  font-size: 20px;
  color: #008000;
  margin-bottom: 10px;
}


.card p {
  font-size: 16px;
  color: #555;
  line-height: 1.5;
}

/* Mobile */
@media (max-width: 768px) {
  .my-card-slider .swiper-slide {
    width: 100%;
  }
  .card img {
    height: 140px;
  }
}
.swiper-wrapper {
  transition-timing-function: linear !important;
}

/* ============================= */
/* ASTRA SCROLL STICKY HEADER SMOOTH */
/* ============================= */

:target {
  scroll-margin-top: var(--header-height);
}

/* Base transition for header */
#masthead,
.ast-primary-header,
.site-header {
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

/* Sticky header - only when scrolling down */
#masthead.is-sticky,
.ast-primary-header.is-sticky,
.site-header.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    background-color: #ffffff;   /* White background */
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    height: var(--header-height);
    transform: translateY(-100%); /* Hidden initially */
    opacity: 0;
}

/* Show sticky header smoothly */
#masthead.is-sticky.visible,
.ast-primary-header.is-sticky.visible,
.site-header.is-sticky.visible {
    transform: translateY(0);
    opacity: 1;
}

/* Sticky header links - black */
#masthead.is-sticky a,
.ast-primary-header.is-sticky a,
.site-header.is-sticky a {
    color: #000000 !important;
    font-weight: 500;
    transition: color 0.3s ease;
}

/* Hover links - green */
#masthead.is-sticky a:hover,
.ast-primary-header.is-sticky a:hover,
.site-header.is-sticky a:hover {
    color: #008000 !important;
}

/* Sticky submenu background - dark green */
#masthead.is-sticky ul.sub-menu,
.ast-primary-header.is-sticky ul.sub-menu,
.site-header.is-sticky ul.sub-menu {
    background-color: #004d00 !important;
}

/* Sticky submenu links - white */
#masthead.is-sticky ul.sub-menu a,
.ast-primary-header.is-sticky ul.sub-menu a,
.site-header.is-sticky ul.sub-menu a {
    color: #ffffff !important;
    font-weight: 500;
}

/* Sticky submenu links hover - light green */
#masthead.is-sticky ul.sub-menu a:hover,
.ast-primary-header.is-sticky ul.sub-menu a:hover,
.site-header.is-sticky ul.sub-menu a:hover {
    color: #90ee90 !important;
}
@media (max-width: 768px) {
    #masthead.is-sticky,
    .ast-primary-header.is-sticky,
    .site-header.is-sticky {
        display: none !important;
        transform: none !important;
        opacity: 1 !important;
        position: static !important;
    }
}




/*  This is Good  */
/* HOME PAGE HEADER TEXT – BLACK & SLIGHT BOLD */
body.home header a,
body.home header nav ul li a {
    color: #000000 !important;
    font-weight: 500 !important; /* Slight bold */
}

/* HOVER – GREEN */
body.home header a:hover,
body.home header nav ul li a:hover {
    color: #008000 !important;
}

/* SUBMENU BACKGROUND – DARK GREEN */
body.home header nav ul li ul,
body.home header nav ul.sub-menu {
    background-color: #004d00 !important;
}

/* SUBMENU TEXT */
body.home header nav ul li ul li a {
    color: #ffffff !important;
    font-weight: 500 !important;
}

body.home header nav ul li ul li a:hover {
    color: #90ee90 !important;
}



/* Astra submenu background */
.main-header-menu .sub-menu {
    background-color: #3C8C09;
}

/* CF7 Container */
.cf7-container {
  max-width: 800px;
  margin: auto;
  font-family: inherit;
}

/* Rows */
.cf7-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

/* Columns */
.cf7-col {
  flex: 1;
}

/* Full width rows */
.full-width {
  flex-direction: column;
}

/* Labels */
.cf7-container label {
  font-weight: 600;
  margin-bottom: 1px;
  display: block;
  color: #333;
  line-height: 1.2;
}

/* Inputs */
.cf7-container input,
.cf7-container select,
.cf7-container textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 14px;
  transition: all 0.3s ease;
  margin-top: 0;
}

/* Focus effect */
.cf7-container input:focus,
.cf7-container select:focus,
.cf7-container textarea:focus {
  border-color: #0073aa;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.15);
}

/* FORCE textarea height */
.wpcf7-form textarea.wpcf7-textarea {
  min-height: 60px !important;
  height: 140px !important;
  resize: vertical;
}


/* Submit button */
.cf7-submit {
  text-align: center;
}

.cf7-container input[type="submit"] {
  background: orange;
  color: #ffffff;
  border: none;
  padding: 14px 40px;
  font-size: 16px;
  border-radius: 30px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.cf7-container input[type="submit"]:hover {
  background: lightgreen;
}



/* Mobile Responsive */
@media (max-width: 768px) {
  .cf7-row {
    flex-direction: column;
  }
}

/* Remove default CF7 paragraph spacing */
.wpcf7-form p {
  margin: 0;
  padding: 0;
}

/* Contact Details Box */
.contact-details-box {
  margin-top: 10px;
  max-width: 600px;
  background: #ffffff;
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  font-family: inherit;
}

.contact-details-box h2 {
  margin-bottom: 20px;
  font-size: 22px;
  color: #222;
}

.contact-item {
  margin-bottom: 18px;
}

.contact-item strong {
  display: block;
  margin-bottom: 6px;
  color: #0073aa;
  font-size: 15px;
}

.contact-item p {
  margin: 0;
  color: #444;
  line-height: 1.6;
}


/* Swipper classs for card in who we are page  */

.swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 10px 0;
    box-sizing: border-box;
}

/* Card styling */
.swiper .card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    text-align: center;
    font-family: Arial, sans-serif;
    transition: transform 0.3s, box-shadow 0.3s;
    padding: 15px;
    display: flex;
    flex-direction: column;
    width: 100%;  /* card fills swiper-slide */
    box-sizing: border-box;
}

/* Swiper slide width to show 2 cards per view */
.my-card-slider .swiper-slide {
    width: calc(50% - 10px) !important; /* 50% minus half the gap */
    margin-right: 20px;                  /* 20px gap */
}

/* Remove margin from last slide in row */
.my-card-slider .swiper-slide:nth-child(2n) {
    margin-right: 0;
}

/* Hover effect */
.swiper .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* Card image */
.swiper .card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

/* Card heading */
.swiper .card h2 {
    font-size: 20px;
    color: #008000;
    margin: 0 0 10px 0;
}

/* Card description */
.swiper .card p {
    font-size: 16px;
    color: #555;
    margin: 0;
    line-height: 1.5;
    flex-grow: 1;
}

/* Responsive */
@media(max-width:768px){
    .my-card-slider .swiper-slide {
        width: 100% !important;
        margin-right: 0;
    }
    .swiper .card img { height: 140px; }
    .swiper .card h2 { font-size: 16px; }
    .swiper .card p { font-size: 14px; }
}

/* Stacked Card  */
.dmx-card-stack-container {
  
  position: sticky !important;
  top: 20vh; 
}
.dmx-stack-card {
  position: sticky !important;
  top: 20vh; 

  margin: 0 auto 10vh;
  background: #fff;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  transition: transform 0.5s ease !important; 
  
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .dmx-stack-card {
    top: 5vh;
    margin: 0 auto 3vh;
  }
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
  background-color: #000 !important;
}

/* Change the font size of Footer Widget Heading Title */
.widget_nav_menu .widget-title {
	padding-left:1rem;
	padding-right:1rem;
	font-size: 1.2rem;
    font-weight: 500;
    color: white;
}

.widget_nav_menu nav{
	padding-left:1rem !important;
	padding-right:1rem !important;
}

/* Targets .menu-link ONLY when it is inside .site-footer */
.site-footer .menu-link {
    color: #fff;
    text-decoration: none;
    
}

/* Optional: Add a hover state for these specific links */
.site-footer .menu-link:hover {
    color: white;
    text-decoration: underline;
}

.site-anchor-scroll {
  scroll-margin-top: var(--header-height);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  /* Change the font size of Footer Widget Heading Title */
.widget_nav_menu .widget-title {
	padding-left:1rem !important;
	padding-right:1rem !important;
	font-size: 1rem;
    font-weight: 500;
    color: white;
}

.widget_nav_menu nav{
	padding-left:1rem !important;
	padding-right:1rem !important;
}
}






