.elementor-8429 .elementor-element.elementor-element-720f5b6{--display:flex;--min-height:350px;--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;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--overlay-opacity:0.5;}.elementor-8429 .elementor-element.elementor-element-720f5b6:not(.elementor-motion-effects-element-type-background), .elementor-8429 .elementor-element.elementor-element-720f5b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ridgewoodmoving.com/wp-content/uploads/2025/05/community.webp");background-position:center right;background-size:cover;}.elementor-8429 .elementor-element.elementor-element-720f5b6::before, .elementor-8429 .elementor-element.elementor-element-720f5b6 > .elementor-background-video-container::before, .elementor-8429 .elementor-element.elementor-element-720f5b6 > .e-con-inner > .elementor-background-video-container::before, .elementor-8429 .elementor-element.elementor-element-720f5b6 > .elementor-background-slideshow::before, .elementor-8429 .elementor-element.elementor-element-720f5b6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-8429 .elementor-element.elementor-element-720f5b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #000000 0%, #00000000 100%);}.elementor-8429 .elementor-element.elementor-element-6d8db31{--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;--margin-top:0em;--margin-bottom:2em;--margin-left:0em;--margin-right:0em;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8429 .elementor-element.elementor-element-a81e557{--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;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:2em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}.elementor-8429 .elementor-element.elementor-element-969dcd5{--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;}.elementor-8429 .elementor-element.elementor-element-755e1c9{--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;}.elementor-8429 .elementor-element.elementor-element-e61905e{--e-image-carousel-slides-to-show:1;}.elementor-8429 .elementor-element.elementor-element-e61905e .swiper-pagination-bullet{width:15px;height:15px;background:var( --e-global-color-primary );}.elementor-8429 .elementor-element.elementor-element-e61905e .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background:#D9D9D9;opacity:1;}.elementor-8429 .elementor-element.elementor-element-1459dce{--display:flex;--margin-top:0em;--margin-bottom:2em;--margin-left:0em;--margin-right:0em;}.elementor-8429 .elementor-element.elementor-element-330fc91{--e-image-carousel-slides-to-show:5;}.elementor-8429 .elementor-element.elementor-element-330fc91 .swiper-wrapper{display:flex;align-items:center;}.elementor-8429 .elementor-element.elementor-element-68a010e{--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;--align-items:center;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-8429 .elementor-element.elementor-element-68a010e:not(.elementor-motion-effects-element-type-background), .elementor-8429 .elementor-element.elementor-element-68a010e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F6F6;}.elementor-8429 .elementor-element.elementor-element-1c7ad96{--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;}.elementor-8429 .elementor-element.elementor-element-3f25f6b > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-8429 .elementor-element.elementor-element-76162a6{--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;}.elementor-8429 .elementor-element.elementor-element-1c01c46{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:2em;--margin-bottom:2em;--margin-left:0em;--margin-right:0em;}.elementor-8429 .elementor-element.elementor-element-253b826{--e-image-carousel-slides-to-show:5;}.elementor-8429 .elementor-element.elementor-element-253b826 .swiper-pagination-bullet{width:15px;height:15px;background:var( --e-global-color-primary );}.elementor-8429 .elementor-element.elementor-element-253b826 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background:#D9D9D9;opacity:1;}.elementor-8429 .elementor-element.elementor-element-253b826 .swiper-wrapper{display:flex;align-items:center;}@media(max-width:1024px){.elementor-8429 .elementor-element.elementor-element-720f5b6{--min-height:300px;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-8429 .elementor-element.elementor-element-a81e557{--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;}.elementor-8429 .elementor-element.elementor-element-330fc91{--e-image-carousel-slides-to-show:3;}.elementor-8429 .elementor-element.elementor-element-68a010e{--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:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-8429 .elementor-element.elementor-element-76162a6{--justify-content:center;}}@media(max-width:767px){.elementor-8429 .elementor-element.elementor-element-720f5b6{--min-height:225px;--justify-content:flex-end;--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-8429 .elementor-element.elementor-element-720f5b6:not(.elementor-motion-effects-element-type-background), .elementor-8429 .elementor-element.elementor-element-720f5b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:-484px 0px;}.elementor-8429 .elementor-element.elementor-element-6d8db31{--margin-top:0em;--margin-bottom:1em;--margin-left:0em;--margin-right:0em;}.elementor-8429 .elementor-element.elementor-element-b746449{width:100%;max-width:100%;}.elementor-8429 .elementor-element.elementor-element-a57db2f{width:100%;max-width:100%;}.elementor-8429 .elementor-element.elementor-element-3f25f6b > .elementor-widget-container{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-8429 .elementor-element.elementor-element-969dcd5{--width:50%;}.elementor-8429 .elementor-element.elementor-element-755e1c9{--width:50%;}.elementor-8429 .elementor-element.elementor-element-1c7ad96{--width:45%;}.elementor-8429 .elementor-element.elementor-element-76162a6{--width:55%;}}@media(max-width:1024px) and (min-width:768px){.elementor-8429 .elementor-element.elementor-element-969dcd5{--width:100%;}.elementor-8429 .elementor-element.elementor-element-755e1c9{--width:100%;}.elementor-8429 .elementor-element.elementor-element-1c7ad96{--width:100%;}.elementor-8429 .elementor-element.elementor-element-76162a6{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-9084e8d */.lash:hover .path1 {
    transform: translate(-4px, -3px);
}

.lash:hover .path2 {
    transform: translate(4px, -2px);
}

.lash:hover .path3 {
    transform: translate(4px, 3px);
}

.heart path {
    transition: transform 0.3s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f25f6b *//* Base styles for body - adjust as needed */

/* --- Full Width CTA Button Styles --- */
.full-width-cta-button {
    display: flex;
    /* Use flexbox for layout */
    align-items: center; /* Vertically center items */
    justify-content: flex-start; /* Align items to the start (left) */
    width: 100%; /* Make the button full width */
    padding: 20px 40px; /* Vertical and horizontal padding */
    background-color: #fff; /* Default background */
    color: black; /* Default text color */
    box-shadow: 0px 4px 15.4px 0px rgba(151, 151, 151, 0.30);
    border-radius: 8px; /* Optional rounded corners */
    text-decoration: none; /* Remove underline from link */
    cursor: pointer;
    overflow: hidden; /* Prevent content spillover during animation */
    box-sizing: border-box; /* Include padding and border in width */
    position: relative; /* For positioning the hidden icon */

    /* Smooth transitions for hover effects */
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Style for the icons */
.full-width-cta-button .cta-icon {
    height: 50px; /* Adjust icon size as needed */
    width: auto;
    display: block; /* Helps with alignment inside circle */
    flex-shrink: 0; /* Prevent icons from shrinking */
}

/* Container for the text ONLY */
.full-width-cta-button .cta-content {
    display: flex; /* Still use flex for alignment if needed */
    color: #000;
    align-items: center;
    margin-left: 15px; /* Space after the first icon */
    margin-right: 15px;
    flex-grow: 0; /* Don't grow by default */
    transition: flex-grow 0.6s ease; /* Smooth transition for growing */
}

/* Container for the swapping text */
.full-width-cta-button .cta-text-container {
    position: relative; /* Needed for absolute positioning of hover text */
    display: inline-block; /* Fit content size */
    white-space: nowrap; /* Prevent text wrapping */
    /* Apply font styles here */
    font-family: "Mulish", Sans-serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
}

/* Base style for both text spans */
.full-width-cta-button .cta-text {
    display: inline-block;
    transition: opacity 0.2s ease-in-out; /* Smooth text fade */
}

/* Style for the hover text (initially hidden) */
.full-width-cta-button .cta-text-hover {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    opacity: 0; /* Hidden by default */
    white-space: nowrap; /* Prevent wrapping */
}

/* Wrapper for the right arrow icon (for background circle) */
.full-width-cta-button .cta-icon-right-wrapper {
    display: flex; /* Center the icon inside */
    align-items: center;
    justify-content: center;
    width: 50px; /* Circle size - adjust as needed */
    height: 50px; /* Circle size - adjust as needed */
    border-radius: 50%; /* Make it a circle */
    background-color: #F7F7F7; /* Default background */
    margin-left: 10px; /* Initial spacing */
    flex-shrink: 0; /* Prevent shrinking */
    position: relative; /* For positioning the hidden icon */
    
    /* Remove any transition here as we're using animations */
}

/* The right arrow icon */
.full-width-cta-button .cta-icon-right {
    height: 25px !important;
    transition: transform 0.3s ease; /* Smooth transform */
}

/* --- Icon Swap on Hover --- */
/* Create a class for alternate icon that will show on hover */
.full-width-cta-button .cta-icon-left,
.full-width-cta-button .cta-icon-right {
    transition: opacity 0.3s ease; /* Smooth fade between icons */
}

/* Style for the SVGs - default (colored) icon */
.full-width-cta-button .cta-icon-left[src*="svg1332.svg"] {
    opacity: 1; /* Visible by default */
}

/* On hover - swap icons */
.full-width-cta-button:hover .cta-icon-left[src*="svg1332.svg"] {
    filter: brightness(0) invert(1); /* Make it white */
}

/* --- Hover Effects --- */
.full-width-cta-button:hover {
    background-color: #D0202E; /* Red background on hover */
    color: white; /* White text on hover */
    border-color: #D0202E; /* Match border color */
}

/* Hide default text on hover */
.full-width-cta-button:hover .cta-text-default {
    opacity: 0;
}

/* Show hover text on hover */
.full-width-cta-button:hover .cta-text-hover {
    opacity: 1;
}

/* On hover, make the content grow to push the arrow right */
.full-width-cta-button:hover .cta-content {
    flex-grow: 1;
}

/* Animation for the arrow when returning from hover */
.full-width-cta-button:not(:hover) .cta-icon-right-wrapper {
    animation: bounceBack 0.8s ease;
}

/* Define the bounce back animation */
@keyframes bounceBack {
    0% {
        transform: translateX(0);
    }
    20% {
        transform: translateX(-10px); /* Slight overshoot to left */
    }
    40% {
        transform: translateX(-3px); /* Bounce right a little */
    }
    60% {
        transform: translateX(-7px); /* Bounce left again slightly */
    }
    80% {
        transform: translateX(-2px); /* Small bounce right */
    }
    100% {
        transform: translateX(0); /* Final resting position */
    }
}

/* Add a gentle pulse to the arrow icon on hover */


@keyframes pulse {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(3px); /* Slight right movement */
    }
}

/* Change the right arrow wrapper background on hover */
.full-width-cta-button:hover .cta-icon-right-wrapper {
    background-color: #fff; /* White circle background on hover */
}

/* Make the right arrow black on hover (since it's on white background) */
.full-width-cta-button:hover .cta-icon-right {
    filter: brightness(0); /* Make the arrow icon black */
}
/* Wrapper for the LEFT icons (for swapping) */
.full-width-cta-button .cta-icon-left-wrapper {
    position: relative; /* Context for absolute positioned icons */
    width: 50px; /* Match icon height for container size */
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; 
}

/* Style for BOTH LEFT icons */
.full-width-cta-button .cta-icon-left-wrapper .cta-icon-left {
    height: 50px;
    width: auto;
    display: block; 
    position: absolute; /* Position icons on top of each other */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease-in-out; /* Smooth fade */
}

/* Hide the HOVER left icon by default */
.full-width-cta-button .cta-icon-left-wrapper .cta-icon-left-hover {
    opacity: 0;
}

/* Hide DEFAULT LEFT icon on hover */
.full-width-cta-button:hover .cta-icon-left-wrapper .cta-icon-left-default {
     opacity: 0;
}

/* Show HOVER LEFT icon on hover */
.full-width-cta-button:hover .cta-icon-left-wrapper .cta-icon-left-hover {
     opacity: 1;
}

/* --- Full Width CTA Button Styles --- */
.full-width-cta-button {
    /* Added margin between stacked buttons */
    margin-bottom: 15px; 
}
/* Remove margin from the last button */
.full-width-cta-button:last-child {
    margin-bottom: 0;
}

/* Container for the text ONLY */
.full-width-cta-button .cta-content {
    /* Added min-width to ensure consistent spacing */
    min-width: 190px; /* Adjust this value as needed */
    /* Removed flex-grow: 0; - min-width handles default state */
    /* transition: flex-grow 0.6s ease; /* This was already present */ 
}

/* Wrapper for the right arrow icon */
.full-width-cta-button .cta-icon-right-wrapper {
    /* Made bounce animation infinite */
    animation: bounceBack 0.8s ease infinite; 
}


/* --- Hover Effects --- */

/* Make content grow on hover to push arrow */
.full-width-cta-button:hover .cta-content {
    /* flex-grow: 1; /* This was already present */
    /* Ensure min-width doesn't interfere with growing */
    min-width: auto; 
}

/* Animate right arrow wrapper on hover */
.full-width-cta-button:hover .cta-icon-right-wrapper {
    /* animation: none; /* This was already present */
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 1024px) {
    .full-width-cta-button {
        padding: 10px 10px;
}
  .full-width-cta-button .cta-icon {
    height: 20px; /* Adjust icon size as needed */
  }
  .full-width-cta-button .cta-icon-right-wrapper {
    display: flex; /* Center the icon inside */
    align-items: center;
    justify-content: center;
    width: 30px; /* Circle size - adjust as needed */
    height: 30px; /* Circle size - adjust as needed */
    
}
.full-width-cta-button .cta-icon-left-wrapper .cta-icon-left {
    height: 40px;
}

.full-width-cta-button .cta-icon-right {
    height: 15px !important;
}
.full-width-cta-button .cta-text-container {
    font-size: 1rem;
}
    
}/* End custom CSS */