.elementor-31 .elementor-element.elementor-element-18c1fc9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-18c1fc9:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-18c1fc9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-bc9b356 );}.elementor-31 .elementor-element.elementor-element-6421c0b{--display:flex;}.elementor-31 .elementor-element.elementor-element-f21f1b9{--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;--justify-content:space-between;}.elementor-31 .elementor-element.elementor-element-37961b9{--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;--justify-content:flex-start;--gap:1px 1px;--row-gap:1px;--column-gap:1px;--border-radius:20px 20px 20px 20px;}.elementor-31 .elementor-element.elementor-element-37961b9.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}.elementor-31 .elementor-element.elementor-element-1a04169{color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-1a04169 a{color:var( --e-global-color-2097eb1 );transition-duration:0.4s;}.elementor-31 .elementor-element.elementor-element-1a04169 a:hover, .elementor-31 .elementor-element.elementor-element-1a04169 a:focus{color:var( --e-global-color-secondary );}.elementor-31 .elementor-element.elementor-element-02c527f{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-02c527f p{margin-block-end:1px;}.elementor-31 .elementor-element.elementor-element-5d9ca06{--spacer-size:10px;}.elementor-31 .elementor-element.elementor-element-07a8b87{--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:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-31 .elementor-element.elementor-element-ff90fbc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-74acb50{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button{background-color:var( --e-global-color-secondary );font-weight:500;text-transform:uppercase;fill:var( --e-global-color-2097eb1 );color:var( --e-global-color-2097eb1 );border-radius:50px 50px 50px 50px;padding:0.75em 1em 0.75em 1em;}.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-content-wrapper{flex-direction:row;}.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button .elementor-button-content-wrapper{gap:0.75rem;}.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button{background-color:var( --e-global-color-secondary );font-weight:500;text-transform:uppercase;fill:var( --e-global-color-2097eb1 );color:var( --e-global-color-2097eb1 );border-radius:50px 50px 50px 50px;padding:0.75em 1em 0.75em 1em;}.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-content-wrapper{flex-direction:row;}.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button .elementor-button-content-wrapper{gap:0.75rem;}.elementor-31 .elementor-element.elementor-element-431f8e6{--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:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-803c0fd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-26ea8ed{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button{background-color:var( --e-global-color-secondary );font-weight:500;text-transform:uppercase;fill:var( --e-global-color-2097eb1 );color:var( --e-global-color-2097eb1 );border-radius:50px 50px 50px 50px;padding:0.75em 1em 0.75em 1em;}.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button .elementor-button-content-wrapper{gap:0.75rem;}.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button{background-color:var( --e-global-color-secondary );font-weight:500;text-transform:uppercase;fill:var( --e-global-color-2097eb1 );color:var( --e-global-color-2097eb1 );border-radius:50px 50px 50px 50px;padding:0.75em 1em 0.75em 1em;}.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-content-wrapper{flex-direction:row;}.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button .elementor-button-content-wrapper{gap:0.75rem;}.elementor-31 .elementor-element.elementor-element-279b5dc{--spacer-size:10px;}.elementor-31 .elementor-element.elementor-element-3d07768{--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;--justify-content:flex-start;--gap:1px 1px;--row-gap:1px;--column-gap:1px;--border-radius:20px 20px 20px 20px;}.elementor-31 .elementor-element.elementor-element-3d07768.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}.elementor-31 .elementor-element.elementor-element-5cf93e1{color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-5cf93e1 a{color:var( --e-global-color-2097eb1 );transition-duration:0.4s;}.elementor-31 .elementor-element.elementor-element-5cf93e1 a:hover, .elementor-31 .elementor-element.elementor-element-5cf93e1 a:focus{color:var( --e-global-color-secondary );}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-31 .elementor-element.elementor-element-a5d658a{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-31 .elementor-element.elementor-element-a5d658a .elementor-icon-list-text{color:var( --e-global-color-2097eb1 );transition:color 0.3s;}.elementor-31 .elementor-element.elementor-element-886803f{--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;--justify-content:flex-start;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-886803f.e-con{--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}.elementor-31 .elementor-element.elementor-element-53ca319{font-weight:600;color:var( --e-global-color-secondary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-1e59158.elementor-social-icon{background-color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-1e59158.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-1e59158.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-c8d330c.elementor-social-icon{background-color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-c8d330c.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-c8d330c.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-12b8ed0.elementor-social-icon{background-color:var( --e-global-color-2097eb1 );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-12b8ed0.elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d .elementor-repeater-item-12b8ed0.elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-b07bc3d{--grid-template-columns:repeat(0, auto);text-align:left;--icon-size:18px;--grid-column-gap:11px;--grid-row-gap:0px;}.elementor-31 .elementor-element.elementor-element-0a3f9a8{--display:flex;}.elementor-31 .elementor-element.elementor-element-fdcd307{--divider-border-style:solid;--divider-color:var( --e-global-color-2097eb1 );--divider-border-width:1px;}.elementor-31 .elementor-element.elementor-element-fdcd307 .elementor-divider-separator{width:100%;}.elementor-31 .elementor-element.elementor-element-fdcd307 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-31 .elementor-element.elementor-element-1d7b1d7{--display:flex;--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;--justify-content:space-between;--align-items:center;}.elementor-31 .elementor-element.elementor-element-0a9f2a1{text-align:center;font-size:14px;color:var( --e-global-color-5866058 );}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-31 .elementor-element.elementor-element-ef2fb54{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-item > a{font-size:14px;}.elementor-31 .elementor-element.elementor-element-ef2fb54 .elementor-icon-list-text{color:var( --e-global-color-5866058 );transition:color 0.3s;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-31 .elementor-element.elementor-element-18c1fc9{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}}@media(max-width:1024px){.elementor-31 .elementor-element.elementor-element-f21f1b9{--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;}}@media(max-width:767px){.elementor-31 .elementor-element.elementor-element-18c1fc9{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-31 .elementor-element.elementor-element-f21f1b9{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-31 .elementor-element.elementor-element-1a04169{font-size:14px;}.elementor-31 .elementor-element.elementor-element-5cf93e1{font-size:14px;}.elementor-31 .elementor-element.elementor-element-0a3f9a8{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-0a9f2a1{text-align:start;}}@media(min-width:768px){.elementor-31 .elementor-element.elementor-element-37961b9{--width:25%;}.elementor-31 .elementor-element.elementor-element-3d07768{--width:25%;}.elementor-31 .elementor-element.elementor-element-886803f{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-31 .elementor-element.elementor-element-37961b9{--width:100%;}.elementor-31 .elementor-element.elementor-element-3d07768{--width:100%;}}/* Start custom CSS for text-editor, class: .elementor-element-ff90fbc */.elementor-31 .elementor-element.elementor-element-ff90fbc p{
    margin: 0
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-92e67d2 *//* 1. Prevent the expanding circle from spilling outside the button */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button {
    overflow: hidden !important;
    position: relative;
    transition: all 0.3s ease;
}

/* 2. Ensure the text and icon stay visible ABOVE the new background */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

/* 3. Prepare the icon wrapper to hold our expanding circle */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-icon {
    position: relative;
}

/* 4. BASE STATE (Controls what happens when you HOVER OFF) */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px; 
    height: 40px; 
    background-color: #F0F0F0; 
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    
    /* SPEED WHEN MOUSE LEAVES THE BUTTON */
    transition: transform 0.6s ease-out; 
    
    z-index: -1; 
}

/* 5. HOVER STATE (Controls what happens when you HOVER ON) */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button:hover .elementor-button-icon::before {
    transform: translate(-50%, -50%) scale(25);
    
    /* SPEED WHEN MOUSE ENTERS THE BUTTON */
    /* This forces Elementor to respect your slower speed */
    transition: transform 0.6s ease-in-out; 
}

/* 6. Change text/icon color on hover */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-icon svg {
    transition: all 0.3s ease-out; 
}

.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button:hover .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button:hover .elementor-button-icon svg {
    color: #F0F0F0; 
    fill: #F0F0F0;
    opacity: 0; 
}

/* 7. Slide the text to the absolute center on hover */
.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button-text {
    /* Match the text slide speed to the new background speed */
    transition: color 0.3s ease-out, transform 0.6s ease-in-out; 
}

.elementor-31 .elementor-element.elementor-element-92e67d2 .elementor-button:hover .elementor-button-text {
    color: var(--e-global-color-text);
    transform: translateX(-15px); /* Adjust based on icon placement */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a2156cb *//* 1. Prevent the expanding circle from spilling outside the button */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button {
    overflow: hidden !important;
    position: relative;
    transition: all 0.3s ease;
}

/* 2. Ensure the text and icon stay visible ABOVE the new background */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

/* 3. Prepare the icon wrapper to hold our expanding circle */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-icon {
    position: relative;
}

/* 4. BASE STATE (Controls what happens when you HOVER OFF) */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px; 
    height: 40px; 
    background-color: #F0F0F0; 
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    
    /* SPEED WHEN MOUSE LEAVES THE BUTTON */
    transition: transform 0.6s ease-out; 
    
    z-index: -1; 
}

/* 5. HOVER STATE (Controls what happens when you HOVER ON) */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button:hover .elementor-button-icon::before {
    transform: translate(-50%, -50%) scale(25);
    
    /* SPEED WHEN MOUSE ENTERS THE BUTTON */
    /* This forces Elementor to respect your slower speed */
    transition: transform 0.6s ease-in-out; 
}

/* 6. Change text/icon color on hover */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-icon svg {
    transition: all 0.3s ease-out; 
}

.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button:hover .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button:hover .elementor-button-icon svg {
    color: #F0F0F0; 
    fill: #F0F0F0;
    opacity: 0; 
}

/* 7. Slide the text to the absolute center on hover */
.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button-text {
    /* Match the text slide speed to the new background speed */
    transition: color 0.3s ease-out, transform 0.6s ease-in-out; 
}

.elementor-31 .elementor-element.elementor-element-a2156cb .elementor-button:hover .elementor-button-text {
    color: var(--e-global-color-text);
    transform: translateX(-15px); /* Adjust based on icon placement */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-803c0fd */.elementor-31 .elementor-element.elementor-element-803c0fd p{
    margin: 0
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-134e3e9 *//* 1. Prevent the expanding circle from spilling outside the button */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button {
    overflow: hidden !important;
    position: relative;
    transition: all 0.3s ease;
}

/* 2. Ensure the text and icon stay visible ABOVE the new background */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

/* 3. Prepare the icon wrapper to hold our expanding circle */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-icon {
    position: relative;
}

/* 4. BASE STATE (Controls what happens when you HOVER OFF) */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px; 
    height: 40px; 
    background-color: #F0F0F0; 
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    
    /* SPEED WHEN MOUSE LEAVES THE BUTTON */
    transition: transform 0.6s ease-out; 
    
    z-index: -1; 
}

/* 5. HOVER STATE (Controls what happens when you HOVER ON) */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button:hover .elementor-button-icon::before {
    transform: translate(-50%, -50%) scale(25);
    
    /* SPEED WHEN MOUSE ENTERS THE BUTTON */
    /* This forces Elementor to respect your slower speed */
    transition: transform 0.6s ease-in-out; 
}

/* 6. Change text/icon color on hover */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-icon svg {
    transition: all 0.3s ease-out; 
}

.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button:hover .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button:hover .elementor-button-icon svg {
    color: #F0F0F0; 
    fill: #F0F0F0;
    opacity: 0; 
}

/* 7. Slide the text to the absolute center on hover */
.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button-text {
    /* Match the text slide speed to the new background speed */
    transition: color 0.3s ease-out, transform 0.6s ease-in-out; 
}

.elementor-31 .elementor-element.elementor-element-134e3e9 .elementor-button:hover .elementor-button-text {
    color: var(--e-global-color-text);
    transform: translateX(-15px); /* Adjust based on icon placement */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3144b2b *//* 1. Prevent the expanding circle from spilling outside the button */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button {
    overflow: hidden !important;
    position: relative;
    transition: all 0.3s ease;
}

/* 2. Ensure the text and icon stay visible ABOVE the new background */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
}

/* 3. Prepare the icon wrapper to hold our expanding circle */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-icon {
    position: relative;
}

/* 4. BASE STATE (Controls what happens when you HOVER OFF) */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px; 
    height: 40px; 
    background-color: #F0F0F0; 
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    
    /* SPEED WHEN MOUSE LEAVES THE BUTTON */
    transition: transform 0.6s ease-out; 
    
    z-index: -1; 
}

/* 5. HOVER STATE (Controls what happens when you HOVER ON) */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button:hover .elementor-button-icon::before {
    transform: translate(-50%, -50%) scale(25);
    
    /* SPEED WHEN MOUSE ENTERS THE BUTTON */
    /* This forces Elementor to respect your slower speed */
    transition: transform 0.6s ease-in-out; 
}

/* 6. Change text/icon color on hover */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-icon svg {
    transition: all 0.3s ease-out; 
}

.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button:hover .elementor-button-icon i,
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button:hover .elementor-button-icon svg {
    color: #F0F0F0; 
    fill: #F0F0F0;
    opacity: 0; 
}

/* 7. Slide the text to the absolute center on hover */
.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button-text {
    /* Match the text slide speed to the new background speed */
    transition: color 0.3s ease-out, transform 0.6s ease-in-out; 
}

.elementor-31 .elementor-element.elementor-element-3144b2b .elementor-button:hover .elementor-button-text {
    color: var(--e-global-color-text);
    transform: translateX(-15px); /* Adjust based on icon placement */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-37961b9 */.elementor-31 .elementor-element.elementor-element-37961b9 .red {
    color: #EE3040;
    font-weight: 600;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3d07768 */.elementor-31 .elementor-element.elementor-element-3d07768 .red {
    color: #EE3040;
    font-weight: 600;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-886803f */.elementor-31 .elementor-element.elementor-element-886803f .red {
    color: #EE3040;
    font-weight: 600;
}/* End custom CSS */