*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .preloader{
    overflow: hidden;
  }
  .loader-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: white;
    display:flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .loader {
    width: 400px;
    height: 400px;
    background-image: url("../img/loader_fresca.gif");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

   /* FONT */
   @font-face {
    font-family: ZingRust;
    src: url(../font/zing_rust.otf);
  }
  @font-face {
    font-family: DinCondensedBold;
    src: url(../font/din_condensed_bold.otf);
  }
  @font-face {
    font-family: DinCondensedRegular;
    src: url(../font/din_condensed_regular.otf);
  }

  /* NAVBAR */

  .navbar{
    display: flex;
    width: 100%;
    height: 80px;
    position: fixed;
    z-index: 999;
    background-color: white;
  }
  .banner{
    position: fixed;
    display: flex;
    width: 100%;
    height: 60px;
    background: black;
    margin-top: 80px;
    background-image: url();
    color: white;
    align-items: center;
    font-family: ZingRust;
    font-size: 30px;
  }
  .marquee {
    margin: 0 auto;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    width: 100%;
  }
  
  .marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 30s linear infinite;
  }

  @keyframes marquee {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-100%, 0);
    }
  }
  .logo_nav{
    display: flex;
    flex: 50%;
    padding-left: 50px;
  }
  .logo_nav img{
    width: 200px;
  }
  .menu_nav{
    display: flex;
    flex: 50%;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    padding-right: 50px;
    color: white;
  }
  #hamburger_black{
    background-color: black;
  }
  .hamburger{
    cursor: pointer;
  }
  .hamburger_icon{
    width: 30px;
    height: 3px;
    background-color: black;
    margin: 7px;
  }
  .sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
    font-family: ZingRust;
    z-index: 1000;
  }
  .prenota {
    background-color: #F7F0A1;
    border: none;
    color: black;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 25px;
    margin: 4px 2px;
    cursor: pointer;
    margin-right: 20px;
    font-family: ZingRust;
    border-radius: 50px;
  }
  .sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: white;
    display: block;
    transition: 0.3s;
  }
  
  .sidenav a:hover {
    color: #f1f1f1;
  }
  
  .sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
  }
  .nav_back{
    background-color: white;
    transition: background-color 0.2s;
    transition-delay: 1s;
  }
  #contacts{
    cursor: pointer;
  }
  .popup-btn{
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 70px;
    left: 100%;
    top: 50%;
    background-color: black;
    padding: 1%;
    transform-origin: 0% 0%;
    transform: rotate(90deg) translateX(-50%);
    text-align: center;
    border-radius: 0px 0px 20px 20px;
  }
  .popup-btn a{
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    font-family: ZingRust;
    font-size: 25px;
  }
  /* ABOUT */
  .fascia-1{
    display: flex;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
  }
  .col-1{
    display: flex;
    flex: 100%;
    justify-content: center;
  }
  .col-2{
    display: flex;
    flex: 50%;
    justify-content: left;
    align-items: center;
    padding-left: 150px;
  }
  .col-1 img{
    width: 500px;
  }
  .cont_about{
    width: 500px;
    height: auto;
  }
  .titolo_about{
    font-family: MontserratBold;
    font-size: 50px;
    color: white;
  }
  .lineetta_about{
    width: 70px;
    height: 40px;
    border-bottom: 6px solid #fa36c1;
  }
  .paragrafo_about{
    padding-top: 30px;
    font-family: MontserratRegular;
    font-size: 25px;
    color: white;
  }
  /* FOOTER */
  .footer{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100px;
    background-color: black;
  }
  .cont_footer{
    display: flex;
    width: 1500px;
    height: 100%;
    padding: 0px 50px 0px 50px;
  }
  .cont_contatti{
    display: flex;
    flex: 90%;
    height: 100%;
    padding: 30px 0px 30px 0px;
    align-items: center;
  }
  .cont_social{
    display: flex;
    justify-content: flex-end;
    flex: 10%;
    height: 100%;
  }
  .cont_social img{
    width: 45px;
    padding-left: 15px;
  }
  .cont_logo{
    display: flex;
    flex: 10%;
    padding-right: 20px;
  }
  .cont_indirizzo{
    display: flex;
    flex: 90%;
    font-family: DinCondensedRegular;
    color: white;
    font-size: 15px;
    border-left: 1px solid white;
    padding-left: 20px;
  }
  .cont_logo img{
    width: 150px;
  }
  .link{
    color: white;
  }
  .link_social{
    display: flex;
    align-items: center;
    text-decoration: none;
  }
  /*SERVIZI*/
  .copertina_servizi{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 300px;
    background-image: url(../img/sfondo_menu.jpg);
    background-position: center;
    background-size: cover;
    align-items: center;
  }
  .copertina_fidelity{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 300px;
    background-image: url(../img/sfondo_fidelity.jpg);
    background-position: center;
    background-size: cover;
    align-items: center;
  }
  #titolo_fidelity_bottom{
    text-align: center;
    line-height: 80px;
  }
  .iscriviti_top{
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    background-color: black;
    background-position: center;
    background-size: cover;
    align-items: center;
  }
  .container_title{
    display: flex;
    padding-top: 80px;
    width: 1000px;
    height: 150px;
    color: white;
  }
  .container_iscriviti_top{
    display: flex;
    width: 1000px;
    height: auto;
    color: white;
    background-color: black;
    flex-direction: column;
    flex: 100%;
    padding: 30px;
    text-align: center;
    align-items: center;
  }
  .sottotitolo_fidelity{
    font-family: DinCondensedRegular;
    color: white;
    font-size: 30px;
    padding-bottom: 20px;
  }
  .testo_iscriviti_top{
    display: flex;
    flex: 50%;
    align-items: center;
    justify-content: center;
  }
  .bottone_iscriviti_top{
    display: flex;
    flex: 50%;
    justify-content: center;
  }
  .regolamento{
    padding-top: 30px;
    font-family: DinCondensedRegular;
  }
  #link_regolamento{
    font-family: DinCondensedBold;
    color: black;
    text-decoration: underline;
    cursor: pointer;
  }
  .bottone_iscriviti_subito{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 50px;
    background-color: #ECAF68;
    border: none;
    color: black;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    font-size: 30px;
    margin: 4px 2px;
    cursor: pointer;
    font-family: ZingRust;
    border-radius: 50px;
  }
  .fascia_servizi{
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    background-color: white;
    padding-left: 50px;
    padding-right: 50px;
  }
  .container_servizi{
    padding-top: 80px;
    width: 1000px;
    height: 100%;
  }
  .title_sezioni_2{
    display: flex;
    justify-content: center;
    width: 100%;
    height: 200px;
  }
  .cont_quadratini_2{
    display: flex;
    flex: 40%;
    align-items: center;
    justify-content: flex-end;
  }
  .sezione_2{
    display: flex;
    flex: 100%;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-family: ZingRust;
    font-size: 100px;
    color: black;
  }
  .quadratino_2{
    width: 25px;
    height: 25px;
    background-color: #18f807;
    margin-right: 25px;
  }
  .titolo_sezione{
    font-family: ZingRust;
    font-size: 30px;
    line-height: 50px;
    padding: 0px 25px 10px 25px;
  }
  .titolo_regolamento{
    font-family: ZingRust;
    font-size: 30px;
    line-height: 50px;
    padding: 0px 25px 10px 0px;
  }
  .titolo_sezione_fidelity{
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: ZingRust;
    font-size: 50px;
    line-height: 80px;
  }
  #titolo_bottom{
    padding-top: 30px;
    padding-bottom: 40px;
  }
  .sottotitolo_sezione_fidelity{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    height: 50px;
    background-image: url(../img/linea_sezione_fidelity.jpg);
    padding: 0px 50px 0px 50px;
  }
  .riga_sezione_fidelity{
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    height: 50px;
    background-image: url(../img/linea_sezione_fidelity.jpg);
  }
  .subtitle_fidelity{
    width: 180px;
    font-family: DinCondensedBold;
    color: black;
    font-size: 20px;
    background-color: white;
    text-align: center;
  }
  .linea-servizi{
    display: flex;
    width: 100%;
    height: auto;
    padding-bottom: 80px;
  }
  .linea-fidelity{
    display: flex;
    width: 100%;
    height: auto;
    padding-bottom: 50px;
  }
  .linea-bottom{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding-bottom: 100px;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  #padding_fidelity{
    padding-bottom: 100px;
  }
  #pad-fid{
    padding-bottom: 0px;
  }
  .cont_elenco{
    display: flex;
    flex: 100%;
    width: 100%;
    height: 50px;
  }
  .cont_elenco_premi{
    display: flex;
    flex: 100%;
    width: 100%;
    height: 50px;
    margin-bottom: 30px;
  }
  .numero{
    display: flex;
    flex: 10%;
    font-family: ZingRust;
    font-size: 50px;
    justify-content: flex-end;
    align-items: flex-start;
  }
  .punti_premi{
    display: flex;
    flex: 40%;
    font-family: ZingRust;
    font-size: 50px;
    justify-content: flex-end;
    align-items: flex-start;
    padding-right: 20px;
  }
  .elenco{
    display: flex;
    flex: 90%;
    font-family: DinCondensedRegular;
    font-size: 20px;
    padding-left: 20px;
    padding-bottom: 30px;
    padding-top: 8px;
    padding-right: 20px;
  }
  .elenco_premi{
    display: flex;
    align-items: center;
    flex: 60%;
    font-family: DinCondensedRegular;
    font-size: 20px;
    padding-left: 20px;
    border-left: 2px solid black;
  }
  #bold{
    font-family: DinCondensedBold;
  }
  .lineetta_nera{
    width: 40px;
    height: 5px;
    background: black;
    margin: 0px 25px 80px 25px;
  }
  .lineetta_regolamento{
    width: 40px;
    height: 5px;
    background: black;
    margin: 0px 25px 80px 0px;
  }
  .titoletti{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px 5px 10px;
    font-family: ZingRust;
    font-size: 18px;
    margin-bottom: 20px;
  }
  #tipi_di_pasta{
    background-color: #F0A035;
  }
  #sughi{
    background-color: #C93417;
  }
  #formaggi{
    background-color: #F7F0A1;
  }
  #condimenti{
    background-color: #629649;
  }
  #bevande{
    background-color: #4A9EB9;
  }
  #dolci{
    background-color: #EBAD67;
  }
  #fresca_propone{
    background-color: black;
    color: white;
  }
  .col-servizi{
    display: flex;
    flex: 50%;
    padding: 0px 25px 0px 25px;
  }
  .col-fidelity{
    display: flex;
    align-items: flex-end;
    flex: 50%;
    padding-right: 25px;
  }
  .col-servizi-2{
    display: flex;
    flex-direction: column;
    flex: 50%;
    padding: 0px 25px 0px 25px;
  }
  .col-fidelity-2{
    display: flex;
    flex-direction: column;
    flex: 50%;
    padding-left: 25px;
  }
  .titolo_inner{
    font-family: ZingRust;
    font-size: 40px;
    padding-top: 20px;
    padding-bottom: 5px;
  }
  .riquadro_punti{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    background-color: black;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    font-size: 30px;
    margin: 4px 2px;
    font-family: ZingRust;
    border-radius: 50px;
    margin-bottom: 8px;
  }
  .sub_riquadro{
    font-family: DinCondensedRegular;
    font-size: 25px;
    padding-top: 10px;
  }
  #pad-title{
    margin-top: 52px;
  }
  .servizio{
    display: flex;
    flex: 80%;
    height: 100%;
    flex-direction: column;
  }
  .cont_fidelity, .cont_fidelity-3{
    display: flex;
    flex: 80%;
    height: 100%;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
  }
  #flex_column{
    flex-direction: column;
  }
  .cont_fidelity-2{
    display: flex;
    flex: 80%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .cont_fidelity img{
    width: 300px;
  }
  .cont_fidelity-3 img{
    width: 220px;
  }
  .icona_servizi img{
    width: 100px;
  }
  .voci_servizi{
    font-family: ZingRust;
    font-size: 20px;
  }
  .asterisco{
    font-family: DinCondensedRegular;
    padding-top: 10px;
    font-size: 16px;
  }
  .voce{
    display: flex;
    font-family: ZingRust;
    font-size: 18px;
  }
  .piatto{
    display: flex;
    flex: 80%;
  }
  .prezzo{
    display: flex;
    flex: 20%;
    justify-content: flex-end;
    font-family: DinCondensedRegular;
    font-size: 21px;
  }
  .prezzo p{
    padding-left: 10px;
  }
  .prezzo img{
    width: 30px;
    padding-bottom: 4px;
    padding-left: 5px;
  }
.allergene{
    padding-top: 10px;
  }
   .voce_singola{
    height: 40px;
    background-color: black;
    display: flex;
    font-family: ZingRust;
    font-size: 18px;
    color: white;
    padding: 6px 10px 5px 10px;
    box-sizing: border-box;
    margin-bottom: 22px;
  }
  .piatto_singolo{
    display: flex;
    flex: 80%;
  }
  .prezzo_singolo{
    display: flex;
    flex: 20%;
    justify-content: flex-end;
    font-family: DinCondensedRegular;
    font-size: 21px;
    padding-top: 2px;
  }
  .servizio p{
    padding-bottom: 10px;
  }
  .servizio_2 p{
    padding-bottom: 0px;
  }
  #piatti{
    padding-bottom: 0px;
  }
  #desc_piatto{
    font-family: DinCondensedRegular;
    padding-top: 5px;
    text-transform: uppercase;
    font-size: 18px;
  }
  .linea_piatti{
    height: 2px;
    background: black;
  }
  .container-menu{
    width: 100%;
    height: 350px;
    border: 4px solid black;
    display: flex;
  }
  .col-menu-1{
    display: flex;
    flex: 15%;
    background-color: black;
    writing-mode:vertical-rl;
    text-transform: uppercase;
    font-family: ZingRust;
    color: white;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    padding: 10px;
  }
  .riga_1_menu{
    display: flex;
    flex: 30%;
  }
  .riga_2_menu{
    display: flex;
    flex: 4%;
  }
  .riga_3_menu{
    display: flex;
    flex: 30%;
  }
  .riga_4_menu{
    display: flex;
    flex: 18%;
    justify-content: center;
    align-items: center;
  }
  .riga_5_menu{
    display: flex;
    flex: 18%;
    justify-content: center;
    align-items: center;
    line-height: 30px;
    padding: 10px;
  }
  .icona_piatto{
    display: flex;
    flex: 40%;
    justify-content: center;
  }
  .icona_piatto img{
    width: 100px;
  }
  .nome_piatto{
    display: flex;
    flex: 60%;
    flex-direction: column;
    justify-content: center;
    padding-left: 20px;
  }
  .col-menu-2{
    display: flex;
    flex-direction: column;
    flex: 85%;
  }
  #piatto_1{
    font-family: ZingRust;
    text-transform: uppercase;
    font-size: 30px;
  }
  #piatto_2{
    font-family: DinCondensedRegular;
    text-transform: uppercase;
    font-size: 25px;
  }
  .icona_somma{
    display: flex;
    flex: 40%;
    justify-content: center;
    padding: 0px;
  }
  #somma{
    font-family: ZingRust;
    text-transform: uppercase;
    font-size: 50px;
    line-height: 15px;
  }
  #linea_sotto_piatto{
    border-bottom: 4px solid black;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #linea_sotto{
    border-bottom: 4px solid black;
  }
  .size_piatto{
    font-family: DinCondensedRegular;
    font-size: 30px;
    text-align: center;
    text-transform: uppercase;
  }
  .logo_mascherpa{
    width: 100px;
    height: 40px;
    background-image: url(../img/logo_mascherpa.jpg);
    margin-bottom: 10px;
    background-size: contain;
    background-repeat: no-repeat;
  }
  /* PRIVACY POLICY */
  .titoli_privacy{
    font-size: 30px;
    font-family: ZingRust;
    line-height: 30px;
    padding-bottom: 25px;
  }
  .testo_privacy{
    font-size: 18px;
    font-family: DinCondensedRegular;
    padding-bottom: 50px;
    padding-right: 30px;
  }
  .link_privacy{
    color: black;
  }
  .container_privacy{
    padding: 80px 50px 80px 50px;
    width: 1000px;
    height: 100%;
  }
  @media screen and (max-width: 1100px) {
    .col-servizi{
      flex: 65%;
    }
    .col-servizi-2{
      flex: 35%;
    }
  }
  @media screen and (max-width: 960px) {
    .col-1 > img{
      width: 250px;
    }
    .col-2{
      justify-content: center;
      align-items: center;
      flex: 100%;
      padding-left: 0px;
    }
    .cont_contatti img{
      width: 120px;
    }
    .cont_contatti{
      padding-top: 0px;
      padding-bottom: 0px;
      padding-right: 30px;
      flex-direction: column;
      align-items: flex-start;
    }
    .cont_logo{
      padding-bottom: 10px;
    }
    .cont_indirizzo{
      font-size: 12px;
      padding-left: 5px;
      border-left: 0px;
      padding-left: 0px;
    }
    .cont_social{
      padding-top: 35px;
    }
    .link_social img{
      width: 40px;
      padding-bottom: 10px;
    }
    .cont_footer{
      padding: 0px 0px 0px 0px;
    }
    .footer{
      height: auto;
      padding: 20px;
    }
    .sezione_2{
      font-size: 50px;
    }
    .logo_nav{
      padding-left: 20px;
    }
    .menu_nav{
      padding-right: 20px;
    }
    .logo_nav img{
      width: 150px;
    }
    .linea-servizi{
      flex-direction: column;
    }
    .linea-fidelity{
      flex-direction: column;
    }
    .col-servizi{
      padding-bottom: 50px;
    }
    .icona_servizi{
      flex: 20%;
    }
    .servizio{
      flex: 80%;
    }
    .fascia_servizi{
      height: auto;
      padding-bottom: 100px;
    }
    .icona_piatto{
      display: none;
    }
    #vuoto{
      display: none;
    }
    .nome_piatto{
      align-items: center;
      text-align: center;
      padding-left: 0px;
    }
    .popup-btn{
      width: 200px;
      height: 52px;
    }
    .popup-btn a{
      font-size: 22px;
    }
    .titoli_privacy{
      font-size: 25px;
      line-height: 25px;
    }
    .testo_privacy{
      font-size: 15px;
    }
    .container_privacy{
      padding: 80px 0px 80px 0px;
    }
    .prenota{
      font-size: 20px;
      margin-right: 10px;
    }
    .marquee span {
      animation: marquee 40s linear infinite;
    }
    .copertina_fidelity{
      height: 200px;
    }
    .sottotitolo_fidelity{
      font-size: 25px;
    }
    .bottone_iscriviti_top{
      width: 230px;
    }
    .bottone_iscriviti_subito{
      font-size: 25px;
    }
    .titolo_sezione_fidelity{
      font-size: 30px;
    }
    .cont_fidelity img{
      width: 200px;
    }
    .cont_fidelity-3 img{
      width: 150px;
    }
    .cont_fidelity, .cont_fidelity-2, .cont_fidelity-3{
      align-items: center;
      justify-content: center
    }
    .col-fidelity{
      padding-right: 0px;
    }
    .col-fidelity-2{
      padding-left: 0px;
    }
    .punti_premi{
      font-size: 30px;
      flex: 10%;
      text-align: right;
    }
    .elenco_premi{
      flex: 90%;
      padding-right: 30px;
    }
    #titolo_bottom{
      line-height: 50px;
    }
    .bottone_iscriviti_subito{
      width: 220px;
    }
  }