.elementor-954 .elementor-element.elementor-element-b314c7f{--display:flex;--position:absolute;--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:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:30px;--padding-bottom:30px;--padding-left:70px;--padding-right:70px;top:0px;--z-index:999;}body:not(.rtl) .elementor-954 .elementor-element.elementor-element-b314c7f{left:0px;}body.rtl .elementor-954 .elementor-element.elementor-element-b314c7f{right:0px;}.elementor-954 .elementor-element.elementor-element-b6ba1f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-954 .elementor-element.elementor-element-4060169{z-index:9;text-align:left;}.elementor-954 .elementor-element.elementor-element-4060169 img{width:228px;}.elementor-954 .elementor-element.elementor-element-c000eb8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__icon{color:var( --e-global-color-text );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang a:hover, .elementor-widget-polylang-language-switcher .cpel-switcher__lang a:focus{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-accent );}.elementor-widget-polylang-language-switcher .cpel-switcher__lang.cpel-switcher__lang--active a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-954 .elementor-element.elementor-element-76f42cd .cpel-switcher__lang a{font-family:"Montserrat", Sans-serif;font-size:23px;font-weight:600;color:#FFFFFF;}.elementor-954 .elementor-element.elementor-element-76f42cd .cpel-switcher__icon{color:#FFFFFF;}.elementor-954 .elementor-element.elementor-element-76f42cd .cpel-switcher__nav{--cpel-switcher-space:15px;}.elementor-954 .elementor-element.elementor-element-76f42cd .cpel-switcher__code{padding-left:10px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-954 .elementor-element.elementor-element-b6ba1f9{--width:50%;}.elementor-954 .elementor-element.elementor-element-c000eb8{--width:50%;}}@media(max-width:1024px){.elementor-954 .elementor-element.elementor-element-b314c7f{--padding-top:10px;--padding-bottom:10px;--padding-left:50px;--padding-right:50px;}}@media(max-width:767px){.elementor-954 .elementor-element.elementor-element-b314c7f{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-954 .elementor-element.elementor-element-b6ba1f9{--width:47%;}.elementor-954 .elementor-element.elementor-element-4060169 img{width:140px;}.elementor-954 .elementor-element.elementor-element-c000eb8{--width:53%;--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;}}/* Start custom CSS for html, class: .elementor-element-d431da9 */.menuTop{
    padding:50px;
    display:flex;
    align-items:center;
    cursor:pointer;
    padding:8px;
    position:relative;
    overflow:hidden;
    transition:padding 0.4s cubic-bezier(.4,0,.2,1);
}

.menuTop::before{
    content:'';
    position:absolute;
    left:50%; top:50%;
    width:0; height:0;
    border-radius:50%;
    transform:translate(-50%,-50%);
    opacity:.9;
    z-index:0;
    transition:
        width 0.45s cubic-bezier(.4,0,.2,1),
        height 0.45s cubic-bezier(.4,0,.2,1);
}

.menuTop:hover::before{
    width:260%;
    height:260%;
}

.menuTop svg,
.menuTop span{
    position:relative;
    z-index:1;
}

.menuTop svg{
    width:55px;
    margin-right:8px;
}

.menuTop span{
    color:#ffffff;
    font-size:35px;
    font-weight:500;
}

.sideMenu{
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 35vw;
    background: #000;
    transform: translateX(100%);
    transition: transform .4s ease;
    z-index: 10001;
    display: flex;
    justify-content: flex-start;
    padding: 100px;
    align-items: flex-start;
}

.sideMenuOverlay{
    position:fixed;
    inset:0;
    background:transparent;
    opacity:0;
    visibility:hidden;
    transition:opacity .4s ease;
    z-index:10000;
}

.sideMenu.open{
    transform:translateX(0);
}
.sideMenuOverlay.show{
    opacity:1;
    visibility:visible;
}

.sideMenu__content{
    color: #fff;
    width: 100%;
}
.sideMenu__content a{
    color:#fff;
    text-decoration:none;
    display:block;
    margin:8px 0;
}

.sideMenu__close{
    position:absolute;
    top:25px;
    right:25px;
    background:none;
    border:none;
    color:#fff;
    font-size:30px;
    cursor:pointer;
    font-weight: 600;
}

.elementor-954 .elementor-element.elementor-element-d431da9 button:hover {
    background-color: #235D98;
}

.listMenuLink {
    list-style: none;
    padding-inline-start: 0;
    text-align: left;
}
.listMenuLink li a {
    font-size: 50px;
    font-weight: 600;
    transition: color 0.3s;
}
.listMenuLink li a:hover {
    color: #235D98;
}

.btnContactUs {
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    background-color: #3C3C41AD;
    border-radius: 50px 50px 50px 50px;
    padding: 18px 28px 18px 28px;
    text-align: center;
    width: 200px;
    margin-top: 30px !important;
    cursor: pointer;
    transition: background-color 0.3s;
}
.btnContactUs:hover {
    background-color: #3c3c41;
}

.infoTitle {
    color: #74747E;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 50px;
}
.infoDiv {
    display: flex;
    justify-content: space-between;
}
.infoDiv p {
    margin-bottom: 0;
    font-size: 14px;
}

@media only screen and (min-width: 1000px) and (max-width: 1550px) {
    .sideMenu {
        width: 50vw;
        padding: 80px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 999px) {
    .sideMenu {
        width: 70vw;
        padding: 80px;
        height: 100%;
        overflow-y: scroll;
    }
}
@media only screen and (max-width: 767px) {
    .sideMenu {
        width: 100%;
        padding: 50px;
        height: 100%;
        overflow-y: scroll;
    }
    .listMenuLink li a {
        font-size: 40px;
    }
    .infoDiv {
        flex-direction: column;
        gap: 10px;
    }
}/* End custom CSS */
/* Start custom CSS for polylang-language-switcher, class: .elementor-element-76f42cd */.elementor-954 .elementor-element.elementor-element-76f42cd ul li a{
    width: 48px;
    height: 48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    overflow:hidden;
    position:relative;
    background:transparent;
}

.elementor-954 .elementor-element.elementor-element-76f42cd ul li a::before{
    content:'';
    position:absolute;
    inset:0;                  
    border:2px solid #fff;
    border-radius:50%;
    pointer-events:none;
    z-index:2;
}

.elementor-954 .elementor-element.elementor-element-76f42cd ul li a::after{
    content:'';
    position:absolute;
    left:50%; top:50%;
    width:0; height:0;        /* parte invisibile (nessun “pallino blu”) */
    background:#fff;
    border-radius:50%;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:1;
    transition:
        width 0.4s cubic-bezier(.4,0,.2,1),
        height 0.4s cubic-bezier(.4,0,.2,1);
}

.elementor-954 .elementor-element.elementor-element-76f42cd ul li a:hover::after{
    width:120%;
    height:120%;
}

.elementor-954 .elementor-element.elementor-element-76f42cd ul li a span{
    padding-left:0 !important;
    position:relative;
    z-index:3;
}

.elementor-954 .elementor-element.elementor-element-76f42cd ul li a:hover {
    color: #235D98 !important
}/* End custom CSS */