.elementor-40 .elementor-element.elementor-element-32b1a4d0{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-32b1a4d0::before, .elementor-40 .elementor-element.elementor-element-32b1a4d0 > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-32b1a4d0 > .e-con-inner > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-32b1a4d0 > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-32b1a4d0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-32b1a4d0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(150deg, var( --e-global-color-text ) 0%, #FFFFFF00 100%);}.elementor-40 .elementor-element.elementor-element-178ef882{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-40 .elementor-element.elementor-element-178ef882::before, .elementor-40 .elementor-element.elementor-element-178ef882 > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-178ef882 > .e-con-inner > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-178ef882 > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-178ef882 > .e-con-inner > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-178ef882 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(150deg, var( --e-global-color-text ) 0%, #FFFFFF00 100%);}.elementor-40 .elementor-element.elementor-element-37a86923{--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;}.elementor-40 .elementor-element.elementor-element-5d556c77{--display:flex;--position:absolute;--min-height:600px;--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );bottom:0px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-5d556c77{left:0px;}body.rtl .elementor-40 .elementor-element.elementor-element-5d556c77{right:0px;}.elementor-40 .elementor-element.elementor-element-4e226f6e{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.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-40 .elementor-element.elementor-element-a1b2c3d4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-40 .elementor-element.elementor-element-a1b2c3d4 .elementor-heading-title{font-family:"Against", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:3px;}.elementor-40 .elementor-element.elementor-element-106eb43c{--display:flex;--min-height:60px;}.elementor-40 .elementor-element.elementor-element-c9f7981{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-c9f7981 .elementor-heading-title{font-family:"Against", Sans-serif;font-size:35px;font-weight:600;}.elementor-40 .elementor-element.elementor-element-1966f166{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-1966f166 .elementor-heading-title{font-family:"Against", Sans-serif;font-size:35px;font-weight:600;}.elementor-40 .elementor-element.elementor-element-14dceed8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-14dceed8 .elementor-heading-title{font-family:"Against", Sans-serif;font-size:35px;font-weight:600;}.elementor-40 .elementor-element.elementor-element-4c300ba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-4c300ba .elementor-heading-title{font-family:"Against", Sans-serif;font-size:35px;font-weight:600;}.elementor-40 .elementor-element.elementor-element-3f1f090a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-3f1f090a .elementor-heading-title{font-family:"Against", Sans-serif;font-size:35px;font-weight:600;}.elementor-40 .elementor-element.elementor-element-753b1765{--display:flex;--min-height:120px;}.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-40 .elementor-element.elementor-element-448bf5f1{font-family:"Barlow", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-primary );}.elementor-40 .elementor-element.elementor-element-64edc377{font-family:"Barlow", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-primary );}.elementor-40 .elementor-element.elementor-element-381bf7f2{font-family:"Barlow", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-primary );}.elementor-40 .elementor-element.elementor-element-a0455ff{font-family:"Barlow", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-primary );}.elementor-40 .elementor-element.elementor-element-6a88dbb8{font-family:"Barlow", Sans-serif;font-size:17px;font-weight:400;color:var( --e-global-color-primary );}.elementor-40 .elementor-element.elementor-element-21df187e{--display:flex;--min-height:80px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:13px;--padding-right:0px;}.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-40 .elementor-element.elementor-element-401da2f5 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Noto Serif TC", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#1B252F;color:#1B252F;border-style:solid;border-width:1px 1px 1px 1px;border-radius:45px 45px 45px 45px;padding:15px 30px 15px 30px;}.elementor-40 .elementor-element.elementor-element-401da2f5 .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-401da2f5 .elementor-button:focus{background-color:#1B252F;color:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-401da2f5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-40 .elementor-element.elementor-element-401da2f5 .elementor-button:hover svg, .elementor-40 .elementor-element.elementor-element-401da2f5 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Noto Serif TC", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#1B252F;color:#1B252F;border-style:solid;border-width:1px 1px 1px 1px;border-radius:45px 45px 45px 45px;padding:15px 30px 15px 30px;}.elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button:focus{background-color:#1B252F;color:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-cf90255{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button:hover svg, .elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button{background-color:var( --e-global-color-primary );font-family:"Noto Serif TC", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#1B252F;color:#1B252F;border-style:solid;border-width:1px 1px 1px 1px;border-radius:45px 45px 45px 45px;padding:15px 30px 15px 30px;}.elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button:focus{background-color:#1B252F;color:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-a6bdd3d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button:hover svg, .elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-8817681 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Noto Serif TC", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#1B252F;color:#1B252F;border-style:solid;border-width:1px 1px 1px 1px;border-radius:45px 45px 45px 45px;padding:15px 30px 15px 30px;}.elementor-40 .elementor-element.elementor-element-8817681 .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-8817681 .elementor-button:focus{background-color:#1B252F;color:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-8817681{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-40 .elementor-element.elementor-element-8817681 .elementor-button:hover svg, .elementor-40 .elementor-element.elementor-element-8817681 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button{background-color:var( --e-global-color-primary );font-family:"Noto Serif TC", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#8A8F95;color:#8A8F95;border-style:solid;border-width:1px 1px 1px 1px;border-color:#8A8F95;border-radius:45px 45px 45px 45px;padding:15px 30px 15px 30px;}.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:focus{background-color:var( --e-global-color-primary );color:#8A8F95;border-color:#8A8F95;}.elementor-40 .elementor-element.elementor-element-8af916b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:hover svg, .elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:focus svg{fill:#8A8F95;}.elementor-40 .elementor-element.elementor-element-3ff4d7f5{--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-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 );}.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-40 .elementor-element.elementor-element-92a3672{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -30px) 0px;}.elementor-40 .elementor-element.elementor-element-92a3672.elementor-arrows-yes .elementor-main-swiper{width:calc( 1400px - 40px );}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-main-swiper{width:1400px;}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-main-swiper .swiper-slide{padding:20px 20px 25px 20px;}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-swiper-button{font-size:20px;}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__text{color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:20px;font-weight:400;line-height:1.3em;}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__name{color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:20px;font-weight:600;line-height:1.3em;}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__title{font-family:"Roboto Slab", Sans-serif;font-size:18px;font-weight:400;}.elementor-40 .elementor-element.elementor-element-48aa2f76{--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:flex-start;--align-items:center;--gap:17px 17px;--row-gap:17px;--column-gap:17px;}.elementor-40 .elementor-element.elementor-element-401130c0 .elementor-button{background-color:#FFFFFFB3;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-401130c0{left:0px;}body.rtl .elementor-40 .elementor-element.elementor-element-401130c0{right:0px;}.elementor-40 .elementor-element.elementor-element-401130c0{top:0px;}.elementor-40 .elementor-element.elementor-element-09e8021 .elementor-button{background-color:#FFFFFFB3;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-09e8021{left:0px;}body.rtl .elementor-40 .elementor-element.elementor-element-09e8021{right:0px;}.elementor-40 .elementor-element.elementor-element-09e8021{top:0px;}.elementor-40 .elementor-element.elementor-element-4247b67d .elementor-button{background-color:#FFFFFFB3;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-4247b67d{right:0px;}body.rtl .elementor-40 .elementor-element.elementor-element-4247b67d{left:0px;}.elementor-40 .elementor-element.elementor-element-4247b67d{top:0px;}@media(max-width:1024px){.elementor-40 .elementor-element.elementor-element-5d556c77{--min-height:500px;}.elementor-40 .elementor-element.elementor-element-4e226f6e{--padding-top:0px;--padding-bottom:0px;--padding-left:3px;--padding-right:5px;}.elementor-40 .elementor-element.elementor-element-106eb43c{--min-height:90px;}.elementor-40 .elementor-element.elementor-element-c9f7981 .elementor-heading-title{font-size:30px;line-height:45px;}.elementor-40 .elementor-element.elementor-element-1966f166 .elementor-heading-title{font-size:30px;line-height:45px;}.elementor-40 .elementor-element.elementor-element-14dceed8 .elementor-heading-title{font-size:30px;line-height:45px;}.elementor-40 .elementor-element.elementor-element-4c300ba .elementor-heading-title{font-size:30px;line-height:45px;}.elementor-40 .elementor-element.elementor-element-3f1f090a .elementor-heading-title{font-size:30px;line-height:45px;}.elementor-40 .elementor-element.elementor-element-448bf5f1{font-size:16px;}.elementor-40 .elementor-element.elementor-element-64edc377{font-size:16px;}.elementor-40 .elementor-element.elementor-element-381bf7f2{font-size:16px;}.elementor-40 .elementor-element.elementor-element-a0455ff{font-size:16px;}.elementor-40 .elementor-element.elementor-element-6a88dbb8{font-size:16px;}.elementor-40 .elementor-element.elementor-element-401130c0 .elementor-button{border-radius:50px 50px 50px 50px;}.elementor-40 .elementor-element.elementor-element-09e8021 .elementor-button{border-radius:50px 50px 50px 50px;}.elementor-40 .elementor-element.elementor-element-4247b67d .elementor-button{border-radius:50px 50px 50px 50px;}}@media(min-width:768px){.elementor-40 .elementor-element.elementor-element-32b1a4d0{--width:100%;}.elementor-40 .elementor-element.elementor-element-178ef882{--width:100%;}.elementor-40 .elementor-element.elementor-element-37a86923{--width:50%;}.elementor-40 .elementor-element.elementor-element-5d556c77{--width:30px;}.elementor-40 .elementor-element.elementor-element-3ff4d7f5{--width:50%;}}@media(max-width:767px){.elementor-40 .elementor-element.elementor-element-32b1a4d0{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-178ef882{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-5d556c77{--width:200px;--min-height:30px;--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;bottom:-105px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-5d556c77{left:50%;}body.rtl .elementor-40 .elementor-element.elementor-element-5d556c77{right:50%;}.elementor-40 .elementor-element.elementor-element-4e226f6e{--justify-content:center;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-a1b2c3d4 .elementor-heading-title{font-size:14px;}.elementor-40 .elementor-element.elementor-element-106eb43c{--min-height:50px;}.elementor-40 .elementor-element.elementor-element-c9f7981 .elementor-heading-title{font-size:22px;}.elementor-40 .elementor-element.elementor-element-1966f166 .elementor-heading-title{font-size:22px;}.elementor-40 .elementor-element.elementor-element-14dceed8 .elementor-heading-title{font-size:22px;}.elementor-40 .elementor-element.elementor-element-4c300ba .elementor-heading-title{font-size:22px;}.elementor-40 .elementor-element.elementor-element-3f1f090a .elementor-heading-title{font-size:22px;}.elementor-40 .elementor-element.elementor-element-448bf5f1{font-size:15px;}.elementor-40 .elementor-element.elementor-element-64edc377{font-size:15px;}.elementor-40 .elementor-element.elementor-element-381bf7f2{font-size:15px;}.elementor-40 .elementor-element.elementor-element-a0455ff{font-size:15px;}.elementor-40 .elementor-element.elementor-element-6a88dbb8{font-size:15px;}.elementor-40 .elementor-element.elementor-element-21df187e{--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-40 .elementor-element.elementor-element-401da2f5 .elementor-button{font-size:16px;}.elementor-40 .elementor-element.elementor-element-cf90255 .elementor-button{font-size:16px;}.elementor-40 .elementor-element.elementor-element-a6bdd3d .elementor-button{font-size:16px;}.elementor-40 .elementor-element.elementor-element-8817681 .elementor-button{font-size:16px;}.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button{font-size:16px;}.elementor-40 .elementor-element.elementor-element-92a3672{padding:0px 0px 0px 0px;}.elementor-40 .elementor-element.elementor-element-92a3672.elementor-arrows-yes .elementor-main-swiper{width:calc( 100% - 40px );}.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-main-swiper{width:100%;}.elementor-40 .elementor-element.elementor-element-48aa2f76{--margin-top:-15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}body:not(.rtl) .elementor-40 .elementor-element.elementor-element-401130c0{left:0px;}body.rtl .elementor-40 .elementor-element.elementor-element-401130c0{right:0px;}.elementor-40 .elementor-element.elementor-element-401130c0{top:-105px;}.elementor-40 .elementor-element.elementor-element-401130c0 .elementor-button{border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}.elementor-40 .elementor-element.elementor-element-09e8021 .elementor-button{border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}.elementor-40 .elementor-element.elementor-element-4247b67d{top:-105px;}.elementor-40 .elementor-element.elementor-element-4247b67d .elementor-button{border-radius:100px 100px 100px 100px;padding:12px 14px 12px 14px;}}/* Start custom CSS for container, class: .elementor-element-5d556c77 */.elementor-40 .elementor-element.elementor-element-5d556c77{
    --dot-size: 23px;
    --line-color: #B0B7D04D;
    --dot-color: #B0B7D0;
    --dot-color-active: #B0B7D0;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
}
.elementor-40 .elementor-element.elementor-element-5d556c77{
    height: 80vh;
    height: var(--min-height);
    max-height: 80vh;
    min-height: 0 !important;
}
.elementor-40 .elementor-element.elementor-element-5d556c77 .dot{
    height: var(--dot-size);
    width: var(--dot-size);
    background: var(--dot-color);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: scale(0.3);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}
.elementor-40 .elementor-element.elementor-element-5d556c77 .dot-number{
    opacity: 0;
    transition: all 0.3s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-5d556c77 .dot.active{
    transform: scale(1);
    background: var(--dot-color-active);
}
.elementor-40 .elementor-element.elementor-element-5d556c77 .dot.active .dot-number{
    opacity: 1;
}
.elementor-40 .elementor-element.elementor-element-5d556c77:before{
    content: "";
    position: absolute;
    top: 50%;
    height: calc(100% - 20px);
    max-height: 90vh;
    width: 1px;
    background: var(--line-color);
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-5d556c77{
    transform: translateX(-50%);
    flex-wrap: nowrap !important;
}
.elementor-40 .elementor-element.elementor-element-5d556c77:before {
    width: calc(100% - 20px);
    height: 1px;

}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-106eb43c */.elementor-40 .elementor-element.elementor-element-106eb43c{
    --speed: 0.8s;
    --gap: 40px;
}
.elementor-40 .elementor-element.elementor-element-106eb43c{
    transition: all 0.3s ease-in-out;
    height: var(--h);
    --height: calc(var(--h) + var(--gap));
    overflow: hidden !important;
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget .elementor-heading-title{
    transform: translateY(calc(-10 * var(--height)));
    transition: none !important;
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.prev .elementor-heading-title{
    animation: prev var(--speed) ease-in-out;
    transform: translateY(calc(-1 * var(--height)));
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.next .elementor-heading-title{
    animation: next var(--speed) ease-in-out;
    transform: translateY(var(--height));
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.currentUp,
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.currentDown{
    z-index: 1;
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.currentUp .elementor-heading-title{
    animation: currentUp var(--speed) ease-in-out;
    transform: translateY(0);
}
.elementor-40 .elementor-element.elementor-element-106eb43c .elementor-widget.currentDown .elementor-heading-title{
    animation: currentDown var(--speed) ease-in-out;
    transform: translateY(0);
}

@keyframes prev {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(calc(-1 * var(--height)));}
}

@keyframes next {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(var(--height));}
}

@keyframes currentUp {
  0%   {transform: translateY(var(--height));}
  100%   {transform: translateY(0);}
}

@keyframes currentDown {
  0%   {transform: translateY(calc(-1 * var(--height)));}
  100%   {transform: translateY(0);}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-753b1765 */.elementor-40 .elementor-element.elementor-element-753b1765{
    --speed: 0.5s;
    --gap: 40px;
}
.elementor-40 .elementor-element.elementor-element-753b1765{
    transition: all 0.3s ease-in-out;
    height: var(--h);
    --height: calc(var(--h) + var(--gap));
    overflow: hidden !important;
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget p{
    transform: translateY(calc(-10 * var(--height)));
    transition: none !important;
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.prev p{
    animation: prev var(--speed) ease-in-out;
    transform: translateY(calc(-1 * var(--height)));
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.next p{
    animation: next var(--speed) ease-in-out;
    transform: translateY(var(--height));
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.currentUp,
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.currentDown{
    z-index: 1;
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.currentUp p{
    animation: currentUp var(--speed) ease-in-out;
    transform: translateY(0);
}
.elementor-40 .elementor-element.elementor-element-753b1765 .elementor-widget.currentDown p{
    animation: currentDown var(--speed) ease-in-out;
    transform: translateY(0);
}

@keyframes prev {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(calc(-1 * var(--height)));}
}

@keyframes next {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(var(--height));}
}

@keyframes currentUp {
  0%   {transform: translateY(var(--height));}
  100%   {transform: translateY(0);}
}

@keyframes currentDown {
  0%   {transform: translateY(calc(-1 * var(--height)));}
  100%   {transform: translateY(0);}
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8af916b */.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button{ cursor: default; }
.elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:hover, .elementor-40 .elementor-element.elementor-element-8af916b .elementor-button:focus{ transform:none; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21df187e */.elementor-40 .elementor-element.elementor-element-21df187e{
    --speed: 0.5s;
    --gap: 40px;
}
.elementor-40 .elementor-element.elementor-element-21df187e{
    transition: all 0.3s ease-in-out;
    height: var(--h);
    --height: calc(var(--h) + var(--gap));
    overflow: hidden !important;
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget p{
    transform: translateY(calc(-10 * var(--height)));
    transition: none !important;
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.prev p{
    animation: prev var(--speed) ease-in-out;
    transform: translateY(calc(-1 * var(--height)));
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.next p{
    animation: next var(--speed) ease-in-out;
    transform: translateY(var(--height));
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.currentUp,
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.currentDown{
    z-index: 1;
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.currentUp p{
    animation: currentUp var(--speed) ease-in-out;
    transform: translateY(0);
}
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget.currentDown p{
    animation: currentDown var(--speed) ease-in-out;
    transform: translateY(0);
}

@keyframes prev {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(calc(-1 * var(--height)));}
}

@keyframes next {
  0%   {transform: translateY(0);}
  100%   {transform: translateY(var(--height));}
}

@keyframes currentUp {
  0%   {transform: translateY(var(--height));}
  100%   {transform: translateY(0);}
}

@keyframes currentDown {
  0%   {transform: translateY(calc(-1 * var(--height)));}
  100%   {transform: translateY(0);}
}
/* am-solo-activo: solo se ve el botón de la boda activa */
.elementor-40 .elementor-element.elementor-element-21df187e .elementor-widget:not(.currentUp):not(.currentDown){ visibility:hidden; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4e226f6e */@media (max-width: 1750px) and (min-width: 1381px){
.elementor-40 .elementor-element.elementor-element-4e226f6e{
    padding-left: 8%;
    padding-right: 12%;
}
}
@media (max-width: 1380px) and (min-width: 768px){
.elementor-40 .elementor-element.elementor-element-4e226f6e{
    padding-left: 0.5%;
    padding-right: 5.5%;
}
}/* End custom CSS */
/* Start custom CSS for testimonial-carousel, class: .elementor-element-92a3672 */.elementor-40 .elementor-element.elementor-element-92a3672{
    --radius: 8px;
    --height: 320px;
    --active-height: 410px;
    --overlay: 0.75;
}
.elementor-40 .elementor-element.elementor-element-92a3672{
    opacity: 0;
    transform: translateX(100px);
    transition: all 0.8s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-92a3672.loaded{
    opacity: 1;
    transform: translateX(0);
}

.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-wrapper{
    height: var(--active-height);
    align-items: center;
}
.elementor-40 .elementor-element.elementor-element-92a3672:not(.loaded) .swiper-wrapper{
    transition-duration: 0s !important;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-slide{
    display: flex;
    align-items: flex-end;
    border-radius: var(--radius);
    height: var(--height);
    box-shadow: 0 0 50px rgba(0,0,0,0.15);
}
.elementor-40 .elementor-element.elementor-element-92a3672.loaded .swiper-slide{
    transition: all 0.3s ease-in-out 0.2s;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-slide.swiper-slide-active{
    height: var(--active-height);
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-slide:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0,0,0);
    background: linear-gradient(20deg, rgba(0,0,0,var(--overlay)) 0%, rgba(0,0,0,0) 100%);
    height: 100%;
    width: 100%;
    z-index: 1;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__footer{
    display: block;
}
.elementor-40 .elementor-element.elementor-element-92a3672 img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--radius);
}
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__cite{
    z-index: 2;
    position: relative;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__name{
    margin-bottom: 5px;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-pagination,
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-swiper-button{
    display: none;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-container{
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px){
.elementor-40 .elementor-element.elementor-element-92a3672{
    --height: 180px;
    --active-height: 250px;
}
}
@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-92a3672{
    --height: 80px;
    --active-height: 105px;
    width: 100% !important;
    max-width: var(--container-widget-width, 300px) !important;
}
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-testimonial__cite{
    opacity: 0;
}
}

/* portfolio image fit 2026-09-26 */
@media (min-width: 768px) and (max-width: 1024px){
.elementor-40 .elementor-element.elementor-element-92a3672 .elementor-main-swiper{width:calc(100% - 40px)!important;}
}
.elementor-40 .elementor-element.elementor-element-92a3672 .swiper-slide .elementor-testimonial__image img{object-fit:cover!important;object-position:center center!important;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-09e8021 */.elementor-40 .elementor-element.elementor-element-09e8021 { z-index: 10; }
@media (min-width: 768px) { .elementor-40 .elementor-element.elementor-element-09e8021 { position: relative; left: auto; right: auto; top: auto; transform: none; } }
@media (max-width: 767px) { .elementor-40 .elementor-element.elementor-element-09e8021 { position: absolute; left: 50%; right: auto; top: -105px; transform: translateX(-50%); } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48aa2f76 *//* portfolio mobile controls 2026-09-26 */
@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-48aa2f76{justify-content:center!important;margin-top:12px!important;gap:16px!important;}
.elementor-40 .elementor-element.elementor-element-48aa2f76 .reboot-slider-left,.elementor-40 .elementor-element.elementor-element-48aa2f76 .reboot-slider-right,.elementor-40 .elementor-element.elementor-element-48aa2f76 .portfolio-button-volver-center{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;}
}

@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-48aa2f76 .reboot-slider-left.reboot-slider-left,.elementor-40 .elementor-element.elementor-element-48aa2f76 .reboot-slider-right.reboot-slider-right{left:0!important;right:0!important;}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-178ef882 */.elementor-40 .elementor-element.elementor-element-178ef882{
    background: #fff;
    --background-speed: 0.5s;
}
.elementor-40 .elementor-element.elementor-element-178ef882 .elementor-background-slideshow{
    display: none;
}
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 1s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img{
    object-fit: cover;
    opacity: 0;
    transform: scale(1.1);
}
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img.prev,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img.currentBackward,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img.currentForward{
    opacity: 1;
    transform: scale(1.1);
}

.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img.currentBackward,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-background img.currentForward{
    z-index: 1;
    opacity: 1;
    animation: bgNext var(--background-speed) linear;
    transition: all 1s ease-in-out;
    transform: scale(1);
}

.elementor-40 .elementor-element.elementor-element-178ef882:before{
    z-index: 2;
}
.elementor-40 .elementor-element.elementor-element-178ef882 > .elementor-element{
    z-index: 3;
}

.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-bar,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-right{
    opacity: 0;
    transition: all 0.8s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-178ef882.loaded .reboot-bar,
.elementor-40 .elementor-element.elementor-element-178ef882.loaded .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-178ef882.loaded .reboot-slider-right{
    opacity: 1;
}
/*.elementor-40 .elementor-element.elementor-element-178ef882 .ds-slider-left a:focus,*/
/*.elementor-40 .elementor-element.elementor-element-178ef882 .ds-slider-right a:focus{*/
/*    outline: none !important;*/
/*}*/

@keyframes bgNext {
  0%   {opacity: 0; transform: scale(1.1);}
  100%   {opacity: 1; transform: scale(1);}
}

@media (min-width: 768px){
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-bar,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-right{
    position: relative;
}
}

@media (max-width: 1380px) and (min-width: 768px){
.elementor-40 .elementor-element.elementor-element-178ef882{
    padding-left: 4%;
    padding-right: 4%;
}
}

@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-left{
    left: calc(50% - 300px/2) !important;
}
.elementor-40 .elementor-element.elementor-element-178ef882 .reboot-slider-right{
    right: calc(50% - 300px/2) !important;
}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-32b1a4d0 */.elementor-40 .elementor-element.elementor-element-32b1a4d0{
    background: #fff;
    --background-speed: 0.5s;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .elementor-background-slideshow{
    display: none;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 1s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img{
    object-fit: cover;
    opacity: 0;
    transform: scale(1.1);
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img.prev,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img.currentBackward,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img.currentForward{
    opacity: 1;
    transform: scale(1.1);
}

.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img.currentBackward,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-background img.currentForward{
    z-index: 1;
    opacity: 1;
    animation: bgNext var(--background-speed) linear;
    transition: all 1s ease-in-out;
    transform: scale(1);
}

.elementor-40 .elementor-element.elementor-element-32b1a4d0:before{
    z-index: 2;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 > .elementor-element{
    z-index: 3;
}

.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-bar,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-right{
    opacity: 0;
    transition: all 0.8s ease-in-out;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0.loaded .reboot-bar,
.elementor-40 .elementor-element.elementor-element-32b1a4d0.loaded .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-32b1a4d0.loaded .reboot-slider-right{
    opacity: 1;
}
/*.elementor-40 .elementor-element.elementor-element-32b1a4d0 .ds-slider-left a:focus,*/
/*.elementor-40 .elementor-element.elementor-element-32b1a4d0 .ds-slider-right a:focus{*/
/*    outline: none !important;*/
/*}*/

@keyframes bgNext {
  0%   {opacity: 0; transform: scale(1.1);}
  100%   {opacity: 1; transform: scale(1);}
}

@media (min-width: 768px){
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-bar,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-left,
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-right{
    position: relative;
}
}

@media (max-width: 1380px) and (min-width: 768px){
.elementor-40 .elementor-element.elementor-element-32b1a4d0{
    padding-left: 4%;
    padding-right: 4%;
}
}

@media (max-width: 767px){
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-left{
    left: calc(50% - 300px/2) !important;
}
.elementor-40 .elementor-element.elementor-element-32b1a4d0 .reboot-slider-right{
    right: calc(50% - 300px/2) !important;
}
}/* End custom CSS */