.elementor-2986 .elementor-element.elementor-element-d40ac59{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--background-transition:0.3s;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2986 .elementor-element.elementor-element-d40ac59:not(.elementor-motion-effects-element-type-background), .elementor-2986 .elementor-element.elementor-element-d40ac59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(0deg, #FFFFFFED 0%, #FCFCFC99 100%);}.elementor-2986 .elementor-element.elementor-element-d40ac59, .elementor-2986 .elementor-element.elementor-element-d40ac59::before{--border-transition:0.3s;}@media(max-width:1024px){.elementor-2986 .elementor-element.elementor-element-d40ac59{--padding-top:10px;--padding-bottom:0px;--padding-left:10px;--padding-right:0px;}}@media(max-width:767px){.elementor-2986 .elementor-element.elementor-element-d40ac59{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2986 .elementor-element.elementor-element-d40ac59.e-con{--align-self:center;}.elementor-2986 .elementor-element.elementor-element-7c6ab94 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-7c6ab94 */.main-nav { 
  border-bottom:0px solid #e0e0e0;
  font-family:'Raleway', sans-serif;
  position:sticky;
  top:0;
  z-index:1000;padding: 0px 10px;
}
.nav-logo{margin-top:0px}
.nav-container{
  max-width:1240px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 0px;
}

.nav-logo{
  font-weight:700;
  font-size:18px;
  color:#1a7f3c;
  letter-spacing:0.5px;
}

.nav-menu{
  list-style:none;
  display:flex;
  gap:32px;
  margin:0;
  padding:0;
}

.nav-menu li{ 
  position:relative;
}

.nav-menu > li > a{
  text-decoration:none;
  color:#333;
  font-weight:600;
  font-size:15px;
  padding:8px 20px;
  display:inline-block;
  transition:color 0.3s ease;   
  text-transform: capitalize;    border: 1px solid #3e5d49;
    border-radius: 60px;
}

.nav-menu > li > a:hover{ 
  color:#1a7f3c;
}

/* CTA */
.cta-btn{
  background:#1a7f3c;
  color:#fff;
  padding:11px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  transition:all 0.3s ease;
  box-shadow:0 4px 12px rgba(26,127,60,0.2);
}

.cta-btn:hover{
  background:#157033;
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(26,127,60,0.3);
}

/* MEGA MENU */
.mega-parent{
  position:relative;
}

.mega-parent::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:20px;
  display:none;
}

.mega-parent:hover::after{
  display:block;
}

.mega-menu{
  position:absolute;
  left:-50px;
  top:calc(100% + 20px);
  background:#fff;
  opacity:0;
  visibility:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding:28px;
  width:720px;
  box-shadow:0 10px 40px rgba(0,0,0,0.15);
  border-radius:16px;
  z-index:999;
  border:1px solid #f0f0f0;
  transform:translateY(-10px);
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.mega-parent:hover .mega-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition-delay:0.1s;
}

.mega-col{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.mega-col a{
  display:flex;
  align-items:center;
  padding:12px 16px;
  font-size:16px;
  font-weight:500;
  color:#444;
  border-radius:10px;
  transition:all 0.25s ease;
  position:relative;
  overflow:hidden;   
  text-decoration: none;
}

.mega-col a::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:4px;
  background:#1a7f3c;
  transform:scaleY(0);
  transition:transform 0.25s ease;
}

.mega-col a:hover{
  background:linear-gradient(90deg, #f0f9f3 0%, #f8f8f8 100%);
  color:#1a7f3c; 
}

.mega-col a:hover::before{
  transform:scaleY(1);
}

.mega-col span{
  margin-right:10px;
  font-size:18px;
  transition:transform 0.25s ease;
}

.mega-col a:hover span{
  transform:scale(1.15);
}

/* SUB MENU */
.has-sub{
  position:relative;
}

.has-sub::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:15px;
  display:none;
}

.has-sub:hover::after{
  display:block;
}

.sub-menu{
  position:absolute;
  top:calc(100% + 15px);
  left:0;
  background:#fff;
  opacity:0;
  visibility:hidden;
  padding:12px;
  min-width:240px;
  box-shadow:0 10px 32px rgba(0,0,0,.14);
  border-radius:14px;
  list-style:none;
  margin:0;
  border:1px solid #f0f0f0;
  transform:translateY(-10px);
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  z-index:999;
}

.has-sub:hover .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition-delay:0.1s;
}

.sub-menu li{
  margin:0;
}

.sub-menu a{
  display:flex;
  align-items:center;
  padding:11px 18px;
  color:#444;
  text-decoration:none;
  border-radius:10px;
  transition:all 0.25s ease;
  font-size:15px;
  font-weight:500;
  position:relative;
  overflow:hidden;
}

.sub-menu a::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:4px;
  background:#1a7f3c;
  transform:scaleY(0);
  transition:transform 0.25s ease;
}

.sub-menu a:hover{
  background:linear-gradient(90deg, #f0f9f3 0%, #f8f8f8 100%);
  color:#1a7f3c;
  padding-left:22px;
  font-weight:600;
}

.sub-menu a:hover::before{
  transform:scaleY(1);
}

/* MOBILE */
.mobile-actions{
  display:none;
  align-items:center;
  gap:12px;
}

.mobile-contact-btn{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#3d8f5c;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(61,143,92,0.25);
  transition:all 0.3s ease;
  color:#fff;
  font-size:22px;
}

.mobile-contact-btn:hover{
  background:#2d7a4a;
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(61,143,92,0.35);
}

.mobile-toggle{
  cursor:pointer;
  padding:8px;
  transition:all 0.3s ease;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:36px;
  height:36px;
  position:relative;
}

.mobile-toggle span{
  display:block;
  width:28px;
  height:3px;
  background:#e85d75;
  border-radius:3px;
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position:absolute;
}

.mobile-toggle span:nth-child(1){
  top:8px;
}

.mobile-toggle span:nth-child(2){
  top:50%;
  transform:translateY(-50%);
}

.mobile-toggle span:nth-child(3){
  bottom:8px;
}

.mobile-toggle.active span:nth-child(1){
  top:50%;
  transform:translateY(-50%) rotate(45deg);
}

.mobile-toggle.active span:nth-child(2){
  opacity:0;
}

.mobile-toggle.active span:nth-child(3){
  bottom:50%;
  transform:translateY(50%) rotate(-45deg);
}

@media(max-width:991px){
  .nav-menu,.nav-cta{ display:none; }
  .mobile-actions{ display:flex; }
  
  .nav-container{
    padding:0px 0px;
  }
}
.mobile-menu{
  display:none;
  background:#fff;
  padding:20px;
  border-bottom:1px solid #e0e0e0;
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease, padding 0.4s ease;
}
.nav-logo img{width:250px;}
.mobile-menu.active{
  max-height:1300px;
  padding:0px;
}

.mobile-menu a{
  display:flex;
  align-items:center;
  padding:13px 18px;
  text-decoration:none;
  color:#444;
  font-weight:500;
  border-radius:10px;
  transition:all 0.25s ease;
  margin:6px 0;
  font-size:15px;
  position:relative;
  overflow:hidden;
}

.mobile-menu a::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:4px;
  background:#1a7f3c;
  transform:scaleY(0);
  transition:transform 0.25s ease;
}

.mobile-menu a:hover{
  background:linear-gradient(90deg, #f0f9f3 0%, #f8f8f8 100%);
  color:#1a7f3c;
  padding-left:22px;
  font-weight:600;
}

.mobile-menu a:hover::before{
  transform:scaleY(1);
}

.mobile-cta{
  background:#1a7f3c;
  color:#fff !important;
  padding:14px;
  text-align:center;
  border-radius:12px;
  margin-bottom:16px;
  font-weight:700;
  box-shadow:0 4px 12px rgba(26,127,60,0.2);
}

.mobile-cta:hover{
  background:#157033;
  padding-left:14px !important;
}

details{
  margin:10px 0;
  border-radius:10px;
  overflow:hidden;
  background:#fafafa;
  border:1px solid #f0f0f0;
  transition:all 0.25s ease;
}

details:hover{
  border-color:#e0e0e0;
}

details summary{
  font-weight:700;
  cursor:pointer;
  padding:14px 18px;
  background:#fafafa;
  border-radius:10px;
  transition:all 0.25s ease;
  user-select:none;
  font-size:15px;
  color:#333;
  position:relative;
}

details summary::after{
  content:'\25BC';
  position:absolute;
  right:18px;
  font-size:10px;
  transition:transform 0.3s ease;
  color:#999;
}

details[open] summary::after{
  transform:rotate(180deg);
}

details summary:hover{
  background:#e8f5ec;
  color:#1a7f3c;
}

details[open] summary{
  background:#e8f5ec;
  color:#1a7f3c;
  margin-bottom:8px;
  border-radius:10px 10px 0 0;
}

details[open]{
  background:#fff;
}

details a{
  margin-left:12px;
  font-size:14px;
  padding:10px 18px;
}

@media(max-width:991px){.mobile-menu.active{ display:block; }
}
 
.has-sub {
  position: relative;
}

.has-sub > a::after {
  content: '▼';
  font-size: 10px;
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.has-sub:hover > a::after {
  transform: rotate(180deg);
}

.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  border-radius: 10px;
  padding: 15px 0;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  margin-top: 10px;
  list-style: none;
}/* End custom CSS */