@import url('https://fonts.googleapis.com/css2?family=Michroma&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root{
  --bs-primary:#3532FF;
  --bs-secondary:#120F4C;
  --bs-font-sans-serif: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 20px;
  font-style: normal;
  --bs-body-line-height: 1.7;
}




h1{
  font-family: "Michroma", sans-serif; 
  background: #3532FF;
  background: linear-gradient(90deg,rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
  font-size: 35px;
  line-height: 50px;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  background-clip: text; /* fallback */
  color: transparent;
}

h2{
  font-family: "Michroma", sans-serif; 
  color: #3532FF;
  font-size: 35px;
  line-height: 50px;
}


h3{
  font-family: "Open Sans", sans-serif;
  color: #3532FF;
  font-size: 32px;
  line-height: 40px;
}

a {
    color:var(--bs-primary);
  }

a:hover,
a.active{
  color: #5755FA;
}

#title_sfumato .title_box{
  background: #3532FF;
  background: linear-gradient(90deg,rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
  font-size: 35px;
  line-height: 1.5;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  background-clip: text; /* fallback */
  color: transparent;
}

#title_sfumato h2{
  background: #3532FF;
  background: linear-gradient(90deg,rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
  font-size: 35px;
  line-height: 1.5;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  background-clip: text; /* fallback */
  color: transparent;
}

.products h4{
  font-size: 20px !important;
  font-weight: 700;
}

.navbar-nav .nav-item{
  font-size: 17px;
}

.navbar-nav .nav-item a{
  color: #0C0910;
  font-size: 17px;font-weight: 500;
}

.navbar-nav .nav-item a:hover,
.navbar-nav .nav-item a.active
{
  color: #3632ff;
}

.navbar-expand-lg .navbar-nav .nav-link{
      padding-right: 1px !important;
    padding-left: 1px !important;
}

.menuLingua{
  font-size: 17px !important;
  font-weight: 500;
}


.btn-primary{background-color:var(--bs-primary);border:1px solid var(--bs-primary);}
.btn, .btn-primary{border-radius:50px; padding: 10px 20px; font-weight: 700; border-color: #3532FF;}
.btn, .btn-primary:hover,
.btn, .btn-primary.active{
  color:#fff;


}

.btn:hover,
.btn.active{
    background-color: #5755FA;
    border-color: #5755FA;
}

.boxCta66 .row.d-flex.align-items-center{
  padding: 40px !important;
}

.ws_item_box h2{
  background: linear-gradient(90deg, rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.logo_brand{
  width: 170px;
}

.title_box, .titolo {font-family: "Michroma", sans-serif; color: #3532FF;}

/* Generali */
.container{padding:0;}
.inverse.btn-primary{background-color: var(--bs-white);color:var(--bs-primary);border:0;}
.title_box{position:relative;display:block;font-size: 35px;
  line-height: 1.5;}
.subtitle_box{position:relative;display:block;}
.text_box{position:relative;display:block;}


.navbar-nav{width: 94%;justify-content: flex-start;gap: 2%;padding-left: 2%;}
.nav-item a{text-transform: uppercase;}

.menuLingua{display:flex;justify-content: flex-end;align-items: center;gap:10px;}
.menuLingua a{text-decoration:none;color:var(--bs-black)}
.menuLingua .active{color:var(--bs-primary)}

#ws_footer{font-size: 18px;color: var(--bs-white);background-color:var(--bs-primary);margin-top:0;background-image: url('../upload/documenti/5/50.jpg');background-size: cover;}


#ws_footer a{
  text-decoration: none;
  color: #5CB4E9;
  padding-top: 20px !important;
  display: inline-block;
}

.text_footer .label{
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 20px;
}

.text_footer .item{
  margin-bottom: 20px;
}

#ws_footerend{font-size: 14px;color: var(--bs-white);background-color:var(--bs-secondary)}
#ws_footerend ul{padding-left: 0;}
#ws_footerend li{list-style-type: none;float: left;margin-right: 20px;}


#ws_bloglist_horizontal .article{border-bottom: 1px solid var(--bs-black);}

.ws_portfolio_container{position: relative;display: block;width:100%;background-image: url('../upload/documenti/5/53/539.jpg');background-position: right center;background-size: cover;}


/* widget 3 */
#ws_banner{position:relative;display:block;z-index:10;}
#ws_banner .container-fluid{
    background-size: cover;
    height: 70vh;    padding: 0;
}

.itemRisorse{position:relative;display:flex;width:100%;justify-content: flex-start;align-items: flex-start;padding:1rem 0;border-bottom:1px solid var(--bs-black)}
.itemRisorse img{position:relative;width:30%;}
.itemRisorse .txt{position:relative;width:70%;padding-left:3%;}
.itemRisorse .txtFullW{width:100%;padding-left:0%;}

.itemPortfolio:nth-child(even) {flex-direction: row-reverse;}

/* lista altre news */
.ws_list_blog{}
.ws_list_blog h2{
font-size:25px;
  margin-bottom:20px !important;
}

.ws_list_blog a{
    text-decoration: none;
}

/* widget 4 */
.ws_BannerFullScreen{}
.ws_BannerFullScreen .banner{position:relative;display:flex;width:100%;justify-content: center;align-items: center;padding: 10% 0;background-size: cover;background-position: center;border-radius:20px;}
.ws_BannerFullScreen .text{position:relative;display:block;width: 60%;margin-bottom:0;color: var(--bs-white);text-align: center;}
.ws_BannerFullScreen .text .btn{margin-top:2rem}
.ws_BannerFullScreen .title_box{color: #fff; font-size: 37px; margin-bottom: 20px;}

#ws_title_up{position:relative;display:block;z-index:20;}
#ws_title_up .box_text_banner{
    background-color: #fff;
        margin-top: -180px;
}

.ws_BannerFullScreen .btn-light{
  color:var(--bs-primary);
  border:none;
}

.ws_BannerFullScreen .btn-light:hover,
.ws_BannerFullScreen .btn-light.active{
  background-color: #fff;
  border:none;
}

/* widget 6 */
.ws_VisualTop .container{padding:0;}
.ws_VisualTop .banner{position:relative;display:block;width:100%;background-position: center;background-size: cover;}
.ws_VisualTop .banner .img{position:relative;display:block;top:0;left:0;width:100%;z-index:1;background-position: center;background-size: cover;aspect-ratio: 16/6;border-radius: 18px;}
.ws_VisualTop .banner .mask{position:absolute;display: none;top:0;left:0;width:100%;height:100%;z-index:5;background: #000;background: linear-gradient(100deg, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 1) 53%);}
.ws_VisualTop .text{position:absolute;top:50%;left: 50%;transform: translate(-50%,-50%);width: 80%;z-index:100;color:var(--bs-white);text-align: left;}
.ws_VisualTop .text .title_box{font-size:4rem;text-align: center;font-weight:500;line-height: 1.2;}
.ws_VisualTop .text .subtitle_box{font-size:2rem;text-align:left;font-weight:500;}
.ws_VisualTop .text .subtitle_box b, .ws_VisualTop .text .subtitle_box strong{color:var(--bs-secondary)}
.ws_VisualTop .text .btn{margin-top:2rem}
.ws_VisualTop .btn-primary{color:#fff !important;}
.ws_VisualTop .btn-primary:hover,
.ws_VisualTop .btn-primary.active{color:#fff !important; }
.ws_VisualTop h2 {font-family: "Michroma", sans-serif; color: #fff;}
/* widget 7 */
.ws_immagine_singola img{position:relative;display:block;margin:0 auto;border-radius: 18px;}
/* widget 8 */
.ws_video_pagina{padding:2rem 0}
.ws_video_pagina .container{padding:0%;}
.ws_video_pagina .container .video{position: relative;width:100%;aspect-ratio: 16/10;}
.ws_video_pagina .container .video iframe{position: absolute;width:100%;height: 100%;}
/* widget 25 */
.ws_noteIcona{position:relative;width:100%;padding:3rem 0;}
.ws_noteIcona .item{position:relative;width:100%;height:100%;padding:1.5rem;display:flex;justify-content: flex-start;align-items: flex-start;background-color:var(--bs-orange);color:var(--bs-black);gap:0.8rem}
.ws_noteIcona .item .ico{position:relative;display:flex;justify-content: center;align-items: center;width:40px;height:40px;}
.ws_noteIcona .item .ico img{position:relative;max-width:100%;max-height:100%;}
.ws_noteIcona .item .txt{position:relative;display:block;}
.ws_noteIcona .item .txt .titolo{font-size:2rem;text-align:left;font-weight:600;}
.ws_noteIcona .item .txt .sottotitolo{font-size:1rem;text-align:left;font-weight:300;}
/* widget 28 */

.ws_paragrafi_colonna{margin:1.2rem auto;}
.ws_paragrafi_colonna .label{position:relative;display:block;width:100%;background-color: var(--colBase);}
.ws_paragrafi_colonna .titolo{color:var(--bianco);text-align:center;font-size: 2.3rem;    padding: 2.5rem 0;}
.ws_paragrafi_colonna .titolo p{margin-bottom:0;}
.ws_paragrafi_colonna .sottotitolo{font-size: 1.85rem;font-weight:400;color: var(--colBase);padding-bottom:1rem}
.ws_paragrafi_colonna .itemBox{color:var(--nero);}
.ws_paragrafi_colonna .item{color:var(--nero);padding-bottom:2.5rem}
.ws_paragrafi_colonna .item .txt{position:relative;display:block;font-size:20px;font-weight:700;}
.ws_paragrafi_colonna .item i{font-size: 2rem;margin-top: 0!important;color:var(--bs-primary)}
.ws_paragrafi_colonna .item p{font-size: 20px;font-weight: 500;}
.ws_paragrafi_colonna .item .occhiello span{position:relative;display:block;padding-bottom:0.8rem;margin-bottom:0;}
/* widget 29 */
.ws_item_box{margin-top:50px;margin-bottom:50px;}
.ws_item_box .item{position:relative;display: flex;justify-content: center;align-items: center;width:100%;aspect-ratio:1 / 1 ;border-radius:14px;overflow: hidden;background-position: center;background-size: cover;margin-bottom:30px;}
.ws_item_box .item .testi{position:relative;display:flex;justify-content: space-between;flex-direction: column;width:80%;height:80%;}
.ws_item_box .item .testi h4{font-weight: 700;}
/* widget 33 */
.ws_testoColonna{position:relative;width:100%;padding:3rem 15px;}

/* widget 35 */
.ws_bannerFlex .boxBanner{position:relative;width:100%;}
.ws_bannerFlex .boxBanner .img{position:relative;width:60%;padding-bottom:45%;height:0;z-index:1;overflow: hidden;border-radius:18px;}
.ws_bannerFlex .boxBanner img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width: 100%;height: 100%;object-fit: cover; object-position: center;display: block;}
.ws_bannerFlex .boxBanner .titolo{color: #fff;}
.ws_bannerFlex .boxBanner .testo{position:absolute;top:50%;right:0;transform: translateY(-50%);width:70%;padding: 5rem 3rem;color:var(--bianco);border-radius:18px;z-index:10;text-align:left;background-color: #0B194F;
    color: #fff !important;}
.ws_bannerFlex .boxBanner .testo .titolo{position:relative;font-size: 42px;font-size: clamp(28px, 2vw + 5px, 42px);line-height: 1;width: 80%;}
.ws_bannerFlex .boxBanner .testo .corpo{position:relative;font-size: 20px;    font-size: clamp(14px, 1.304vw + 1.745px, 20px);padding-top:2rem;    padding-bottom: 2rem;    font-size: 18px;}
.ws_bannerFlex .fullW.boxBanner{padding-bottom: 4%;}
.ws_bannerFlex .fullW.boxBanner .img{width:100%}
.ws_bannerFlex .fullW.boxBanner .testo{top:auto;left: 5%;right:auto;transform: translateY(0%);bottom: 0;width: 60%;padding: 3rem;}
.ws_bannerFlex .reverse .boxBanner .testo{left:auto;right:5%;}

/* widget 36 */
.ws_2img_txt{padding:3rem 0 5rem}
.ws_2img_txt .row{display:flex;flex-direction: row-reverse;flex-wrap: wrap;align-items: center;}
.ws_2img_txt .img{position: relative;display: block;width:100%;height:100%}
.ws_2img_txt .img .imgA,.ws_2img_txt .img .imgB{position: relative;display: block;width:60%;height: auto;z-index:10;background-position:center;background-size: cover;}
.ws_2img_txt .img .imgA{}
.ws_2img_txt .img .imgB{position: relative;margin-top: -50%;margin-left: -40%;z-index:15;float: right;border:20px solid var(--bs-base)}
.boxImgTws_2img_txtxt32 {position: relative;width: 100.1%;height:100%;overflow: hidden;box-sizing: border-box;cursor: auto;padding-bottom: 0px;margin: 0;display:flex;justify-content: center;align-items: center;}
.ws_2img_txt .txt {position:relative;display:block;width:100%;color:var(--nero);padding:0px 0;z-index:100;text-align:left;padding:4rem 5% 4rem 0}
.ws_2img_txt .txt .titolo {position: relative;display: block;width: 90%;font-size:37px;color:var(--colBase);}
.ws_2img_txt .txt .titolo h3{font-size: 45px;
  line-height:57px;}
.ws_2img_txt .txt .sottotitolo {position: relative;display: block;font-size: 20px;margin-top: 5px;text-transform: initial;line-height: 1.5;padding-top: 10px;color: var(--bs-black);letter-spacing: 0px;width: 100%;font-weight: 400;}
/* widget 37 */
.ws_testoElenco{padding-top:3rem}
.ws_testoElenco .item i{font-size: 2rem;margin-top: 0!important;color:var(--bs-primary)}

/* widget 49 */
.ws_gallery_col{padding:3rem 0 5rem}
.gallery-grid {
  column-count: 4;          /* numero di colonne */
  column-gap: 7px;       /* spazio tra le colonne */
}

.gallery-grid .grid-item {
  display: inline-block;     /* necessario per columns */
  width: 100%;
  margin-bottom: 0px;
  break-inside: avoid;       /* evita che venga spezzato tra colonne */
}

.gallery-grid .grid-item a {
  display: block;
  position: relative;

  overflow: hidden;
}

.gallery-grid .grid-item .img img {
  width: 100%;
  display: block;
}

.ws_item_box .item h4{
font-size:23px;
}

.ws_item_box .item p{
font-size:19px;
  line-height:26px;
}


/* Rimuove il gutter Bootstrap */
.gridMasonry {
    row-gap: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

/* Riduce il margine degli item */
.gridMasonry .col-4 {
    margin-bottom: 10px !important; /* o 5px, a tua scelta */
    padding-right: 5px;
    padding-left: 5px;
}
/* widget 50 */
.ws_list_cat .item .testi{padding:10px 6%}
.ws_list_cat .item h4{font-size:24px;font-weight:700;}
.ws_list_cat .item p{font-size:18px;}


/* widget 56 */
.ws_staff .item .boxFlex{position: relative;display: flex;justify-content: space-between;}
.ws_staff .item .boxFlex .txt{position: relative;display: block;width:calc(100% - 50px);text-align:left;}
.ws_staff .item .boxFlex .btn{position: relative;display: block;font-size:30px;}
/* widget 57 */
.ws_storia h3{font-family: "Michroma", sans-serif; 
  background: #3532FF;
  background: linear-gradient(90deg,rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* fallback */
  color: transparent;
  font-size: 30px;
  line-height: 40px;
margin-bottom: 40px;}
.ws_storia h4{
  font-family: "Michroma", sans-serif;
  color:var(--bs-primary);
}
.ws_storia .item{position:relative;display:block;width:100%;margin-bottom:2rem; }
.ws_storia .item:before{content:"";position:relative;display:block;width:1px;height:60px;border-left:2px solid #3532FF;margin:20px auto;}
/* widget 60 */
.ws_loghi .box{position:relative;display:block;width:100%;padding:4rem;padding-bottom:0;border-radius: 20px;box-sizing: border-box;}
.ws_loghi .box .titolo{position:relative;display:block;width:100%;padding-bottom:4rem;color:var(--bs-white)}
.ws_loghi .box .titolo h3{font-size:37px; color: #fff; font-family: "Michroma", sans-serif; }
.ws_loghi .box .titolo .corpo{font-size:20px; font-family: "Open Sans", sans-serif;}
.ws_loghi .box .containerSwiper{position:relative;display:block;width:100%;padding:20px 0;border-top-left-radius: 20px; border-top-right-radius: 20px;box-sizing: border-box;background-color:var(--bs-white);}
.swiper-button-prev i, .swiper-button-next i{
      font-size: 30px;
}

#swiperLoghi .swiper-img img{
      max-height: 100%;
}

/* widget 66 */
.ws_cta_banner .cta_box {color:var(--bs-white)!important; border-radius: 18px; background-position: center;
    background-size: cover;}
.ws_cta_banner .cta_box .titolo{font-size:2rem; color: #fff;}
.ws_cta_banner .cta_box .titolo b{color:var(--bs-primary)}
.ws_cta_banner .cta_box .sottotitolo {font-size:2rem;color:var(--bs-primary)}
.ws_cta_banner .cta_box .btn{color:#3532FF!important;padding: 10px 20px;; background-color: #fff !important; border: none;}
/* widget 67 */
.ws_button_cta .boxBtnCta{display:flex;justify-content:center;align-items: center;width:100%;padding:15px;}
/* widget 70 */
.ws_newsSwipe{position:relative;width:100%;padding:3rem 0;}
.ws_newsSwipe .title_box{text-align:center;}
.ws_newsSwipe .title_box h2{text-align:center;font-weight:500;}

.ws_newsSwipe .subtitle_box{text-align:center;padding-bottom:3}
.ws_newsSwipe .itemNews{text-decoration: none;color:var(--bs-black)}

/* 32 Img Destra + testo */
.ws_list_alternate h2{
  margin-bottom: 25px;
}

.ws_list_alternate .corpo{
  margin-bottom: 30px;
}

/* 77 MAPPA + Contatti*/
.ws_map h3{
  font-family: "Michroma", sans-serif; 
  color: #3532FF;
  font-size: 35px;
  line-height: 50px;
  color: #fff;
}

.ws_map a{
  color: #fff;
}
.ws_map .boxMap{display:flex;justify-content: center;align-items: center;}
.ws_map .img{position: relative;display: block;width: 100%;}


.ws_form button{
  font-size: 20px;
  padding: 10px 20px;
}


#ws_footerend .img_cactus {
    margin-left: 10px;
    width: 31px;
    height: 24px;
    margin-top: -3px;
}

#ws_footerend a{
  color: #fff;
}

.social{display:flex;justify-content: center;align-items: center;gap:20px;margin:2rem 0}
.social a{font-size:24px;}

@media (min-width: 941px) {
  .alternate .item:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .itemPortfolio:nth-child(even) {flex-direction: row-reverse;}
}       
@media (max-width: 940px) {

  :root {
    --space-5: 25px;
    --space-4: 20px;
    --space-3: 15px;
    --space-2: 10px;
    --space-1: 5px;
  }

      html, body {
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; /* Migliora lo scroll su iOS */
        height: auto;
    }



    /* PADDING TOP */
    /* =========================
     PADDING
     ========================= */
  .p-5 { padding: var(--space-5) !important; }
  .p-4 { padding: var(--space-4) !important; }
  .p-3 { padding: var(--space-3) !important; }
  .p-2 { padding: var(--space-2) !important; }
  .p-1 { padding: var(--space-1) !important; }
  /* TOP */
  .pt-5 { padding-top: var(--space-5) !important; }
  .pt-4 { padding-top: var(--space-4) !important; }
  .pt-3 { padding-top: var(--space-3) !important; }
  .pt-2 { padding-top: var(--space-2) !important; }
  .pt-1 { padding-top: var(--space-1) !important; }

  /* BOTTOM */
  .pb-5 { padding-bottom: var(--space-5) !important; }
  .pb-4 { padding-bottom: var(--space-4) !important; }
  .pb-3 { padding-bottom: var(--space-3) !important; }
  .pb-2 { padding-bottom: var(--space-2) !important; }
  .pb-1 { padding-bottom: var(--space-1) !important; }

  /* START */
  .ps-5 { padding-left: var(--space-5) !important; }
  .ps-4 { padding-left: var(--space-4) !important; }
  .ps-3 { padding-left: var(--space-3) !important; }
  .ps-2 { padding-left: var(--space-2) !important; }
  .ps-1 { padding-left: var(--space-1) !important; }

  /* END */
  .pe-5 { padding-right: var(--space-5) !important; }
  .pe-4 { padding-right: var(--space-4) !important; }
  .pe-3 { padding-right: var(--space-3) !important; }
  .pe-2 { padding-right: var(--space-2) !important; }
  .pe-1 { padding-right: var(--space-1) !important; }

  /* X (left + right) */
  .px-5 { padding-left: var(--space-5) !important; padding-right: var(--space-5) !important; }
  .px-4 { padding-left: var(--space-4) !important; padding-right: var(--space-4) !important; }
  .px-3 { padding-left: var(--space-3) !important; padding-right: var(--space-3) !important; }
  .px-2 { padding-left: var(--space-2) !important; padding-right: var(--space-2) !important; }
  .px-1 { padding-left: var(--space-1) !important; padding-right: var(--space-1) !important; }

  /* Y (top + bottom) */
  .py-5 { padding-top: var(--space-5) !important; padding-bottom: var(--space-5) !important; }
  .py-4 { padding-top: var(--space-4) !important; padding-bottom: var(--space-4) !important; }
  .py-3 { padding-top: var(--space-3) !important; padding-bottom: var(--space-3) !important; }
  .py-2 { padding-top: var(--space-2) !important; padding-bottom: var(--space-2) !important; }
  .py-1 { padding-top: var(--space-1) !important; padding-bottom: var(--space-1) !important; }


  /* =========================
     MARGIN
     ========================= */

  /* TOP */
  .mt-5 { margin-top: var(--space-5) !important; }
  .mt-4 { margin-top: var(--space-4) !important; }
  .mt-3 { margin-top: var(--space-3) !important; }
  .mt-2 { margin-top: var(--space-2) !important; }
  .mt-1 { margin-top: var(--space-1) !important; }

  /* BOTTOM */
  .mb-5 { margin-bottom: var(--space-5) !important; }
  .mb-4 { margin-bottom: var(--space-4) !important; }
  .mb-3 { margin-bottom: var(--space-3) !important; }
  .mb-2 { margin-bottom: var(--space-2) !important; }
  .mb-1 { margin-bottom: var(--space-1) !important; }

  /* START */
  .ms-5 { margin-left: var(--space-5) !important; }
  .ms-4 { margin-left: var(--space-4) !important; }
  .ms-3 { margin-left: var(--space-3) !important; }
  .ms-2 { margin-left: var(--space-2) !important; }
  .ms-1 { margin-left: var(--space-1) !important; }

  /* END */
  .me-5 { margin-right: var(--space-5) !important; }
  .me-4 { margin-right: var(--space-4) !important; }
  .me-3 { margin-right: var(--space-3) !important; }
  .me-2 { margin-right: var(--space-2) !important; }
  .me-1 { margin-right: var(--space-1) !important; }

  /* X (left + right) */
  .mx-5 { margin-left: var(--space-5) !important; margin-right: var(--space-5) !important; }
  .mx-4 { margin-left: var(--space-4) !important; margin-right: var(--space-4) !important; }
  .mx-3 { margin-left: var(--space-3) !important; margin-right: var(--space-3) !important; }
  .mx-2 { margin-left: var(--space-2) !important; margin-right: var(--space-2) !important; }
  .mx-1 { margin-left: var(--space-1) !important; margin-right: var(--space-1) !important; }

  /* Y (top + bottom) */
  .my-5 { margin-top: var(--space-5) !important; margin-bottom: var(--space-5) !important; }
  .my-4 { margin-top: var(--space-4) !important; margin-bottom: var(--space-4) !important; }
  .my-3 { margin-top: var(--space-3) !important; margin-bottom: var(--space-3) !important; }
  .my-2 { margin-top: var(--space-2) !important; margin-bottom: var(--space-2) !important; }
  .my-1 { margin-top: var(--space-1) !important; margin-bottom: var(--space-1) !important; }
    
    #content{margin-top:20px!important}
    .container{width:90vw;margin:0 auto;padding:0;}
    #header,.headerTop,#header .row{height:70px!important}
    #header .row{position:relative;width: 100%;justify-content: space-between;--bs-gutter-x: 0;}
    #header .container{width:100%;}
    #header .logo{margin-left:2vw;width: 100px;display: block;}
    #header .search{position:fixed;top: auto;bottom: -120px;left:0;width: 100vw!important;z-index:2000;transform: translateY(0);background-color: #fff;padding: 0.8rem 0.8rem 1.4rem 0.8rem;}
    #header .open.search{bottom: 60px;}
  #header .text-end {position: relative;top: 0;right: auto;width: 100%;transform: translateY(0%);left: 0;justify-content: flex-start;padding-left: 20px;margin-top: 50px;}

 .navbar-nav{padding-top:3rem}
    .nav-link{padding:0 2.5rem;}

    .navbar-toggler{border:0;}
    .navbar-collapse {
        position: fixed;
        display: block !important;
        top: 70px;
        left: 101vw;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        opacity: 0;
        transition: left 0.4s ease, opacity 0.4s ease;
        z-index: 1000;
    }

    .open.navbar-collapse {
        left: 0;
        opacity: 1;
    }

    .dropdown-menu {
        padding: 0 1.5rem;
        border: 0;
        margin: 0;
        padding-bottom: 20px;
    }
    .dropdown-item{font-size:14px;}

h1{
  font-family: "Michroma", sans-serif; 
  background: #3532FF;
  background: linear-gradient(90deg,rgba(53, 50, 255, 1) 34%, rgba(85, 189, 228, 1) 71%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* fallback */
  color: transparent;
  font-size: 30px;
  line-height: 40px;
}

h2{
  font-family: "Michroma", sans-serif; 
  color: #3532FF;
  font-size: 24px;
  line-height: 40px;
}


h3{
  font-family: "Open Sans", sans-serif;
  color: #3532FF;
  font-size: 20px;
  line-height: 32px;
}
p {
    margin-top: 0;
    margin-bottom: 10px;
}

#title_sfumato .title_box{
  font-size: 30px;
}

.ws_item_box .item .testi{
  height:auto;
}

.nav-item a{
  margin-bottom: 12px;
}

.title_box{font-size: 24px;}
.subtitle_box{font-size:20px;}
.text_box{font-size:16px;}
.btn, .btn-primary{font-size:16px;}

/*  .navbar-nav{display:none;}
    .nav-link{padding:0 2.5rem;}
.navbar-toggler-icon{filter: invert(1);}
     .navbar-collapse {
        position: absolute;
        display: block !important;
        top: 17px;
        right: 15px;
    }
    .navbar-collapse .btn{margin-left:2.5rem} 

    .open.navbar-collapse {
        left: 0;
        opacity: 1;
    }

    .dropdown-menu {
        padding: 0 1.5rem;
        border: 0;
        margin: 0;
        padding-bottom: 20px;
    }
    .dropdown-item{font-size:14px;}
    .menu_offcanva .items a{font-size:24px;}
    .menu_offcanva .items .submenu a{font-size:18px;} */

  .ws_testoElenco .title_box{
      text-align:left;
      padding-bottom:0px;
      width:100%;
  }
  
  .ws_testoElenco p{
  font-size:16px !important;
    font-weight: 400 !important;
  }

  #ws_risorse .itemRisorse{display:block;}
  #ws_risorse .itemRisorse img{width:100%;}
  #ws_risorse .itemRisorse .txt{width:100%;padding:20px 0}
    
    
  .ws_text_paraghraph .occhiello{
    font-family: "Open Sans", sans-serif;
    font-size:30px;
    font-weight:bold;
    margin-bottom:15px;
  }

   .ws_VisualTop{margin-bottom:20px ;}
   
  .ws_VisualTop .banner .img{    position: absolute;
    height: 100%;}

  .ws_VisualTop .text .title_box{
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 40px !important;
    line-height:40px;
  }

  .ws_VisualTop .text{
    width: 100% !important;position:relative;top:0;left:0;transform: translate(0,0);padding:6vw;background-color:var(--bs-base2);
  }
    


  /* widget 4 */
  .ws_BannerFullScreen{}
  .ws_BannerFullScreen .banner{}
  .ws_BannerFullScreen .text{width: 100%;padding:0 5%;}
  .ws_BannerFullScreen .text .btn{margin-top:20px}
  .ws_BannerFullScreen .title_box{font-size: 24px;}


  .ws_paragrafi_colonna .item{padding-bottom:20px;}
  .ws_paragrafi_colonna .item i{font-size:25px;;}
  .ws_paragrafi_colonna .item p{font-size: 16px;}
  .ws_paragrafi_colonna .text_box{padding-bottom:10px;}

  .ws_2img_txt .txt .titolo h3{font-size: 22px;line-height:1.4}
  .ws_2img_txt .txt .sottotitolo{font-size: 18px;}
  .ws_2img_txt .txt {text-align:center!important;padding:20px 3%!important;}

  

 
    
  .ws_noteIcona{
        padding: 3rem 15px !important;
  }

  .menu_footer .nav{display:block;text-align:center;padding-bottom:10px;}
  
  .ws_loghi .box{
        padding: 20px;padding-bottom:0;
  }
   /* widget 30 */
  .ws_text_paraghraph .abstract img{padding:20px 0;}
  /* widget 32 */
  .ws_bannerFlex .boxTesti{padding:0!important} 
  .ws_bannerFlex .fullW.boxBanner .testo {
    position: relative;
    width: 100%;
    right: auto;
    padding: 5%;
    margin-top: 10px;
  }
  /* widget 50 */
  .ws_list_cat .item .img{width:100%;}
  /* widget 66 */
  .ws_cta_banner .cta_box .titolo{font-size:24px;line-height: 1.4; }
  .ws_cta_banner .cta_box .sottotitolo {font-size:20px;}
  .boxCta66 .row.d-flex.align-items-center{
  padding: 3% !important;}
  .ws_cta_banner .cta_box .btn{margin-top:40px;}
  /* widget 77 */
  .ws_map .boxMap{margin-bottom:50px;}


}                                                                                    