.elementor-1482 .elementor-element.elementor-element-625d8b3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-0216a25{--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-ha-card .ha-badge{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ha-card .ha-card-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-ha-card .ha-card-text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-ha-card .ha-btn{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9c52154 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-9c52154 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-9c52154 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-065cdee{--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-1482 .elementor-element.elementor-element-dba7a53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-dba7a53 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-dba7a53 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-d37f9b1{--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-1482 .elementor-element.elementor-element-b0a27b8 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-b0a27b8 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-b0a27b8 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-42910ac{--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-1482 .elementor-element.elementor-element-84f653a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-84f653a .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-84f653a .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-e84ee1a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-8ed527b{--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-1482 .elementor-element.elementor-element-793d361 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-793d361 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-793d361 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-0a85b8b{--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-1482 .elementor-element.elementor-element-7e4ddf7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-7e4ddf7 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-7e4ddf7 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-16c0fc1{--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-1482 .elementor-element.elementor-element-db87e54 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-db87e54 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-db87e54 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-ace7987{--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-1482 .elementor-element.elementor-element-b331214 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-b331214 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-b331214 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-6b04577{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-01b49df{--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-1482 .elementor-element.elementor-element-df3f3d4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-df3f3d4 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-df3f3d4 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-25f7a69{--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-1482 .elementor-element.elementor-element-a3a0405 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-a3a0405 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-a3a0405 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-8b97d35{--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-1482 .elementor-element.elementor-element-fecbdd7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-fecbdd7 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-fecbdd7 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-c494e6a{--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-1482 .elementor-element.elementor-element-81f8c0a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-81f8c0a .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-81f8c0a .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-4b4a6a7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-b9a38bf{--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-1482 .elementor-element.elementor-element-4d70c13 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-4d70c13 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-4d70c13 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-f4a4d69{--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-1482 .elementor-element.elementor-element-73765a4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-73765a4 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-73765a4 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-2d5ef21{--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-1482 .elementor-element.elementor-element-96b4184 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-96b4184 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-96b4184 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-6d931c8{--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-1482 .elementor-element.elementor-element-b3c3816 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-b3c3816 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-b3c3816 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-a0e692c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-f4ed65e{--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-1482 .elementor-element.elementor-element-ec46e85 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-ec46e85 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-ec46e85 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-0e12bf5{--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-1482 .elementor-element.elementor-element-a9da4d5 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-a9da4d5 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-a9da4d5 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-f94c71b{--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-1482 .elementor-element.elementor-element-b156395 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-b156395 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-b156395 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-805283c{--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-1482 .elementor-element.elementor-element-1eb2290 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-1eb2290 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-1eb2290 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-4da474b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-cb91cec{--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-1482 .elementor-element.elementor-element-26cec6a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-26cec6a .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-26cec6a .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-b94e200{--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-1482 .elementor-element.elementor-element-dc2ce4b .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-dc2ce4b .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-dc2ce4b .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-246e4d4{--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-1482 .elementor-element.elementor-element-aa45d53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-aa45d53 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-aa45d53 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-234b045{--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-1482 .elementor-element.elementor-element-1594791 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-1594791 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-1594791 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-74d5401{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-10d5065{--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-1482 .elementor-element.elementor-element-b63f965 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-b63f965 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-b63f965 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-cbb82fd{--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-1482 .elementor-element.elementor-element-09027d3 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-09027d3 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-09027d3 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-64a50b2{--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-1482 .elementor-element.elementor-element-f83708c .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-f83708c .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-f83708c .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-ef73b94{--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-1482 .elementor-element.elementor-element-965496a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-965496a .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-965496a .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-d5bcbcb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;}.elementor-1482 .elementor-element.elementor-element-78bba6b{--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-1482 .elementor-element.elementor-element-35d1626 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-35d1626 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-35d1626 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-dfac09b{--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-1482 .elementor-element.elementor-element-74a57bf .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-74a57bf .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-74a57bf .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-6e130d4{--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-1482 .elementor-element.elementor-element-f9b9b53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-f9b9b53 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-f9b9b53 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-eed69ae{--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-1482 .elementor-element.elementor-element-78ade50 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;}.elementor-1482 .elementor-element.elementor-element-78ade50 .ha-badge{background-color:var( --e-global-color-primary );}.elementor-1482 .elementor-element.elementor-element-78ade50 .ha-card-title{color:var( --e-global-color-text );font-family:"Roboto Condensed", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;letter-spacing:0.4px;}.elementor-1482 .elementor-element.elementor-element-5037ace{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-5037ace:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-5037ace > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-043ab75{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-043ab75.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-043ab75 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-47663a3{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-47663a3:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-47663a3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-a591956{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-a591956.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-a591956 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-9fd2fe3{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-9fd2fe3:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-9fd2fe3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-03ff9bc{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-03ff9bc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-03ff9bc .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-e1b7161{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-e1b7161:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-e1b7161 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-e3dadfb{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-e3dadfb.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-e3dadfb .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-700d03a{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-700d03a:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-700d03a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-2218b02{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-2218b02.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-2218b02 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-20d8f56{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-20d8f56:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-20d8f56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-d971d06{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-d971d06.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-d971d06 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-e4ce8b1{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-e4ce8b1:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-e4ce8b1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-58d8695{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-58d8695.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-58d8695 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-b142ccc{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-b142ccc:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-b142ccc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-36abb8a{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-36abb8a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-36abb8a .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-bbc419c{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-bbc419c:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-bbc419c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-9112a64{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-9112a64.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-9112a64 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-c11bd46{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-c11bd46:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-c11bd46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-d7ab141{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-d7ab141.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-d7ab141 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-1e9de77{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-1e9de77:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-1e9de77 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-b9d42b2{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-b9d42b2.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-b9d42b2 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-1e765b7{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-1e765b7:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-1e765b7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-61d800d{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-61d800d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-61d800d .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-8e380ed{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-8e380ed:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-8e380ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-b6d2ce0{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-b6d2ce0.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-b6d2ce0 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-03cd8d6{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-03cd8d6:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-03cd8d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-a62a93c{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-a62a93c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-a62a93c .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-61d000a{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-61d000a:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-61d000a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-85c747b{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-85c747b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-85c747b .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-860ade5{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-860ade5:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-860ade5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-815250f{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-815250f.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-815250f .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-84a923e{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-84a923e:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-84a923e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-9fbf2bd{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-9fbf2bd.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-9fbf2bd .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-eb4ea1d{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-eb4ea1d:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-eb4ea1d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-32e40f5{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-32e40f5.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-32e40f5 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-110468e{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-110468e:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-110468e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-b481e0c{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-b481e0c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-b481e0c .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-bc7c6db{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-bc7c6db:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-bc7c6db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-4928e7c{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-4928e7c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-4928e7c .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-b44495a{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-b44495a:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-b44495a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-7e136b9{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-7e136b9.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-7e136b9 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-a503623{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-a503623:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-a503623 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-6be496c{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-6be496c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-6be496c .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-d8a33fd{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-d8a33fd:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-d8a33fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-608c0b4{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-608c0b4.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-608c0b4 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-7a17038{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-7a17038:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-7a17038 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-07cce16{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-07cce16.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-07cce16 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-78fadf7{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-78fadf7:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-78fadf7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-98b68ca{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-98b68ca.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-98b68ca .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-08050da{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-08050da:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-08050da > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-c53a5d3{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-c53a5d3.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-c53a5d3 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-fa60f82{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-fa60f82:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-fa60f82 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-326f266{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-326f266.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-326f266 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-cfcc9ce{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-cfcc9ce:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-cfcc9ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-5806180{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-5806180.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-5806180 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-3d13064{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-3d13064:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-3d13064 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-7865574{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-7865574.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-7865574 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-78118a6{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-78118a6:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-78118a6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-eadc310{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-eadc310.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-eadc310 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}.elementor-1482 .elementor-element.elementor-element-d104eb1{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-1482 .elementor-element.elementor-element-d104eb1:not(.elementor-motion-effects-element-type-background), .elementor-1482 .elementor-element.elementor-element-d104eb1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#393D40;}.elementor-1482 .elementor-element.elementor-element-c6634d4{--e-image-carousel-slides-to-show:3;width:var( --container-widget-width, 101.197% );max-width:101.197%;--container-widget-width:101.197%;--container-widget-flex-grow:0;}.elementor-1482 .elementor-element.elementor-element-c6634d4.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1482 .elementor-element.elementor-element-c6634d4 .elementor-image-carousel-caption{text-align:center;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );margin-block-start:57px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1482 .elementor-element.elementor-element-0216a25{--width:25%;}.elementor-1482 .elementor-element.elementor-element-065cdee{--width:25%;}.elementor-1482 .elementor-element.elementor-element-d37f9b1{--width:25%;}.elementor-1482 .elementor-element.elementor-element-42910ac{--width:25%;}.elementor-1482 .elementor-element.elementor-element-8ed527b{--width:25%;}.elementor-1482 .elementor-element.elementor-element-0a85b8b{--width:25%;}.elementor-1482 .elementor-element.elementor-element-16c0fc1{--width:25%;}.elementor-1482 .elementor-element.elementor-element-ace7987{--width:25%;}.elementor-1482 .elementor-element.elementor-element-01b49df{--width:25%;}.elementor-1482 .elementor-element.elementor-element-25f7a69{--width:25%;}.elementor-1482 .elementor-element.elementor-element-8b97d35{--width:25%;}.elementor-1482 .elementor-element.elementor-element-c494e6a{--width:25%;}.elementor-1482 .elementor-element.elementor-element-b9a38bf{--width:25%;}.elementor-1482 .elementor-element.elementor-element-f4a4d69{--width:25%;}.elementor-1482 .elementor-element.elementor-element-2d5ef21{--width:25%;}.elementor-1482 .elementor-element.elementor-element-6d931c8{--width:25%;}.elementor-1482 .elementor-element.elementor-element-f4ed65e{--width:25%;}.elementor-1482 .elementor-element.elementor-element-0e12bf5{--width:25%;}.elementor-1482 .elementor-element.elementor-element-f94c71b{--width:25%;}.elementor-1482 .elementor-element.elementor-element-805283c{--width:25%;}.elementor-1482 .elementor-element.elementor-element-cb91cec{--width:25%;}.elementor-1482 .elementor-element.elementor-element-b94e200{--width:25%;}.elementor-1482 .elementor-element.elementor-element-246e4d4{--width:25%;}.elementor-1482 .elementor-element.elementor-element-234b045{--width:25%;}.elementor-1482 .elementor-element.elementor-element-10d5065{--width:25%;}.elementor-1482 .elementor-element.elementor-element-cbb82fd{--width:25%;}.elementor-1482 .elementor-element.elementor-element-64a50b2{--width:25%;}.elementor-1482 .elementor-element.elementor-element-ef73b94{--width:25%;}.elementor-1482 .elementor-element.elementor-element-78bba6b{--width:25%;}.elementor-1482 .elementor-element.elementor-element-dfac09b{--width:25%;}.elementor-1482 .elementor-element.elementor-element-6e130d4{--width:25%;}.elementor-1482 .elementor-element.elementor-element-eed69ae{--width:25%;}}@media(max-width:1024px){.elementor-widget-ha-card .ha-badge{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-ha-card .ha-card-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-ha-card .ha-card-text{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-ha-card .ha-btn{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9c52154 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-9c52154{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-dba7a53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-dba7a53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b0a27b8 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b0a27b8{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-84f653a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-84f653a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-793d361 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-793d361{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-7e4ddf7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-7e4ddf7{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-db87e54 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-db87e54{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b331214 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b331214{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-df3f3d4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-df3f3d4{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-a3a0405 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-a3a0405{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-fecbdd7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-fecbdd7{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-81f8c0a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-81f8c0a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-4d70c13 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-4d70c13{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-73765a4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-73765a4{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-96b4184 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-96b4184{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b3c3816 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b3c3816{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-ec46e85 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-ec46e85{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-a9da4d5 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-a9da4d5{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b156395 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b156395{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-1eb2290 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-1eb2290{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-26cec6a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-26cec6a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-dc2ce4b .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-dc2ce4b{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-aa45d53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-aa45d53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-1594791 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-1594791{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b63f965 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b63f965{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-09027d3 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-09027d3{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-f83708c .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-f83708c{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-965496a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-965496a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-35d1626 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-35d1626{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-74a57bf .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-74a57bf{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-f9b9b53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-f9b9b53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-78ade50 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-78ade50{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-043ab75 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-a591956 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-03ff9bc .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-e3dadfb{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-e3dadfb .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-2218b02{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-2218b02 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-d971d06{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-d971d06 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-58d8695{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-58d8695 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-36abb8a{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-36abb8a .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9112a64{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-9112a64 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-d7ab141{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-d7ab141 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b9d42b2{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-b9d42b2 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-61d800d{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-61d800d .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b6d2ce0{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-b6d2ce0 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-a62a93c{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-a62a93c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-85c747b{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-85c747b .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-815250f{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-815250f .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9fbf2bd{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-9fbf2bd .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-32e40f5{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-32e40f5 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b481e0c{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-b481e0c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-4928e7c{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-4928e7c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-7e136b9{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-7e136b9 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-6be496c{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-6be496c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-608c0b4{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-608c0b4 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-07cce16{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-07cce16 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-98b68ca{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-98b68ca .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-c53a5d3{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-c53a5d3 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-326f266{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-326f266 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-5806180{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-5806180 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-7865574{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-7865574 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-eadc310{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-eadc310 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-c6634d4{--e-image-carousel-slides-to-show:3;}.elementor-1482 .elementor-element.elementor-element-c6634d4 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-widget-ha-card .ha-badge{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-ha-card .ha-card-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-ha-card .ha-card-text{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-ha-card .ha-btn{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9c52154 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-9c52154{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-dba7a53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-dba7a53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b0a27b8 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b0a27b8{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-84f653a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-84f653a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-793d361 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-793d361{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-7e4ddf7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-7e4ddf7{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-db87e54 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-db87e54{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b331214 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b331214{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-df3f3d4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-df3f3d4{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-a3a0405 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-a3a0405{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-fecbdd7 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-fecbdd7{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-81f8c0a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-81f8c0a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-4d70c13 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-4d70c13{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-73765a4 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-73765a4{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-96b4184 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-96b4184{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b3c3816 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b3c3816{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-ec46e85 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-ec46e85{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-a9da4d5 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-a9da4d5{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b156395 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b156395{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-1eb2290 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-1eb2290{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-26cec6a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-26cec6a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-dc2ce4b .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-dc2ce4b{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-aa45d53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-aa45d53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-1594791 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-1594791{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-b63f965 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-b63f965{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-09027d3 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-09027d3{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-f83708c .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-f83708c{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-965496a .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-965496a{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-35d1626 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-35d1626{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-74a57bf .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-74a57bf{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-f9b9b53 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-f9b9b53{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-78ade50 .elementor-widget-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;}.elementor-1482 .elementor-element.elementor-element-78ade50{--ha-card-image-width:100%;}.elementor-1482 .elementor-element.elementor-element-043ab75 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-a591956 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-03ff9bc .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-e3dadfb .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-2218b02 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-d971d06 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-58d8695 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-36abb8a .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9112a64 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-d7ab141 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b9d42b2 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-61d800d .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b6d2ce0 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-a62a93c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-85c747b .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-815250f .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-9fbf2bd .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-32e40f5 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-b481e0c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-4928e7c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-7e136b9 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-6be496c .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-608c0b4 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-07cce16 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-98b68ca .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-c53a5d3 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-326f266 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-5806180 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-7865574 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-eadc310 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1482 .elementor-element.elementor-element-c6634d4 .elementor-image-carousel-caption{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS for image-carousel, class: .elementor-element-043ab75 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5037ace *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-a591956 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-47663a3 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-03ff9bc *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9fd2fe3 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-e3dadfb *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1b7161 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-2218b02 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-700d03a *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-d971d06 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-20d8f56 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-58d8695 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e4ce8b1 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-36abb8a *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b142ccc *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-9112a64 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bbc419c *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-d7ab141 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c11bd46 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-b9d42b2 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e9de77 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-61d800d *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e765b7 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-b6d2ce0 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e380ed *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-a62a93c *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-03cd8d6 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-85c747b *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-61d000a *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-815250f *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-860ade5 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-9fbf2bd *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-84a923e *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-32e40f5 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eb4ea1d *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-b481e0c *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-110468e *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-4928e7c *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bc7c6db *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-7e136b9 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b44495a *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-6be496c *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a503623 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-608c0b4 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d8a33fd *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-07cce16 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7a17038 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-98b68ca *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fadf7 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-c53a5d3 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08050da *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-326f266 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fa60f82 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-5806180 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfcc9ce *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-7865574 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3d13064 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-eadc310 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78118a6 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-c6634d4 *//* ==== GROSSE, HOHE SLIDES; BILDER FÜLLEN DIE HÖHE; CAPTION-OVERLAY MIT 30PX SEITENABSTAND ==== */

/* Höhe zentral steuern */
:root { --slideH: 560px; } /* hier Höhe anpassen (z.B. 480–700px oder 70vh) */

/* Swiper/Slick auf definierte Höhe bringen */
.elementor-image-carousel .swiper,
.elementor-image-carousel .swiper-container,
.elementor-image-carousel .swiper-wrapper,
.elementor-image-carousel .slick-list,
.elementor-image-carousel .slick-track,
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  height: var(--slideH) !important;
}

/* Slides vorbereiten */
.elementor-image-carousel .swiper-slide,
.elementor-image-carousel .slick-slide {
  position: relative;
  overflow: hidden;
}

/* Bild: immer volle Höhe, Breite automatisch (kein Verzerren), zentriert */
.elementor-image-carousel .swiper-slide .swiper-slide-image,
.elementor-image-carousel .slick-slide img {
  position: absolute;
  top: 50%; left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  display: block;
  transition: transform .25s ease;
}

/* Abdunkeln beim Hover (unter dem Text) */
.elementor-image-carousel .swiper-slide::before,
.elementor-image-carousel .slick-slide::before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .25s ease;
  z-index: 1; pointer-events: none;
}
.elementor-image-carousel .swiper-slide:hover::before,
.elementor-image-carousel .slick-slide:hover::before{
  background: rgba(0,0,0,.45);
}

/* FALL A: Elementor rendert eine Caption-Box */
.elementor-image-carousel .elementor-image-carousel-caption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; background: transparent;
  font-weight:600; font-size:16px; line-height:1.3;
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover .elementor-image-carousel-caption,
.elementor-image-carousel .slick-slide:hover  .elementor-image-carousel-caption{
  opacity:1; transform: translateY(0);
}

/* FALL B: keine Caption-Box -> Text aus dem Link-title anzeigen */
.elementor-image-carousel .swiper-slide a::after,
.elementor-image-carousel .slick-slide  a::after{
  content: attr(title);
  position: absolute; left:0; right:0; bottom:0;
  padding: 12px 30px;               /* <-- Seitenabstand 30px */
  color:#fff; font-weight:600; font-size:16px; line-height:1.3;
  background: transparent;          /* Abdunklung kommt über ::before */
  opacity:0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2; pointer-events: none;
  box-sizing: border-box;
  word-wrap: break-word; white-space: normal;
}
.elementor-image-carousel .swiper-slide:hover a::after,
.elementor-image-carousel .slick-slide:hover  a::after{
  opacity:1; transform: translateY(0);
}

/* kleiner Zoom beim Hover */
.elementor-image-carousel .swiper-slide:hover .swiper-slide-image,
.elementor-image-carousel .slick-slide:hover img{
  transform: translate(-50%, -50%) scale(1.02);
}

/* Responsiv: Höhe reduzieren */
@media (max-width: 1024px){ :root { --slideH: 440px; } }
@media (max-width: 768px){  :root { --slideH: 320px; } }
@media (max-width: 480px){  :root { --slideH: 240px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d104eb1 *//* Nur die gewählte Galerie anzeigen (Standard: alle ausblenden) */
.cm-gallery-section { display: none; }

/* Sanftes Scrollen + Anker nicht unter Sticky-Header verstecken */
html { scroll-behavior: smooth; }
.cm-gallery-section { scroll-margin-top: 100px; } /* ggf. Höhe deines Headers anpassen */

/* (Optional) Galerie als "justified": gleiche Höhe, Breite variabel */
:root { --rowH: 220px; } /* gewünschte Zeilenhöhe */
.elementor-image-gallery .gallery {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 12px; margin: 0; padding: 0;
}
.elementor-image-gallery .gallery-item {
  width: auto !important; max-width: none !important;
  margin: 0 !important; list-style: none; position: relative; overflow: hidden;
}
.elementor-image-gallery .gallery-item img {
  height: var(--rowH); width: auto; max-width: none; object-fit: contain; display: block;
}

/* Overlay-Caption auf dem Bild (zieht die WP-Caption nach oben) */
.elementor-image-gallery .gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 30px; box-sizing: border-box;
  background: rgba(0,0,0,.55); color: #fff; font-weight: 600; font-size: 14px; line-height: 1.25;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.elementor-image-gallery .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

/* Responsiv */
@media (max-width: 900px){ :root { --rowH: 180px; } }
@media (max-width: 560px){ :root { --rowH: 150px; } }/* End custom CSS */