/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
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: astra-child
Template: astra
*/



.banner-but .elementor-button-icon {
    transform: rotateY(180deg);
}




#christmas-bg {
    background: linear-gradient(
    to bottom,
    #162C09 0%,
    #25592B 50%,
    #1B5225 100%
  );
}


 
  /* TOP DECOR IMAGES */
  #christmas-bg .gif-left,
  #christmas-bg .gif-right {
    position: absolute;
    top: 0;
    width: 130px;
    transform-origin: top center;
    animation: swing 3s ease-in-out infinite;
    z-index: 10;
  }
  #christmas-bg .gif-left { left: 0; }
  #christmas-bg .gif-right { right: 0; animation: swing2 3s ease-in-out infinite; }

  @keyframes swing {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(3deg); }
    100% { transform: rotate(0deg); }
  }
  @keyframes swing2 {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(-3deg); }
    100% { transform: rotate(0deg); }
  }

  /* ⭐ Stars */
  #christmas-bg .star {
    position: absolute;
    animation: blink 2s infinite ease-in-out;
    opacity: 1;
    z-index: 5;
  }
  @keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.2; }
  }

  /* ❄ Snow */
  #christmas-bg .snowflake {
    position: absolute;
    color: #fff;
    opacity: 0.9;
    animation: fall linear infinite;
    z-index: 6;
  }
  @keyframes fall {
    0% { transform: translateY(-10px); opacity: 1; }
    100% { transform: translateY(110%); opacity: 0.2; }
  }



.offer-page-but {
    transition: all 0.3s ease;
}

.offer-page-but:hover {
  
    transform: scale(1.05);
}


input#phone-flogs {
    padding-left: 35% !important;
}



/* Container */
.faq-wrap {
  max-width: 1200px;
  margin: 20px auto;
 
}

/* Title */
.faq-title {
	font-family: 'Inter';
  text-align: center;
  font-size: 30px;
  margin-bottom: 22px;
  color: #2f2f2f;
  font-weight: 600;
}

/* Accordion item */
.faq-item {
  background: #ffffff;
  border-radius: 12px;
  margin: 14px 8px;
  overflow: hidden;
  border: 1px solid rgba(3,146,141,0.10);
  transition: all .25s ease;
  box-shadow: 0 0 0 1px rgba(3,146,141,0.08),
              0 6px 18px rgba(0,0,0,0.04);
}

/* Header */
.faq-head {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 26px;
  cursor: pointer;
  transition: all .25s ease;
}

/* Left icon circle */
.faq-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #E8F6F6;
  display: flex;
  align-items: center;
  justify-content: center;
    color: #196C00;
}

/* Title text */
.faq-question {
    font-family: 'Inter';
    flex: 1;
    font-size: 20px;
    font-weight: 600;
    color: #196C00;
}

/* Plus/minus box */
.faq-toggle {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #F1F9F1;
  border: 1px solid #03928D;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
}

/* Content area */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .25s ease;
  padding: 0 26px;
}

.faq-content p {
	font-family: 'Inter';
  padding-left:55px;
	padding-right:100px;
  color: #003A38;
  font-size: 15px;
}

/* ============================= */
/*           OPEN STATE          */
/* ============================= */


.faq-item.open {
    background: linear-gradient(243.48deg, rgba(47, 134, 3, 0.16) 33.93%, rgba(81, 179, 8, 0.08) 85.45%);
}

/* Remove header bg when open */
.faq-item.open .faq-head {
  background: transparent !important;
}

/* Toggle box open → dark & minus white */
.faq-item.open .faq-toggle {
    border-color: #2F8603;
    background: linear-gradient(193.06deg, #2F8603 5.92%, #51B308 89.21%);
}

/* Change icon to white minus on open */
.faq-item.open .faq-toggle svg path {
  stroke: white !important;
}

/* Content visible */
.faq-item.open .faq-content {
  max-height: 300px;
  padding: 16px 26px 26px;
}

/* Hide vertical line of plus when open (so it becomes minus) */
.faq-item.open .faq-toggle svg path:nth-child(2) {
  display: none;
}

/* ============================= */
/*        RESPONSIVE STYLE       */
/* ============================= */

/* ---------- Tablets (max-width: 992px) ---------- */
@media (max-width: 992px) {
  .faq-question {
    font-size: 18px;
  }

  .faq-head {
    padding: 18px 22px;
  }

  .faq-content p {
    padding-left: 45px;
    padding-right: 40px;
    font-size: 15px;
  }

  .faq-toggle {
    width: 34px;
    height: 34px;
  }
}

/* ---------- Mobile (max-width: 768px) ---------- */
@media (max-width: 768px) {
  .faq-wrap {
    margin: 10px;
  }

  .faq-title {
    font-size: 18px;
  }

  .faq-head {
    gap: 14px;
    padding: 16px 18px;
  }

  .faq-icon {
    width: 34px;
    height: 34px;
  }

  .faq-question {
    font-size: 14px;
    font-weight: 600;
  }

  .faq-toggle {
    width: 32px;
    height: 32px;
  }

  .faq-content {
    padding: 0 18px;
  }

  .faq-content p {
    padding-left: 40px;
    padding-right: 20px;
    font-size: 12px;
  }
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media (max-width: 480px) {
  .faq-title {
    font-size: 18px;
  }

  .faq-head {
    padding: 14px 16px;
    gap: 12px;
  }

  .faq-icon {
    width: 30px;
    height: 30px;
  }

  .faq-question {
    font-size: 16px;
  }

  .faq-toggle {
    width: 28px;
    height: 28px;
    border-radius: 8px;
  }

  .faq-content p {
    padding-left: 35px;
    padding-right: 10px;
    font-size: 13px;
    line-height: 1.5;
  }
}















/* Main wrapper */
.custom-form {
  margin: 0 auto;
}

/* Two column layout */
.form-flx {
  display: flex;
  gap: 15px;
  margin-bottom: 22px;
}

.form-flx > div {
  width: 100%;
}

/* Single row */
.form-singel {
  margin-bottom: 22px;
}

/* Inputs */
.custom-form input,
.custom-form select,
.custom-form textarea {
    width: 100%;
    border: none;
    border: 0;
    padding: 12px 0;
    background: transparent;
    font-size: 16px;
    outline: none;
    transition: .3s ease;
    background-color: white !important;
}

.custom-form .wpcf7-submit {
	border: 2px solid #ffffff !important;
}

/* Placeholder color */
.custom-form ::placeholder {
  color: rgb(71, 85, 105) !important;
}

.custom-form span.wpcf7-not-valid-tip {
    color: white;
}

/* Textarea */
.custom-form textarea {
  min-height: 110px;
  resize: vertical;
}

/* Button */
.Send-Message-btn {
  background: #000;
  color: #fff;
  padding: 12px 28px;
  border: none;
  font-size: 14px;
  cursor: pointer;
}

.Send-Message-btn:hover {
  background: #333;
}

/* CF7 error */
.wpcf7-not-valid {
  border-color: red;
}

/* Mobile */
@media (max-width: 768px) {
  .form-flx {
    flex-direction: column;
  }
	.services-grid .e-flex.e-child{ 
display:inherit;
}
}


.wpcf7 form {
    background: none !important;
    padding: 0px !important;
    border-radius: 12px;
}
.custom-form p {
    margin-bottom: 0px !important;
}
.Send-Message-btn {
    width: 40% !important;
}


.Send-Message-btn {
    background-color: #61CE70 !important;
    font-family: "Work Sans", Sans-serif;
    font-size: 19px !important;
    font-weight: 400;
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-radius: 40px 40px 40px 40px !important;
    padding: 18px 30px 18px 30px !important;
}







/* RESET */

.wp-services-section {
  
    color: #202020;
    padding: 0px 20px;
}

.wp-services-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px auto;
}

.wp-services-header .wp-title {
    font-weight: 700;
    font-size: 32px;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 22px;
}

.wp-services-header .wp-title:before {
    content:"";
    position: absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:50px;
    height:3px;
    background:#ff4500;
    border-radius:3px;
}

.wp-services-header .wp-title:after {
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(30px);
    width:10px;
    height:3px;
    background:#504f93;
    border-radius:3px;
}

.wp-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap:25px;
}

/* ===================== SERVICE BOX ===================== */
.wp-service-box {
    position: relative;
    background: #fff;
    border-radius: 12px;
    padding: 40px 28px;
    overflow: hidden;
    transition: 0.4s;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
.wp-service-content { position:relative; z-index:10; }

.wp-service-circle {
    position:absolute;
    top:0;
    right:0;
    transform: translate(40%, -40%);
    width:150px;
    height:150px;
 background: #4aab3d;
    border-radius:50%;
    opacity:0.5;
    transition:0.6s;
    z-index:1;
}

.wp-service-box:hover .wp-service-circle {
    width:100%;
    height:100%;
    transform:none;
    border:0;
    border-radius:0;
    opacity:1;
}

.wp-service-icon {
    display:inline-block;
    width:70px;
    height:70px;
    color:#fff;
    border-radius:6px;
    font-size:32px;
    line-height:70px;
    text-align:center;
    margin-bottom:20px;
    transition:0.3s;
}

.wp-service-box:hover .wp-service-icon {
    background:#fff;
    color:#ff4500;
}

.wp-service-title {
    font-size:20px;
    font-weight:600;
    margin-bottom:12px;
    transition:0.3s;
}

.wp-service-box:hover .wp-service-title {
    color:#fff;
}

.wp-service-text {
    font-size:17px;
    color:#333;
    margin-bottom:18px;
    transition:0.3s;
}

.wp-service-box:hover .wp-service-text {
    color:#fff;
}

.wp-service-link {
    position:relative;
    font-weight:500;
    font-size:16px;
    text-decoration:none;
    color:#202020;
    transition:0.3s;
}

/* LEARN MORE GREEN HOVER */
.wp-service-box:hover .wp-service-link {
    color:#fff;
}

.wp-service-link:after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:2px;
    background:#4aab3d; /* GREEN UNDERLINE */
    transition:0.3s;
}

.wp-service-box:hover .wp-service-link:after {
    background:#4aab3d; /* GREEN ON HOVER */
}










/*  Industrial Cleaning Services  */

/* MAIN BOX */
.hover-box {
    position: relative;
    padding: 20px;
    background: #51B30808;
    text-align: center;
    border-radius: 12px;
    transition: 0.4s ease;
    cursor: pointer;
    overflow: visible;
box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

/* TICK ICON — ALWAYS VISIBLE */
.tick-icon {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 28px;
    z-index: 50;
    pointer-events: none;
}

/* Prevent hover from affecting tick */
.hover-box:hover .tick-icon {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

/* IMAGE CONTAINER */
.hover-image {
    position: relative;
    width: 100%;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hover-image .img {
    position: absolute;
    width: 55%;
    height: auto;
    transition: 0.4s ease;
}

.img-default { opacity: 1; }
.img-hover { opacity: 0; }

/* TITLE */
.hover-title {
    font-size: 17px;
    color: #51B308;
    transition: 0.4s ease;
    margin: 5px 0px;
}

/* HOVER EFFECTS */
.hover-box:hover {
    background: #2F8603;
}

.hover-box:hover .img-default {
    opacity: 0;
    transform: scale(1.05);
}

.hover-box:hover .img-hover {
    opacity: 1;
    transform: scale(1.05);
}

.hover-box:hover .hover-title {
    color: #fff;
}

.hover-box:hover img.tick-icon {
    display: none;
}


.arrow-btn .elementskit-btn svg {
  transform: rotateY(180deg);
	margin-left : 10px;
}



