.elementor-434 .elementor-element.elementor-element-f1612d4{--display:flex;--min-height:700px;--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;--overlay-opacity:0.92;}.elementor-434 .elementor-element.elementor-element-f1612d4::before, .elementor-434 .elementor-element.elementor-element-f1612d4 > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-f1612d4 > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-f1612d4 > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-f1612d4 > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-f1612d4 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #00529C 0%, var( --e-global-color-primary ) 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 );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-dac87dd{padding:0px 0px 0px 0px;text-align:center;}.elementor-434 .elementor-element.elementor-element-dac87dd .elementor-heading-title{font-family:"Neue Montreal Medium", Sans-serif;font-size:65px;font-weight:500;line-height:1.2em;letter-spacing:0.1rem;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-b6542a5{margin:-6px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Neue Montreal Medium", Sans-serif;font-size:24px;font-weight:400;letter-spacing:0.1rem;color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-b6542a5 p{margin-block-end:0px;}.elementor-434 .elementor-element.elementor-element-5ed82d0{--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:center;--align-items:center;}.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-434 .elementor-element.elementor-element-b09f602 .elementor-button{background-color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-d5b085b{--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:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:070px;--margin-bottom:70px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-4a6ba9c{--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-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-434 .elementor-element.elementor-element-94dc44c{text-align:left;}.elementor-434 .elementor-element.elementor-element-94dc44c img{width:75%;height:336px;border-style:solid;border-width:0px 50px 0px 0px;border-color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-3a8ad9a{margin:-200px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:right;}.elementor-434 .elementor-element.elementor-element-3a8ad9a img{width:61%;height:296px;border-style:double;border-width:20px 0px 0px 20px;border-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-92eefa1{--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:10px;--padding-bottom:10px;--padding-left:80px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-a5d2f91 .elementor-heading-title{font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:0.04rem;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-94cc726{width:var( --container-widget-width, 100.428% );max-width:100.428%;--container-widget-width:100.428%;--container-widget-flex-grow:0;text-align:justify;color:var( --e-global-color-text );}.elementor-434 .elementor-element.elementor-element-94cc726.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-c53e760{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-c53e760:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-c53e760 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.a1uptownlocksmiths.ca/wp-content/uploads/2025/12/dbmvjq6g3srmr0cv8shbdhmh2m.png");background-position:center right;background-repeat:no-repeat;background-size:36% auto;}.elementor-434 .elementor-element.elementor-element-c53e760::before, .elementor-434 .elementor-element.elementor-element-c53e760 > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-c53e760 > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-c53e760 > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-c53e760 > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-c53e760 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-434 .elementor-element.elementor-element-864afa4{--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-434 .elementor-element.elementor-element-5acab92{--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-434 .elementor-element.elementor-element-5acab92:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-5acab92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-fe6f209 .elementor-heading-title{font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-212eaaf .elementor-heading-title{font-family:"Neue Montreal Medium", Sans-serif;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-e71d918{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-e71d918.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-1016cae{--display:flex;}.elementor-434 .elementor-element.elementor-element-5906c38{--display:flex;--justify-content:space-evenly;}.elementor-434 .elementor-element.elementor-element-1ab98f1{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-1ab98f1:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-1ab98f1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-434 .elementor-element.elementor-element-8f4b68e{text-align:left;}.elementor-434 .elementor-element.elementor-element-8f4b68e img{width:31%;}.elementor-434 .elementor-element.elementor-element-fc79153 .elementor-heading-title{font-size:16px;font-weight:600;color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-7d8851d{color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-81cbe20{--display:flex;--justify-content:space-evenly;}.elementor-434 .elementor-element.elementor-element-8e2724f{--display:flex;--justify-content:space-between;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-8e2724f:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-8e2724f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-8e2724f.e-con{--align-self:stretch;}.elementor-434 .elementor-element.elementor-element-9a4b54b{text-align:left;}.elementor-434 .elementor-element.elementor-element-9a4b54b img{width:31%;}.elementor-434 .elementor-element.elementor-element-c04d903 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-7476efc{--display:flex;}.elementor-434 .elementor-element.elementor-element-2246bd1{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-2246bd1:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-2246bd1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-4bb2b05{text-align:left;}.elementor-434 .elementor-element.elementor-element-4bb2b05 img{width:31%;}.elementor-434 .elementor-element.elementor-element-8efa051 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-898457b{--display:flex;}.elementor-434 .elementor-element.elementor-element-88a1f14{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-88a1f14:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-88a1f14 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-a670a25{text-align:left;}.elementor-434 .elementor-element.elementor-element-a670a25 img{width:31%;}.elementor-434 .elementor-element.elementor-element-04f55fd .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-0e7c582{--display:flex;}.elementor-434 .elementor-element.elementor-element-f06eafe{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-f06eafe:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-f06eafe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-3fc1753{text-align:left;}.elementor-434 .elementor-element.elementor-element-3fc1753 img{width:31%;}.elementor-434 .elementor-element.elementor-element-feae7b9 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-b9d3440{font-family:"Neue Montreal Medium", Sans-serif;font-weight:400;}.elementor-434 .elementor-element.elementor-element-b9d3440 p{margin-block-end:18px;}.elementor-434 .elementor-element.elementor-element-aa40ca5{--display:flex;}.elementor-434 .elementor-element.elementor-element-d0d9b1b{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-d0d9b1b:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-d0d9b1b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-1fac5dc{text-align:left;}.elementor-434 .elementor-element.elementor-element-1fac5dc img{width:31%;}.elementor-434 .elementor-element.elementor-element-9586057 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-b689057 p{margin-block-end:18px;}.elementor-434 .elementor-element.elementor-element-bf642ab{--display:flex;}.elementor-434 .elementor-element.elementor-element-ac1d12b{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-ac1d12b:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-ac1d12b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-85893c0{text-align:left;}.elementor-434 .elementor-element.elementor-element-85893c0 img{width:31%;}.elementor-434 .elementor-element.elementor-element-a0ee364 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-9b2ea70 p{margin-block-end:18px;}.elementor-434 .elementor-element.elementor-element-19c6be3{--display:flex;}.elementor-434 .elementor-element.elementor-element-78c6c3f{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-78c6c3f:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-78c6c3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-0145fec{text-align:left;}.elementor-434 .elementor-element.elementor-element-0145fec img{width:31%;}.elementor-434 .elementor-element.elementor-element-e89eb93 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-d17ce60 p{margin-block-end:15px;}.elementor-434 .elementor-element.elementor-element-f1e4f3e{--display:flex;}.elementor-434 .elementor-element.elementor-element-4959bba{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-4959bba:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-4959bba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-d7e3450{text-align:left;}.elementor-434 .elementor-element.elementor-element-d7e3450 img{width:31%;}.elementor-434 .elementor-element.elementor-element-53fe699 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-d46108a{font-family:"Neue Montreal Medium", Sans-serif;font-weight:400;}.elementor-434 .elementor-element.elementor-element-d46108a p{margin-block-end:19px;}.elementor-434 .elementor-element.elementor-element-aa2aa8f{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;}.elementor-434 .elementor-element.elementor-element-fc7afcb{--display:flex;--min-height:500px;--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:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:1;--margin-top:100px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-fc7afcb:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-fc7afcb::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://dev.a1uptownlocksmiths.ca/wp-content/uploads/2025/12/84pc21zt5srmy0cv8rqbx7hsdg.png");--background-overlay:'';background-position:center right;background-repeat:no-repeat;background-size:65% auto;}.elementor-434 .elementor-element.elementor-element-fb034d1{--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-434 .elementor-element.elementor-element-fb034d1.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-4db1ab1 .elementor-heading-title{font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-1f6e3b7{width:var( --container-widget-width, 101.636% );max-width:101.636%;--container-widget-width:101.636%;--container-widget-flex-grow:0;text-align:left;}.elementor-434 .elementor-element.elementor-element-1f6e3b7.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-1f6e3b7 .elementor-heading-title{font-family:"Neue Montreal Medium", Sans-serif;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-7e9762a{width:var( --container-widget-width, 94.18% );max-width:94.18%;--container-widget-width:94.18%;--container-widget-flex-grow:0;font-family:"Neue Montreal Medium", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-7e9762a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-5592f30{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:50px;--margin-right:50px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-434 .elementor-element.elementor-element-5592f30:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-5592f30 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-6e8ffee .elementor-heading-title{font-size:25px;font-weight:600;color:#FFFFFF;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-80d44ef .elementor-icon-list-icon i{color:#FFFFFF;transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-80d44ef .elementor-icon-list-icon svg{fill:#FFFFFF;transition:fill 0.3s;}.elementor-434 .elementor-element.elementor-element-80d44ef{--e-icon-list-icon-size:40px;--icon-vertical-offset:0px;}.elementor-434 .elementor-element.elementor-element-80d44ef .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-b7728ff{--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:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.64;--overlay-mix-blend-mode:multiply;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-b7728ff:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-b7728ff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dev.a1uptownlocksmiths.ca/wp-content/uploads/2025/12/young-repairman-fixing-lock-in-large-transparent-d-5HEV9YJ-768x1536-1.jpg");background-position:center left;background-repeat:no-repeat;background-size:contain;}.elementor-434 .elementor-element.elementor-element-b7728ff::before, .elementor-434 .elementor-element.elementor-element-b7728ff > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-b7728ff > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-b7728ff > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-b7728ff > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-b7728ff > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(270deg, #FFFFFF 73%, var( --e-global-color-secondary ) 55%);}.elementor-434 .elementor-element.elementor-element-4dab69b{--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-434 .elementor-element.elementor-element-2ab03c9{--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-434 .elementor-element.elementor-element-2ab03c9:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-2ab03c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-941e4a7 .elementor-heading-title{font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-40ae79a{width:var( --container-widget-width, 81.889% );max-width:81.889%;--container-widget-width:81.889%;--container-widget-flex-grow:0;text-align:justify;}.elementor-434 .elementor-element.elementor-element-40ae79a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-e227908{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--justify-items:stretch;--align-items:stretch;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-434 .elementor-element.elementor-element-d87cf78{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-d87cf78 .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-d87cf78.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-d87cf78.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-d87cf78.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-d87cf78 .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-d87cf78 .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-d87cf78 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-c8b86fe{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-c8b86fe .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-c8b86fe.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-c8b86fe.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-c8b86fe.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-c8b86fe .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-c8b86fe .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-c8b86fe .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-3f58e59{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-3f58e59 .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-3f58e59.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-3f58e59.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-3f58e59.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-3f58e59 .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-3f58e59 .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-3f58e59 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-251b11a{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-251b11a .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-251b11a.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-251b11a.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-251b11a.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-251b11a .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-251b11a .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-251b11a .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-8b35e6e{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-8b35e6e .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-8b35e6e.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-8b35e6e.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-8b35e6e.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-8b35e6e .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-8b35e6e .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-8b35e6e .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-59b7b28{background-color:#FFFFFF;padding:15px 15px 15px 15px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#EFEFEF;border-radius:1px 1px 1px 1px;box-shadow:0px 4px 12px 0px rgba(218.75422363281248, 218.75422363281248, 218.75422363281248, 0.5);}.elementor-434 .elementor-element.elementor-element-59b7b28 .elementor-image-box-wrapper{text-align:left;}.elementor-434 .elementor-element.elementor-element-59b7b28.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-434 .elementor-element.elementor-element-59b7b28.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-434 .elementor-element.elementor-element-59b7b28.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-59b7b28 .elementor-image-box-title{margin-bottom:10px;font-family:"Neue Montreal Medium", Sans-serif;font-size:18px;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-59b7b28 .elementor-image-box-wrapper .elementor-image-box-img{width:25%;}.elementor-434 .elementor-element.elementor-element-59b7b28 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-434 .elementor-element.elementor-element-75975dd{--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;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-434 .elementor-element.elementor-element-b303b75{text-align:center;}.elementor-434 .elementor-element.elementor-element-b303b75 .elementor-heading-title{font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-5117775{text-align:center;}.elementor-434 .elementor-element.elementor-element-1a00e50{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;}.elementor-434 .elementor-element.elementor-element-1a00e50.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-3c509a1{--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;--margin-top:25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-434 .elementor-element.elementor-element-258b088{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-258b088:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-258b088 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-35af12a{text-align:left;}.elementor-434 .elementor-element.elementor-element-35af12a img{width:100%;}.elementor-434 .elementor-element.elementor-element-4459827 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-434 .elementor-element.elementor-element-90093b0{--e-icon-list-icon-size:14px;--e-icon-list-icon-align:left;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0;--icon-vertical-align:flex-start;--icon-vertical-offset:4px;}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-icon{padding-inline-end:3px;}.elementor-434 .elementor-element.elementor-element-90093b0 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-6816404{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-6816404:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-6816404 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-434 .elementor-element.elementor-element-33ce9ec{text-align:left;}.elementor-434 .elementor-element.elementor-element-33ce9ec img{width:100%;}.elementor-434 .elementor-element.elementor-element-4ceb350 .elementor-heading-title{font-size:16px;font-weight:600;color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-164df60{width:var( --container-widget-width, 95.263% );max-width:95.263%;--container-widget-width:95.263%;--container-widget-flex-grow:0;--e-icon-list-icon-size:14px;--e-icon-list-icon-align:left;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0;--icon-vertical-align:flex-start;--icon-vertical-offset:4px;}.elementor-434 .elementor-element.elementor-element-164df60.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-icon{padding-inline-end:3px;}.elementor-434 .elementor-element.elementor-element-164df60 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-264578b{--display:flex;box-shadow:0px 4px 10px 0px rgba(217, 217, 217, 0.5);--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-264578b:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-264578b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-434 .elementor-element.elementor-element-e9e7da2{text-align:left;}.elementor-434 .elementor-element.elementor-element-e9e7da2 img{width:100%;}.elementor-434 .elementor-element.elementor-element-8f798c1 .elementor-heading-title{font-size:16px;font-weight:600;color:var( --e-global-color-primary );}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-434 .elementor-element.elementor-element-be40e44{--e-icon-list-icon-size:14px;--e-icon-list-icon-align:left;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0;--icon-vertical-align:flex-start;--icon-vertical-offset:4px;}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-icon{padding-inline-end:3px;}.elementor-434 .elementor-element.elementor-element-be40e44 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-434 .elementor-element.elementor-element-07dae50{--display:flex;--min-height:450px;--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;--margin-top:70px;--margin-bottom:70px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-434 .elementor-element.elementor-element-29a23ac{text-align:left;}.elementor-434 .elementor-element.elementor-element-29a23ac .elementor-heading-title{font-size:18px;font-weight:700;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-434 .elementor-element.elementor-element-6201488{width:var( --container-widget-width, 56% );max-width:56%;--container-widget-width:56%;--container-widget-flex-grow:0;text-align:left;}.elementor-434 .elementor-element.elementor-element-b1e3c8f.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-434 .elementor-element.elementor-element-b1e3c8f{text-align:left;}.elementor-434 .elementor-element.elementor-element-b4fa5fc{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:-41px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-b4fa5fc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{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-widget-testimonial-carousel .elementor-testimonial__name{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-434 .elementor-element.elementor-element-f45f80e .elementor-main-swiper .swiper-slide{border-width:1px 1px 1px 1px;border-radius:8px;border-color:#DBDBDB;}.elementor-434 .elementor-element.elementor-element-f45f80e .elementor-swiper-button{font-size:20px;}.elementor-434 .elementor-element.elementor-element-f45f80e .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:7px;--swiper-pagination-bullet-vertical-gap:7px;}.elementor-434 .elementor-element.elementor-element-f45f80e .elementor-testimonial__text{font-family:"Neue Montreal Medium", Sans-serif;font-weight:400;font-style:normal;}.elementor-434 .elementor-element.elementor-element-f45f80e .elementor-testimonial__name{font-family:"Neue Montreal Medium", Sans-serif;font-weight:500;line-height:1.2em;letter-spacing:0.01rem;}.elementor-434 .elementor-element.elementor-element-f45f80e .elementor-testimonial__image img{width:49px;height:49px;}.elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_left .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_right .elementor-testimonial__content:after{top:calc( 20px + (49px / 2) - 8px );}body:not(.rtl) .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_stacked:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-right) .elementor-testimonial__content:after,
					 body:not(.rtl) .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_inline:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-right) .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_stacked.elementor-testimonial--align-left .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_inline.elementor-testimonial--align-left .elementor-testimonial__content:after{left:calc( 20px + (49px / 2) - 8px );right:auto;}body.rtl .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_stacked:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-left) .elementor-testimonial__content:after,
					 body.rtl .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_inline:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-left) .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_stacked.elementor-testimonial--align-right .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_inline.elementor-testimonial--align-right .elementor-testimonial__content:after{right:calc( 20px + (49px / 2) - 8px );left:auto;}body:not(.rtl) .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_above:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-right) .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_above.elementor-testimonial--align-left .elementor-testimonial__content:after{left:calc( 20px + (49px / 2) - 8px );right:auto;}body.rtl .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_above:not(.elementor-testimonial--align-center):not(.elementor-testimonial--align-left) .elementor-testimonial__content:after,
					 .elementor-434 .elementor-element.elementor-element-f45f80e.elementor-testimonial--layout-image_above.elementor-testimonial--align-right .elementor-testimonial__content:after{right:calc( 20px + (49px / 2) - 8px );left:auto;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-434 .elementor-element.elementor-element-f1612d4{--min-height:450px;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-434 .elementor-element.elementor-element-dac87dd .elementor-heading-title{font-size:45px;}.elementor-434 .elementor-element.elementor-element-b6542a5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:18px;}.elementor-434 .elementor-element.elementor-element-d5b085b{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-434 .elementor-element.elementor-element-94dc44c img{height:243px;}.elementor-434 .elementor-element.elementor-element-3a8ad9a{margin:-170px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-434 .elementor-element.elementor-element-3a8ad9a img{width:57%;height:179px;}.elementor-434 .elementor-element.elementor-element-92eefa1{--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-212eaaf{width:var( --container-widget-width, 579px );max-width:579px;--container-widget-width:579px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-e71d918{width:var( --container-widget-width, 650.832px );max-width:650.832px;--container-widget-width:650.832px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-1016cae{--margin-top:0px;--margin-bottom:0px;--margin-left:-21px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-aa2aa8f{--e-n-carousel-swiper-slides-to-display:2;}.elementor-434 .elementor-element.elementor-element-fc7afcb::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:bottom right;background-size:427px auto;}.elementor-434 .elementor-element.elementor-element-7e9762a{width:var( --container-widget-width, 416.838px );max-width:416.838px;--container-widget-width:416.838px;--container-widget-flex-grow:0;word-spacing:0.2em;}.elementor-434 .elementor-element.elementor-element-5592f30{--margin-top:15px;--margin-bottom:15px;--margin-left:15px;--margin-right:15px;}.elementor-434 .elementor-element.elementor-element-2ab03c9{--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-434 .elementor-element.elementor-element-40ae79a{width:var( --container-widget-width, 650.832px );max-width:650.832px;--container-widget-width:650.832px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-e227908{--e-con-grid-template-columns:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-widget-image-box .elementor-image-box-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-434 .elementor-element.elementor-element-75975dd{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-434 .elementor-element.elementor-element-1a00e50{width:var( --container-widget-width, 650.832px );max-width:650.832px;--container-widget-width:650.832px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-3c509a1{--padding-top:25px;--padding-bottom:25px;--padding-left:15px;--padding-right:15px;}.elementor-434 .elementor-element.elementor-element-164df60{width:var( --container-widget-width, 187.182px );max-width:187.182px;--container-widget-width:187.182px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-07dae50{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:25px;--padding-left:15px;--padding-right:15px;}.elementor-434 .elementor-element.elementor-element-29a23ac{text-align:center;}.elementor-434 .elementor-element.elementor-element-6201488{width:100%;max-width:100%;text-align:center;}.elementor-434 .elementor-element.elementor-element-b1e3c8f{width:100%;max-width:100%;text-align:center;}.elementor-434 .elementor-element.elementor-element-b4fa5fc{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-testimonial-carousel .elementor-testimonial__name{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-434 .elementor-element.elementor-element-f1612d4{--min-height:550px;--overlay-opacity:0.96;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-434 .elementor-element.elementor-element-dac87dd .elementor-heading-title{font-size:35px;}.elementor-434 .elementor-element.elementor-element-b6542a5{width:var( --container-widget-width, 293px );max-width:293px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:293px;--container-widget-flex-grow:0;font-size:16px;}.elementor-434 .elementor-element.elementor-element-b6542a5.elementor-element{--align-self:center;}.elementor-434 .elementor-element.elementor-element-d5b085b{--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-94dc44c img{width:99%;height:212px;}.elementor-434 .elementor-element.elementor-element-3a8ad9a{margin:-135px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-434 .elementor-element.elementor-element-3a8ad9a img{width:50%;height:157px;}.elementor-434 .elementor-element.elementor-element-92eefa1{--margin-top:25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-434 .elementor-element.elementor-element-94cc726{width:var( --container-widget-width, 284.364px );max-width:284.364px;--container-widget-width:284.364px;--container-widget-flex-grow:0;text-align:left;}.elementor-434 .elementor-element.elementor-element-c53e760:not(.elementor-motion-effects-element-type-background), .elementor-434 .elementor-element.elementor-element-c53e760 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-434 .elementor-element.elementor-element-c53e760{--overlay-opacity:0.8;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-e71d918{width:var( --container-widget-width, 299.364px );max-width:299.364px;--container-widget-width:299.364px;--container-widget-flex-grow:0;}.elementor-434 .elementor-element.elementor-element-1016cae{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-aa2aa8f{--e-n-carousel-swiper-slides-to-display:1;}.elementor-434 .elementor-element.elementor-element-fc7afcb::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-video-container::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .e-con-inner > .elementor-background-slideshow::before, .elementor-434 .elementor-element.elementor-element-fc7afcb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://dev.a1uptownlocksmiths.ca/wp-content/uploads/2025/12/84pc21zt5srmy0cv8rqbx7hsdg.png");background-position:bottom center;background-size:contain;}.elementor-434 .elementor-element.elementor-element-7e9762a{width:var( --container-widget-width, 292.355px );max-width:292.355px;--container-widget-width:292.355px;--container-widget-flex-grow:0;letter-spacing:1px;word-spacing:0.1em;}.elementor-434 .elementor-element.elementor-element-5592f30{--margin-top:25px;--margin-bottom:25px;--margin-left:25px;--margin-right:25px;}.elementor-434 .elementor-element.elementor-element-40ae79a{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-e227908{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-image-box .elementor-image-box-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-434 .elementor-element.elementor-element-d87cf78 .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-c8b86fe .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-3f58e59 .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-251b11a .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-8b35e6e .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-59b7b28 .elementor-image-box-img{margin-bottom:0px;}.elementor-434 .elementor-element.elementor-element-75975dd{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:25px;--padding-left:15px;--padding-right:15px;}.elementor-434 .elementor-element.elementor-element-1a00e50{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-3c509a1{--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-434 .elementor-element.elementor-element-07dae50{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:25px;--padding-left:15px;--padding-right:15px;}.elementor-434 .elementor-element.elementor-element-6201488{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-b1e3c8f{width:100%;max-width:100%;}.elementor-434 .elementor-element.elementor-element-b4fa5fc{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-testimonial-carousel .elementor-testimonial__name{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(min-width:768px){.elementor-434 .elementor-element.elementor-element-4a6ba9c{--width:50%;}.elementor-434 .elementor-element.elementor-element-92eefa1{--width:50%;}.elementor-434 .elementor-element.elementor-element-864afa4{--width:33.3333%;}.elementor-434 .elementor-element.elementor-element-5acab92{--width:66.6666%;}.elementor-434 .elementor-element.elementor-element-fb034d1{--width:53%;}.elementor-434 .elementor-element.elementor-element-5592f30{--width:50%;}.elementor-434 .elementor-element.elementor-element-4dab69b{--width:20%;}.elementor-434 .elementor-element.elementor-element-2ab03c9{--width:80%;}}@media(max-width:1024px) and (min-width:768px){.elementor-434 .elementor-element.elementor-element-fb034d1{--width:62%;}}/* Start custom CSS for heading, class: .elementor-element-dac87dd */.elementor-15 .elementor-element.elementor-element-16086c6 .elementor-heading-title {
  text-shadow: -1px -1px 0 #000,
               1px -1px 0 #000,
              -1px  1px 0 #000,
               1px  1px 0 #000;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5906c38 *//* Target the carousel wrapper */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover::after,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-motion-effects-layer,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper:hover *,
.elementor-20 
.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for nested-carousel, class: .elementor-element-aa2aa8f *//* Target the carousel slides with ID or class 'effect' */
#effect, .effect {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
#effect::after,
.effect::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%; /* hidden initially */
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
#effect:hover::after,
.effect:hover::after {
    bottom: 0;
}

/* Make all text/images above overlay */
#effect *,
.effect * {
    position: relative;
    z-index: 2;
    transition: color 0.5s ease;
}

/* Change text color on hover */
#effect:hover *,
.effect:hover * {
    color: white !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3c509a1 *//* Target only the two elements */
.elementor-434 .elementor-element-258b088,
.elementor-434 .elementor-element-264578b {
    position: relative;
    overflow: hidden;
}

/* Sliding black overlay */
.elementor-434 .elementor-element-258b088::after,
.elementor-434 .elementor-element-264578b::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -100%;
    width: 100%;
    height: 100%;
    background: black;
    z-index: 1;
    transition: bottom 0.5s ease;
}

/* Hover overlay slide */
.elementor-434 .elementor-element-258b088:hover::after,
.elementor-434 .elementor-element-264578b:hover::after {
    bottom: 0;
}

/* Keep content above overlay */
.elementor-434 .elementor-element-258b088 *,
.elementor-434 .elementor-element-264578b *,
.elementor-434 .elementor-element-258b088 .elementor-motion-effects-layer,
.elementor-434 .elementor-element-264578b .elementor-motion-effects-layer {
    position: relative;
    z-index: 2 !important;
    transition: color 0.5s ease;
}

/* Change text color on hover */
.elementor-434 .elementor-element-258b088:hover *,
.elementor-434 .elementor-element-264578b:hover * {
    color: white !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Neue Montreal Medium';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://dev.a1uptownlocksmiths.ca/wp-content/uploads/2025/12/NeueMontreal-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Neue Montreal Medium';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: ;
}
/* End Custom Fonts CSS */