.elementor-243 .elementor-element.elementor-element-86c7179{--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:center;--overlay-opacity:0.5;--overlay-mix-blend-mode:multiply;--padding-top:200px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-243 .elementor-element.elementor-element-86c7179:not(.elementor-motion-effects-element-type-background), .elementor-243 .elementor-element.elementor-element-86c7179 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );background-image:url("https://rhapsodytoronto.com/wp-content/uploads/2026/01/Rectangle-14-1.jpg");background-position:center center;background-repeat:repeat;}.elementor-243 .elementor-element.elementor-element-86c7179::before, .elementor-243 .elementor-element.elementor-element-86c7179 > .elementor-background-video-container::before, .elementor-243 .elementor-element.elementor-element-86c7179 > .e-con-inner > .elementor-background-video-container::before, .elementor-243 .elementor-element.elementor-element-86c7179 > .elementor-background-slideshow::before, .elementor-243 .elementor-element.elementor-element-86c7179 > .e-con-inner > .elementor-background-slideshow::before, .elementor-243 .elementor-element.elementor-element-86c7179 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00000000 0%, var( --e-global-color-1598770 ) 100%);}.elementor-243 .elementor-element.elementor-element-cc43c7b{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-243 .elementor-element.elementor-element-177ca3b.elementor-element{--align-self:center;}.elementor-243 .elementor-element.elementor-element-177ca3b{text-align:center;}.elementor-243 .elementor-element.elementor-element-177ca3b .elementor-heading-title{font-family:"Asar", Sans-serif;font-size:70px;font-weight:400;text-transform:capitalize;line-height:95px;color:var( --e-global-color-primary );}.elementor-243 .elementor-element.elementor-element-c2a04c9{--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:center;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-243 .elementor-element.elementor-element-c2a04c9:not(.elementor-motion-effects-element-type-background), .elementor-243 .elementor-element.elementor-element-c2a04c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-71c457d );}.elementor-243 .elementor-element.elementor-element-eab2e93{--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;}.elementor-243 .elementor-element.elementor-element-11433d1{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-243 .elementor-element.elementor-element-a994df2 img{width:100%;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Outfit", Sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:5px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-243 .elementor-element.elementor-element-b7ef1d3.elementor-element{--align-self:stretch;}.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-243 .elementor-element.elementor-element-db26764{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-0586991 img{width:100%;}.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button{background-color:var( --e-global-color-primary );font-family:"Outfit", Sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:5px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-243 .elementor-element.elementor-element-c94932c.elementor-element{--align-self:stretch;}.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-243 .elementor-element.elementor-element-4ec0e5e{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-0f09996 img{width:100%;}.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button{background-color:var( --e-global-color-primary );font-family:"Outfit", Sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:5px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-243 .elementor-element.elementor-element-4bb51ee.elementor-element{--align-self:stretch;}.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-243 .elementor-element.elementor-element-c494b62{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-dc540a5 img{width:100%;}.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Outfit", Sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:5px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-243 .elementor-element.elementor-element-e06f386.elementor-element{--align-self:stretch;}.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-243 .elementor-element.elementor-element-167a3e0{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-0b1508c img{width:100%;}.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Outfit", Sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:5px;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-243 .elementor-element.elementor-element-9fcee53.elementor-element{--align-self:stretch;}.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button .elementor-button-content-wrapper{justify-content:center;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-243 .elementor-element.elementor-element-11433d1{--width:75%;}.elementor-243 .elementor-element.elementor-element-db26764{--width:75%;}.elementor-243 .elementor-element.elementor-element-4ec0e5e{--width:75%;}.elementor-243 .elementor-element.elementor-element-c494b62{--width:75%;}.elementor-243 .elementor-element.elementor-element-167a3e0{--width:75%;}}@media(max-width:1024px){.elementor-243 .elementor-element.elementor-element-177ca3b .elementor-heading-title{font-size:65px;line-height:1em;}.elementor-243 .elementor-element.elementor-element-c2a04c9{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-243 .elementor-element.elementor-element-86c7179{--padding-top:170px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-243 .elementor-element.elementor-element-177ca3b .elementor-heading-title{font-size:48px;line-height:48px;}.elementor-243 .elementor-element.elementor-element-c2a04c9{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-243 .elementor-element.elementor-element-11433d1{--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button{font-size:14px;}.elementor-243 .elementor-element.elementor-element-db26764{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button{font-size:14px;}.elementor-243 .elementor-element.elementor-element-4ec0e5e{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button{font-size:14px;}.elementor-243 .elementor-element.elementor-element-c494b62{--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button{font-size:14px;}.elementor-243 .elementor-element.elementor-element-167a3e0{--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button{font-size:14px;}}/* Start custom CSS for button, class: .elementor-element-b7ef1d3 *//* 1. Base Button Setup */
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button {
    background-color: #dbe136 !important; /* Base Green Background */
    color: #000000 !important; /* Base Black Text */
    
    /* Setup Border - solid transparent initially to prevent size jumping */
    border: 1px solid transparent; 
    
    position: relative;
    overflow: hidden; 
    z-index: 1;
    transition: all 0.3s ease; /* Smooth transition for color/border */
}

/* 2. The "Blackout" Swipe Layer (The Animation) */
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; 
    height: 100%;
    background-color: #000000; /* The Swipe is BLACK */
    
    /* The Rhapsody Skew logic */
    transform-origin: left;
    transform: translateX(-10%) scaleX(0) skewX(-20deg); 
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    
    z-index: 0; /* Sits behind text */
}

/* 3. Bring Text Above the Swipe */
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button span, 
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2; 
}

/* 4. Hover Actions */
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button:hover::before {
    transform: translateX(-10%) scaleX(1) skewX(-20deg); /* Black Swipe Activates */
}

.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button:hover {
    color: #dce25a !important; /* Text turns Green */
    border-color: #dce25a !important; /* Border turns Green */
    background-color: transparent !important; /* Optional: ensures border is crisp */
}

/* 5. Fix for Icons (if you use them) */
.elementor-243 .elementor-element.elementor-element-b7ef1d3 .elementor-button:hover svg {
    fill: #dce25a !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c94932c *//* 1. Base Button Setup */
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button {
    background-color: #dbe136 !important; /* Base Green Background */
    color: #000000 !important; /* Base Black Text */
    
    /* Setup Border - solid transparent initially to prevent size jumping */
    border: 1px solid transparent; 
    
    position: relative;
    overflow: hidden; 
    z-index: 1;
    transition: all 0.3s ease; /* Smooth transition for color/border */
}

/* 2. The "Blackout" Swipe Layer (The Animation) */
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; 
    height: 100%;
    background-color: #000000; /* The Swipe is BLACK */
    
    /* The Rhapsody Skew logic */
    transform-origin: left;
    transform: translateX(-10%) scaleX(0) skewX(-20deg); 
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    
    z-index: 0; /* Sits behind text */
}

/* 3. Bring Text Above the Swipe */
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button span, 
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2; 
}

/* 4. Hover Actions */
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button:hover::before {
    transform: translateX(-10%) scaleX(1) skewX(-20deg); /* Black Swipe Activates */
}

.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button:hover {
    color: #dce25a !important; /* Text turns Green */
    border-color: #dce25a !important; /* Border turns Green */
    background-color: transparent !important; /* Optional: ensures border is crisp */
}

/* 5. Fix for Icons (if you use them) */
.elementor-243 .elementor-element.elementor-element-c94932c .elementor-button:hover svg {
    fill: #dce25a !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4bb51ee *//* 1. Base Button Setup */
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button {
    background-color: #dbe136 !important; /* Base Green Background */
    color: #000000 !important; /* Base Black Text */
    
    /* Setup Border - solid transparent initially to prevent size jumping */
    border: 1px solid transparent; 
    
    position: relative;
    overflow: hidden; 
    z-index: 1;
    transition: all 0.3s ease; /* Smooth transition for color/border */
}

/* 2. The "Blackout" Swipe Layer (The Animation) */
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; 
    height: 100%;
    background-color: #000000; /* The Swipe is BLACK */
    
    /* The Rhapsody Skew logic */
    transform-origin: left;
    transform: translateX(-10%) scaleX(0) skewX(-20deg); 
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    
    z-index: 0; /* Sits behind text */
}

/* 3. Bring Text Above the Swipe */
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button span, 
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2; 
}

/* 4. Hover Actions */
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button:hover::before {
    transform: translateX(-10%) scaleX(1) skewX(-20deg); /* Black Swipe Activates */
}

.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button:hover {
    color: #dce25a !important; /* Text turns Green */
    border-color: #dce25a !important; /* Border turns Green */
    background-color: transparent !important; /* Optional: ensures border is crisp */
}

/* 5. Fix for Icons (if you use them) */
.elementor-243 .elementor-element.elementor-element-4bb51ee .elementor-button:hover svg {
    fill: #dce25a !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e06f386 *//* 1. Base Button Setup */
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button {
    background-color: #dbe136 !important; /* Base Green Background */
    color: #000000 !important; /* Base Black Text */
    
    /* Setup Border - solid transparent initially to prevent size jumping */
    border: 1px solid transparent; 
    
    position: relative;
    overflow: hidden; 
    z-index: 1;
    transition: all 0.3s ease; /* Smooth transition for color/border */
}

/* 2. The "Blackout" Swipe Layer (The Animation) */
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; 
    height: 100%;
    background-color: #000000; /* The Swipe is BLACK */
    
    /* The Rhapsody Skew logic */
    transform-origin: left;
    transform: translateX(-10%) scaleX(0) skewX(-20deg); 
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    
    z-index: 0; /* Sits behind text */
}

/* 3. Bring Text Above the Swipe */
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button span, 
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2; 
}

/* 4. Hover Actions */
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button:hover::before {
    transform: translateX(-10%) scaleX(1) skewX(-20deg); /* Black Swipe Activates */
}

.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button:hover {
    color: #dce25a !important; /* Text turns Green */
    border-color: #dce25a !important; /* Border turns Green */
    background-color: transparent !important; /* Optional: ensures border is crisp */
}

/* 5. Fix for Icons (if you use them) */
.elementor-243 .elementor-element.elementor-element-e06f386 .elementor-button:hover svg {
    fill: #dce25a !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-9fcee53 *//* 1. Base Button Setup */
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button {
    background-color: #dbe136 !important; /* Base Green Background */
    color: #000000 !important; /* Base Black Text */
    
    /* Setup Border - solid transparent initially to prevent size jumping */
    border: 1px solid transparent; 
    
    position: relative;
    overflow: hidden; 
    z-index: 1;
    transition: all 0.3s ease; /* Smooth transition for color/border */
}

/* 2. The "Blackout" Swipe Layer (The Animation) */
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%; 
    height: 100%;
    background-color: #000000; /* The Swipe is BLACK */
    
    /* The Rhapsody Skew logic */
    transform-origin: left;
    transform: translateX(-10%) scaleX(0) skewX(-20deg); 
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    
    z-index: 0; /* Sits behind text */
}

/* 3. Bring Text Above the Swipe */
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button span, 
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2; 
}

/* 4. Hover Actions */
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button:hover::before {
    transform: translateX(-10%) scaleX(1) skewX(-20deg); /* Black Swipe Activates */
}

.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button:hover {
    color: #dce25a !important; /* Text turns Green */
    border-color: #dce25a !important; /* Border turns Green */
    background-color: transparent !important; /* Optional: ensures border is crisp */
}

/* 5. Fix for Icons (if you use them) */
.elementor-243 .elementor-element.elementor-element-9fcee53 .elementor-button:hover svg {
    fill: #dce25a !important;
}/* End custom CSS */