.elementor-948 .elementor-element.elementor-element-f9ebb13{--display:flex;--min-height:100vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:15px 15px;--row-gap:15px;--column-gap:15px;--overlay-opacity:0.2;--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-948 .elementor-element.elementor-element-f9ebb13::before, .elementor-948 .elementor-element.elementor-element-f9ebb13 > .elementor-background-video-container::before, .elementor-948 .elementor-element.elementor-element-f9ebb13 > .e-con-inner > .elementor-background-video-container::before, .elementor-948 .elementor-element.elementor-element-f9ebb13 > .elementor-background-slideshow::before, .elementor-948 .elementor-element.elementor-element-f9ebb13 > .e-con-inner > .elementor-background-slideshow::before, .elementor-948 .elementor-element.elementor-element-f9ebb13 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-5bf468b );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-948 .elementor-element.elementor-element-cda2613 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-778bd1d );}.elementor-948 .elementor-element.elementor-element-2278b26{padding:0px 0px 10px 0px;}.elementor-948 .elementor-element.elementor-element-2278b26 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:68px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-778bd1d );}.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-948 .elementor-element.elementor-element-8d79fce{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-778bd1d );}.elementor-948 .elementor-element.elementor-element-a3c4cfb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--padding-top:120px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-0b13624{--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;}.elementor-948 .elementor-element.elementor-element-65f6bb2{--display:flex;--min-height:60vh;}.elementor-948 .elementor-element.elementor-element-65f6bb2:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-65f6bb2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sunshineleisure.co.za/wp-content/uploads/2026/07/the-ocean-view.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-948 .elementor-element.elementor-element-0fc162d{--display:flex;--justify-content:center;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--margin-top:-65px;--margin-bottom:65px;--margin-left:-65px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;--z-index:10;}.elementor-948 .elementor-element.elementor-element-0fc162d:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-0fc162d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-948 .elementor-element.elementor-element-3299993{padding:0px 0px 0px 0px;text-align:start;}.elementor-948 .elementor-element.elementor-element-3299993 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:38px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-e231ea0{padding:0px 0px 0px 0px;text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.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-948 .elementor-element.elementor-element-0faba23 .elementor-button{background-color:var( --e-global-color-5206a12 );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5206a12 );border-radius:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-7968d0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-6e07910{padding:0px 0px 0px 0px;text-align:center;}.elementor-948 .elementor-element.elementor-element-6e07910 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:38px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-be40dd6{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-be40dd6.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-5ec00eb .elementor-button{background-color:var( --e-global-color-5206a12 );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5206a12 );border-radius:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-5ec00eb{padding:0px 0px 25px 0px;}.elementor-948 .elementor-element.elementor-element-709824d{--display:flex;}.elementor-948 .elementor-element.elementor-element-1d043f0{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.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-948 .elementor-element.elementor-element-5d3d93c{padding:0px 0px 15px 0px;}.elementor-948 .elementor-element.elementor-element-5d3d93c img{width:100%;}.elementor-948 .elementor-element.elementor-element-c1cebb8{padding:0px 0px 0px 0px;text-align:center;}.elementor-948 .elementor-element.elementor-element-c1cebb8 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:32px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-666f858{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;color:#424242;}.elementor-948 .elementor-element.elementor-element-666f858.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-5aaf77a{--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;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-1357998 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;letter-spacing:1.1px;color:var( --e-global-color-5bf468b );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-948 .elementor-element.elementor-element-d09f030{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-948 .elementor-element.elementor-element-d09f030 .elementor-icon-wrapper{text-align:center;}.elementor-948 .elementor-element.elementor-element-d09f030.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-d09f030.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-d09f030.elementor-view-default .elementor-icon{color:var( --e-global-color-5bf468b );border-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-d09f030.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-d09f030.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-d09f030 .elementor-icon{font-size:22px;}.elementor-948 .elementor-element.elementor-element-d09f030 .elementor-icon svg{height:22px;}.elementor-948 .elementor-element.elementor-element-c831bea{--display:flex;}.elementor-948 .elementor-element.elementor-element-5f211cc{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-3b2f416{padding:0px 0px 15px 0px;}.elementor-948 .elementor-element.elementor-element-3b2f416 img{width:100%;}.elementor-948 .elementor-element.elementor-element-fd1874b{padding:0px 0px 0px 0px;text-align:center;}.elementor-948 .elementor-element.elementor-element-fd1874b .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:32px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-0ff80a6{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;color:#424242;}.elementor-948 .elementor-element.elementor-element-0ff80a6.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-1b4c4db{--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;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-e88d675 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;letter-spacing:1.1px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-0497aa8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-948 .elementor-element.elementor-element-0497aa8 .elementor-icon-wrapper{text-align:center;}.elementor-948 .elementor-element.elementor-element-0497aa8.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-0497aa8.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-0497aa8.elementor-view-default .elementor-icon{color:var( --e-global-color-5bf468b );border-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-0497aa8.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-0497aa8.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-0497aa8 .elementor-icon{font-size:22px;}.elementor-948 .elementor-element.elementor-element-0497aa8 .elementor-icon svg{height:22px;}.elementor-948 .elementor-element.elementor-element-8759fca{--display:flex;}.elementor-948 .elementor-element.elementor-element-ecbfa87{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-0c56a73{padding:0px 0px 15px 0px;}.elementor-948 .elementor-element.elementor-element-0c56a73 img{width:100%;}.elementor-948 .elementor-element.elementor-element-df29955{padding:0px 0px 0px 0px;text-align:center;}.elementor-948 .elementor-element.elementor-element-df29955 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:32px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-7944493{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;color:#424242;}.elementor-948 .elementor-element.elementor-element-7944493.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-4aaa5b3{--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;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-0e5b1ec .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;letter-spacing:1.1px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-3c57419{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-948 .elementor-element.elementor-element-3c57419 .elementor-icon-wrapper{text-align:center;}.elementor-948 .elementor-element.elementor-element-3c57419.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-3c57419.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-3c57419.elementor-view-default .elementor-icon{color:var( --e-global-color-5bf468b );border-color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-3c57419.elementor-view-framed .elementor-icon, .elementor-948 .elementor-element.elementor-element-3c57419.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-3c57419 .elementor-icon{font-size:22px;}.elementor-948 .elementor-element.elementor-element-3c57419 .elementor-icon svg{height:22px;}.elementor-948 .elementor-element.elementor-element-83b404c{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-swiper-offset-size:0px;--e-n-carousel-swiper-slides-gap:0px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-948 .elementor-element.elementor-element-d93da9c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-0aa8576{padding:0px 0px 0px 0px;text-align:center;}.elementor-948 .elementor-element.elementor-element-0aa8576 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:38px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-fe9e06a{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-fe9e06a.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-b0ee69c .elementor-button{background-color:var( --e-global-color-5206a12 );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:#9D9482;border-radius:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-657b011{--display:flex;}.elementor-948 .elementor-element.elementor-element-b7edb8e{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-6f96ca7 img{height:65vh;object-fit:cover;object-position:center center;}.elementor-948 .elementor-element.elementor-element-fd77e29{text-align:start;}.elementor-948 .elementor-element.elementor-element-fd77e29 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;text-transform:uppercase;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-e66ff1b{padding:0px 0px 0px 0px;text-align:start;}.elementor-948 .elementor-element.elementor-element-e66ff1b .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:28px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-d361e23.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-d361e23{text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-44d78c3{--display:flex;}.elementor-948 .elementor-element.elementor-element-0d817b3{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-e2f1a01 img{height:65vh;object-fit:cover;object-position:center center;}.elementor-948 .elementor-element.elementor-element-f9b0f7c{text-align:start;}.elementor-948 .elementor-element.elementor-element-f9b0f7c .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;text-transform:uppercase;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-9ecd50e{padding:0px 0px 0px 0px;text-align:start;}.elementor-948 .elementor-element.elementor-element-9ecd50e .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:28px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-83176d0.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-83176d0{text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-ce38789{--display:flex;}.elementor-948 .elementor-element.elementor-element-abf15eb{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-35fe479 img{height:65vh;object-fit:cover;object-position:center center;}.elementor-948 .elementor-element.elementor-element-e43ec65{text-align:start;}.elementor-948 .elementor-element.elementor-element-e43ec65 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;text-transform:uppercase;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-a4897c9{padding:0px 0px 0px 0px;text-align:start;}.elementor-948 .elementor-element.elementor-element-a4897c9 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:28px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-15dfc46.elementor-element{--align-self:center;}.elementor-948 .elementor-element.elementor-element-15dfc46{text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-9b7f0dd{--e-n-carousel-swiper-slides-gap:35px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;}.elementor-948 .elementor-element.elementor-element-9617711{--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 30px;--row-gap:0px;--column-gap:30px;--padding-top:100px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-13d0162{--display:flex;--min-height:75vh;--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-948 .elementor-element.elementor-element-13d0162:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-13d0162 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sunshineleisure.co.za/wp-content/uploads/2026/07/Villa-Palms-Exclusive.png");background-position:center center;background-size:cover;}.elementor-948 .elementor-element.elementor-element-143be0e{--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-948 .elementor-element.elementor-element-763a2f5{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-763a2f5 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:38px;font-weight:400;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-d8d6b88{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-943fadb .elementor-button{background-color:var( --e-global-color-5206a12 );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5206a12 );border-radius:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-cc92f5f{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:80px;--padding-left:80px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-cc92f5f:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-cc92f5f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sunshineleisure.co.za/wp-content/uploads/2026/07/MorganJed-372.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-948 .elementor-element.elementor-element-cc92f5f::before, .elementor-948 .elementor-element.elementor-element-cc92f5f > .elementor-background-video-container::before, .elementor-948 .elementor-element.elementor-element-cc92f5f > .e-con-inner > .elementor-background-video-container::before, .elementor-948 .elementor-element.elementor-element-cc92f5f > .elementor-background-slideshow::before, .elementor-948 .elementor-element.elementor-element-cc92f5f > .e-con-inner > .elementor-background-slideshow::before, .elementor-948 .elementor-element.elementor-element-cc92f5f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-5bf468b );--background-overlay:'';}.elementor-948 .elementor-element.elementor-element-4feaf6f{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-4feaf6f .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:56px;font-weight:400;letter-spacing:1.5px;color:var( --e-global-color-778bd1d );}.elementor-948 .elementor-element.elementor-element-b2f22c9{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-778bd1d );}.elementor-948 .elementor-element.elementor-element-5459583 .elementor-button{background-color:#445B3300;font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-778bd1d );border-radius:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-f43bfa9{--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 30px;--row-gap:0px;--column-gap:30px;--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-2d1ab7a{--display:flex;--min-height:75vh;--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-948 .elementor-element.elementor-element-2d1ab7a:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-2d1ab7a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sunshineleisure.co.za/wp-content/uploads/2026/07/ChatGPT-Image-Jul-17-2026-11_44_14-AM.png");background-position:center center;background-size:cover;}.elementor-948 .elementor-element.elementor-element-d372374{--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-948 .elementor-element.elementor-element-227e6e6{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-227e6e6 .elementor-heading-title{font-family:"Gilda Display", Sans-serif;font-size:38px;font-weight:500;letter-spacing:2.8px;color:var( --e-global-color-5bf468b );}.elementor-948 .elementor-element.elementor-element-8339d4e{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#3B3B3B;}.elementor-948 .elementor-element.elementor-element-c97267c .elementor-button{background-color:var( --e-global-color-5206a12 );font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:400;letter-spacing:1.2px;fill:var( --e-global-color-778bd1d );color:var( --e-global-color-778bd1d );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5206a12 );border-radius:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-948 .elementor-element.elementor-element-83b404c{--e-n-carousel-swiper-slides-to-display:2;}.elementor-948 .elementor-element.elementor-element-9b7f0dd{--e-n-carousel-swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-948 .elementor-element.elementor-element-f9ebb13{--gap:12px 12px;--row-gap:12px;--column-gap:12px;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-948 .elementor-element.elementor-element-cda2613 .elementor-heading-title{font-size:16px;}.elementor-948 .elementor-element.elementor-element-2278b26{width:var( --container-widget-width, 95% );max-width:95%;--container-widget-width:95%;--container-widget-flex-grow:0;text-align:center;}.elementor-948 .elementor-element.elementor-element-2278b26 .elementor-heading-title{font-size:44px;}.elementor-948 .elementor-element.elementor-element-8d79fce{width:var( --container-widget-width, 95% );max-width:95%;--container-widget-width:95%;--container-widget-flex-grow:0;text-align:center;}.elementor-948 .elementor-element.elementor-element-a3c4cfb{--width:85%;--padding-top:40px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-0fc162d{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-30px;--margin-bottom:40px;--margin-left:15px;--margin-right:-15px;--padding-top:20px;--padding-bottom:25px;--padding-left:15px;--padding-right:15px;}.elementor-948 .elementor-element.elementor-element-3299993 .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-e231ea0{text-align:start;font-size:14px;}.elementor-948 .elementor-element.elementor-element-7968d0a{--width:100%;}.elementor-948 .elementor-element.elementor-element-6e07910 .elementor-heading-title{font-size:30px;}.elementor-948 .elementor-element.elementor-element-be40dd6{text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-5ec00eb{padding:0px 0px 15px 0px;}.elementor-948 .elementor-element.elementor-element-1d043f0{--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-5d3d93c{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-c1cebb8 .elementor-heading-title{font-size:26px;}.elementor-948 .elementor-element.elementor-element-666f858{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-d09f030 .elementor-icon{font-size:20px;}.elementor-948 .elementor-element.elementor-element-d09f030 .elementor-icon svg{height:20px;}.elementor-948 .elementor-element.elementor-element-5f211cc{--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-3b2f416{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-fd1874b .elementor-heading-title{font-size:26px;}.elementor-948 .elementor-element.elementor-element-0ff80a6{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-0497aa8 .elementor-icon{font-size:20px;}.elementor-948 .elementor-element.elementor-element-0497aa8 .elementor-icon svg{height:20px;}.elementor-948 .elementor-element.elementor-element-ecbfa87{--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-948 .elementor-element.elementor-element-0c56a73{padding:0px 0px 0px 0px;}.elementor-948 .elementor-element.elementor-element-df29955 .elementor-heading-title{font-size:26px;}.elementor-948 .elementor-element.elementor-element-7944493{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-3c57419 .elementor-icon{font-size:20px;}.elementor-948 .elementor-element.elementor-element-3c57419 .elementor-icon svg{height:20px;}.elementor-948 .elementor-element.elementor-element-83b404c{--e-n-carousel-swiper-slides-to-display:1;}.elementor-948 .elementor-element.elementor-element-d93da9c{--width:100%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-0aa8576 .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-fe9e06a{text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-b0ee69c{padding:0px 0px 15px 0px;}.elementor-948 .elementor-element.elementor-element-fd77e29 .elementor-heading-title{font-size:14px;}.elementor-948 .elementor-element.elementor-element-e66ff1b .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-d361e23{text-align:start;font-size:14px;}.elementor-948 .elementor-element.elementor-element-f9b0f7c .elementor-heading-title{font-size:14px;}.elementor-948 .elementor-element.elementor-element-9ecd50e .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-83176d0{text-align:start;font-size:14px;}.elementor-948 .elementor-element.elementor-element-e43ec65 .elementor-heading-title{font-size:14px;}.elementor-948 .elementor-element.elementor-element-a4897c9 .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-15dfc46{text-align:start;font-size:14px;}.elementor-948 .elementor-element.elementor-element-9b7f0dd{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-swiper-slides-gap:20px;}.elementor-948 .elementor-element.elementor-element-9617711{--width:85%;--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:15px 15px;--row-gap:15px;--column-gap:15px;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-13d0162{--min-height:55vh;}.elementor-948 .elementor-element.elementor-element-143be0e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-763a2f5 .elementor-heading-title{font-size:28px;}.elementor-948 .elementor-element.elementor-element-d8d6b88{text-align:center;font-size:14px;}.elementor-948 .elementor-element.elementor-element-cc92f5f{--width:85%;--min-height:70vh;--justify-content:flex-end;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--padding-top:0px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-948 .elementor-element.elementor-element-4feaf6f .elementor-heading-title{font-size:40px;line-height:40px;letter-spacing:1px;}.elementor-948 .elementor-element.elementor-element-b2f22c9{--container-widget-width:90%;--container-widget-flex-grow:0;width:var( --container-widget-width, 90% );max-width:90%;text-align:start;font-size:14px;}.elementor-948 .elementor-element.elementor-element-f43bfa9{--width:85%;--gap:15px 15px;--row-gap:15px;--column-gap:15px;}.elementor-948 .elementor-element.elementor-element-2d1ab7a{--min-height:55vh;}.elementor-948 .elementor-element.elementor-element-d372374{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-948 .elementor-element.elementor-element-227e6e6 .elementor-heading-title{font-size:26px;}.elementor-948 .elementor-element.elementor-element-8339d4e{text-align:center;font-size:14px;}}@media(min-width:768px){.elementor-948 .elementor-element.elementor-element-a3c4cfb{--width:85%;}.elementor-948 .elementor-element.elementor-element-0b13624{--width:100%;}.elementor-948 .elementor-element.elementor-element-65f6bb2{--width:50%;}.elementor-948 .elementor-element.elementor-element-0fc162d{--width:50%;}.elementor-948 .elementor-element.elementor-element-d93da9c{--width:85%;}.elementor-948 .elementor-element.elementor-element-9617711{--width:85%;}.elementor-948 .elementor-element.elementor-element-13d0162{--width:65%;}.elementor-948 .elementor-element.elementor-element-143be0e{--width:35%;}.elementor-948 .elementor-element.elementor-element-cc92f5f{--width:90%;}.elementor-948 .elementor-element.elementor-element-f43bfa9{--width:85%;}.elementor-948 .elementor-element.elementor-element-2d1ab7a{--width:65%;}.elementor-948 .elementor-element.elementor-element-d372374{--width:35%;}}/* Start custom CSS for nested-carousel, class: .elementor-element-83b404c *//* ==================================================
   PAGE OVERFLOW PROTECTION
================================================== */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}


/* ==================================================
   OUTER FULL-WIDTH CONTAINER
   Parent class: sl-carousel-shell
================================================== */

.sl-carousel-shell {
    position: relative;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    overflow: hidden !important;
}


/* Remove Elementor's boxed inner width */
.sl-carousel-shell > .e-con-inner {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Keep carousel centred */
.sl-carousel-shell .sl-feature-carousel {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ==================================================
   CAROUSEL WIDTH
================================================== */

.elementor-948 .elementor-element.elementor-element-83b404c {
    position: relative;

    width: min(66vw, 1260px);
    max-width: none !important;

    margin-left: auto;
    margin-right: auto;

    padding-bottom: 90px;

    overflow: visible !important;
}


/* Allow neighbouring slides to remain visible */
.elementor-948 .elementor-element.elementor-element-83b404c > .elementor-widget-container,
.elementor-948 .elementor-element.elementor-element-83b404c .e-n-carousel,
.elementor-948 .elementor-element.elementor-element-83b404c .swiper,
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-wrapper {
    overflow: visible !important;
}

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-wrapper {
    align-items: center;
}


/* ==================================================
   SLIDE SIZING
================================================== */

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide {
    position: relative;

    transform: scale(0.93);
    transform-origin: center center;

    opacity: 1;
    visibility: visible;

    z-index: 1;

    transition:
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1),
        margin-top 500ms ease;
}


/* Active centre slide */
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-active {
    transform: scale(1);
    z-index: 3;
}


/* Immediate neighbouring slides */
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-prev,
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-next {
    z-index: 2;
}


/* ==================================================
   DESKTOP IMAGE SIZING
================================================== */

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide .elementor-widget-image {
    width: 100%;
    margin: 0;
}

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide .elementor-widget-image,
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide .elementor-widget-image
.elementor-widget-container {
    line-height: 0;
}

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1.88 / 1;

    object-fit: cover;
    object-position: center;
}


/* ==================================================
   NAVIGATION ARROWS
================================================== */

.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button {
    top: auto !important;
    bottom: 0 !important;

    width: 34px !important;
    height: 38px !important;

    padding: 0;
    margin: 0;

    background: transparent !important;
    border: none !important;
    color: transparent !important;

    transform: none !important;

    z-index: 20;
}


/* Hide Elementor default arrow icons */
.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button svg,
.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button i {
    display: none !important;
}


/* Custom minimalist arrows */
.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button::before {
    content: "";

    position: absolute;
    top: 50%;

    width: 11px;
    height: 11px;

    border-top: 1.5px solid #777777;
    border-right: 1.5px solid #777777;

    transition: border-color 200ms ease;
}


/* Previous arrow */
.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-prev {
    left: calc(50% - 180px) !important;
    right: auto !important;
}

.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-prev::before {
    left: 11px;

    transform:
        translateY(-50%)
        rotate(-135deg);
}


/* Next arrow */
.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-next {
    right: calc(50% - 180px) !important;
    left: auto !important;
}

.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-next::before {
    right: 11px;

    transform:
        translateY(-50%)
        rotate(45deg);
}

.elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button:hover::before {
    border-color: #111111;
}


/* ==================================================
   MOVING PROGRESS BAR
================================================== */

.elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar {
    --sl-progress-x: 0px;
    --sl-indicator-width: 70px;

    position: absolute !important;

    top: auto !important;
    bottom: 18px !important;
    left: 50% !important;

    display: block !important;

    width: 275px !important;
    height: 2px !important;

    overflow: hidden !important;

    visibility: visible !important;
    opacity: 1 !important;

    transform: translateX(-50%) !important;

    background: #e6e6e6 !important;

    pointer-events: none !important;
}


/* Hide Swiper's original filling line */
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar-fill {
    display: none !important;
}


/* Short moving black indicator */
.elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: var(--sl-indicator-width);
    height: 2px;

    background: #9D9482;

    transform: translateX(var(--sl-progress-x));

    transition:
        transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 1024px) and (min-width: 768px) {

    .elementor-948 .elementor-element.elementor-element-83b404c {
        width: 72vw;
        padding-bottom: 85px;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide {
        transform: scale(0.95);
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-active {
        transform: scale(1);
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar {
        --sl-indicator-width: 65px;

        width: 230px !important;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button {
        width: 28px !important;
        height: 34px !important;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button::before {
        width: 9px;
        height: 9px;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-prev {
        left: calc(50% - 155px) !important;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button-next {
        right: calc(50% - 155px) !important;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    .elementor-948 .elementor-element.elementor-element-83b404c {
        width: 80vw !important;
        max-width: 80vw !important;

        margin-left: auto;
        margin-right: auto;

        padding-bottom: 70px;

        overflow: visible !important;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c > .elementor-widget-container,
    .elementor-948 .elementor-element.elementor-element-83b404c .e-n-carousel,
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper,
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-wrapper {
        overflow: visible !important;
    }


    /* Align side images from the top */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-wrapper {
        align-items: flex-start !important;
    }


    /* Default mobile slide */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide {
        margin-top: 36px !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: scale(0.91) !important;
        transform-origin: top center;

        z-index: 1;

        transition:
            transform 500ms ease,
            margin-top 500ms ease;
    }


    /* Active centre slide */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-active {
        margin-top: 0 !important;

        transform: scale(1) !important;
        transform-origin: top center;

        opacity: 1 !important;
        visibility: visible !important;

        z-index: 3;
    }


    /*
     * Side previews.
     * These .elementor-948 .elementor-element.elementor-element-83b404cs provide a fallback when Swiper
     * briefly changes its previous and next classes.
     */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-prev,
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-next,
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide:has(+ .swiper-slide-active),
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-active + .swiper-slide {
        margin-top: 36px !important;

        transform: scale(0.91) !important;
        transform-origin: top center;

        opacity: 1 !important;
        visibility: visible !important;

        z-index: 2;
    }


    /* Portrait image sizing */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide img {
        display: block;

        width: 100%;
        height: auto;

        aspect-ratio: 2 / 3;

        object-fit: cover;
        object-position: center;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide .elementor-widget-image,
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide .elementor-widget-image
    .elementor-widget-container {
        width: 100%;

        margin: 0;

        line-height: 0;
    }


    /* Space below active image */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-slide-active
    .elementor-widget-image {
        margin-bottom: 26px !important;
    }


    /* ==================================================
       HIDE CONTENT FROM SIDE SLIDES

       This now includes Elementor Icon widgets and the
       optional sl-slide-content container class.
    ================================================== */

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .sl-slide-content,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-heading,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-text-editor,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-button,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-icon,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-icon-box,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide:not(.swiper-slide-active)
    .elementor-widget-icon-list {
        display: none !important;

        opacity: 0 !important;
        visibility: hidden !important;

        pointer-events: none !important;
    }


    /* Ensure active slide content is visible */
    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .sl-slide-content,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-heading,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-text-editor,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-button,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-icon,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-icon-box,

    .elementor-948 .elementor-element.elementor-element-83b404c
    .swiper-slide-active
    .elementor-widget-icon-list {
        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: auto !important;
    }


    /* Hide carousel navigation arrows on mobile */
    .elementor-948 .elementor-element.elementor-element-83b404c .elementor-swiper-button {
        display: none !important;

        opacity: 0 !important;
        visibility: hidden !important;

        pointer-events: none !important;
    }


    /* Mobile progress bar */
    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar {
        --sl-indicator-width: 64px;

        top: auto !important;
        bottom: 17px !important;
        left: 50% !important;

        display: block !important;

        width: 194px !important;
        height: 2px !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: translateX(-50%) !important;

        background: #e6e6e6 !important;
    }

    .elementor-948 .elementor-element.elementor-element-83b404c .swiper-pagination-progressbar::after {
        height: 2px;
    }
}

/* ==================================================
   DESKTOP - SLIGHTLY SMALLER CAROUSEL
================================================== */

@media (min-width: 1025px) {

    .elementor-948 .elementor-element.elementor-element-83b404c {
        width: min(60vw, 1120px);
        padding-bottom: 70px;
    }

}/* End custom CSS */
/* Start custom CSS for nested-carousel, class: .elementor-element-9b7f0dd *//* ==================================================
   FINAL OFFERS CAROUSEL
   Targets only this Elementor carousel widget
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 0 76px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
}


/* ==================================================
   SWIPER STRUCTURE
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd > .elementor-widget-container,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .e-n-carousel,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper {
    position: relative;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-wrapper {
    align-items: flex-start !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide {
    position: relative;

    height: auto !important;

    margin-top: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    opacity: 1 !important;
    visibility: visible !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide > .e-con,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==================================================
   OFFER IMAGES
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image {
    width: 100% !important;

    margin: 0 0 24px !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image .elementor-widget-container {
    width: 100% !important;

    line-height: 0;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 4 / 5 !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* ==================================================
   OPTIONAL TEXT CLASSES

   Kicker widget: offer-kicker
   Title widget: offer-title
   Description widget: offer-description
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker {
    margin: 0 0 13px;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker * {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;

    letter-spacing: 0.24em;
    text-transform: uppercase;
}


.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title {
    margin: 0 0 17px;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title * {
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 400;
    line-height: 1.2;
}


.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-description {
    margin: 0;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-description,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-description * {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}


/* ==================================================
   NAVIGATION ARROWS
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button {
    top: auto !important;
    bottom: 0 !important;

    width: 30px !important;
    height: 38px !important;

    padding: 0;
    margin: 0;

    background: transparent !important;
    border: none !important;
    color: transparent !important;

    transform: none !important;

    z-index: 20;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button svg,
.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button i {
    display: none !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button::before {
    content: "";

    position: absolute;
    top: 50%;

    width: 10px;
    height: 10px;

    border-top: 1.5px solid #777777;
    border-right: 1.5px solid #777777;
}


/* Previous arrow */
.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button-prev {
    right: auto !important;
    left: calc(50% - 155px) !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button-prev::before {
    left: 10px;

    transform:
        translateY(-50%)
        rotate(-135deg);
}


/* Next arrow */
.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button-next {
    right: calc(50% - 155px) !important;
    left: auto !important;
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button-next::before {
    right: 10px;

    transform:
        translateY(-50%)
        rotate(45deg);
}

.elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button.swiper-button-disabled {
    opacity: 0.25 !important;

    pointer-events: none !important;
}


/* ==================================================
   CUSTOM PROGRESS BAR
================================================== */

.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar {
    --sl-offers-final-x: 0px;
    --sl-offers-final-width: 70px;

    position: absolute !important;

    top: auto !important;
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;

    display: block !important;

    width: 264px !important;
    height: 2px !important;

    overflow: hidden !important;

    opacity: 1 !important;
    visibility: visible !important;

    background: #e5e5e5 !important;

    transform: translateX(-50%) !important;
}


/* Hide Elementor/Swiper default fill */
.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar-fill {
    display: none !important;
}


/* Independent moving black indicator */
.elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar::after {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    display: block !important;

    width: var(--sl-offers-final-width) !important;
    height: 100% !important;

    background: #9D9482 !important;

    transform:
        translate3d(
            var(--sl-offers-final-x),
            0,
            0
        ) !important;

    transition:
        transform 450ms
        cubic-bezier(0.22, 1, 0.36, 1) !important;

    pointer-events: none !important;
}


/* Remove elements left by older snippets */
.elementor-948 .elementor-element.elementor-element-9b7f0dd .sl-offers-progress-indicator {
    display: none !important;
}


/* ==================================================
   DESKTOP / LAPTOP

   Exactly 3 complete offers
   No side peeks
   No arrows
   No progress bar
================================================== */

@media (min-width: 1025px) {

    .elementor-948 .elementor-element.elementor-element-9b7f0dd {
        padding-bottom: 0 !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide {
        padding: 0 !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button {
        display: none !important;
    }
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 1024px) and (min-width: 768px) {

    .elementor-948 .elementor-element.elementor-element-9b7f0dd {
        padding-bottom: 76px !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide {
        padding: 0 !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image {
        margin-bottom: 22px !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar {
        --sl-offers-final-width: 65px;

        display: block !important;

        width: 230px !important;
    }
}


/* ==================================================
   MOBILE

   Swiper controls all card widths.
   No CSS width or padding is applied to slides.
================================================== */

@media (max-width: 767px) {

    .elementor-948 .elementor-element.elementor-element-9b7f0dd {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 0 65px !important;

        overflow: hidden !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd > .elementor-widget-container,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .e-n-carousel,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-wrapper {
        align-items: flex-start !important;
    }


    /*
     * Important:
     * Do not force a mobile width here.
     * JavaScript sets slidesPerView to 1.24.
     */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide {
        height: auto !important;

        margin-top: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide > .e-con,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;

        padding: 0 !important;

        box-sizing: border-box !important;
    }


    /* Identical image sizing on every offer */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image {
        width: 100% !important;

        margin: 0 0 19px !important;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-image img {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        aspect-ratio: 3 / 4 !important;

        object-fit: cover !important;
        object-position: center !important;
    }


    /* Mobile kicker */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker {
        margin-bottom: 10px;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-kicker * {
        font-size: 13px;
        line-height: 1.4;

        letter-spacing: 0.22em;
    }


    /* Mobile title */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title {
        margin-bottom: 13px;
    }

    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-title * {
        font-size: 27px;
        line-height: 1.18;
    }


    /* Mobile description */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-description,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .offer-description * {
        font-size: 16px;
        line-height: 1.45;
    }


    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-heading,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-text-editor,
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-slide .elementor-widget-button {
        display: block !important;
    }


    /* Hide arrows on mobile */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .elementor-swiper-button {
        display: none !important;
    }


    /* Mobile progress bar */
    .elementor-948 .elementor-element.elementor-element-9b7f0dd .swiper-pagination-progressbar {
        --sl-offers-final-width: 106px;

        display: block !important;

        bottom: 14px !important;

        width: 264px !important;
        height: 2px !important;
    }
}/* End custom CSS */