    /** * C U S T O M  F O N T S  E M B E D 
    ==================================================================================*/

    @import url('https://fonts.googleapis.com/css2?family=Antonio:wght@100..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

    @import url('https://fonts.googleapis.com/css2?family=League+Gothic&display=swap');
    @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');





    /** * V A R I A B I L I
    ==================================================================================*/

    :root {
        
        /** --------------- GESTIONE FONTS ----------------- */
        
        --font:             'Roboto';
        --titoli:           'League Gothic';


        
         /** --------------- GESTIONE COLORI ----------------- */
                
        --bianco:           #fff;   
        --nero:             #111;
        

    }

    /** * ANIMAZIONI
    ==================================================================================*/


    

    /** * STRUTTURA
    ==================================================================================*/

    html, body              {  }
    body            		{ font-family: var(--font), Serif; font-weight: 400;  color: #333;   }

    body.menu-open { overflow: hidden; /* blocca lo scroll verticale */ height: 100vh; /* impedisce il rimbalzo su mobile */}
    
   
    section.banner, section.header-alt          { padding: 20px 0 ; }
    section#staff           { padding: 0 0 40px 0 ; }
    section.azienda         { padding: 0; }
    .menu                   { background-color: var(--giallo); }


    #layer                  { display: block; background-color: rgba(0, 0, 0, .65);  position: absolute; top: 0; width: 100%; z-index: 1; }

    .banner {
        width: 100%;
        height: 500px;               
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        transition: opacity 0.4s ease-in-out; 
        opacity: 1;
    }

    .grecaptcha-badge   { display: none !important;}

/** * ROYALSLIDER  ---------------------------------------------------------------------------*/

        .royalSlider {
            position: absolute !important;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            height: 100vh !important;   /* copre l'intero viewport */
            min-height: 600px !important; /* opzionale: mantiene almeno 600px su desktop */
            width: calc(100% - 0px) !important;
        }


        .rsSlide, .rsMainSlideImage     { z-index: 0 !important; } 
        .rsOverflow, .rsContainer       { z-index: 0 !important; }




/** * IG GRID ---------------------------------------------------------------------------*/

        .eapps-instagram-feed-title { display: none !important; }
        .home #eapps-instagram-feed-1 { margin: auto; width: 100%;  }                     

        #eapps-instagram-feed-1 .eapps-instagram-feed-header { background: transparent; } 
        .eapps-instagram-feed-posts-item-template-tile .eapps-instagram-feed-posts-item-image { filter: grayscale(0); } 
        .eapps-instagram-feed-popup-item-media-image img { filter: grayscale(0); }


        .header-alt             { background-color: #000; position: relative; }

        #banner-centro          { background-image: url(../img/banner-centro.jpg); background-repeat: no-repeat; display: flex; justify-content: center; flex-direction: column; background-position: center center; position: relative;  padding: 20px; }    

        #shop          { background-image: url(../img/shop.webp); background-repeat: no-repeat; background-size: cover; display: flex; justify-content: center; flex-direction: column; background-position: center center; height: 600px; }

        #banner-centro h4, #banner-centro .btn { margin: 0 40px 40px 0;}


        .container-fluid        { padding: 0}

        .site-description       { display: none; }

        header                  { padding:0; position: relative; z-index: 2; }
        .pagina                 { padding: 40px 0; }
        .contatti               { padding: 0 0 80px 0   ; }

        footer                  { display: block; padding: 40px 100px; background-color: #000; color: #fff; position: relative;}
        .logo-foot              { width: 120px; height: auto; margin-bottom: 40PX;}


        .free                   { width:70px; height:auto; margin: 40px 0;}

        #address                { position: absolute;  color: #fff; }
        #address .loghi-add     { width: 200px; height: auto; }
        #address p              { font-size: 14px; }
        #address h3              { font-size: 2.5rem; }

/** * SPONSORS ---------------------------------------------------------------------------*/

        #sponsors               { border-bottom: solid 1px #666; margin-bottom: 60px; padding-bottom: 60px;} 


        /* Contenitori generali */
        #sponsors .item {
          display: flex;
          justify-content: center;   /* centra orizzontalmente */
          align-items: center;       /* centra verticalmente */
          height: 70px;              /* altezza standard */
        }

        /* Loghi standard */
        #sponsors .item img {
          max-height: 100%;
          width: auto;
          object-fit: contain;
          display: block;

        }


    #prova          { position: relative; }


    
/** * SUMUS ---------------------------------------------------------------------------*/


    .sumus {  display: block; width: 200px; height: 200px; overflow: hidden; } 
    .sumus::before, .sumus::after { content: ""; position: absolute; inset: 0; background-size: cover; background-position: -5px 0; transition: opacity 0.6s ease-in-out; }

    /* prima immagine visibile */ 
    .sumus::before { background-image: url("../img/scudo.png"); opacity: 1; z-index: 2; } 

    /* seconda immagine invisibile */ 
    .sumus::after { background-image: url("../img/sumus.png"); opacity: 0; z-index: 3; } 

    /* al hover: la prima svanisce, la seconda compare */ 
    .sumus:hover::before { opacity: 0; } 
    .sumus:hover::after { opacity: 1; }



/** * SITE TITLE EFFECT ---------------------------------------------------------------------------*/

    .site-title { width: 120px; height: 120px; margin: 0 auto; position: relative; } 
    .site-title a { display: block; width: 120px; height: 120px; position: relative; } 
    .site-title img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity 0.6s ease; }

    /* Hover cross-fade */
    .site-title img.front { opacity: 1; z-index: 2; }
    .site-title img.back  { opacity: 0; z-index: 1; }
    .site-title a:hover .front { opacity: 0; }
    .site-title a:hover .back  { opacity: 1; }



/** * OWL CAROUSEL ---------------------------------------------------------------------------*/

    /* stile generale */
    .owl-nav {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      display: flex;
      justify-content: space-between; /* ai lati */
      transform: translateY(-50%);
      pointer-events: none;
    }

    .owl-nav button {
      background: none;
      border: none;
      font-size: 2.5rem;
      color: #333;
      pointer-events: all;
      cursor: pointer;
    }

    /* stile solo su mobile */
    @media (max-width: 767.98px) {
        
        .owl-nav {
        position: static;        /* non assoluto */
        justify-content: center; /* frecce centrate */
        gap: 40px;               /* spazio tra le frecce */
        transform: none;
        }

        .owl-nav button i {
        font-size: 3rem;               /* più grandi su mobile */
        color: #000;                   /* colore più visibile */
        }
        
    }




/** * SEZ. DOWNLOAD ---------------------------------------------------------------------------*/

    .page-id-551 ul.ddownloads_list { padding: 0;}

    .page-id-551 .ddownloads_list li { display: block;float: left;height: 180px;border: 1px solid #eee;line-height: 18px;margin: 20px; position: relative;text-align: center; border-radius: 10px; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; transition: transform 0.3s ease, color 0.3s ease; }

    .page-id-551 .ddownloads_list li a { font-size: 16px; font-weight: 800; color: #333; text-transform: uppercase; text-decoration: none; }

    .page-id-551 .ddownloads_list li:hover { transform: translateY(-10px); }


     .page-id-551 .ddownloads_list li::after {
      content: "";
      display: inline-block;
      width: 2em;
      height: 2em;
      background: url("https://icons.getbootstrap.com/assets/icons/filetype-pdf.svg") no-repeat center;
      background-size: contain;
      position: absolute;
      left: 45%;
      top: 50px;
      z-index: 1;
    }


/** * VARIE ---------------------------------------------------------------------------*/

    #social_menu        { padding-right: 80px; white-space: nowrap; }
    #social_menu a      { color: #fff; transition: transform 0.3s ease, color 0.3s ease; display: inline-block;}

    #social_menu a:hover  { transform: translateY(-4px); color: #999; }


    #map    { width:100%; height: 500px; margin-bottom: 80px;}

    .leaflet-popup-content h3 { font-size: 20px;}
    .leaflet-popup-content p { font-size: 14px;}



/** * STAFF ---------------------------------------------------------------------------*/

    
    .people        { margin: 20px 0; text-align: center;  }
	.people h4     { font-size: 26px; }
	.people h5     { font-size: 21px; }
	.people p      { margin:0 0 5px 0; text-align: center;  }
	.people a      { color: #666; }
	.people a:hover      { color: #000; }
	.people i      { margin-right: 10px; }

    .card       { position: relative; display: inline-block; border: none; margin-bottom: 20px; } 
    .card img   { max-width: 100%; height: auto;   transition:  opacity 400ms; margin: 0 auto; }
    .card .img-top          { opacity: 0; position: absolute; top: 0; left: 0; z-index: 99; } 
    .card:hover .img-top    { display: inline; opacity: 1; }




/** *   FORM  ------------------------------------------ */

    .form           { background-color: #eee; }
    .form h3        { color: #000; }
    .form h4        { font-size: 2rem; }

    div.col-lg-6.col-12.text-end input[type="submit"]   { margin-left: auto; display: block;}

    p.wpcf7-list-item-label                             { font-size: 12px; line-height: 100%; hyphens: none; text-align: left;}

    .form-group { margin-bottom: 25px;}

    .wpcf7-acceptance input { margin-right: 10px;}

   

/** *   NUMERI  ------------------------------------------ */

        #banner-centro {
          display: flex;
          flex-direction: column;
          justify-content: space-between; /* spinge h3 in alto e .stats-row in basso */
          padding: 2rem;
        font-family: var(--titoli), 'serif';
        }

    #banner-centro h3 {  color: #fff; }

     
    #banner-centro .stat-item:hover { transform: translateY(-5px); box-shadow: 0 4px 10px rgba(0,0,0,0.1); }

    #banner-centro .stat-value { font-weight: bold; color: #fff;} 
    #banner-centro .stat-label {  margin: 0; color: #fff; font-weight: 400;}


/** * SCROLL  ---------------------------------------------------------------------------*/

    .c-scrolldown { width: 1px; height: 100px; position: absolute; bottom: 20px; left: 0; right: 0; margin: 0 auto; overflow: hidden; z-index: 9999; } 
    .c-scrolldown .c-line { width: 100%; height: 100%; display: block; background: linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 50%); background-position: 0 -60px; background-size: 100% 200%; animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite; }


    @keyframes scrolldown { 0% { background-position: 0 -100px; } 75% { background-position: 0 0; } 100% { background-position: 0 100px; } }



    /** * MENU
    ==================================================================================*/


    #toggle         { display: block; width: 30px; z-index: 2001 !important; }  


    .button_container {
      position: absolute;
      left: 40px;
      top: 85px;
      height: 27px;
      cursor: pointer;
      transition: opacity .25s ease;
        z-index: 2001 !important;
      
    }

    .button_container:hover {
      opacity: .7;
    }
    .button_container.active .top {
      -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
              transform: translateY(11px) translateX(0) rotate(45deg);
      background: #FFF;
    }
    .button_container.active .middle {
      opacity: 0;
      background: #FFF;
    }
    .button_container.active .bottom {
      -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
              transform: translateY(-11px) translateX(0) rotate(-45deg);
      background: #FFF;
    }
    .button_container span {
      background: #fff; ;
      border: none;
      height: 2px;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      transition: all .35s ease;
      cursor: pointer;
    }
    .button_container span:nth-of-type(2) {
      top: 11px;
    }
    .button_container span:nth-of-type(3) {
      top: 22px;
    }


    .overlay {
      position: fixed;
      background: rgba(0, 0, 0, 0.95); 
      top: 0;
      left: 0;
      width: 100%;
      height: 0%;
      opacity: 0;
      visibility: hidden;
      overflow: hidden;
    }

    .overlay.open {
        opacity: 1;
        visibility: visible;
        height: 100vh;
        overflow: hidden;
        z-index: 2000;
    }

    .menumain          { width:50vw; display: block; margin: 150px 0 0 40px;}

    ul.nav             { display:flex; flex-direction:row; justify-content:flex-start; }
    ul.nav li          { list-style:none; margin-right: 50px; flex:1;  }
    ul.nav li a        { color: #fff; font-family: var(--titoli), 'serif'; text-transform: uppercase; text-decoration: none;  }    
    ul.nav li a:hover  { color: var(--giallo);}    

    ul.menu-verticale               { position: absolute; top: 200px; left: 0;}
    ul.menu-verticale li            { list-style:none;  }
    ul.menu-verticale li a          { color: #fff; font-family: var(--titoli), 'serif'; text-transform: uppercase;}
    ul.menu-verticale li a:hover    { color: var(--giallo); }

    ul.sub-menu         { margin:40px 0 0 0; padding: 0;  }
    ul.sub-menu li      { padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2);  }
    ul.sub-menu li a    { font-family: var(--font), 'serif' !important; text-transform: none !important; font-size: 16px !important; }

     .nav-bar-mobile {display: none; top: 350px; padding: .5rem 2.5rem;}


    .hover-color {
      filter: grayscale(100%);

      transition: filter 0.2s ease; /* animazione morbida */
    }

    .hover-color:hover {
      filter: grayscale(0%);
    }

    .img-white {
      filter: grayscale(100%) brightness(800%);
      transition: all 0.2s ease;
    }

    .img-white:hover {
      filter: none;
    }



    /** *   T I P O G R A F I A
    ==================================================================================*/

    html 				  { text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none;} 
    body 				  { *zoom: 1; text-align: left; overflow-x: hidden; -ms-word-wrap: break-word; word-wrap: break-word; }

    em                    { font-family: var(--corsivo); }

    a, input, submit, textarea, button, .btn-default { transition: all 0.4s ease-out 0s; }

    p       { margin-bottom: 20px; line-height:160%; hyphens: auto; }

    
    h1, h2, h3,h4, h5, h6    { font-family: var(--titoli), 'serif'; font-weight: 400;    }

    h3              { text-transform: uppercase;   }
    .azienda h3     { margin:80px 0;   }
    .page h3        { margin: 40px 0 20px 0;   }


    /** *   PAGINA  ------------------------------------------ */

    .pagina h3  { font-size: 2.3em;   margin: 40px 0 20px; }
    .pagina h3:first-child  { margin: 0px 0 40px; }
    .pagina h4  {  margin: 20px 0 20px; }    

    /** *   SHOP  ------------------------------------------ */

    #shop p      { color: #fff; hyphens: none; padding: 40px 0; }
    #shop h3     { color: #fff; 0; }

    .shop a        { color: #EC909E !important; }


    /** *   FOOTER ------------------------------------------ */

    footer h2           {  font-size: 40px;  text-transform: uppercase; }
    footer h3           {  font-size: 24px; margin-bottom: 20px; }
    footer p            { font-weight: 400; font-size: 13px; line-height: 150%;   }
    footer a            { color: #fff; text-decoration: none; position: relative; display: inline-block;  }
    footer a:hover      { color: #ccc; ;  }

    footer a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right;  transition: transform 0.3s ease;}
    footer a:hover::after { transform: scaleX(1); transform-origin: left; }


    
    /** *   VARIE ------------------------------------------ */

    .titoletto  { font-size: 28px; font-weight: 600; line-height: 32px; color:var(--giallo); }
    #banner-centro h4       { color: #fff;  font-weight: 700; width: 50vw; text-align: right; }


    
    /** *   TITOLO ------------------------------------------ */
    
    #titolo                 { text-align: center;}

    #titolo h2             { color: var(--bianco); letter-spacing: 1px; z-index: 2; font-size:50px; text-transform: uppercase;} 
    #titolo h6             { font-size:11px;   font-family: var(--hand), 'serif'; color: var(--giallo);  } 

    #crumbs                 { color: var(--bianco) !important;  }
    

    .btn-default          { background-color: #086F38; color:#fff; font-size: 12px; text-transform: uppercase; letter-spacing: 1px;  border-color: #086F38;}
    .btn-default:hover    { background-color: #000; color:#fff; }
    .button:hover         { background-color: #000; color:#fff; }
    
    a                     { }
    a:link                { }
    a:focus               { outline: 0;}
    a:hover               { text-decoration:none; }

    ul { list-style: none; margin-left: 0; padding-left: 0; }


    .widget ul                { margin:20px 0;; padding: 0; list-style-type: none; }
    .widget ul li             { border-bottom: 1px solid #eee;  padding: 10px 0; }
    .widget ul li a           { font-size: 14px; font-weight: 400; color: #086F38; }
    .widget ul li a:hover     { color:#222; }

    .footwid ul                { margin:0; padding: 0; list-style-type: none; }
    .footwid ul li             {  }
    .footwid ul li a           { font-size: 14px; text-decoration: none !important; }
    .footwid ul li a:hover     { color:var(--rosso); }

    ul.sitemap          { columns: 2; -webkit-columns: 2; -moz-columns: 2; list-style-type: none; padding: 0; margin: 40px 0;  column-gap: 40px;}
    ul.sitemap li       { line-height: 30px; }
    ul.sitemap li a     { color: var(--gold); text-decoration: none; border-bottom: 1px dotted rgba(212, 165, 53, 0.5); padding-bottom: 1px; }
    ul.sitemap li a:hover     { color: var(--maincolor);  }

    .singolo ol         { }
    .singolo ol li      { line-height: 120%; padding: 10px;}

    .singolo h4:first-child         { margin: 0 0 20px 0;}
    .singolo h4                     { margin: 40px 0 20px 0;}


    /** *  HERO  --------------------------------------------------------------------- */

    .banner h2                 { color: #FFF; margin-bottom: 40px; text-transform: uppercase;  }


    /** *  CREDITS  ------------------------------------------------------------------- */

    #credits            { padding: 40px;}       
    #credits img        { height: 90px; width: auto; }       
    #credits small      { text-transform: uppercase; font-weight: 600; font-size: 10px;  }   


    /** *   F O R M
    ==================================================================================*/

    span.wpcf7-list-item { margin: 0;}


    /** * G U T E N B E R G
    ==================================================================================*/

    .alignwide          { margin: 32px calc(25% - 25vw); max-width: 100vw;}
    .alignwide img      { max-width: 1600px; display: inline; }
    
    .alignleft,.alignright  { margin-bottom: 20px;    width: 40%; }
    .alignleft              { float: left;	margin: 5px 40px 30px 0; }

    .alignfull              { margin: 50px calc(50% - 50vw); max-width: 100vw; width: 100vw;}

    .wp-block-cover .wp-block-cover-image-text, .wp-block-cover .wp-block-cover-text, .wp-block-cover h2, .wp-block-cover-image .wp-block-cover-image-text, .wp-block-cover-image .wp-block-cover-text, .wp-block-cover-image h2 {  font-size: 28px; color: #fff; font-weight: 200; letter-spacing: 4px; text-transform: uppercase; }

    .wp-block-cover, .wp-block-cover-image { min-height: 500px;}




    /** * BTN
    ==================================================================================*/

    .btn    { font-family: var(--titoli); text-transform: uppercase; font-size: 21px; }

    .btn-primary {
        color:                  var(--rosso);
        background-color:       var(--giallo);
        border-color:           var(--giallo);
        text-transform:         uppercase;

        font-size:              16px !important;
      
    }

    .btn-primary:hover {
        color:                  var(--giallo);
        background-color:       var(--rosso);
        border-color:           var(--rosso);
    }

    .btn-primary.disabled,
    .btn-primary:disabled {
        color:                  var(--maincolor);
        background-color:       #eee;
        border-color:           #666;
    }

    .btn-outline-primary {
        
        color:                  var(--nero);
        background-color:       transparent;
        border-color:           var(--nero); 
    }

  .btn-outline-primary:hover {
        color:                  var(--bianco);
        background-color:       var(--nero);
        border-color:           var(--nero);
    }
  


    /** * MENU
    ==================================================================================*/
    
    address                         { color: var(--bianco); text-align: right; }
    address h3                      { font-size: 1.4em; }
    address a                       { color: var(--bianco); }

    #menu-menu  { }
    #menu-menu a        { color: var(--bianco); font-size: 1.5em; font-weight: 600; text-decoration: none; text-transform: uppercase; letter-spacing: 1px;}
    #menu-menu a:hover  { color: var(--second); }

    #menu-menu .sub-menu         { margin: 10px 0;}
    #menu-menu .sub-menu a       { font-size: 0.7em; }




    /** * W I D G E T
    ==================================================================================*/
    
    .widget         { margin:  0 0 40px 0;}

    /** * BLOG ------------------------------------------------------------------------ */

    .post-header        { margin-bottom: 80px; }

    .post-meta          { margin-top: 10px; padding-top: 16px; font-size: 1rem; color: #999}

    .post-comments      { float: right; }
    .post-comments .fa  { position: relative; top: -1px; margin-right: 6px }
    .post-meta a        { color: var(--rosso); text-decoration: none }

    .post-categories a { font-size: 14px; text-decoration: none; color: var(--rosso); text-transform: uppercase; font-weight: 600;}




    /** *   R E S P O N S I V E
    ==================================================================================*/
    

        @media all and (max-width: 986px) {
            
        

        
        html, body  { overflow-x: hidden;}
        body        { position: relative}
        
        section                 { padding: 40px 0 ; }

        #menu-icon      { display:block; }
        .grid           { padding: 10px; }

        #social_menu a      { padding-right: 20px; }
        #social_menu a i    { font-size: 18px;}

        #banner-centro              { background-position: right center; height: 500px; }
        #banner-centro h3           { font-size: 2rem; line-height: 100%; margin: 20px;  }
        #banner-centro .stats-row   { margin: 0  0 0 200px;} 

        #banner-centro .stat-value { font-size: 3rem; } 
        #banner-centro .stat-label { font-size: 1rem; }

        .people        { padding:0 20px; }
        .people p      { font-size: 13px; }

        #address        { left: 40px; bottom: 40px; }
        #address h3     { font-size: 21px; }
        #address p      { font-size: 13px; }

        ul.nav li          { line-height: 180%; }
        ul.nav li a        { font-size: 2.5rem; }

        .royalSlider {
            position: absolute !important;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;             /* non lasciamo spazio sotto */
            width: 100% !important;
            height: 100vh !important;  /* riempi tutto lo schermo */
            object-fit: cover;         /* le immagini coprono */
        }

        .page-id-551 .ddownloads_list li { width: calc(100% - 40px); padding: 90px 30px 10px 30px;  }

        #shop   { padding: 0 20px;}
        .form   { padding: 0 20px;}

        .banner         { height: 100vh;  overflow: hidden;  position: relative; }
        .banner img     { object-fit: cover;  width: 100%; height: 100%;}

        #address        { display: none; }
            
            #layer                  {  height: 100dvh;  }
        
       
        
        /** * TIPOGRAFIA--------------------------------------- */

        h3              { font-size: 2em; line-height: 100%; }
        .staff          { padding: 0 20px; }


  
    }


    /** * ---------------------------------------------------------------------------------------------- */

    @media all and (min-width: 986px) {
        
        #layer                  {  height: 100%;  }
        
         section                 { padding: 80px 0 ; }
        

        
        .title:after            { background-position: left 0; }
        #banner-centro h2       { font-size: 26px !important; line-height: 36px; }
        
        section.preventivo      { padding: 0 0 80px 0 !important; }
        
        #credits small          { display: block; padding: 0 0 20px 0; }
        .comune                 { margin-top: 30px; }
         
        .grid                   { padding: 80px; }
        
        #social_menu a          { padding-right: 40px; }
        #social_menu a i        { font-size: 24px;}
        
        #banner-centro h3 {  font-size: 5rem; line-height: 95%; margin: 80px; }
        #banner-centro .stats-row {   display: flex;}
        
        #banner-centro .stat-item { display: flex; align-items: center; /* allinea verticalmente numero e testo */ gap: 0.5rem; /* spazio tra numero e scritta */   transition: transform 0.3s ease, box-shadow 0.3s ease;
} 
        #banner-centro .stat-value { font-size: 6rem; } 
        #banner-centro .stat-label { font-size: 2rem; }
        
        .people        { padding:0 40px; margin-bottom: 80px;  }
        .people p      { font-size: 15px;  }
        
         #address      { right: 40px; top: 150px; }
        
        .card          { width: 150px; height: auto; }
        
        ul.nav li          { line-height: 200%; }
        ul.nav li a        { font-size: 3rem; }
        
        .page-id-551 .ddownloads_list li { width: calc(25% - 40px); padding: 100px 45px 10px 45px; }
        
        
         .sumus { position: absolute; bottom:60px; right: 60px;  } 
        
        /** * TIPOGRAFIA--------------------------------------- */
        
        body           { font-size: 18px; }

        h3             { font-size: 3em; }
        
       



    }



    /** * ==================================================================================*/

    @media (max-width: 480px) {
        
          
        .site-title             { height: 112px; width: 112px; margin: 20px auto; }   
        .site-title a           { display: block; height: 112px; width: 112px; }
        
        .menumain               { width:50vw; display: block; margin: 200px 0 0 40px;}

        .menunav                { padding-bottom: 40px; background-color: transparent; }
        .navbar-toggler         { margin: 20px auto; border-color:transparent !important; }
        .navbar-nav             { text-align: center; margin-bottom: 40px; }
        .navbar-nav li          { border-bottom: 1px solid #dcaf12;  }

        footer                  { text-align: center; padding-bottom: 240px; }
        footer p                { text-align: center; }
        
        .navbar-light .navbar-nav .nav-link     { color:var(--maincolor); }
        
        .banner                 { min-height:550px; }

        .claim                  { width: 80vw; position: absolute; bottom:100px; left: 40px; z-index: 3;  }
        .banner h2              { font-size: 21px; line-height: 28px; margin-bottom: 40px; text-align: center;}
        
        #banner-centro          { background-size:cover; }
        #banner-centro h2       { font-size: 18px; line-height: 26px; max-width: 80vw; margin-left: 40px; }
        #banner-centro .btn     { margin-left: 40px; }
       
        .scelta                 { text-align: center; }
        .scelta .icona          { margin: 20px 0; }
        
        .singolo, .preventivo   { padding: 80px 40px 20px 40px !important;}
        .title                  { line-height:20px; padding: 0 20px;}
        
        #crumbs                 { margin-bottom: 20px; }
        
        #contatti               { font-size: 16px; }
        #contatti .row > div    { margin: 5px 0; }
        .servizi > div          { margin: 5px 0; }
    
        
        .pagina             { padding: 40px 20px; }
        
        #news .row > div    { margin-bottom: 40px; }
        
        #credits            { text-align: center; }
        #credits small      { display: block; padding: 50px 0 20px 0; }
        #credits img        { width: 240px; height: auto; margin-bottom: 40px; }
        
        .sumus { position: absolute; left: 50%; transform: translateX(-50%);}
        
        .overlay {
            
            height: 100dvh !important; /* preferito */
        }


      }

    /** * ==================================================================================*/

    @media (min-width: 480px) and (max-width: 768px) {
        
            html, body          { overflow-x: hidden;}
            body                { position: relative}

            .site-title     { width: 120px; height: 120px; } 
            .site-title a   { width: 120px; height: 120px; }
        
            .sumus { position: absolute; right: 0px; bottom: 80px; }
        
    
      }

    /** * ==================================================================================*/



    /** * ==================================================================================*/

    @media (min-width: 769px) and (max-width: 1024px)      {
        
        
        
        
        html, body          { overflow-x: hidden;}
        body                { position: relative}
        
        .site-title         { width: 120px; height: 120px; } 
        .site-title a       { width: 120px; height: 120px; }
        
        .title              { height: 80px; line-height:80px; padding: 0 20px;}
        #titolo             { margin: 40px 0 20px 0;}
        
        #social_menu        { padding-right:0 !important;  }
        #layer              {  height: 100vh;  }
        
            .banner {
                position: relative;
                min-height: 100vh;
                /* lo spazio è gestito dalla sezione */
            }

            .banner .royalSlider {
                width: 100% !important;
                height: 100vh !important;
                /* occupa l’intero viewport */
                min-height: 600px !important;
                /* opzionale, per desktop */
            }
        
        #banner-centro .stats-row {  margin: 10px;  gap: 5rem; /* spazio tra i vari item */}
        
        footer                  {  padding-bottom: 240px !important; }
        
        
         .sumus { position: absolute; right: 0px; bottom: 0px; }

    }

    /** * ==================================================================================*/


/* Extra large (desktop) */
@media (min-width: 1025px) and (max-width: 1280px) { 


        .site-title { width: 180px; height: 156px; } 
        .site-title a { width: 180px; height: 156px; }
        
        .title                 { height: 80px; line-height:80px; padding: 0 20px;}
        #titolo                 { margin: 40px 0 20px 0;}

        
        html, body  { overflow-x: hidden;}
        body        { position: relative}
        
        #layer                  {  height: 100vh;  }
        
            .banner {
                position: relative;
                min-height: 100vh;
                /* lo spazio è gestito dalla sezione */
            }

            .banner .royalSlider {
                width: 100% !important;
                height: 100vh !important;
                /* occupa l’intero viewport */
                min-height: 600px !important;
                /* opzionale, per desktop */
            }
        
        #banner-centro .stats-row {  margin: 10px;  gap: 5rem; /* spazio tra i vari item */}



}



    /** * ==================================================================================*/
    
    @media (min-width: 1281px) {


        
        .site-title { width: 180px; height: 156px; } 
        .site-title a { width: 180px; height: 156px; }
        
        #banner-centro          {  height: 400px;  }  
        #banner-centro .stats-row {  margin: 80px;  gap: 10rem; /* spazio tra i vari item */}


        #main-menu              { margin-left: 40px;}   
        
        .nav-link                   { padding:20px 40px 20px 0 !important; }
        .dropdown-menu .nav-link    { padding:12px 0 12px 0 !important; font-size: 12px; }

        #banner-centro          { background-size: 100% auto; padding: 0; }
        #banner-centro          { height: 750px; }
        #banner-centro h2       { font-size: 45px; max-width: 30vw; margin-bottom: 40px; }
        
        .banner                 { height:100vh; min-height: 700px;    }
   
        
        
        .claim                  { position: absolute; bottom: 40px; left:40px;  width: 45   vw; z-index: 3; }
        .banner h2              { font-size:2.5em; line-height: 120%; font-weight: 400;  }
        
        .header-alt             { height:40vh; min-height: 400px;   }
        
        .footwid ul             { max-width: 70%; }
        
        .scelta                 { display: inline-block; margin-bottom: 60px;  }
        .scelta h4              { margin-bottom: 20px;  }
        .scelta p               { display: block;  float: left; margin: 0 0 0 30px; width: 250px;  }
        .scelta .icona          { display: block; vertical-align: middle; float: left; width: 50px;}
        
        .singolo               { padding: 80px 0;}
        
        #crumbs                 { }
        
        .cd-nav .cd-navigation-wrapper { padding: 120px 96px; } 
        .cd-nav .cd-navigation-wrapper::after { clear: both; content: ""; display: table; } 
        .cd-nav .cd-half-block { width: 50%; float: left; } 
        .cd-nav .cd-primary-nav { margin-top: 0; } 
        .cd-nav h2 { font-size: 1.5rem; margin-bottom: 5.6em; } 
        .cd-nav .cd-primary-nav li { margin: 2em 0; } 
        .cd-nav .cd-primary-nav a { font-size: 4.4rem; } 



    }  


    /** * THE END ================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== 
    */