.elementor-356 .elementor-element.elementor-element-085527d{--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:2rem 2rem;--row-gap:2rem;--column-gap:2rem;--padding-top:3rem;--padding-bottom:3rem;--padding-left:0rem;--padding-right:0rem;}.elementor-356 .elementor-element.elementor-element-e5b5431{--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:1rem 1rem;--row-gap:1rem;--column-gap:1rem;}.elementor-356 .elementor-element.elementor-element-addf650{text-align:start;}.elementor-356 .elementor-element.elementor-element-addf650 img{width:150px;}.elementor-356 .elementor-element.elementor-element-136d816{font-family:"Montserrat", Sans-serif;font-size:1.2rem;font-weight:400;color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-3c589ce{--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:1rem 1rem;--row-gap:1rem;--column-gap:1rem;}.elementor-356 .elementor-element.elementor-element-9b32ebf .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:1.3rem;font-weight:700;color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-356 .elementor-element.elementor-element-4939108{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:0.9rem;font-weight:400;}.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-text{color:var( --e-global-color-ef91fe3 );transition:color 0.3s;}.elementor-356 .elementor-element.elementor-element-84787e0{--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:1rem 1rem;--row-gap:1rem;--column-gap:1rem;}.elementor-356 .elementor-element.elementor-element-176e187 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:1.3rem;font-weight:700;color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-ad6b85b{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + -1rem) 0rem;font-family:"Montserrat", Sans-serif;font-size:0.9rem;font-weight:400;color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-ad6b85b a{color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-078b36e{--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:1rem 1rem;--row-gap:1rem;--column-gap:1rem;}.elementor-356 .elementor-element.elementor-element-727efca .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:1.3rem;font-weight:700;color:var( --e-global-color-ef91fe3 );}.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-356 .elementor-element.elementor-element-2ef731d{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:0.9rem;font-weight:400;}.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-text{color:var( --e-global-color-ef91fe3 );transition:color 0.3s;}.elementor-356 .elementor-element.elementor-element-d0b85ac{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:1rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem;}.elementor-356 .elementor-element.elementor-element-4acdd8f{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + -1rem) 0rem;font-family:"Montserrat", Sans-serif;font-size:0.8rem;font-weight:400;color:#FFFFFF80;}.elementor-356 .elementor-element.elementor-element-4acdd8f a{color:#FFFFFF80;}.elementor-356:not(.elementor-motion-effects-element-type-background), .elementor-356 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-f3c6183 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-356 .elementor-element.elementor-element-085527d{--content-width:1400px;}.elementor-356 .elementor-element.elementor-element-e5b5431{--width:25%;}.elementor-356 .elementor-element.elementor-element-3c589ce{--width:25%;}.elementor-356 .elementor-element.elementor-element-84787e0{--width:25%;}.elementor-356 .elementor-element.elementor-element-078b36e{--width:25%;}}@media(max-width:1024px){.elementor-356 .elementor-element.elementor-element-085527d{--padding-top:3rem;--padding-bottom:3rem;--padding-left:2rem;--padding-right:2rem;}}@media(max-width:767px){.elementor-356 .elementor-element.elementor-element-085527d{--padding-top:3rem;--padding-bottom:3rem;--padding-left:1.5rem;--padding-right:1.5rem;}.elementor-356 .elementor-element.elementor-element-4acdd8f{text-align:center;}}/* Start custom CSS for text-editor, class: .elementor-element-136d816 */.elementor-356 .elementor-element.elementor-element-136d816 h3 {
    font-size: 1rem;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-4939108 *//* 1. Container Setup - Ensures the underline and dot are not clipped within this widget */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item, 
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button-content-wrapper {
    overflow: visible !important;
}

/* 2. Target the Link Text - Base positioning for custom elements only in this widget */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-text, 
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button-text {
    position: relative !important;
    display: inline-block !important;
    padding-bottom: 8px !important; /* Space between text and line */
    transition: color 0.3s ease !important;
    cursor: pointer;
}

/* 3. The Animated Underline (3px Thick Line) */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-text::after, 
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button-text::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 3px !important; /* Thickness of the line */
    width: 0 !important;    /* Starting width before hover */
    background: linear-gradient(to right, #ffffff, #a855f7) !important;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 1 !important;
}

/* 4. The Sliding Dot (10px Circle) */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-text::before, 
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button-text::before {
    content: "" !important;
    position: absolute !important;
    
    /* Vertical alignment to center the 10px dot on a 3px line */
    bottom: -3.5px !important; 
    
    left: 0 !important;
    width: 10px !important;  /* Dot size */
    height: 10px !important; /* Dot size */
    background-color: #a855f7 !important; /* Matches end of gradient */
    border-radius: 50% !important;
    opacity: 0 !important;
    z-index: 2 !important;
    
    /* Smooth transition for movement and fade-in */
    transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s !important;
    
    /* Subtle glow for the dot */
    box-shadow: 0 0 8px rgba(168, 85, 247, 0.6) !important;
}

/* 5. Hover State Trigger for this specific widget */
/* Animates the line width to 100% */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item:hover .elementor-icon-list-text::after,
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button:hover .elementor-button-text::after {
    width: 100% !important;
}

/* Animates the dot movement to the end of the line */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button:hover .elementor-button-text::before {
    opacity: 1 !important;
    /* Move dot to the end minus half its width to prevent overshoot */
    left: calc(100% - 5px) !important;
}

/* 6. Text Color Polish on Hover */
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-356 .elementor-element.elementor-element-4939108 .elementor-button:hover .elementor-button-text {
    color: #ffffff !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-2ef731d *//* 1. Container Setup - Ensures the underline and dot are not clipped within this widget */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item, 
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button-content-wrapper {
    overflow: visible !important;
}

/* 2. Target the Link Text - Base positioning for custom elements only in this widget */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-text, 
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button-text {
    position: relative !important;
    display: inline-block !important;
    padding-bottom: 8px !important; /* Space between text and line */
    transition: color 0.3s ease !important;
    cursor: pointer;
}

/* 3. The Animated Underline (3px Thick Line) */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-text::after, 
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button-text::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 3px !important; /* Thickness of the line */
    width: 0 !important;    /* Starting width before hover */
    background: linear-gradient(to right, #ffffff, #a855f7) !important;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 1 !important;
}

/* 4. The Sliding Dot (10px Circle) */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-text::before, 
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button-text::before {
    content: "" !important;
    position: absolute !important;
    
    /* Vertical alignment to center the 10px dot on a 3px line */
    bottom: -3.5px !important; 
    
    left: 0 !important;
    width: 10px !important;  /* Dot size */
    height: 10px !important; /* Dot size */
    background-color: #a855f7 !important; /* Matches end of gradient */
    border-radius: 50% !important;
    opacity: 0 !important;
    z-index: 2 !important;
    
    /* Smooth transition for movement and fade-in */
    transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s !important;
    
    /* Subtle glow for the dot */
    box-shadow: 0 0 8px rgba(168, 85, 247, 0.6) !important;
}

/* 5. Hover State Trigger for this specific widget */
/* Animates the line width to 100% */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item:hover .elementor-icon-list-text::after,
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button:hover .elementor-button-text::after {
    width: 100% !important;
}

/* Animates the dot movement to the end of the line */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item:hover .elementor-icon-list-text::before,
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button:hover .elementor-button-text::before {
    opacity: 1 !important;
    /* Move dot to the end minus half its width to prevent overshoot */
    left: calc(100% - 5px) !important;
}

/* 6. Text Color Polish on Hover */
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-356 .elementor-element.elementor-element-2ef731d .elementor-button:hover .elementor-button-text {
    color: #ffffff !important;
}/* End custom CSS */