.elementor-43 .elementor-element.elementor-element-2a88329{--display:flex;--min-height:330px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:65px;--padding-bottom:65px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-2a88329:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-2a88329 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://elfbox.ie/wp-content/uploads/2026/10/elfbox-info-banner.jpg");background-position:center right;background-repeat:no-repeat;background-size:cover;}.elementor-43 .elementor-element.elementor-element-2a88329.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-109be09{--display:flex;--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-43 .elementor-element.elementor-element-7b102a3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -8px) 0px;padding:0px 0px 0px 0px;text-align:start;font-size:17px;font-weight:500;line-height:1.5em;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-1b349ab{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + -8px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1b349ab .elementor-heading-title{font-size:50px;line-height:1.2em;color:var( --e-global-color-2bdd7c9 );}.elementor-43 .elementor-element.elementor-element-396a6df{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 2px 0px;text-align:start;font-size:19px;line-height:1.5em;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-bbc1d39{--display:flex;--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-43 .elementor-element.elementor-element-608faa2{--display:flex;--padding-top:80px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-608faa2:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-608faa2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b3e8b7b );}.elementor-43 .elementor-element.elementor-element-f461f4d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-9a2af20{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-45b410a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-38ebb23{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-eb15c01{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-89edbef{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-89edbef {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-89edbef > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-dc55041{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-97fba40{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-7ccc5d9{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-7ccc5d9 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-7ccc5d9 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-c7a71c3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-7aa22e0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-223377e{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-223377e {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-223377e > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-ef73b06{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-f753f25{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-d1b8208{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-d1b8208 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-d1b8208 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-87eee2a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-e96ee60{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-45032b2{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-45032b2 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-45032b2 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-9c02fb9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-8ef569e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-5605665{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-5605665 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-5605665 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-d2bdebb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-5186f83{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-5186f83:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-5186f83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-5186f83:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-5186f83, .elementor-43 .elementor-element.elementor-element-5186f83::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-5186f83.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-6f78f92{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-6f78f92 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-f4b8b82{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-f4b8b82.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-f4b8b82.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-f4b8b82.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-f4b8b82 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-f4b8b82 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-f4b8b82 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-f4b8b82 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-77b2c15{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-77b2c15.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-77b2c15 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-77b2c15 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-77b2c15 .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-0feee26{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-de3cc08{--display:flex;--min-height:210px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-de3cc08:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-de3cc08 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-de3cc08:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-de3cc08, .elementor-43 .elementor-element.elementor-element-de3cc08::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-de3cc08.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-bf0bf18{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-bf0bf18.elementor-position-right .elementor-image-box-img{margin-left:8px;}.elementor-43 .elementor-element.elementor-element-bf0bf18.elementor-position-left .elementor-image-box-img{margin-right:8px;}.elementor-43 .elementor-element.elementor-element-bf0bf18.elementor-position-top .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-bf0bf18 .elementor-image-box-title{margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-bf0bf18 .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-bf0bf18 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-bf0bf18 .elementor-image-box-description{font-size:15px;}.elementor-43 .elementor-element.elementor-element-9240bde{--display:flex;--min-height:210px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-43 .elementor-element.elementor-element-9240bde:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-9240bde > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-9240bde:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-9240bde, .elementor-43 .elementor-element.elementor-element-9240bde::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-9240bde.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-dc02a34{margin:-12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-dc02a34.elementor-position-right .elementor-image-box-img{margin-left:9px;}.elementor-43 .elementor-element.elementor-element-dc02a34.elementor-position-left .elementor-image-box-img{margin-right:9px;}.elementor-43 .elementor-element.elementor-element-dc02a34.elementor-position-top .elementor-image-box-img{margin-bottom:9px;}.elementor-43 .elementor-element.elementor-element-dc02a34 .elementor-image-box-title{margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-dc02a34 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-dc02a34 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-dc02a34 .elementor-image-box-description{font-size:15px;}.elementor-43 .elementor-element.elementor-element-6cf5bb5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-027e646{--display:flex;--min-height:210px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-027e646:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-027e646 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-027e646:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-027e646, .elementor-43 .elementor-element.elementor-element-027e646::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-027e646.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-1aee614{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1aee614.elementor-position-right .elementor-image-box-img{margin-left:8px;}.elementor-43 .elementor-element.elementor-element-1aee614.elementor-position-left .elementor-image-box-img{margin-right:8px;}.elementor-43 .elementor-element.elementor-element-1aee614.elementor-position-top .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-1aee614 .elementor-image-box-title{margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-1aee614 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-1aee614 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-1aee614 .elementor-image-box-description{font-size:15px;}.elementor-43 .elementor-element.elementor-element-a8579e4{--display:flex;--min-height:210px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-43 .elementor-element.elementor-element-a8579e4:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-a8579e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-a8579e4:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-a8579e4, .elementor-43 .elementor-element.elementor-element-a8579e4::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-a8579e4.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-67ef4b6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-67ef4b6.elementor-position-right .elementor-image-box-img{margin-left:8px;}.elementor-43 .elementor-element.elementor-element-67ef4b6.elementor-position-left .elementor-image-box-img{margin-right:8px;}.elementor-43 .elementor-element.elementor-element-67ef4b6.elementor-position-top .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-67ef4b6 .elementor-image-box-title{margin-bottom:4px;font-size:17px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-67ef4b6 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-67ef4b6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-67ef4b6 .elementor-image-box-description{font-size:15px;}.elementor-43 .elementor-element.elementor-element-ce51ca3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-d158287{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-14c62b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-0bbdaad{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-c859218{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-4074f60{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-4074f60 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-4074f60 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-01534c9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-55ee78a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-8ccf1c4{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-8ccf1c4 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-8ccf1c4 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-e7079d4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-f92fd67{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-8076763{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-8076763 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-8076763 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-5f0529c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-f7602d3{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-b74981a{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-b74981a {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-b74981a > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-6c72049{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-4a6b8fe{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-4a6b8fe:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-4a6b8fe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-4a6b8fe:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-4a6b8fe, .elementor-43 .elementor-element.elementor-element-4a6b8fe::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-4a6b8fe.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-2bce231{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-2bce231 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-d50abfc{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d50abfc.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-d50abfc.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-d50abfc.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-d50abfc .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-d50abfc .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-d50abfc .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-d50abfc .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-2e227bf{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-2e227bf.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-2e227bf .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-2e227bf .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-2e227bf .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-34658fe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-1b2df02{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-1b2df02:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-1b2df02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-1b2df02:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-1b2df02, .elementor-43 .elementor-element.elementor-element-1b2df02::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-1b2df02.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e9d747e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e9d747e.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e9d747e.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e9d747e.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e9d747e .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e9d747e .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-e9d747e .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-d49735b{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-d49735b:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-d49735b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-d49735b:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-d49735b, .elementor-43 .elementor-element.elementor-element-d49735b::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-d49735b.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-01e2684{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-01e2684.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-01e2684.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-01e2684.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-01e2684 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-01e2684 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-01e2684 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-504a717{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-aa8c11c{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-aa8c11c:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-aa8c11c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-aa8c11c:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-aa8c11c, .elementor-43 .elementor-element.elementor-element-aa8c11c::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-aa8c11c.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-a76b1e0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-a76b1e0.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-a76b1e0.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-a76b1e0.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-a76b1e0 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-a76b1e0 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-a76b1e0 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-571e227{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-571e227:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-571e227 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-571e227:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-571e227, .elementor-43 .elementor-element.elementor-element-571e227::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-571e227.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-a9796f1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-a9796f1.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-a9796f1.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-a9796f1.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-a9796f1 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-a9796f1 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-a9796f1 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-d84715e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-ca6b825{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-f3110f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-db71c18{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-f6b58bb{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-8652c15{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-8652c15 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-8652c15 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-8ae2fc6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-cb3d80c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-2e4f1ed{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-2e4f1ed {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-2e4f1ed > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-5d58f7b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-7147cb2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-7700bca{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-7700bca {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-7700bca > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-bc09e3f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-8ca0514{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-57bca65{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-57bca65 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-57bca65 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-4c06544{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-2bae419{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-2bae419:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-2bae419 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-2bae419:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-2bae419, .elementor-43 .elementor-element.elementor-element-2bae419::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-2bae419.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-c312820{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-c312820 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-54c7b17{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-54c7b17.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-54c7b17.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-54c7b17.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-54c7b17 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-54c7b17 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-54c7b17 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-54c7b17 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-87c4f2e{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-87c4f2e.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-87c4f2e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-87c4f2e .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-87c4f2e .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-795f722{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-6c90e61{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-6c90e61:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-6c90e61 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-6c90e61:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-6c90e61, .elementor-43 .elementor-element.elementor-element-6c90e61::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-6c90e61.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-0304b4e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-0304b4e.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-0304b4e.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-0304b4e.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-0304b4e .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-0304b4e .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-0304b4e .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-869ae3e{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-869ae3e:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-869ae3e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-869ae3e:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-869ae3e, .elementor-43 .elementor-element.elementor-element-869ae3e::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-869ae3e.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-fcc77d5{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-fcc77d5.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-fcc77d5.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-fcc77d5.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-fcc77d5 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-fcc77d5 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-fcc77d5 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-7cb3f8a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-d430011{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-d430011:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-d430011 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-d430011:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-d430011, .elementor-43 .elementor-element.elementor-element-d430011::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-d430011.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-2504258{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-2504258.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-2504258.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-2504258.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-2504258 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-2504258 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-2504258 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-bfc77f1{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-bfc77f1:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-bfc77f1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-bfc77f1:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-bfc77f1, .elementor-43 .elementor-element.elementor-element-bfc77f1::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-bfc77f1.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-53f3c94{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-53f3c94.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-53f3c94.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-53f3c94.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-53f3c94 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-53f3c94 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-53f3c94 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-3cd2422{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-079b248{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-0ac2b38{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-c72c757{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-24093f1{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-75a4301{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-75a4301 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-75a4301 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-1b72f46{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-a440026{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-6aa485f{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-6aa485f {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-6aa485f > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-f2486ff{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-98bce61{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-7d55cc1{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-7d55cc1 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-7d55cc1 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-7a4ba09{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-abc1c1e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-7cb04bf{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-7cb04bf {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-7cb04bf > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-a9e61ad{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-a70814d{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-a70814d:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-a70814d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-a70814d:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-a70814d, .elementor-43 .elementor-element.elementor-element-a70814d::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-a70814d.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-ef0b0c3{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-ef0b0c3 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-b97b057{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-b97b057.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-b97b057.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-b97b057.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-b97b057 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-b97b057 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-b97b057 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-b97b057 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-edfb0fd{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-edfb0fd.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-edfb0fd .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-edfb0fd .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-edfb0fd .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-0e6c320{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-4c22519{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-4c22519:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-4c22519 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-4c22519:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-4c22519, .elementor-43 .elementor-element.elementor-element-4c22519::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-4c22519.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-3d0cb71{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-3d0cb71.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-3d0cb71.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-3d0cb71.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-3d0cb71 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-3d0cb71 .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-3d0cb71 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-aad7b2e{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-aad7b2e:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-aad7b2e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-aad7b2e:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-aad7b2e, .elementor-43 .elementor-element.elementor-element-aad7b2e::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-aad7b2e.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-036dcaf{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-036dcaf.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-036dcaf.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-036dcaf.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-036dcaf .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-036dcaf .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-036dcaf .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-cb766b2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-48ac1d9{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-48ac1d9:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-48ac1d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-48ac1d9:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-48ac1d9, .elementor-43 .elementor-element.elementor-element-48ac1d9::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-48ac1d9.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-128d9af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-128d9af.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-128d9af.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-128d9af.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-128d9af .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-128d9af .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-128d9af .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-15f7683{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-15f7683:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-15f7683 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-15f7683:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-15f7683, .elementor-43 .elementor-element.elementor-element-15f7683::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-15f7683.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-7a4a0e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-7a4a0e1.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-7a4a0e1.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-7a4a0e1.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-7a4a0e1 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-7a4a0e1 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-7a4a0e1 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-142ff91{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-8e1f634{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-c427bd3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-94ea181{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-b322959{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-6e3a887{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-6e3a887 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-6e3a887 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-fd0a8d9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-add528a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-7c89abb{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-7c89abb {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-7c89abb > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-a1d45dd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-b2f63af{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-b2f63af:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-b2f63af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-b2f63af:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-b2f63af, .elementor-43 .elementor-element.elementor-element-b2f63af::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-b2f63af.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-03c3839{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-03c3839 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-d1a9fd0{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-d1a9fd0 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-d1a9fd0 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-d1a9fd0 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-0cd7209{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-0cd7209.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-0cd7209 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-0cd7209 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-0cd7209 .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-bc37c94{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-dc9f8ed{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-dc9f8ed:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-dc9f8ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-dc9f8ed:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-dc9f8ed, .elementor-43 .elementor-element.elementor-element-dc9f8ed::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-dc9f8ed.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-a913017{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-a913017.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-a913017.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-a913017.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-a913017 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-a913017 .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-a913017 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-7c88719{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-7c88719:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-7c88719 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-7c88719:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-7c88719, .elementor-43 .elementor-element.elementor-element-7c88719::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-7c88719.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-1f92688{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1f92688.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-1f92688.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-1f92688.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-1f92688 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-1f92688 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-1f92688 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-d595a6b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-ff1515f{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-ff1515f:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-ff1515f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-ff1515f:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-ff1515f, .elementor-43 .elementor-element.elementor-element-ff1515f::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-ff1515f.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-d0df950{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d0df950.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-d0df950.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-d0df950.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-d0df950 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-d0df950 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-d0df950 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-366b6ad{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-366b6ad:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-366b6ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-366b6ad:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-366b6ad, .elementor-43 .elementor-element.elementor-element-366b6ad::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-366b6ad.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e8f3f3b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e8f3f3b.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e8f3f3b.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e8f3f3b.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e8f3f3b .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e8f3f3b .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-e8f3f3b .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-bae77ee{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-8b4514c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-7ae7a44{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-52f59dd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-2a20062{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-4e9972c{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-4e9972c {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-4e9972c > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-760d041{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-6870631{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-dabd403{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-dabd403 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-dabd403 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-9499bca{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-70be78e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-73b6208{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-73b6208 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-73b6208 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-873e7d7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-3ac1abb{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-3ac1abb:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-3ac1abb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-3ac1abb:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-3ac1abb, .elementor-43 .elementor-element.elementor-element-3ac1abb::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-3ac1abb.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-7275a69{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-7275a69 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-8103da9{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8103da9.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-8103da9.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-8103da9.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-8103da9 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-8103da9 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-8103da9 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-8103da9 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-c6bde50{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-c6bde50.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-c6bde50 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-c6bde50 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-c6bde50 .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-8a5b3ea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-4478b96{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-4478b96:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-4478b96 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-4478b96:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-4478b96, .elementor-43 .elementor-element.elementor-element-4478b96::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-4478b96.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e445f7c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e445f7c.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e445f7c.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e445f7c.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e445f7c .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e445f7c .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-e445f7c .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-2b4702f{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-2b4702f:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-2b4702f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-2b4702f:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-2b4702f, .elementor-43 .elementor-element.elementor-element-2b4702f::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-2b4702f.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e351a7b{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e351a7b.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e351a7b.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e351a7b.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e351a7b .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e351a7b .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-e351a7b .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-318e99b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-6d7ff85{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-6d7ff85:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-6d7ff85 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-6d7ff85:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-6d7ff85, .elementor-43 .elementor-element.elementor-element-6d7ff85::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-6d7ff85.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-ff27604{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-ff27604.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-ff27604.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-ff27604.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-ff27604 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-ff27604 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-ff27604 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-66e97e6{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-66e97e6:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-66e97e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-66e97e6:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-66e97e6, .elementor-43 .elementor-element.elementor-element-66e97e6::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-66e97e6.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-4ed32e3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-4ed32e3.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-4ed32e3.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-4ed32e3.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-4ed32e3 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-4ed32e3 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-4ed32e3 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-bb79f1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-a946b99{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-500e7c2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-5e5d345{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-2c57357{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-39bf26b{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-39bf26b {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-39bf26b > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-df5eeeb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-9bcc52c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-15b256d{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-15b256d {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-15b256d > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-f6b3049{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-06a1698{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-589e998{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-589e998 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-589e998 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-1ed036e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-c2c9abf{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-c2c9abf:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-c2c9abf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-c2c9abf:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-c2c9abf, .elementor-43 .elementor-element.elementor-element-c2c9abf::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-c2c9abf.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-322245f{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-322245f .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-791c17c{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-791c17c.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-791c17c.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-791c17c.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-791c17c .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-791c17c .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-791c17c .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-791c17c .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-4d5cd92{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-4d5cd92.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-4d5cd92 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-4d5cd92 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-4d5cd92 .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-738db55{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-9003cc4{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-9003cc4:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-9003cc4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-9003cc4:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-9003cc4, .elementor-43 .elementor-element.elementor-element-9003cc4::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-9003cc4.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-cfc41ce{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-cfc41ce.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-cfc41ce.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-cfc41ce.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-cfc41ce .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-cfc41ce .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-cfc41ce .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-dab47bc{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-dab47bc:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-dab47bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-dab47bc:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-dab47bc, .elementor-43 .elementor-element.elementor-element-dab47bc::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-dab47bc.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-6180157{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-6180157.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-6180157.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-6180157.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-6180157 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-6180157 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-6180157 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-5e91d5e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-3bb8a53{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-3bb8a53:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-3bb8a53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-3bb8a53:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-3bb8a53, .elementor-43 .elementor-element.elementor-element-3bb8a53::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-3bb8a53.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e39db34{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e39db34.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e39db34.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e39db34.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e39db34 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e39db34 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-e39db34 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-44ae0ba{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-44ae0ba:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-44ae0ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-44ae0ba:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-44ae0ba, .elementor-43 .elementor-element.elementor-element-44ae0ba::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-44ae0ba.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-41f08b6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-41f08b6.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-41f08b6.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-41f08b6.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-41f08b6 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-41f08b6 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-41f08b6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-5790916{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-423ea4b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-a1a9c48{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-cba3250{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-28b116f{--display:flex;--border-radius:0px 0px 12px 12px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-6959ab8{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 8px 8px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-6959ab8 {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-6959ab8 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-5c5813d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-6e95d8c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-471e00b{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-471e00b {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-471e00b > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-46123a5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-e0c550d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:33px;--padding-right:10px;}.elementor-43 .elementor-element.elementor-element-ef32ffb{--n-accordion-title-font-size:1rem;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:var( --e-global-color-cedf48a );--n-accordion-icon-hover-color:var( --e-global-color-cedf48a );--n-accordion-icon-active-color:var( --e-global-color-5815696 );}.elementor-43 .elementor-element.elementor-element-ef32ffb {--n-accordion-padding:0px 0px 0px 0px;}:where( .elementor-43 .elementor-element.elementor-element-ef32ffb > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-43 .elementor-element.elementor-element-d9ef060{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-d932033{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-d932033:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-d932033 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-d932033:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-d932033, .elementor-43 .elementor-element.elementor-element-d932033::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-d932033.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-fcd38a0{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-fcd38a0 .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-8f63403{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8f63403.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-8f63403.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-8f63403.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-8f63403 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-8f63403 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-8f63403 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-8f63403 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-8e8f4da{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-8e8f4da.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-8e8f4da .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-8e8f4da .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-8e8f4da .elementor-button{letter-spacing:1px;}.elementor-43 .elementor-element.elementor-element-e0ad52a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-bdf6215{--display:flex;--min-height:232px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-bdf6215:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-bdf6215 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-bdf6215:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-bdf6215, .elementor-43 .elementor-element.elementor-element-bdf6215::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-bdf6215.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-f0decb2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-f0decb2.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-f0decb2.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-f0decb2.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-f0decb2 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-f0decb2 .elementor-image-box-wrapper .elementor-image-box-img{width:32%;}.elementor-43 .elementor-element.elementor-element-f0decb2 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-6924d60{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-6924d60:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-6924d60 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-6924d60:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-6924d60, .elementor-43 .elementor-element.elementor-element-6924d60::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-6924d60.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-d2d3fa6{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d2d3fa6.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-d2d3fa6.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-d2d3fa6.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-d2d3fa6 .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-d2d3fa6 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-43 .elementor-element.elementor-element-d2d3fa6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-61356b4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-43 .elementor-element.elementor-element-a1bb5fc{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-a1bb5fc:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-a1bb5fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-a1bb5fc:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-a1bb5fc, .elementor-43 .elementor-element.elementor-element-a1bb5fc::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-a1bb5fc.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-e3caf6a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-e3caf6a.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-e3caf6a.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-e3caf6a.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-e3caf6a .elementor-image-box-title{margin-bottom:4px;font-size:18px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-e3caf6a .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-e3caf6a .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-208b66e{--display:flex;--min-height:232px;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:8px;--padding-right:8px;}.elementor-43 .elementor-element.elementor-element-208b66e:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-208b66e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-208b66e:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#B8251A;--border-color:#B8251A;box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-208b66e, .elementor-43 .elementor-element.elementor-element-208b66e::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-208b66e.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-2714b33{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-2714b33.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-43 .elementor-element.elementor-element-2714b33.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-43 .elementor-element.elementor-element-2714b33.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-2714b33 .elementor-image-box-title{margin-bottom:4px;font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-2714b33 .elementor-image-box-wrapper .elementor-image-box-img{width:20%;}.elementor-43 .elementor-element.elementor-element-2714b33 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-ec86157{--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--n-tabs-title-gap:5px;--n-tabs-title-border-radius:5px 5px 5px 5px;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:14px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:14px;--n-tabs-icon-size:20px;--n-tabs-icon-gap:14px;}.elementor-43 .elementor-element.elementor-element-ec86157 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#FCF8F3;}.elementor-43 .elementor-element.elementor-element-ec86157.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-2bdd7c9 );border-style:solid;border-color:var( --e-global-color-2bdd7c9 );}.elementor-43 .elementor-element.elementor-element-ec86157.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-43 .elementor-element.elementor-element-ec86157.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-2bdd7c9 );border-style:solid;border-color:var( --e-global-color-2bdd7c9 );}.elementor-43 .elementor-element.elementor-element-ec86157.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:2px 2px 2px 2px;border-color:#F4F1EB;}.elementor-43 .elementor-element.elementor-element-1ff935b{--display:flex;}.elementor-43 .elementor-element.elementor-element-1ff935b:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-1ff935b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b3e8b7b );}.elementor-43 .elementor-element.elementor-element-558a359{--display:flex;--justify-content:center;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#2E7D3280;--border-color:#2E7D3280;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-558a359:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-558a359 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCF9F3;}.elementor-43 .elementor-element.elementor-element-558a359:hover{border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );box-shadow:0px 5px 18px 0px rgba(184, 37.00000000000012, 25.999999999999993, 0.16);}.elementor-43 .elementor-element.elementor-element-558a359, .elementor-43 .elementor-element.elementor-element-558a359::before{--border-transition:0.3s;}.elementor-43 .elementor-element.elementor-element-558a359.e-con{--align-self:center;}.elementor-43 .elementor-element.elementor-element-7faf07f{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-43 .elementor-element.elementor-element-7faf07f .elementor-heading-title{font-size:41px;line-height:1.2em;}.elementor-43 .elementor-element.elementor-element-1aef5c6{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1aef5c6.elementor-position-right .elementor-image-box-img{margin-left:14px;}.elementor-43 .elementor-element.elementor-element-1aef5c6.elementor-position-left .elementor-image-box-img{margin-right:14px;}.elementor-43 .elementor-element.elementor-element-1aef5c6.elementor-position-top .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-1aef5c6 .elementor-image-box-wrapper .elementor-image-box-img{width:88%;}.elementor-43 .elementor-element.elementor-element-1aef5c6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-43 .elementor-element.elementor-element-1aef5c6 .elementor-image-box-title{font-size:20px;font-weight:700;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-1aef5c6 .elementor-image-box-description{font-size:18px;color:var( --e-global-color-text );}.elementor-43 .elementor-element.elementor-element-9b1c550{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + 40px) 0px;}.elementor-43 .elementor-element.elementor-element-9b1c550.elementor-element{--align-self:center;}.elementor-43 .elementor-element.elementor-element-9b1c550 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-43 .elementor-element.elementor-element-9b1c550 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-43 .elementor-element.elementor-element-9b1c550 .elementor-button{letter-spacing:1px;}@media(min-width:768px){.elementor-43 .elementor-element.elementor-element-bbc1d39{--width:85%;}.elementor-43 .elementor-element.elementor-element-9a2af20{--width:65%;}.elementor-43 .elementor-element.elementor-element-d2bdebb{--width:35%;}.elementor-43 .elementor-element.elementor-element-d158287{--width:65%;}.elementor-43 .elementor-element.elementor-element-6c72049{--width:35%;}.elementor-43 .elementor-element.elementor-element-ca6b825{--width:65%;}.elementor-43 .elementor-element.elementor-element-4c06544{--width:35%;}.elementor-43 .elementor-element.elementor-element-079b248{--width:65%;}.elementor-43 .elementor-element.elementor-element-a9e61ad{--width:35%;}.elementor-43 .elementor-element.elementor-element-8e1f634{--width:65%;}.elementor-43 .elementor-element.elementor-element-a1d45dd{--width:35%;}.elementor-43 .elementor-element.elementor-element-8b4514c{--width:65%;}.elementor-43 .elementor-element.elementor-element-873e7d7{--width:35%;}.elementor-43 .elementor-element.elementor-element-a946b99{--width:65%;}.elementor-43 .elementor-element.elementor-element-1ed036e{--width:35%;}.elementor-43 .elementor-element.elementor-element-423ea4b{--width:65%;}.elementor-43 .elementor-element.elementor-element-d9ef060{--width:35%;}}@media(max-width:767px){.elementor-43 .elementor-element.elementor-element-2a88329:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-2a88329 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center right;}.elementor-43 .elementor-element.elementor-element-2a88329{--padding-top:65px;--padding-bottom:65px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-7b102a3{padding:0px 0px 2px 0px;font-size:16px;}.elementor-43 .elementor-element.elementor-element-1b349ab{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1b349ab .elementor-heading-title{font-size:35px;}.elementor-43 .elementor-element.elementor-element-396a6df{padding:0px 0px 2px 0px;font-size:18px;}.elementor-43 .elementor-element.elementor-element-608faa2{--padding-top:60px;--padding-bottom:40px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-f4b8b82{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-f4b8b82 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-de3cc08{--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-43 .elementor-element.elementor-element-bf0bf18{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-bf0bf18 .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-9240bde{--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-43 .elementor-element.elementor-element-dc02a34{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-dc02a34 .elementor-image-box-img{margin-bottom:9px;}.elementor-43 .elementor-element.elementor-element-027e646{--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-43 .elementor-element.elementor-element-1aee614{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-1aee614 .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-a8579e4{--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-43 .elementor-element.elementor-element-67ef4b6{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-67ef4b6 .elementor-image-box-img{margin-bottom:8px;}.elementor-43 .elementor-element.elementor-element-d50abfc{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d50abfc .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-1b2df02{--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-43 .elementor-element.elementor-element-e9d747e{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e9d747e .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-d49735b{--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-43 .elementor-element.elementor-element-01e2684{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-01e2684 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-aa8c11c{--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-43 .elementor-element.elementor-element-a76b1e0{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-a76b1e0 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-571e227{--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-43 .elementor-element.elementor-element-a9796f1{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-a9796f1 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-54c7b17{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-54c7b17 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-6c90e61{--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-43 .elementor-element.elementor-element-0304b4e{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-0304b4e .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-869ae3e{--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-43 .elementor-element.elementor-element-fcc77d5{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-fcc77d5 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-d430011{--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-43 .elementor-element.elementor-element-2504258{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-2504258 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-bfc77f1{--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-43 .elementor-element.elementor-element-53f3c94{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-53f3c94 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-b97b057{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-b97b057 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-4c22519{--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-43 .elementor-element.elementor-element-3d0cb71{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-3d0cb71 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-aad7b2e{--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-43 .elementor-element.elementor-element-036dcaf{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-036dcaf .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-48ac1d9{--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-43 .elementor-element.elementor-element-128d9af{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-128d9af .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-15f7683{--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-43 .elementor-element.elementor-element-7a4a0e1{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-7a4a0e1 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-d1a9fd0 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-dc9f8ed{--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-43 .elementor-element.elementor-element-a913017{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-a913017 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-7c88719{--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-43 .elementor-element.elementor-element-1f92688{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-1f92688 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-ff1515f{--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-43 .elementor-element.elementor-element-d0df950{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-d0df950 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-366b6ad{--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-43 .elementor-element.elementor-element-e8f3f3b{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e8f3f3b .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-8103da9{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8103da9 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-4478b96{--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-43 .elementor-element.elementor-element-e445f7c{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e445f7c .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-2b4702f{--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-43 .elementor-element.elementor-element-e351a7b{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e351a7b .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-6d7ff85{--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-43 .elementor-element.elementor-element-ff27604{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-ff27604 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-66e97e6{--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-43 .elementor-element.elementor-element-4ed32e3{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-4ed32e3 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-791c17c{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-791c17c .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-9003cc4{--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-43 .elementor-element.elementor-element-cfc41ce{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-cfc41ce .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-dab47bc{--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-43 .elementor-element.elementor-element-6180157{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-6180157 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-3bb8a53{--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-43 .elementor-element.elementor-element-e39db34{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e39db34 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-44ae0ba{--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-43 .elementor-element.elementor-element-41f08b6{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-41f08b6 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-8f63403{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8f63403 .elementor-image-box-img{margin-bottom:14px;}.elementor-43 .elementor-element.elementor-element-bdf6215{--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-43 .elementor-element.elementor-element-f0decb2{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-f0decb2 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-6924d60{--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-43 .elementor-element.elementor-element-d2d3fa6{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-d2d3fa6 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-a1bb5fc{--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-43 .elementor-element.elementor-element-e3caf6a{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-e3caf6a .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-208b66e{--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-43 .elementor-element.elementor-element-2714b33{padding:10px 0px 10px 0px;}.elementor-43 .elementor-element.elementor-element-2714b33 .elementor-image-box-img{margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-1ff935b{--padding-top:0px;--padding-bottom:80px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-558a359{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-43 .elementor-element.elementor-element-1aef5c6{padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1aef5c6 .elementor-image-box-img{margin-bottom:14px;}}/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-89edbef *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7ccc5d9 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-223377e *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-d1b8208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-45032b2 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-5605665 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-77b2c15 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3cc08 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9240bde *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-027e646 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a8579e4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4074f60 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8ccf1c4 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8076763 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-b74981a *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2e227bf *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b2df02 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d49735b *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa8c11c *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-571e227 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-8652c15 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-2e4f1ed *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7700bca *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-57bca65 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87c4f2e *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c90e61 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-869ae3e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d430011 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bfc77f1 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-75a4301 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6aa485f *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7d55cc1 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7cb04bf *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-edfb0fd *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22519 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aad7b2e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48ac1d9 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15f7683 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6e3a887 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7c89abb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0cd7209 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc9f8ed *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c88719 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ff1515f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-366b6ad *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-4e9972c *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-dabd403 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-73b6208 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c6bde50 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4478b96 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b4702f *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d7ff85 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66e97e6 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-39bf26b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-15b256d *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-589e998 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4d5cd92 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9003cc4 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dab47bc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3bb8a53 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-44ae0ba *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-6959ab8 *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
        border-radius: 0 0 6px 6px !important; 
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
    border-radius: 0 0 6px 6px !important; 
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-471e00b *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ef32ffb *//* ==========================================
   ELF BOX - NESTED ACCORDION
   ========================================== */


/* MAIN WRAPPER */
.elfbox-faq .e-n-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}


/* ==========================================
   EACH FAQ CARD
   ========================================== */

.elfbox-faq .e-n-accordion-item {
    background: #FFFDF8 !important;

    border: 1px solid rgba(28, 87, 44, 0.18) !important;
    border-radius: 12px !important;

    overflow: hidden !important;

    box-shadow: 0 5px 18px rgba(28, 87, 44, 0.07) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease !important;
}


/* CARD HOVER */
.elfbox-faq .e-n-accordion-item:hover {
    transform: translateY(-2px) !important;

    border-color: rgba(28, 87, 44, 0.35) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.11) !important;
}


/* ==========================================
   QUESTION ROW
   ========================================== */

.elfbox-faq .e-n-accordion-item-title {
    min-height: 68px !important;

    padding: 18px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #FFFDF8 !important;

    border: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}


/* QUESTION TEXT */
.elfbox-faq .e-n-accordion-item-title-text {
    font-family: "Poppins", sans-serif !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;

    color: #1C572C !important;

    transition: color 0.25s ease !important;
}


/* QUESTION HOVER */
.elfbox-faq .e-n-accordion-item-title:hover {
    background: #F8F4E3 !important;
}

.elfbox-faq .e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ==========================================
   ICON
   ========================================== */

.elfbox-faq .e-n-accordion-item-title-icon {
    width: 32px !important;
    height: 32px !important;

    flex: 0 0 32px !important;

    margin-left: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #F8F4E3 !important;

    border: 1px solid rgba(28, 87, 44, 0.20) !important;
    border-radius: 50% !important;

    color: #1C572C !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* ICON SIZE */
.elfbox-faq .e-n-accordion-item-title-icon svg {
    width: 12px !important;
    height: 12px !important;

    fill: currentColor !important;
}


/* ==========================================
   OPEN / ACTIVE ITEM
   ========================================== */

.elfbox-faq .e-n-accordion-item[open] {
    border-color: rgba(184, 37, 26, 0.28) !important;

    box-shadow: 0 8px 24px rgba(28, 87, 44, 0.10) !important;
}


/* ACTIVE QUESTION */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title {
    background: #F8F4E3 !important;
}


/* ACTIVE QUESTION TEXT */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-text {
    color: #B8251A !important;
}


/* ACTIVE ICON */
.elfbox-faq .e-n-accordion-item[open]
.e-n-accordion-item-title-icon {
     color: #FFFFFF !important;
    background: #B8251A !important;

    border-color: #B8251A !important;
}


/* ==========================================
   ANSWER AREA
   ========================================== */

/* direct child container under details */
.elfbox-faq .e-n-accordion-item > .e-con {
    padding: 20px 22px 24px !important;

    background: #FFFFFF !important;

    border-top: 1px solid rgba(28, 87, 44, 0.10) !important;
}


/* ANSWER TEXT */
.elfbox-faq .e-n-accordion-item > .e-con p {
    margin: 0 !important;

    font-family: "Poppins", sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;

    color: #303B33 !important;
}


/* BOLD TEXT */
.elfbox-faq .e-n-accordion-item > .e-con strong,
.elfbox-faq .e-n-accordion-item > .e-con b {
    color: #1C572C !important;

    font-weight: 600 !important;
}


/* ==========================================
   FOCUS
   ========================================== */

.elfbox-faq .e-n-accordion-item-title:focus-visible {
    outline: 2px solid #E0A253 !important;
    outline-offset: -3px !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8e8f4da *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdf6215 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6924d60 *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a1bb5fc *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-208b66e *//* =========================================
   ELF BOX - ANIMATED HOW IT WORKS STEPS
   FINAL CLEAN VERSION
   ========================================= */


/* -----------------------------------------
   PARENT ROW
   ----------------------------------------- */

.elfbox-steps-row {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;

    /*
     * Use this instead of Elementor top padding.
     * Change 28px if you want more/less breathing room.
     */
    --steps-top-space: 28px;
    --track-edge: 40px;

    padding-top: var(--steps-top-space) !important;

    display: flex;
    align-items: stretch;
}


/* -----------------------------------------
   FAINT RED CONNECTION TRACK
   The +14px compensates for 28px top padding
   ----------------------------------------- */

.elfbox-steps-row::before {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);
    right: var(--track-edge);

    height: 2px;

    background: rgba(184, 37, 26, 0.14);

    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;
}


/* -----------------------------------------
   DARK RED MOVING BEAM
   ----------------------------------------- */

.elfbox-steps-row::after {
    content: "";

    position: absolute;

    top: calc(50% + 14px);
    left: var(--track-edge);

    width: 16%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 37, 26, 0.20) 15%,
        #B8251A 48%,
        #B8251A 72%,
        transparent 100%
    );

    border-radius: 50px;

    transform: translateY(-50%);

    z-index: 1;

    box-shadow:
        0 0 6px rgba(184, 37, 26, 0.15);

    animation: elfboxStepFlow 4s ease-in-out infinite;

    pointer-events: none;
}


/* -----------------------------------------
   CARDS
   ----------------------------------------- */

.elfbox-step-card {
    position: relative;
    z-index: 3;

    background: #FFFFFF;

    height: 100%;
    overflow: visible !important;
}


/* -----------------------------------------
   RIGHT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::after {
    content: "";

    position: absolute;

    top: 50%;
    right: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   LEFT CONNECTION DOT
   ----------------------------------------- */

.elfbox-step-card::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -5px;

    width: 8px;
    height: 8px;

    background: #FFFFFF;

    border: 2px solid rgba(184, 37, 26, 0.55);

    border-radius: 50%;

    transform: translateY(-50%);

    z-index: 6;
}


/* -----------------------------------------
   EXPLICIT FIRST / LAST CARD FIX
   ----------------------------------------- */

/* Absolutely no dot before Card 1 */
.elfbox-step-first::before {
    display: none !important;
    content: none !important;
}


/* Absolutely no dot after Card 4 */
.elfbox-step-last::after {
    display: none !important;
    content: none !important;
}


/* -----------------------------------------
   FLOW ANIMATION
   ----------------------------------------- */

@keyframes elfboxStepFlow {

    0% {
        left: var(--track-edge);
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: calc(84% - var(--track-edge));
        opacity: 0;
    }
}


/* -----------------------------------------
   TABLET / MOBILE
   ----------------------------------------- */

@media (max-width: 1024px) {

    .elfbox-steps-row {
        padding-top: 0 !important;
    }

    .elfbox-steps-row::before,
    .elfbox-steps-row::after,
    .elfbox-step-card::before,
    .elfbox-step-card::after {
        display: none !important;
    }
}


/* -----------------------------------------
   REDUCED MOTION
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .elfbox-steps-row::after {
        animation: none;
        opacity: 0;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-9b1c550 *//* =========================================
   ELF BOX - GREEN BUTTON
   ========================================= */

.elfbox-btn-green .elementor-button {
    min-height: 45px;
    padding: 14px 28px;
    border-radius: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    background-color: #1C572C;
    border: 1px solid #1C572C;
    color: #FFFFFF;

    box-shadow: 0 4px 14px rgba(28, 87, 44, 0.12);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* HOVER */
.elfbox-btn-green .elementor-button:hover {
    background-color: #164824;
    border-color: #164824;
    color: #FFFFFF;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(28, 87, 44, 0.16);
}


/* CLICK */
.elfbox-btn-green .elementor-button:active {
    transform: translateY(0);
}


/* ARROW / ICON */
.elfbox-btn-green .elementor-button-icon {
    transition: transform 0.3s ease;
}

.elfbox-btn-green .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}


/* KEYBOARD FOCUS */
.elfbox-btn-green .elementor-button:focus-visible {
    outline: 2px solid #E0A253;
    outline-offset: 3px;
}/* End custom CSS */