<!-- start Simple Custom CSS and JS -->
<style type="text/css">
.post-type-archive-servizio a.elementor-button.elementor-button-link.elementor-size-sm .elementor-button-icon{
    fill: black;
}

.button-with-icon{}

:root {
    --icon-padding: 30px;
    --icon-size: 30px;
}


.ns-icon .elementor-widget-container {
    width: calc(var(--icon-size) + var(--icon-padding) * 2);
    border-radius: 1rem;
}

.ns-icon .elementor-widget-container img {
    filter: brightness(0) invert(1);
    width: var(--icon-size);
    height: var(--icon-size);
}

.ns-single-swiper figure.swiper-slide-inner {
    height: 100%;
}

.ns-single-swiper img.swiper-slide-image {
    height: 100%;
    width: auto;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .ns-icon .elementor-widget-container {
        display: flex;
        margin: auto;
    }
}

.elementor-widget-loop-carousel .swiper-pagination-bullet {
    background: white;
}

.ns-carousel-cpt .swiper-slide  .elementor-element.e-con-full.e-flex.e-con.e-child {
    height: 100%;
}

.ns-archive-grid [data-elementor-type="loop-item"] {
    display: flex;
    flex-direction: column;
}

.ns-archive-grid .elementor-element.e-con-full.e-flex.e-con.e-child {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ns-archive-grid .elementor-element.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
    height: 100%;
}


@media (max-width: 768px) {
    #ns-mobile-header .e-con-inner {
        width: 100%;
        display: flex;
        padding: 0;
    }
    #ns-mobile-header .elementor-widget-theme-site-logo.elementor-widget-image {
        min-width: calc(50vw - 20px);
        left:20px;
    }
    #ns-mobile-header .elementor-nav-menu--burger.elementor-widget.elementor-widget-nav-menu {
        min-width: calc(50vw - 20px);
        right:20px;
        display: flex;
        justify-content: end;
    }
    #ns-mobile-header .e-con-full.e-flex.e-con.e-child {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
    #ns-mobile-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
        width: 100vw !important;
        position: absolute !important;
    left: calc(-50vw + 10px) !important;
        top: 43px !important;
    }

    .ns-carousel-cpt .swiper-slide .elementor-element.e-con-full.e-flex.e-con.e-child {
         height: auto;
        display: block;
    }

    .ns-carousel-cpt .swiper-slide a.elementor-button.elementor-button-link.elementor-size-sm{
        margin-top:15px;
    }
}

</style>
<!-- end Simple Custom CSS and JS -->
