/*******************************************************************/
/* CSS NONANINA.IT - AUTHOR MARCO SPIRONELLI - ALL RIGHTS RESERVED */
/*******************************************************************/

@charset "UTF-8";

/* IMPORT FONTS */

@font-face {
  font-family: "Calibre";
  src:
    url("../fonts/calibre/Calibre-Light.woff2") format("woff2"),
    url("../fonts/calibre/Calibre-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Calibre";
  src:
    url("../fonts/calibre/Calibre-Regular.woff2") format("woff2"),
    url("../fonts/calibre/Calibre-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Calibre";
  src:
    url("../fonts/calibre/Calibre-Medium.woff2") format("woff2"),
    url("../fonts/calibre/Calibre-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Proxima Nova";
  src:
    url("../fonts/proxima-nova/Proxima-Nova-Regular.woff2") format("woff2"),
    url("../fonts/proxima-nova/Proxima-Nova-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Recoleta";
  src:
    url("../fonts/recoleta/Recoleta-Regular.woff2") format("woff2"),
    url("../fonts/recoleta/Recoleta-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* VARIABILI */

:root {
  /* colori */
  --colore1: rgba(34, 9, 12, 1); /* Nero vinaccia */
  --colore2: rgba(104, 26, 38, 1); /* Bordeaux scuro */
  --colore3: rgba(138, 35, 50, 1); /* Bordeaux */
  --colore4: rgba(254, 248, 219, 1); /* Crema */
  --colore5: rgba(255, 253, 241, 1); /* Avorio */
  --colore6: rgba(255, 254, 248, 1); /* Bianco caldo */
  
  /* colori opacità 0 */
  --colore100: rgba(34, 9, 12, 0); /* Nero vinaccia */
  --colore200: rgba(104, 26, 38, 0); /* Bordeaux scuro */
  --colore300: rgba(138, 35, 50, 0); /* Bordeaux */
  --colore400: rgba(254, 248, 219, 0); /* Crema */
  --colore500: rgba(255, 253, 241, 0); /* Avorio */
  --colore600: rgba(255, 254, 248, 0); /* Bianco caldo */
  
  /* colori trasparenze */
  --colore170: rgba(34, 9, 12, 0.7); /* Nero vinaccia 70% */
  --colore110: rgba(34, 9, 12, 0.1); /* Nero vinaccia 10% */
  --colore105: rgba(34, 9, 12, 0.05); /* Nero vinaccia 5% */
  --colore350: rgba(138, 35, 50, 0.5); /* Bordeaux 50% */
  --colore490: rgba(254, 248, 219, 0.9); /* Crema 90% */
  --colore550: rgba(255, 253, 241, 0.5); /* Avorio 50% */
  --colore650: rgba(255, 254, 248, 0.5); /* Bianco caldo 50% */
  --colore610: rgba(255, 254, 248, 0.1); /* Bianco caldo 10% */
  
  /* caratteri */
  --font-calibre: "Calibre", sans-serif;
  --font-proxima: "Proxima Nova", sans-serif;
  --font-recoleta: "Recoleta", serif;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --style-normal: normal;
  --line-height-base: 1.5;

  /* fluid resize in riferimento al layout preparato */
  /* larghezza layout in px */
  --layout-width: 1280;
  /* fattori di scala */
  --scale-min: 0.85; /* 3/4 */
  --scale-max: 1.15; /* 5/4 */
  /* clamp generale in px */
  --g-clamp: clamp(calc(1px * var(--scale-min)), calc(1 / var(--layout-width) * 100vw), calc(1px * var(--scale-max)));
  /* clamp generale in px limitato */
  --g-clamp-limited: clamp(calc(1px * var(--scale-min)), calc(1 / var(--layout-width) * 100vw), 1px);

  /* resize testi */
  /* misure di base */
  --font-size-10: 10px;
  --font-size-12: 12px;
  --font-size-14: 14px;
  --font-size-16: 16px;
  --font-size-18: 18px;
  --font-size-24: 24px;
  --font-size-32: 32px;
  --font-size-48: 48px;
  --font-size-58: 58px;

  /* formule clamp */
  --font-clamp-10: clamp(calc(var(--font-size-10) * var(--scale-min)), calc(10 / var(--layout-width) * 100vw), calc(var(--font-size-10) * var(--scale-max)));
  --font-clamp-12: clamp(calc(var(--font-size-12) * var(--scale-min)), calc(12 / var(--layout-width) * 100vw), calc(var(--font-size-12) * var(--scale-max)));
  --font-clamp-14: clamp(calc(var(--font-size-14) * var(--scale-min)), calc(14 / var(--layout-width) * 100vw), calc(var(--font-size-14) * var(--scale-max)));
  --font-clamp-16: clamp(calc(var(--font-size-16) * var(--scale-min)), calc(16 / var(--layout-width) * 100vw), calc(var(--font-size-16) * var(--scale-max)));
  --font-clamp-18: clamp(calc(var(--font-size-18) * var(--scale-min)), calc(18 / var(--layout-width) * 100vw), calc(var(--font-size-18) * var(--scale-max)));
  --font-clamp-24: clamp(calc(var(--font-size-24) * var(--scale-min)), calc(24 / var(--layout-width) * 100vw), calc(var(--font-size-24) * var(--scale-max)));
  --font-clamp-25: clamp(calc(var(--font-size-25) * var(--scale-min)), calc(25 / var(--layout-width) * 100vw), calc(var(--font-size-25) * var(--scale-max)));
  --font-clamp-32: clamp(calc(var(--font-size-32) * var(--scale-min)), calc(32 / var(--layout-width) * 100vw), calc(var(--font-size-32) * var(--scale-max)));
  --font-clamp-48: clamp(calc(var(--font-size-48) * var(--scale-min)), calc(48 / var(--layout-width) * 100vw), calc(var(--font-size-48) * var(--scale-max)));
  --font-clamp-58: clamp(calc(var(--font-size-58) * var(--scale-min)), calc(58 / var(--layout-width) * 100vw), calc(var(--font-size-58) * var(--scale-max)));

  /* resize margini e padding */
  /* misure di base */
  --spacer-size-1: 1px;
  --spacer-size-4: 4px;
  --spacer-size-8: 8px;
  --spacer-size-16: 16px;
  --spacer-size-32: 32px;
  --spacer-size-64: 64px;
  --spacer-size-96: 96px;
  --spacer-size-128: 128px;
  --spacer-size-160: 160px;
  --spacer-size-200: 200px;

  /* formule clamp */
  --spacer-clamp-1: clamp(calc(var(--spacer-size-1) * var(--scale-min)), calc(1 / var(--layout-width) * 100vw), calc(var(--spacer-size-1) * var(--scale-max)));
  --spacer-clamp-4: clamp(calc(var(--spacer-size-4) * var(--scale-min)), calc(4 / var(--layout-width) * 100vw), calc(var(--spacer-size-4) * var(--scale-max)));
  --spacer-clamp-8: clamp(calc(var(--spacer-size-8) * var(--scale-min)), calc(8 / var(--layout-width) * 100vw), calc(var(--spacer-size-8) * var(--scale-max)));
  --spacer-clamp-16: clamp(calc(var(--spacer-size-16) * var(--scale-min)), calc(16 / var(--layout-width) * 100vw), calc(var(--spacer-size-16) * var(--scale-max)));
  --spacer-clamp-32: clamp(calc(var(--spacer-size-32) * var(--scale-min)), calc(32 / var(--layout-width) * 100vw), calc(var(--spacer-size-32) * var(--scale-max)));
  --spacer-clamp-64: clamp(calc(var(--spacer-size-64) * var(--scale-min)), calc(64 / var(--layout-width) * 100vw), calc(var(--spacer-size-64) * var(--scale-max)));
  --spacer-clamp-96: clamp(calc(var(--spacer-size-96) * var(--scale-min)), calc(96 / var(--layout-width) * 100vw), calc(var(--spacer-size-96) * var(--scale-max)));
  --spacer-clamp-128: clamp(calc(var(--spacer-size-128) * var(--scale-min)), calc(128 / var(--layout-width) * 100vw), calc(var(--spacer-size-128) * var(--scale-max)));
  --spacer-clamp-160: clamp(calc(var(--spacer-size-160) * var(--scale-min)), calc(160 / var(--layout-width) * 100vw), calc(var(--spacer-size-160) * var(--scale-max)));
  --spacer-clamp-200: clamp(calc(var(--spacer-size-200) * var(--scale-min)), calc(200 / var(--layout-width) * 100vw), calc(var(--spacer-size-200) * var(--scale-max)));

  /* misura larghezza colonna se boxed largo */
  --lar-col: calc((90vw - (var(--spacer-size-32) * 7)) / 8);
  /* misura larghezza colonna se boxed stretto */
  --lar-col-st: calc((80vw - (var(--spacer-size-32) * 7)) / 8);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
} /*ok*/

/* RESET E IMPOSTAZIONI GENERALI HTML */

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

html,
body {
  font-family: var(--font-calibre);
  font-weight: var(--weight-light);
  font-style: var(--style-normal);
  font-size: 16px;
  line-height: 1;
  width: 100%;
  background-color: var(--colore5); /* SFONDO Avorio */
  color: var(--colore1); /* TUTTI I TESTI Nero vinaccia */
  text-align: left; /* TUTTI I TESTI A SINISTRA */
  scroll-behavior: smooth; /* SMOOTH SCROLLING */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale; /* PATCH PER FONT BOLDED SU FIREFOX */
  -webkit-tap-highlight-color: transparent; /* ELIMINA FLASH AL CLICK SU MOBILE */
}

body.openMob,
body.openReq {
  height: 100%;
  overflow: hidden;
  touch-action: none; /* Disabilita lo scroll tramite touch */
}

div {
  display: block;
  position: relative;
  float: left;
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  max-width: 100%;
  display: block;
}

img {
  -webkit-user-drag: none;
}

button,
input,
textarea,
select {
  /* Resetta gli stili di base */
  font: inherit;
  background: none;
  border: none;
  border-radius: 0;
  /* Rimuove margini e padding predefiniti */
  margin: 0;
  padding: 0;
  /* Imposta il box model corretto */
  box-sizing: border-box;
  /* Resetta gli stili specifici dei browser */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Resetta lo stato di focus e il cursore */
  outline: none;
  cursor: pointer;
  /* Resetta la decorazione del testo (utile per i link button) */
  text-decoration: none;
}

/* Bersaglia l'autofill su tutti i campi di testo comuni */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--colore6) !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--colore2) inset !important;
  box-shadow: 0 0 0px 1000px var(--colore2) inset !important;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--colore3); /* Un outline visibile */
  outline-offset: 2px; /* Dista dal bordo per maggiore chiarezza */
}

button {
  color: var(--colore1); /* TESTI Nero vinaccia */
}

table {
  border-collapse: collapse;
  width: 100%;
}

q,
blockquote {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

i,
em {
  font-style: italic;
}

address {
  font-style: normal;
}

/* WP */

#wpadminbar div{
  position: static;
  float: none;
}

/* CARATTERI */

.t_calibre_light {
  font-family: var(--font-calibre);
  font-weight: var(--weight-light);
  font-style: var(--style-normal);
  line-height: var(--line-height-base);
}

.t_calibre_regular {
  font-family: var(--font-calibre);
  font-weight: var(--weight-regular);
  font-style: var(--style-normal);
  line-height: var(--line-height-base);
}

.t_calibre_medium {
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-style: var(--style-normal);
  line-height: var(--line-height-base);
}

.t_calibre_regular strong,
.t_calibre_medium strong {
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-style: var(--style-normal);
  line-height: var(--line-height-base);
}

.t_proxima_regular {
  font-family: var(--font-proxima);
  font-weight: var(--weight-regular);
  font-style: var(--style-normal);
  line-height: var(--line-height-base);
}

.t_recoleta_regular {
  font-family: var(--font-recoleta);
  font-weight: var(--weight-regular);
  font-style: var(--style-normal);
  line-height: 1.30;
}

/* COLORI BACKGROUND */

.c_bg_nero_vinaccia {
  background-color: var(--colore1);
}

.c_bg_bordeaux_scuro {
  background-color: var(--colore2);
}

.c_bg_bordeaux {
  background-color: var(--colore3);
}

.c_bg_crema {
  background-color: var(--colore4);
}

.c_bg_avorio {
  background-color: var(--colore5);
}

.c_bg_bianco_caldo {
  background-color: var(--colore6);
}

.c_bg_nero_vinaccia_70 {
  background-color: var(--colore170);
}

.c_bg_nero_vinaccia_10 {
  background-color: var(--colore110);
}

.c_bg_nero_vinaccia_05 {
  background-color: var(--colore105);
}

.c_bg_crema_90 {
  background-color: var(--colore490);
}

.c_bg_avorio_50 {
  background-color: var(--colore550);
}

.c_bg_bianco_caldo_10 {
  background-color: var(--colore610);
}

.c_bg_sf_nero_vinaccia_tb {
  background: linear-gradient(0deg, var(--colore100) 0%, var(--colore170) 100%);
}

.c_bg_sf_nero_vinaccia_bt {
  background: linear-gradient(180deg, var(--colore100) 0%, var(--colore170) 100%);
}

/* COLORI TESTI */

.c_text_nero_vinaccia,
.c_text_nero_vinaccia a {
  color: var(--colore1);
}

.c_text_bordeaux_scuro,
.c_text_bordeaux_scuro a {
  color: var(--colore2);
}

.c_text_bordeaux,
.c_text_bordeaux a {
  color: var(--colore3);
}

.c_text_crema,
.c_text_crema a {
  color: var(--colore4);
}

.c_text_avorio,
.c_text_avorio a {
  color: var(--colore5);
}

.c_text_bianco_caldo,
.c_text_bianco_caldo a {
  color: var(--colore6);
}

.c_text_bianco_caldo_50,
.c_text_bianco_caldo_50 a {
  color: var(--colore650);
}

/* KERNING */

/*.t_ker{
	letter-spacing: .1em;
}*/

/* COLORI PLACEHOLDER FORMS */

::placeholder {
  color: var(--colore550);
  opacity: 1;
}

/* COLORI BORDI */

.c_bor_nero_vinaccia {
  border-color: var(--colore1) !important;
}

.c_bor_bordeaux_scuro {
  border-color: var(--colore2) !important;
}

.c_bor_bordeaux {
  border-color: var(--colore3) !important;
}

.c_bor_crema {
  border-color: var(--colore4) !important;
}

.c_bor_avorio {
  border-color: var(--colore5) !important;
}

.c_bor_bianco_caldo {
  border-color: var(--colore6) !important;
}

.c_bor_nero_vinaccia_10 {
  border-color: var(--colore110) !important;
}

.c_bor_nero_vinaccia_05 {
  border-color: var(--colore105) !important;
}

.c_bor_bianco_caldo_50 {
  border-color: var(--colore650) !important;
}

/* ANIMAZIONI CSS */

.animato {
  transition: all 0.2s ease-out !important;
}

.animatoMedio {
  transition: all 0.5s ease-out !important;
}

.animatoMedioLinear {
  transition: all 0.5s linear !important;
}

.animatoLento {
  transition: all 1s ease-out !important;
}

.animato_rit02 {
  transition: all 0.2s 0.2s ease-out !important;
}
.animato_rit05 {
  transition: all 0.2s 0.5s ease-out !important;
}
.animato_rit1 {
  transition: all 0.2s 1s ease-out !important;
}
.animatoMedio_rit02 {
  transition: all 0.5s 0.2s ease-out !important;
}
.animatoMedio_rit05 {
  transition: all 0.5s 0.5s ease-out !important;
}
.animatoMedio_rit1 {
  transition: all 0.5s 1s ease-out !important;
}
.animatoLento_rit02 {
  transition: all 1s 0.2s ease-out !important;
}
.animatoLento_rit05 {
  transition: all 1s 0.5s ease-out !important;
}
.animatoLento_rit1 {
  transition: all 1s 1s ease-out !important;
}

/* DISABILITARE SELEZIONE TESTO */

.disable-select {
  user-select: none;
}

/* GESTIONE PEDICI */

sub {
  font-size: 70%;
  line-height: 1;
}

/* UPPERCASE */

.tc_upp {
  text-transform: uppercase;
}

/* DIMENSIONI TESTI */

.tt10 {
  font-size: var(--font-clamp-10);
}

.tt12 {
  font-size: var(--font-clamp-12);
}

.tt14 {
  font-size: var(--font-clamp-14);
}

.tt16 {
  font-size: var(--font-clamp-16);
}

.tt18 {
  font-size: var(--font-clamp-18);
}

.tt24 {
  font-size: var(--font-clamp-24);
}

.tt32 {
  font-size: var(--font-clamp-32);
}

.tt48 {
  font-size: var(--font-clamp-48);
}

.tt58 {
  font-size: var(--font-clamp-58);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .tt12 {
    font-size: var(--font-size-12);
  }

  .tt14 {
    font-size: var(--font-size-14);
  }

  .tt16 {
    font-size: var(--font-size-16);
  }

  .tt18 {
    font-size: var(--font-size-18);
  }

  .tt24 {
    font-size: var(--font-size-24);
  }

  .tt32 {
    font-size: var(--font-size-32);
  }

  .tt48 {
    font-size: var(--font-size-32);
  }

  .tt58 {
    font-size: var(--font-size-48);
  }
}

/* GENERALI LAYOUT */

.centrato {
  min-height: var(--spacer-clamp-16);
  /*width: 100vw;*/
  margin-left: 50vw;
  transform: translateX(-50%);
  /*max-width: 1400px;*/
  /*background-color: rgba(0, 0, 0, 0.5);*/
}

.centrato img {
  width: 100%;
}

.spacer8 {
  width: 100%;
  height: var(--spacer-clamp-8);
  clear: both;
}

.spacer16 {
  width: 100%;
  height: var(--spacer-clamp-16);
  clear: both;
}

.spacer32 {
  width: 100%;
  height: var(--spacer-clamp-32);
  clear: both;
}

.spacer64 {
  width: 100%;
  height: var(--spacer-clamp-64);
  clear: both;
}

.spacer96 {
  width: 100%;
  height: var(--spacer-clamp-96);
  clear: both;
}

.spacer128 {
  width: 100%;
  height: var(--spacer-clamp-128);
  clear: both;
}

.spacer160 {
  width: 100%;
  height: var(--spacer-clamp-160);
  clear: both;
}

.spacer200 {
  width: 100%;
  height: var(--spacer-clamp-200);
  clear: both;
}

.ci,
.ci2 {
  /*overflow: hidden;*/
}

.ci img,
.ci2 img {
  width: 100%;
  height: 100%;
}

.ci img {
  object-fit: cover;
  object-position: center;
}

.ci2 img {
  object-fit: contain;
  object-position: center;
}

/* Top Left (Alto Sinistra) */
.ci.citl img {
  object-position: top left;
}

/* Top Center (Alto Centro) */
.ci.citc img {
  object-position: top center;
}

/* Top Right (Alto Destra) */
.ci.citr img {
  object-position: top right;
}

/* Middle Left (Centro Sinistra) */
.ci.ciml img {
  object-position: left center;
}

/* Middle Center (Centro Centro - Default) */
.ci.cimc img {
  object-position: center center;
}

/* Middle Right (Centro Destra) */
.ci.cimr img {
  object-position: right center;
}

/* Bottom Left (Basso Sinistra) */
.ci.cibl img {
  object-position: bottom left;
}

/* Bottom Center (Basso Centro) */
.ci.cibc img {
  object-position: bottom center;
}

/* Bottom Right (Basso Destra) */
.ci.cibr img {
  object-position: bottom right;
}

.ci .ci2 img {
  object-fit: contain;
}

.exh {
  cursor: pointer;
}

/* Sezioni in evidenza */

.sfCrema{
  padding: calc(var(--spacer-size-1) * 80) 0px;
  background-color: var(--colore4);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .spacer8 {
    width: 100%;
    height: var(--spacer-size-8);
    clear: both;
  }

  .spacer16 {
    width: 100%;
    height: var(--spacer-size-16);
    clear: both;
  }

  .spacer32 {
    width: 100%;
    height: var(--spacer-size-32);
    clear: both;
  }

  .spacer64 {
    width: 100%;
    height: var(--spacer-size-64);
    clear: both;
  }

  .spacer96 {
    width: 100%;
    height: var(--spacer-size-96);
    clear: both;
  }

  .spacer128 {
    width: 100%;
    height: var(--spacer-size-128);
    clear: both;
  }

  .spacer160 {
    width: 100%;
    height: var(--spacer-size-160);
    clear: both;
  }

  .spacer200 {
    width: 100%;
    height: var(--spacer-size-200);
    clear: both;
  }
}

/* SCROLL CHECK */

.ckcScroll {
  display: block;
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  left: 0px;
  top: 50px;
}

/* ACCESSIBILITY */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* BUTTONS */

.btn_18_vinaccia {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-size: var(--font-clamp-18);
  color: var(--colore1);
  text-transform: uppercase;
  padding: 0px 0px calc(var(--spacer-size-1) * 15) 0px;
  transition: all 0.2s ease-out !important;
}

.btn_18_vinaccia:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(var(--spacer-size-1) * 1);
  background-color: var(--colore3);
  bottom: 0px;
  transition: all 0.2s ease-out !important;
}

.btn_18_vinaccia:hover:before {
  height: calc(var(--spacer-size-1) * 6);
}

.btn_14_vinaccia {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-size: var(--font-clamp-14);
  color: var(--colore1);
  text-transform: uppercase;
  padding: 0px 0px calc(var(--spacer-size-1) * 10) 0px;
  transition: all 0.2s ease-out !important;
}

.btn_14_vinaccia:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(var(--spacer-size-1) * 1);
  background-color: var(--colore3);
  bottom: 0px;
  transition: all 0.2s ease-out !important;
}

.btn_14_vinaccia:hover:before {
  height: calc(var(--spacer-size-1) * 4);
}

.btn_18_bianco_caldo {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-size: var(--font-clamp-18);
  color: var(--colore1);
  text-transform: uppercase;
  padding: 0px 0px calc(var(--spacer-size-1) * 15) 0px;
  transition: all 0.2s ease-out !important;
}

.btn_18_bianco_caldo:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(var(--spacer-size-1) * 1);
  background-color: var(--colore3);
  bottom: 0px;
  transition: all 0.2s ease-out !important;
}

.btn_18_bianco_caldo:hover:before {
  height: calc(var(--spacer-size-1) * 6);
}

.btn_18_bordo_vinaccia {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-size: var(--font-clamp-18);
  color: var(--colore1);
  text-transform: uppercase;
  border: 1px solid var(--colore1);
  box-sizing: border-box;
  padding: calc(var(--spacer-size-1) * 12) calc(var(--spacer-size-1) * 36);
  border-radius: calc(var(--spacer-size-1) * 3);
  transition: all 0.2s ease-out !important;
}

.btn_18_bordo_vinaccia:hover {
  background-color: var(--colore1);
  color: var(--colore6);
}

.btn_18_bordo_bianco_caldo {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-medium);
  font-size: var(--font-clamp-18);
  color: var(--colore6);
  text-transform: uppercase;
  border: 1px solid var(--colore6);
  box-sizing: border-box;
  padding: calc(var(--spacer-size-1) * 12) calc(var(--spacer-size-1) * 36);
  border-radius: calc(var(--spacer-size-1) * 3);
  transition: all 0.2s ease-out !important;
}

.btn_18_bordo_bianco_caldo:hover {
  background-color: var(--colore6);
  color: var(--colore1);
}

.btn_16_bordo_bianco_caldo {
  display: block;
  position: relative;
  float: left;
  font-family: var(--font-calibre);
  font-weight: var(--weight-regular);
  font-size: var(--font-clamp-16);
  color: var(--colore6);
  text-transform: uppercase;
  border: 1px solid var(--colore6);
  box-sizing: border-box;
  padding: calc(var(--spacer-size-1) * 10) calc(var(--spacer-size-1) * 20);
  border-radius: calc(var(--spacer-size-1) * 3);
  transition: all 0.2s ease-out !important;
}

.btn_16_bordo_bianco_caldo:hover {
  background-color: var(--colore6);
  color: var(--colore1);
}

@media (pointer: coarse) and (any-pointer: coarse) and (any-hover: none) { /* Stili per dispositivi touch */
  .btn_18_vinaccia:hover:before,
  .btn_18_bianco_caldo:hover:before {
    height: calc(var(--spacer-size-1) * 1);
  }

  .btn_18_bordo_vinaccia:hover {
    background-color: transparent;
    color: var(--colore1);
  }
  
  .btn_18_bordo_bianco_caldo:hover {
    background-color: transparent;
    color: var(--colore6);
  }
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
}

/* FORM */

.rigaform {
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 60);
}

.rigaform:last-of-type {
  margin-bottom: 0px;
}

.rigaform label{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: var(--spacer-size-8);
  font-weight: var(--weight-regular);
  font-size: var(--font-size-16);
  font-family: var(--font-proxima);
  color: var(--colore6);
  text-transform: uppercase;
}

.rigaform legend {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: var(--spacer-size-8);
  font-weight: var(--weight-regular);
  font-size: var(--font-size-16);
  font-family: var(--font-proxima);
  color: var(--colore6);
  text-transform: uppercase;
}

/* Stesso stile di .rigaform legend, applicato al riepilogo "Richiesta relativa a" */
.rigaform .labelAlloggioPreferito {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: var(--spacer-size-8);
  font-weight: var(--weight-regular);
  font-size: var(--font-size-16);
  font-family: var(--font-proxima);
  color: var(--colore6);
  text-transform: uppercase;
}

/* Il reset globale "div { display: block; }" vince sullo user-agent stylesheet
   e impedirebbe all'attributo hidden di funzionare: qui lo forziamo esplicitamente */
.contAlloggioPreferito[hidden] {
  display: none;
}

.rigaform input[type="text"],
.rigaform input[type="email"],
.rigaform input[type="tel"],
.rigaform input[type="number"] {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  box-sizing: border-box;
  padding: var(--spacer-size-8) 0px;
  font-weight: var(--weight-regular);
  color: var(--colore6);
  font-size: var(--font-size-16);
  border-bottom: 1px solid var(--colore650);
  line-height: 1;
}

.rigaform input.inputformMezzo{
  width: calc(50% - (var(--spacer-size-1) * 15));
}

.rigaform input.inputformMezzo:nth-child(2n+1){
  float: right;
}

.rigaform textarea {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  height: var(--spacer-size-160);
  box-sizing: border-box;
  padding: var(--spacer-size-8) 0px;
  font-size: var(--font-size-16);
  font-weight: var(--weight-regular);
  color: var(--colore6);
  border-bottom: 1px solid var(--colore650);
  line-height: 1.5;
}

.rigaform input[type="date"]{
  display: block;
  position: relative;
  float: left;
  /*width: 100%;*/
  box-sizing: border-box;
  padding: 0px var(--spacer-size-8);
  font-weight: var(--weight-regular);
  color: var(--colore6);
  font-size: var(--font-size-16);
  border: 1px solid var(--colore650);
  border-radius: 3px;
  height: 40px;
  line-height: 40px;
}

.rigaform input[type="date"]:after{
  content: "";
  display: block;
  position: absolute;
  background-color: var(--colore4);
  height: 100%;
  aspect-ratio: 1;
  top:0px;
  right:0px;
  background-repeat: no-repeat;
  background-size:50%;
  background-position: center center;
  pointer-events: none;
}

.rigaform input[type="date"]:nth-of-type(1):after{
  background-image: url("../images/icons/NNN_ico_data_arrivo.svg");
}

.rigaform input[type="date"]:nth-of-type(2):after{
  background-image: url("../images/icons/NNN_ico_data_partenza.svg");
}

.inputform[type="date"] {
  color: var(--colore650);
}
.inputform[type="date"]:focus,
.inputform[type="date"]:valid {
  color: var(--colore6);
}

/* Elimina l'icona del calendario' su Chrome, Safari, Edge e Opera */
.inputform::-webkit-calendar-picker-indicator {
    background: transparent;
    bottom: 0;
    color: transparent;
    cursor: pointer;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    /* Rimuove visivamente l'icona originaria */
    -webkit-appearance: none;
    appearance: none;
    opacity: 0; 
}

/* Elimina le freccette su Chrome, Safari, Edge e Opera */
.inputform::-webkit-outer-spin-button,
.inputform::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Elimina le freccette su Firefox */
.inputform[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield; /* Proprietà standard */
}

.rigaform label.checkprivacy,
.rigaform .checkboxGroup label {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: auto;
  font-weight: var(--weight-regular);
  font-size: var(--font-size-12);
  line-height: calc(var(--spacer-size-1) * 18);
  text-align: left;
  text-transform: none;
  min-height: calc(var(--spacer-size-1) * 18);
  box-sizing: border-box;
  padding-left: calc(var(--spacer-size-1) * 22);
}

.rigaform label.checkprivacy::before,
.rigaform .checkboxGroup label::before {
  content: "";
  display: inline-block;
  width: calc(var(--spacer-size-1) * 18);
  height: calc(var(--spacer-size-1) * 18);
  border-radius: 50%;
  border: 1px solid var(--colore650);
  position: absolute;
  top: 0px;
  left: 0px;
  cursor: pointer;
}

.rigaform label.checkprivacy::after,
.rigaform .checkboxGroup label::after {
  content: "";
  width: calc(var(--spacer-size-1) * 8);
  height: calc(var(--spacer-size-1) * 8);
  border-radius: 2px;
  background-color: transparent;
  border-radius: 50%;
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: calc(var(--spacer-size-1) * 5);
  left: calc(var(--spacer-size-1) * 5);
  cursor: pointer;
}

.rigaform input[type="checkbox"]:checked + label.checkprivacy::after,
.rigaform .checkboxGroup input[type="checkbox"]:checked + label::after {
  background-color: var(--colore6);
}

.rigaform label.checkprivacy a {
  text-decoration: underline;
}

.rigaform label.checkprivacy a:hover {
  color: var(--colore4);
}

.rigaform .checkboxGroup {
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 5 * (-1));
  margin-top: calc(var(--spacer-size-1) * 10);
}

.rigaform .checkboxGroup .contOptBoxGroup {
  width: 25%;
  margin-bottom: calc(var(--spacer-size-1) * 10);
}

.rigaform .invioform {
  float: left;
  margin-top: calc(var(--spacer-size-1) * 30);
}

.errForm {
  display: none;
  position: relative;
  float: left;
  width: 100%;
  text-align: left;
  font-weight: var(--weight-regular);
  margin-top: calc(var(--spacer-size-1) * 10);
  color: coral;
  font-size: var(--font-size-10);
}

/*.errForm:after {
  content: "";
  display: block;
  position: absolute;
  left: calc(var(--spacer-size-1) * 7);
  top: -7px;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 6px solid crimson;
}*/

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  .rigaform input[type="date"]{
    text-align: left;
  }
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  .rigaform .checkboxGroup .contOptBoxGroup {
    width: 50%;
    margin-bottom: calc(var(--spacer-size-1) * 10);
  }
  
  .rigaform input[type="date"].inputformMezzo {
      width: 100%;
  }
  
  .rigaform input[type="date"].inputformMezzo:last-of-type {
      margin-top: 20px;
  }
}

/* HEADER */

header {
  display: block;
  z-index: 900;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 1;
  width: 100%;
}

.sfHeader {
  position: fixed;
  width: 100%;
  height: 140px;
  z-index: 100;
  opacity: 1;
}

.bodyScrolled .sfHeader {
  height: 70px;
  opacity: 0;
}

.sfHeaderDue {
  position: fixed;
  width: 100%;
  height: 140px;
  z-index: 99;
  opacity: 0;
}

.sfHeaderDue::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0px;
  bottom: -1px;
  background: var(--colore105);
}

.bodyScrolled .sfHeaderDue {
  height: 70px;
  opacity: 1;
}

.logoMain {
  position: fixed;
  left: 5%;
  top: 35px;
  z-index: 101;
}

.bodyScrolled .logoMain {
  top: 10px;
}

.logoMain img {
  position: relative;
  float: left;
  height: 70px;
  width: auto;
}

.bodyScrolled .logoMain img {
  height: 50px;
}

.logoMain img.logochiaro {
  opacity: 1;
}

.logoMain img.logoscuro {
  opacity: 0;
  position: absolute;
  left: 0px;
  top: 0px;
}

.bodyScrolled .logoMain img.logochiaro {
  opacity: 0;
}

.bodyScrolled .logoMain img.logoscuro {
  opacity: 1;
}

.contNavMain {
  display: block;
  position: relative;
  float: right;
  right: 5%;
  margin-top: 60px;
  z-index: 101;
}

.bodyScrolled .contNavMain {
  margin-top: 23px;
}

.openMenu {
  display: none;
  position: relative;
  float: right;
  width: 30px;
  height: 24px;
}

.bodyScrolled .openMenu {
  margin-top: 0px;
}

.barraOpenMenu {
  position: absolute;
  width: 30px;
  height: 2px;
  left: 0px;
}

.bodyScrolled .barraOpenMenu {
  background-color: var(--colore1);
}

#barraOpenMenu1 {
  top: 4px;
}

#barraOpenMenu2 {
  top: 11px;
}

#barraOpenMenu3 {
  top: 18px;
}

.openMenu:hover #barraOpenMenu1 {
  top: 7px;
}

.openMenu:hover #barraOpenMenu3 {
  top: 15px;
}

.openMob #barraOpenMenu1 {
  top: 12px;
  transform: rotate(45deg);
}

.openMob #barraOpenMenu2 {
  top: 12px;
  left: 16px;
  width: 0px;
}

.openMob #barraOpenMenu3 {
  top: 12px;
  transform: rotate(-45deg);
}

.openMob .openMenu:hover #barraOpenMenu1 {
  top: 12px;
}

.openMob .openMenu:hover #barraOpenMenu3 {
  top: 12px;
}

.contLan {
  float: right;
  margin-right: 40px;
  padding-right: 0px;
  border-right: 1px solid;
  margin-right: 0px;
  border-right: 0px solid !important
}

.bodyScrolled .contLan {
  border-color: var(--colore110) !important;
}

.curLan {
  display: block;
  position: relative;
  float: left;
  height: 24px;
  line-height: 24px;
  padding-right: 14px;
}

.curLan:after {
  content: "";
  display: block;
  position: absolute;
  right: 0px;
  width: 8px;
  top: calc(50% - 4px);
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center center;
  background-image: url("../images/NNN_fr_giu_chiara.svg");
}

.menuLanOpen .curLan:after {
  transform: rotate(180deg);
}

.bodyScrolled .curLan:after {
  background-image: url("../images/NNN_fr_giu_scura.svg");
}

.curLan:hover {
  opacity: 0.5;
}

.bodyScrolled .curLan {
  color: var(--colore1) !important;
  height: 24px;
  line-height: 24px;
}

#languageMenu {
  display: none;
  opacity: 0;
  position: absolute;
  top: 30px;
  width: 40px;
  left: calc(50% - 20px);
}

.bodyScrolled #languageMenu {
  top: 30px;
}

.menuLanOpen #languageMenu {
  opacity: 1;
  display: block;
}

.pulsLan {
  display: block;
  position: relative;
  float: left;
  clear: both;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 3px;
  box-sizing: border-box;
  border: 1px solid;
}

.pulsLan:hover {
  color: var(--colore170);
}

#navMain {
  display: block;
  position: revert;
  float: left;
  margin-right: 40px;
  border-right: 1px solid;
}

.bodyScrolled #navMain {
  border-color: var(--colore110) !important;
}

#navMain ul {
  display: block;
  position: relative;
  float: left;
}

#navMain ul li {
  display: block;
  position: relative;
  float: left;
  margin-right: 40px;
}

#navMain ul li a {
  height: 24px;
  line-height: 24px;
}

#navMain ul li a:hover {
  opacity: 0.5;
}

.bodyScrolled #navMain ul li a {
  height: 24px;
  line-height: 24px;
  color: var(--colore1);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  .sfHeader {
    position: fixed;
    width: 100%;
    height: 90px;
    z-index: 100;
    opacity: 1;
  }

  .bodyScrolled .sfHeader {
    height: 60px;
    opacity: 0;
    z-index: 20;
  }

  .sfHeaderDue {
    position: fixed;
    width: 100%;
    height: 90px;
    z-index: 19;
    opacity: 0;
  }

  .bodyScrolled .sfHeaderDue {
    height: 60px;
    opacity: 1;
  }

  .logoMain {
    position: fixed;
    left: 5%;
    top: 20px;
    z-index: 102;
  }

  .bodyScrolled .logoMain {
    top: 10px;
  }

  .logoMain img {
    position: relative;
    float: left;
    height: 50px;
    width: auto;
  }

  .bodyScrolled .logoMain img {
    height: 40px;
  }

  .logoMain img.logochiaro {
    opacity: 1;
  }

  .logoMain img.logoscuro {
    opacity: 0;
    position: absolute;
    left: 0px;
    top: 0px;
  }
  
  .bodyScrolled.openMob .logoMain img.logoscuro {
    opacity: 0;
  }
  
  .bodyScrolled.openMob .logoMain img.logochiaro {
    opacity: 1;
  }
  
  .contNavMain {
    margin-top: 32px;
  }

  .bodyScrolled .contNavMain {
    margin-top: 20px;
  }

  .contLan {
    float: right;
    margin-right: 20px;
    padding-right: 20px;
    border-right: 1px solid var(--colore6) !important;
    z-index: 40;
  }
  
  .bodyScrolled .contLan {
    border-right: 1px solid var(--colore110) !important;
  }
  
  .openMob.bodyScrolled .contLan {
      border-right: 1px solid var(--colore6) !important;
  }

  #languageMenu {
    left: calc(50% - 30px);
    top: 30px;
  }

  .bodyScrolled #languageMenu {
    top: 30px;
  }
  
  .bodyScrolled.openMob .curLan {
      color: var(--colore6) !important;
  }
  
  .bodyScrolled.openMob .curLan:after {
      background-image: url("../images/NNN_fr_giu_chiara.svg");
  }
  
  .openMenu{
    display: block;
    z-index: 50;
  }
  
  .bodyScrolled.openMob .barraOpenMenu{
    background-color: var(--colore6);
  }

  #barraOpenMenu1,
  .openMenu:hover #barraOpenMenu1 {
    top: 5px;
  }

  #barraOpenMenu2,
  .openMenu:hover #barraOpenMenu2 {
    top: 11px;
  }

  #barraOpenMenu3,
  .openMenu:hover #barraOpenMenu3 {
    top: 17px;
  }
  
  #navMain {
      position: fixed;
      width: 100%;
      margin: 0px;
      display: block;
      padding: 0px;
      left: 0px;
      top: 0px;
      background: var(--colore3);
      overflow: scroll;
      scroll-behavior: smooth;
      height: 0px;
      border: none !important;
  }
  
  .openMob #navMain{
    height: 100vh;
  }

  #navMain ul {
    width: 80%;
    margin-left: 10%;
    margin-right: 0px;
    margin-top: 120px;
    padding: 0px;
    top: -30px;
    opacity: 0;
  }

  #navMain ul li {
      display: block;
      position: relative;
      float: left;
      margin-right: 0px;
      margin-bottom: 30px;
      text-align: center;
      width: 100%;
      padding-bottom: 30px;
      border-bottom: 1px solid var(--colore650);
  }

  .openMob #navMain ul {
    transition: all 0.3s 0.3s ease-out !important;
    top:0px;
    opacity: 1;
  }
  
  .bodyScrolled.openMob #navMain ul li a {
      height: 24px;
      line-height: 24px;
      color: var(--colore6);
  }  

  .curLan:hover,
  #navMain ul li a:hover{
    opacity: 1;
  }

  .pulsLan:hover {
    color: var(--colore1);
  }
}

/* OVERLAY RICHIESTA DISPONIBILITA' */
.ricDis{
  position: fixed;
  z-index: 99999;
  top: 0px;
  left: 0px;
  height: 100vh;
  width: 100vw;
  pointer-events: none;
}

.openReq .ricDis{
  pointer-events: all;
}

.bgRd{
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top:0px;
  left: 0px;
  opacity: 0;
  transition: all 0.3s 0.0s linear;
}

.openReq .bgRd{
  opacity: 1;
}

.contRd{
  position: absolute;
  z-index: 2;
  width: 50%;
  height: 100%;
  top:0px;
  right: -50%;
  opacity: 1;
  overflow: scroll;
  scroll-behavior: smooth;
  transition: all 0.3s 0.0s ease-in !important;
}

.openReq .contRd{
  right: 0px;
  opacity: 1;
  transition: all 0.3s 0.3s ease-out !important;
}

.contTitRd{
  position: fixed;
  z-index: 2;
  width: 50%;
  height: auto;
  top:0px;
  right: -50%;
  padding: calc(var(--spacer-size-1) * 80) calc(var(--spacer-size-1) * 80) calc(var(--spacer-size-1) * 40) calc(var(--spacer-size-1) * 80);
  opacity: 1;
  transition: all 0.3s 0.0s ease-in !important;
}

.openReq .contTitRd{
  right: 0px;
  opacity: 1;
  transition: all 0.3s 0.3s ease-out !important;
}

.titRd{
  display: block;
  position: relative;
  float: left;
  width:calc(100%-(var(--spacer-size-1) * 40));
}

.chiudiRd{
  position: absolute;
  width: calc(var(--spacer-size-1) * 22);
  aspect-ratio: 1;
  background: no-repeat 100% center url("../images/NNN_chiudi_richiesta_chiaro.svg");
  top: calc(var(--spacer-size-1) * 86);
  right: calc(var(--spacer-size-1) * 80);
  cursor: pointer;
}

.chiudiRd:hover{
  transform: rotate(90deg);
}

.contFormRd{
  z-index: 1;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 100);
  margin-top: calc(var(--spacer-size-1) * 200);
  top:100px;
  opacity: 0;
  transition: all 0.3s 0.3s ease-out !important;
  padding: 0px calc(var(--spacer-size-1) * 80);
}

.openReq .contFormRd{
  top:0px;
  opacity: 1;
  transition: all 0.3s 0.5s ease-out !important;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .contRd{
    width: 80%;
    right: -80%;
  }
  
  .contTitRd{
    width: 80%;
    right: -80%;
  }
  
  .contFormRd {
      padding-bottom: 60px;
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .contRd{
    width: 100%;
    right: -100%;
  }
  
  .contTitRd{
    width: 100%;
    right: -100%;
    padding: 40px 10% 20px 10%;
  }
  
  .titRd{
    display: block;
    position: relative;
    float: left;
    width:calc(100%-(var(--spacer-size-1) * 40));
    font-size: var(--font-size-24);
  }
  
  .chiudiRd {
      top: 40px;
      right: 10%;
  }
  
  .contFormRd {
      padding: 0px 10% 60px 10%;
  }

}


/* MAIN */

main {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  padding-bottom: var(--spacer-size-160);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
}

/* FOOTER */

footer {
  display: block;
  position: relative;
  float: left;
  width: 100%;
}

.footTop {
  padding: calc(var(--spacer-size-1) * 70) 0px;
  width: 100%;
}

.contColFootTopSx{
  float: left;
  margin-left: 10%;
  width: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 1));
}

.footTop img {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-top: calc(var(--spacer-size-1) * 23);
}

.contColFootTopDx{
  float: right;
  margin-right: 10%;
}

.contColFootTopDx .colFootTop {
  float: left;
  margin-right: calc(var(--spacer-size-1) * 80);
}

.contColFootTopDx .colFootTop:last-of-type {
  margin-right: 0px;
}

.titColFootTop {
  margin-bottom: calc(var(--spacer-size-1) * 30);
  line-height: 1;
}

.footTop li {
  margin-bottom: calc(var(--spacer-size-1) * 20);
}

.footTop li:last-of-type {
  margin-bottom: 0px;
}

.footTop a,
.footTop li,
.footTop li button {
  line-height: 1;
}

.footTop address,
.footTop p {
  margin-bottom: calc(var(--spacer-size-1) * 20);
}

.footTop a:hover,
.footTop button:hover {
  opacity: 0.5;
}

.icoSocMenu{
  margin-right: calc(var(--spacer-size-1) * 10);
}

.footTop #icoSocMenuFb i {
  display: block;
  position: relative;
  float: left;
  aspect-ratio: 600/1154;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  background-image: url("../images/icons/NNN_ico_fb_chiara.svg");
  height: 14px;
}

.footTop #icoSocMenuFb:hover i {
  background-image: url("../images/icons/NNN_ico_fb_scura.svg");
}

.footTop #icoSocMenuIg i {
  display: block;
  position: relative;
  float: left;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center;
  background-image: url("../images/icons/NNN_ico_ig_chiara.svg");
  height: 14px;
}

.footTop #icoSocMenuIg:hover i {
  background-image: url("../images/icons/NNN_ico_ig_scura.svg");
}

.footBot {
  width: 90%;
  margin-left: 5%;
  padding: calc(var(--spacer-size-1) * 50) 0px;
  text-align: center;
  border-top: 1px solid;
  border-bottom: 1px solid;
  opacity: 0.5;
}

.voceFootBot {
  display: inline-block;
  height: 16px;
  line-height: 16px;
  padding: 0px calc(var(--spacer-size-1) * 20);
  border-right: 1px solid;
}

.voceFootBot:last-child {
  border-right: none;
}

a.voceFootBot:hover,
button.voceFootBot:hover {
  opacity: 0.5;
}

.footSub {
  width: 90%;
  margin-left: 5%;
  padding: calc(var(--spacer-size-1) * 50) 0px;
  text-align: left;
  display: flex;          
  justify-content: center; 
}

.colFootSub {
  margin: 0px calc(var(--spacer-size-1) * 25);
  display: flex;
  align-items: center;
}

.colFootSub img {
  display: block;
  margin-right: calc(var(--spacer-size-1) * 10);
  aspect-ratio: 1;
  height: 70px;
  width: auto;
}

.colFootSub a {
  display: block;
}

.acapoFootBot{
  display: none;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  
  .footTop img {
    margin-bottom:60px;
  }
  
  .acapoFootBot{
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
  
  .voceFootBot:nth-child(2) {
   border-right: none;
  }
  
  .voceFootBot:nth-child(3) {
    clear: both;
  }
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  
  .footTop {
    padding: calc(var(--spacer-size-1) * 60) 0px 0px 0px;
  }

  .footTop img {
    height: 60px;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 0px;
    margin-bottom:0px;
  }

  .contColFootTopDx {
    width: 90%;
    margin-right: 0px;
    margin-left: 5%;
    float: left;
  }
  
  .contColFootTopSx {
    width: 100%;
    margin-top: calc(var(--spacer-size-1) * 50);
    margin-left: 0px;
    margin-bottom: 60px;
    margin-top: 0px;
  }
  
  .contColFootTopDx .colFootTop {
    float: left;
    margin-right: calc(var(--spacer-size-1) * 90);
  }
  
  .contColFootTopDx .colFootTop{
    margin-right: 0px;
    width: 50%;
    padding: 0px 10px;
    margin-bottom: 60px;
    text-align: center;
  }
  
  .contColFootTopDx .colFootTop:nth-child(2n+1){
    clear: both;
  }
  
  .footTop .aprigm,
  .footTop #icoSocMenuFb,
  .footTop #icoSocMenuIg{
    float: none;
    margin: 0px 5px;
    display: inline-block;
  }
  
  .acapoFootBot{
    display: none;
  }
  
  .voceFootBot {
    display: inline-block;
    width: 95%;
    height: auto;
    line-height: 1.5;
    padding: 0px;
    margin-bottom: 6px;
    border-right: 0px solid;
    font-size: var(--font-clamp-16);
  }

  .colFootSub {
    margin: 0px;
    width: 100%;
    margin-bottom: calc(var(--spacer-size-1) * 10);
  }
  
  .colFootSub img {
    margin-right: calc(var(--spacer-size-1) * 5);
    height: 50px;
  }
  
  .colFootSub a {
    font-size: var(--font-clamp-12);
  }
}

/***********/
/* BLOCCHI */
/***********/

/* BLOCCO SLIDE */

.b_sl {
  width: 100vw;
  height: 100vh;
  height: -webkit-fill-available;
  height: 100dvh;
  overflow: hidden;
}

.ciBsl,
.contPayBsl {
  position: absolute;
  width: 100%;
  height: 100%;
}

.b_sl .ciBsl{
  opacity: 0;
}

.b_sl .ciBsl.active{
  opacity: 1;
}


.contPayBsl{
  position: absolute;
  bottom: calc(var(--spacer-size-1) * 60);
  z-index: 2;
  width: 80vw;
  left: 10vw;
  height: auto;
}

.titPayBsl{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
}

.tesPayBsl {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  margin-top: calc(var(--spacer-size-1) * 40);
}

.sfPayBsl {
  position: absolute;
  z-index: 1;
  width: 100vw;
  height: 40vh;
  bottom: 0px;
  left: 0px;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  .b_sl {
    width: 100vw;
    height: auto;
    aspect-ratio: 4/3;
  }
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  .b_sl {
    aspect-ratio: auto;
    height: 80vh;
  }
}

/* BLOCCO TESTO */

.b_t{
  width: 100vw;
  padding-left: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 1) + 10vw);
  padding-right: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 1) + 10vw);
}

.colTesBt{
  width: 100%;
  text-align: center;
}

.colImgBt{
  display: none;
}

.titBt{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
  padding-bottom: calc(var(--spacer-size-1) * 40);
}

.titBt:after{
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 600/64;
  width: calc(var(--spacer-size-1) * 80);
  left: calc( 50% - (var(--spacer-size-1) * 40) );
  bottom: calc( -1 * (var(--spacer-size-1) * 40 / 600 * 64));
  background: no-repeat 100% center url("../images/NNN_separino_scuro.svg");
}

.tesBt{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.aBt{
  float: none;
  display: inline-block;
}

.colTesBt > *:last-child {
  margin-bottom: 0px;
}

/* con immagine */

.b_t.btci {
  padding-left: 10vw;
  padding-right: 10vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.b_t.btci .colTesBt{
  float:none;
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) *3));
  text-align: left;
}

.b_t.btci .colImgBt{
  display: block;
  float:none;
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) *3));
}

.b_t.btci .titBt{
 padding-bottom: 0px;
}

.b_t.btci .titBt:after{
  display: none;
}

/* con testi a sinistra */

.b_t.btci.bttsx {
  flex-direction: row;
}

/* con testi a destra */

.b_t.btci.bttdx {
  flex-direction: row-reverse;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .b_t{
    padding-left: 10vw;
    padding-right: 10vw;
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .b_t.btci,
  .b_t.btci.bttdx,
  .b_t.btci.bttsx{
    flex-direction: column;
    gap: 40px;
  
  }
  
  .b_t.btci .colImgBt{
    order: 1;
    width: 100%;
  }
  
  .b_t.btci .colTesBt{
    order: 2;
    width: 100%;
  }

}

/* BLOCCO COLLEGAMENTI IN COLONNA */

.b_cc {
  width: 100vw;
}

.titBcc,
.tesBcc {
  display: block;
  position: relative;
  float: left;
  width: calc((var(--lar-col-st) * 6) + (var(--spacer-size-32) * 5));
  text-align: center;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.contItemBcc {
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--spacer-size-32);
  row-gap: calc(var(--spacer-size-1) * 64);
  justify-content: center;
}

.itemBcc {
  cursor: pointer;
  text-align: center;
  position: relative;
}

/* 2 colonne */
.b_cc.bccdc .itemBcc {
  width: calc((100% - var(--spacer-size-32)) / 2);
}

/* 3 colonne */
.b_cc.bcctc .itemBcc {
  width: calc((100% - (var(--spacer-size-32) * 2)) / 3);
}

/* 4 colonne */
.b_cc.bccqc .itemBcc {
  width: calc((100% - (var(--spacer-size-32) * 3)) / 4);
}

/* 5 colonne */
.b_cc.bccqc .itemBcc {
  width: calc((100% - (var(--spacer-size-32) * 4)) / 5);
}

.ciItemBcc {
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: calc(var(--spacer-size-1) * 30);
}

.hlItemBcc {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  opacity: 0;
}

.itemBcc:hover .hlItemBcc {
  opacity: 1;
}

.contTxtBcc {
  width: 100%;
}

.titItemBcc,
.stitItemBcc {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 30);
  text-align: center;
}

.aBcc {
  float: none;
  display: inline-block;
}

.b_cc.bccqc .titItemBcc,
.b_cc.bccqc .stitItemBcc,
.b_cc.bccqc .ciItemBcc,
.b_cc.bcccc .titItemBcc,
.b_cc.bcccc .stitItemBcc,
.b_cc.bcccc .ciItemBcc {
  margin-bottom: calc(var(--spacer-size-1) * 20);
}

.b_cc.bccqc .titItemBcc,
.b_cc.bcccc .titItemBcc{
  font-size: var(--font-clamp-18);
}

.b_cc.bccqc .stitItemBcc,
.b_cc.bcccc .stitItemBcc{
  font-size: var(--font-clamp-14);
}

.b_cc.bccqc .aBcc,
.b_cc.bcccc .aBcc{
  font-size: var(--font-clamp-15);
}

/* full width */
.bccfw.b_cc .contItemBcc {
  width: calc(100% - (var(--spacer-size-1) * 2));
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--spacer-size-1);
  row-gap: calc(var(--spacer-size-1) * 64);
  justify-content: center;
}

/* 2 colonne */
.bccfw.b_cc.bccdc .itemBcc {
  width: calc((100% - var(--spacer-size-1)) / 2);
}

/* 3 colonne */
.bccfw.b_cc.bcctc .itemBcc {
  width: calc((100% - (var(--spacer-size-1) * 2)) / 3);
}

/* 4 colonne */
.bccfw.b_cc.bccqc .itemBcc {
  width: calc((100% - (var(--spacer-size-1) * 3)) / 4);
}

/* 5 colonne */
.bccfw.b_cc.bcccc .itemBcc {
  width: calc((100% - (var(--spacer-size-1) * 4)) / 5);
}

/* ci */
.bccfw.b_cc .ciItemBcc {
  aspect-ratio: 2/3;
}

@media (pointer: coarse) and (any-pointer: coarse) and (any-hover: none) { /* Stili per dispositivi touch */
  .itemBcc {
    cursor: auto;
  }

  .itemBcc:hover .hlItemBcc {
    opacity: 0;
  }
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  
  /* 2 colonne */
  .b_cc.bccdc .itemBcc {
    width: calc((100% - var(--spacer-size-32)) / 2);
  }
  
  /* 3 colonne */
  .b_cc.bcctc .itemBcc {
    width: calc((100% - (var(--spacer-size-32) * 2)) / 3);
  }
  
  /* 4 colonne */
  .b_cc.bccqc .itemBcc {
    width: calc((100% - (var(--spacer-size-32) * 1)) / 2);
  }
  
  /* 5 colonne */
  .b_cc.bcccc .itemBcc {
    width: calc((100% - (var(--spacer-size-32) * 2)) / 3);
  }
  
  /* full width */
 
 /* 2 colonne */
  .bccfw.b_cc.bccdc .itemBcc {
    width: calc((100% - var(--spacer-size-1)) / 2);
  }
  
  /* 3 colonne */
  .bccfw.b_cc.bcctc .itemBcc {
    width: calc((100% - (var(--spacer-size-1) * 2)) / 3);
  }
  
  /* 4 colonne */
  .bccfw.b_cc.bccqc .itemBcc {
    width: calc((100% - (var(--spacer-size-1) * 1)) / 2);
  }
  
  /* 5 colonne */
  .bccfw.b_cc.bcccc .itemBcc {
    width: calc((100% - (var(--spacer-size-1) * 2)) / 3);
  }
  
}

@media (max-width: 767px) { 
  /* Stili per dispositivi mobili */
  
  .titBcc,
  .tesBcc {
    width: 80%;
  }
  
  .contItemBcc {
    width: 80%;
    row-gap: 80px;
  }
  
  /* 2 colonne */
  .b_cc.bccdc .itemBcc {
    width: 100%;
  }
  
  /* 3 colonne */
  .b_cc.bcctc .itemBcc {
    width: 100%;
  }
  
  /* 4 colonne */
  .b_cc.bccqc .itemBcc {
    width: calc((100% - (var(--spacer-size-32) * 1)) / 2);
  }
  
  /* 5 colonne */
  .b_cc.bcccc .itemBcc {
    width: calc((100% - (var(--spacer-size-32) * 1)) / 2);
  }
  
  /* full width */
  .bccfw.b_cc .contItemBcc {
    width: calc(100% - (var(--spacer-size-1) * 2));
    row-gap: 80px;
  }
  
  /* 2 colonne */
  .bccfw.b_cc.bccdc .itemBcc {
    width: 100%;
  }
  
  /* 3 colonne */
  .bccfw.b_cc.bcctc .itemBcc {
    width: 100%;
  }
  
  /* 4 colonne */
  .bccfw.b_cc.bccqc .itemBcc {
    width: calc((100% - var(--spacer-size-1)) / 2);
  }
  
  /* 5 colonne */
  .bccfw.b_cc.bcccc .itemBcc {
    width: calc((100% - var(--spacer-size-1)) / 2);
  }
  
  
  
}

/* BLOCCO CALL TO ACTION */

.b_cta {
  width: 100vw;
  padding: calc(var(--spacer-size-1) * 120) 0px;
}

.colTitBcta{
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) * 2));
  margin-left: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 1) + 10vw );
}

.colTesBcta{
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) * 3));
  float: right;
  margin-right: 10vw;
}

.tesBcta{
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) * 2));
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.aBcta{
  clear: both;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .colTitBcta{
    width: calc(40vw - var(--spacer-size-16));
    margin-left: 10vw;
  }
  
  .colTesBcta{
    width: calc(40vw - var(--spacer-size-16));
  }
  
  .tesBcta{
    width: 100%;
    margin-bottom: calc(var(--spacer-size-1) * 40);
  }
  
  .titBcta{
    width: 100%;
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .colTitBcta{
    width: 80vw;
    margin-left: 10vw;
    margin-bottom: 40px;
  }
  
  .colTesBcta{
    width: 80vw;
  }

}

/* BLOCCO MEZZA LARGHEZZA */
.b_ml{
  width: 95vw;
  display: flex;
  align-items: center;
}

.colTesBml{
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) * 3.5) + 5vw );
  float: none;
  padding: calc(var(--spacer-size-1) * 60) 5vw;
}

.colImgBml{
  width: 50vw;
  float: none;
}

.titBml,
.stitBml,
.tesBml{
  display: block;
  position: relative;
  float: left;
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) * 2));
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.colTesBml > :last-child{
  margin-bottom: 0;
}

.contImgBml{
  width: 100%;
  aspect-ratio: 5/6;
}

.ciBml{
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.ciBml.active{
  opacity: 1;
}

.contNavBml{
  margin-top: calc(var(--spacer-size-1) * 16);
}

.prevNavBml,
.nextNavBml{
  display: block;
  position: relative;
  float: left;
  width: calc(var(--spacer-size-1) * 16);
  height: calc(var(--spacer-size-1) * 16);
  background: no-repeat center 100%;
  opacity: 1;
  cursor: pointer;
}

.prevNavBml{
  background-image: url("../images/NNN_fr_sx_scura.svg");
}

.nextNavBml{
  background-image: url("../images/NNN_fr_dx_scura.svg");
}

.prevNavBml:hover,
.nextNavBml:hover{
  opacity: .5;
}

.bulletBml{
  display: block;
  position: relative;
  float: left;
  width: calc(var(--spacer-size-1) * 16);
  height: calc(var(--spacer-size-1) * 16);
  border-radius: calc(var(--spacer-size-1) * 8);
  background-color: var(--colore350);
}

.bulletBml.active{
  width: calc(var(--spacer-size-1) * 32);
  background-color: var(--colore3);
}

/* testo sinistra */
.bmltsx.b_ml{
  flex-direction: row;
  float: right;
}

.bmltsx.b_ml .contNavBml{
  float: left;
}

.bmltsx.b_ml .contBulletBml{
  float: right;
}

.bmltsx.b_ml .contFrBml{
  float: left;
}

.bmltsx.b_ml .prevNavBml,
.bmltsx.b_ml .nextNavBml{
  margin-right: calc(var(--spacer-size-1) * 8);
}

.bmltsx.b_ml .bulletBml{
  margin-left: calc(var(--spacer-size-1) * 8);
}

/* testo destra */
.bmltdx.b_ml{
  flex-direction: row-reverse;
  float: left;
}

.bmltdx.b_ml .contNavBml{
  float: right;
}

.bmltdx.b_ml .contBulletBml{
  float: left;
}

.bmltdx.b_ml .contFrBml{
  float: right;
}

.bmltdx.b_ml .bulletBml{
  margin-right: calc(var(--spacer-size-1) * 8);
}

.bmltdx.b_ml .prevNavBml,
.bmltdx.b_ml .nextNavBml{
  margin-left: calc(var(--spacer-size-1) * 8);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .titBml,
  .stitBml,
  .tesBml{
    width: 100%;
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .b_ml,
  .bmltdx.b_ml,
  .bmltsx.b_ml{
    float: left;
    width: 80vw;
    margin-left: 10vw;
   flex-direction: column;
   gap: 40px;
  }
  
  .colImgBml{
    width: 100%;
    order: 2;
  }
  
  .colTesBml{
    width: 100%;
    padding: 60px 20px;
    box-sizing: border-box;
    order: 1;
  }
  
  .bmltsx.b_ml .contNavBml,
  .bmltdx.b_ml .contNavBml{
    float: left;
  }
  
  .bmltdx.b_ml .contBulletBml{
    float: right;
  }
  
  .bmltdx.b_ml .contFrBml{
    float: left;
  }
  
  .bmltdx.b_ml .prevNavBml,
  .bmltdx.b_ml .nextNavBml{
    margin-left: 0px;
    margin-right: calc(var(--spacer-size-1) * 8);
  }
  
  .bmltdx.b_ml .bulletBml{
    margin-right: 0px;
    margin-left: calc(var(--spacer-size-1) * 8);
  }

}

/* BLOCCO LISTA CAMERE / APPARTAMENTI  */

.b_lc {
  width: 100vw;
}

.titBlc,
.tesBlc {
  display: block;
  position: relative;
  float: left;
  width: calc((var(--lar-col-st) * 6) + (var(--spacer-size-32) * 5));
  text-align: center;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.contItemBlc {
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--spacer-size-32);
  row-gap: calc(var(--spacer-size-1) * 128);
  justify-content: center;
}

.itemBlc {
  cursor: pointer;
  text-align: center;
  position: relative;
  width: calc((100% - var(--spacer-size-32)) / 2);
}

.ciItemBlc {
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: calc(var(--spacer-size-1) * 30);
}

.hlItemBlc {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  opacity: 0;
}

.etichettaItemBlc{
  display: block;
  position: absolute;
  padding: calc(var(--spacer-size-1) * 10);
  top:0px;
  right: calc(var(--spacer-size-1) * 20);
  line-height: 1;
}

.itemBlc:hover .hlItemBlc {
  opacity: 1;
}

.contTxtBlc {
  width: 100%;
}

.titItemBlc,
.stitItemBlc {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 30);
  text-align: center;
}

.aBlc {
  float: none;
  display: inline-block;
}

@media (pointer: coarse) and (any-pointer: coarse) and (any-hover: none) { /* Stili per dispositivi touch */
  .itemBcc {
    cursor: auto;
  }

  .itemBcc:hover .hlItemBcc {
    opacity: 0;
  }
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  
  .titBlc,
  .tesBlc {
    width: 80vw;
  }
  
  .contItemBlc {
    width: width: 80vw;
    display: flex;
    flex-direction: column;
    gap: 100px;
    justify-content: center;
  }
  
  .itemBlc {
    width: 100%;
  }
  
  .etichettaItemBlc {
      padding: 10px;
      right: 5px;
  }
  
}

/* BLOCCO FAQ  */

.b_faq{
  width: 100%;
}

.b_faq.bfaqsc{
  padding: calc(var(--spacer-size-1) * 80) 0px;
  background-color: var(--colore4);
}

.contFaq{
  width: 80%;
}

.colImgFaq{
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) * 2));
}

.colTesFaq{
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) * 3));
}

.ciFaq{
  width: 100%;
  aspect-ratio: 3/2;
}

.titFaq{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.itemFaq{
  width: 100%;
  padding: calc(var(--spacer-size-1) * 10);
  border-top: 1px solid;
}

.itemFaq:last-of-type{
  border-bottom: 1px solid;
}

.itemFaq.aperto{
  background-color: var(--colore105);
}

.domandaFaq{
  display: block;
  position: relative;
  box-sizing: border-box;
  padding-right: calc(var(--spacer-size-1) * 32);
  text-align: left;
  width: 100%;
}

.domandaFaq:before{
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--spacer-size-1) * 1);
  height: calc(var(--spacer-size-1) * 11);
  background-color: var(--colore1);
  top:calc(var(--spacer-size-1) * 10);
  right:calc(var(--spacer-size-1) * 5);
  opacity: 1;
  transition: all 0.2s ease-out !important;
}

.itemFaq.aperto .domandaFaq:before{
  height: calc(var(--spacer-size-1) * 1);
  top:calc(var(--spacer-size-1) * 15);
}

.domandaFaq:after{
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--spacer-size-1) * 11);
  height: calc(var(--spacer-size-1) * 1);
  background-color: var(--colore1);
  top:calc(var(--spacer-size-1) * 15);
  right:0px;
  opacity: 1;
  transition: all 0.2s ease-out !important;
}

.domandaFaq:hover:before,
.domandaFaq:hover:after{
  opacity: .5;
}

.rispostaFaq {
  display: block;
  box-sizing: border-box;
  padding: 0px calc(var(--spacer-size-1) * 32) 0px 0px;
  overflow: hidden;
  opacity: 0;
  max-height: 0;
  transition:
    max-height 0.35s linear,
    padding 0.35s linear,
    opacity 0.25s linear;
}

.itemFaq.aperto .rispostaFaq {
  opacity: 1;
  padding: calc(var(--spacer-size-1) * 10) calc(var(--spacer-size-1) * 32) calc(var(--spacer-size-1) * 10) 0px;
  max-height: 150px; /* valore abbastanza alto */
}

/* testi a sinistra */
.b_faq.bfaqtsx .colTesFaq{
  float: left;
}

.b_faq.bfaqtsx .colImgFaq{
  float: right;
}

/* testi a destra */
.b_faq.bfaqtdx .colTesFaq{
  float: right;
}

.b_faq.bfaqtdx .colImgFaq{
  float: left;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
  
  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .colTesFaq{
    width: calc((var(--lar-col-st) * 5) + (var(--spacer-size-32) * 4));
  }
  
  .colImgFaq{
    width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) * 2));
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .colTesFaq{
    width: 100%;
    margin-top: 40px;
  }
  
  .colImgFaq{
    width: 50%;
  }

}

/* BLOCCO IMMAGINE */

.b_im {
  width: 100%;
}

.b_im img {
  display: block;
  position: relative;
  float: left;
  left: 50%;
  transform: translateX(-50%);
}

.b_im.bimBoxed {
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
  margin-left: 10vw;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
  
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  .b_im,
  .b_im.bimBoxed {
    width: 100vw;
    margin-left: 0px;
  }
}

/* BLOCCO FORM */

.b_fo {
  width: calc(100vw - (var(--spacer-size-1) * 0));
  margin-left: calc(var(--spacer-size-1) * 0);
  padding: calc(var(--spacer-size-1) * 60) calc(10vw - (var(--spacer-size-1) * 10) + (var(--lar-col-st) * 2) + (var(--spacer-size-32) * 1));
}

.titBfo {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  text-align: center;
  margin-bottom: calc(var(--spacer-size-1) * 30);
}

.contForm {
  width: 100%;
  padding: calc(var(--spacer-size-1) * 50);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) { /* Stili per tablet verticali */
  .b_fo {
    padding: 60px 20vw;
  }
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  
  .b_fo {
    padding: 60px 5vw;
  }

  .contForm {
    width: 100%;
    padding: calc(var(--spacer-size-1) * 50) calc(var(--spacer-size-1) * 30);
  }
  
}



/* BLOCCO PUNTI DI INTERESSE */

.b_pi{
  width: 100%;
  padding: calc(var(--spacer-size-1) * 80) 0px;
}

.titBpi,
.tesBpi {
  display: block;
  position: relative;
  float: left;
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
  text-align: left;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.contMapBpi{
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
  aspect-ratio: 2/1;
}

.contMapBpi div{
  position: static;
}

#map-bpi-container {
  /*filter: grayscale(100%) sepia(15%) brightness(1.05);*/
}

.contPunBpi{
  display: none;
  width: calc((var(--lar-col-st) * 8) + (var(--spacer-size-32) * 7));
}

.popUpBpi  {
  display: none;
  position: fixed;
  pointer-events: none;
  will-change: transform;
  padding: 0px 50px 0px 20px;
  border-radius: 3px;
  border: 1px solid;
  z-index: 100;
  overflow: hidden;
  font-size: 15px;
  height: 30px;
  line-height: 28px;
  transform: translateY(-20px);
  opacity: 0;
  animation: opacity 0.3 linear;
}

.popUpBpi.popupopen{
  display: block;
  opacity: 1;
}

.icoPupBpi{
  position: absolute;
  height: 100%;
  aspect-ratio: 1;
  background-color: var(--colore3);
  top:0px;
  right: 0px;
  border-left: 1px solid;
  background-repeat: no-repeat;
  background-size: 55%;
  background-position: center center;
  }

.icoAuto{
  background-image: url("../images/icons/NNN_ico_auto.svg");
}

@media (pointer: coarse) and (any-pointer: coarse) and (any-hover: none) { /* Stili per dispositivi touch */
  .popUpBpi{
    display: none !important;
  }
  
  .contPunBpi{
    display: block !important;
  }
  
  .itemBpi{
    width: calc((100% - (var(--spacer-size-32) * 2))/3);
    margin-right: var(--spacer-size-32);
    padding: 0px 50px 0px 20px;
    border-radius: 3px;
    border: 1px solid;
    overflow: hidden;
    height: 30px;
    line-height: 28px;
    margin-top: calc(var(--spacer-size-16) * 1);
  }
  
  .itemBpi:nth-child(3n+3){
    margin-right: 0px;
  }
  
  .icoItemBpi{
    position: absolute;
    height: 100%;
    aspect-ratio: 1;
    background-color: var(--colore3);
    top:0px;
    right: 0px;
    border-left: 1px solid;
    background-repeat: no-repeat;
    background-size: 55%;
    background-position: center center;
    }
  
  
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .titBpi,
  .tesBpi {
    width: 80vw;
  }
  
  .contMapBpi{
    width:80vw;
    aspect-ratio: 3/2;
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .contMapBpi{
    width:80vw;
    aspect-ratio: 3/4;
  }
  
  .itemBpi{
    width: 100%;
    margin-right: 0px;
    padding: 0px 50px 0px 20px;
    border-radius: 3px;
    border: 1px solid;
    overflow: hidden;
    height: 40px;
    line-height: 38px;
    margin-top: 20px;
  }

}

/* BLOCCO DATI AZIENDALI */

.b_da {
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.colLogoBda,
.colDatiBda {
  display: flex;
  flex-direction: column;
}

.colLogoBda {
  display: flex;
padding:  0px calc(var(--spacer-size-1) * 60) 0px 0px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.colLogoBda img {
  display: block;
  width: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 2));
  height: auto;
  object-fit: contain;
}

.colDatiBda {
  box-sizing: border-box;
  border-left: 1px solid;
  padding: calc(var(--spacer-size-1) * 30) 0px calc(var(--spacer-size-1) * 30) calc(var(--spacer-size-1) * 60);
}

.titBda{
  display: block;
  position: relative;
  float: left;
  clear: both;
  margin-bottom: calc(var(--spacer-size-1) * 30);
}

.stitBda{
  display: block;
  position: relative;
  float: left;
  clear: both;
  margin-bottom: calc(var(--spacer-size-1) * 30);
  white-space: nowrap;
}

.datiContBda{
  display: block;
  position: relative;
  float: left;
  clear: both;
  margin-bottom: calc(var(--spacer-size-1) * 30);
  padding-bottom: calc(var(--spacer-size-1) * 30);
}

.datiContBda:after{
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--spacer-size-1) * 50);
  height: 1px;
  bottom: 0px;
  left: 0px;
  background-color: var(--colore110);
}

.datiFiscBda{
  display: block;
  position: relative;
  float: left;
  clear: both;
}

.b_da a:hover{
  opacity: .5;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  .colLogoBda img {
    display: block;
    width: calc((var(--lar-col-st) * 1) + (var(--spacer-size-32) * 2));
    height: auto;
    object-fit: contain;
  }
  
  .colDatiBda {
    box-sizing: border-box;
    border-left: 1px solid;
    padding: calc(var(--spacer-size-1) * 30) 0px calc(var(--spacer-size-1) * 30) calc(var(--spacer-size-1) * 60);
  }

}

@media (max-width: 1024px) { /* Stili per tablet verticali */



}

@media (max-width: 767px) {

  .b_da{
    flex-direction: column;
    align-items: center;
  }

  .colLogoBda{
    padding: 0px 0px calc(var(--spacer-size-1) * 40) 0px;
  }

  .colDatiBda{
    border-left: none;
    border-top: 1px solid;
    padding: calc(var(--spacer-size-1) * 40) 0px 0px 0px;
    width: 100%;
    text-align: center;
    align-items: center;
  }
  
  .colLogoBda img {
      width: 40%;
  }

  .titBda,
  .stitBda,
  .datiContBda,
  .datiFiscBda{
    float: none;
    clear: none;
  }
  
  .stitBda{
    font-size: var(--font-size-16);
  }

  .datiContBda:after{
    left: 50%;
    transform: translateX(-50%);
  }

}

/* BLOCCO LISTA ESPERIENZE */

.b_le{
  width: 80vw;
}

.contFilBle{
  width: 100%;
  text-align: center;
  margin-bottom: calc(-1 * (var(--spacer-size-1) * 10));
}

.contItemBle{
  width: 100%;
}

.contItemBle > *:last-child {
  margin-bottom: 0px;
}

.itemBle{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacer-size-96);
}

.colTesBle{
  float:none;
  width: calc((var(--lar-col-st) * 3) + (var(--spacer-size-32) *3));
  text-align: left;
}

.colImgBle{
  display: block;
  float:none;
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) *3));
}

.titBle{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.tesBle{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.aBle{
  float: none;
  display: inline-block;
}

.colTesBle > *:last-child {
  margin-bottom: 0px;
}

.ciItemBle{
  width: 100%;
  aspect-ratio: 5/6;
  z-index: 90;
}

/* con testi a sinistra */

.itemBle:nth-child(odd) {
  flex-direction: row;
}

/* con testi a destra */

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

.contStagItemBle{
  position: absolute;
  top: calc(var(--spacer-size-1) * 30);
  z-index: 100;
}

.itemBle:nth-child(odd) .contStagItemBle{
  left: calc(var(--spacer-size-1) * 28);
}

.itemBle:nth-child(even) .contStagItemBle{
  right: calc(var(--spacer-size-1) * 28);
}

.icoStagione{
  width: calc(var(--spacer-size-1) * 24);
  aspect-ratio: 1;
  border-radius: calc(var(--spacer-size-1) * 2);
  margin: 0px calc(var(--spacer-size-1) * 2);
  border: 1px solid;
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}

.icoStagionePrimavera{
  background-image: url("../images/icons/NNN_ico_primavera.svg");
}

.icoStagioneEstate{
  background-image: url("../images/icons/NNN_ico_estate.svg");
}

.icoStagioneAutunno{
  background-image: url("../images/icons/NNN_ico_autunno.svg");
}

.icoStagioneInverno{
  background-image: url("../images/icons/NNN_ico_inverno.svg");
}

.filBle{
  display: inline-block;
  padding: 0px calc(var(--spacer-size-1) * 20);
  height: 30px;
  line-height: 28px;
  font-size: 16px;
  margin: 0px calc(var(--spacer-size-1) * 5) calc(var(--spacer-size-1) * 10) calc(var(--spacer-size-1) * 5);
  border: 1px solid;
  border-radius: 3px;
  cursor: pointer;
}

.filBle.active,
.filBle:hover{
  color: var(--colore6);
  background-color: var(--colore3);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .colTesBle {
      float: none;
      width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) *3));
      text-align: left;
  }
  
  .contStagItemBle{
    top: 15px;
  }
  
  .itemBle:nth-child(odd) .contStagItemBle {
      left: 15px;
  }
  
  .itemBle:nth-child(even) .contStagItemBle {
      right: 15px;
  }
  
}

@media (max-width: 767px) { /* Stili per dispositivi mobili */
  
  .b_le{
    width: 100vw;
  }
  
  .contItemBle{
    width: 80%;
    margin-left: 10%;
  }
  
  .spacerBle{
    height: 40px;
  }

  .contFilBle {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; 
    padding: 20px 15px;
    scrollbar-width: none;
    border-top: 1px solid var(--colore110);
    border-bottom: 1px solid var(--colore110);
  }

  .contFilBle::-webkit-scrollbar {
    display: none;
  }
  
  .contFilBle .filBle {
    flex: 0 0 auto;
    margin-right: 10px;
    white-space: nowrap;
  }
    
  .filBle {
    display: inline-block;
    padding: 0px calc(var(--spacer-size-1) * 20);
    height: 30px;
    line-height: 28px;
    font-size: 16px;
    margin: 0px 20px 0px 0px;
    border: 1px solid;
    border-radius: 3px;
    cursor: pointer;
  }
  
  .contFilBle .filBle:last-child {
   margin-right: 0;
  }
  
  .itemBle {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 120px;
  }
  
  .colImgBle {
    width: 100%;
    margin-bottom: 20px;
    order: 1;
  }
  
  .colTesBle {
    width: 100%;
    order: 2;
  }
  
  .itemBle:nth-child(even),
  .itemBle:nth-child(odd){
    flex-direction: column;
  }

}

/* BLOCCO GALLERY */

.b_gl{
  width: 100%;
  padding: calc(var(--spacer-size-1) * 60) 0px;
}

.contItemBgl {
  width: 80%;
  overflow: hidden;
  height: calc(var(--spacer-size-1) * 180);
}

.contScorrItemBgl{
  display: flex;
  height: calc(var(--spacer-size-1) * 180);
}

.b_gl {
  width: 100%;
  overflow: hidden; /* il clip lo metti sul blocco padre, non sul flex container */
  padding: calc(var(--spacer-size-1) * 60) 0px;
}

.itemBgl {
  height: calc(var(--spacer-size-1) * 180);
  flex: 0 0 auto; /* ← impedisce a flex di schiacciare gli item */
  width: auto;
  cursor: pointer;
  margin-right: calc(var(--spacer-size-1) * 16);
}

.imgBgl {
  height: calc(var(--spacer-size-1) * 180);
  width: auto;
  display: block;
  z-index: 40;
}

.hlItemBgl{
  position: absolute;
  width: 8px;
  height: 8px;
  top: calc(50% - 4px);
  left: calc(50% - 4px);
  background-repeat: no-repeat;
  background-size: 6px;
  background-position: left bottom,right top;
  background-image: url("../images/NNN_ic_zoom_lb.svg"),url("../images/NNN_ic_zoom_tr.svg");
  -webkit-transition: all .2s ease-out !important;
  -moz-transition: all .2s ease-out !important;
  -o-transition: all .2s ease-out !important;
  transition: all .2s ease-out !important;
  opacity: 0;
  z-index: 50;
}

.itemBgl:hover .hlItemBgl{
  width: 32px;
  height: 32px;
  top: calc(50% - 16px);
  left: calc(50% - 16px);
  opacity: 1;
}

.contNavBgl{
  position: absolute;
  left: 10vw;
  bottom: calc(var(--spacer-size-1) * 30);
}

.prevNavBgl,
.nextNavBgl{
  display: block;
  position: relative;
  float: left;
  width: calc(var(--spacer-size-1) * 16);
  height: calc(var(--spacer-size-1) * 16);
  background: no-repeat center 100%;
  opacity: 1;
  cursor: pointer;
  margin-right: calc(var(--spacer-size-1) * 8);
}

.prevNavBgl{
  background-image: url("../images/NNN_fr_sx_chiara.svg");
}

.nextNavBgl{
  background-image: url("../images/NNN_fr_dx_chiara.svg");
}

.prevNavBgl:hover,
.nextNavBgl:hover{
  opacity: .5;
}

.bulletBgl{
  display: block;
  position: relative;
  float: left;
  width: calc(var(--spacer-size-1) * 16);
  height: calc(var(--spacer-size-1) * 16);
  border-radius: calc(var(--spacer-size-1) * 8);
  background-color: var(--colore650);
  margin-left: calc(var(--spacer-size-1) * 8);
}

.bulletBgl.active{
  width: calc(var(--spacer-size-1) * 32);
  background-color: var(--colore6);
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  

}

/* BLOCCO GALLERY MASONRY */

.b_glm{
  width: 80%;
  column-count: 3;
  column-gap: calc(var(--spacer-size-1) * 32);
}

.itemBglm{
    break-inside: avoid;
    margin-bottom: calc(var(--spacer-size-1) * 32);
}

.imgBglm {
    width: 100%;
    height: auto;
    display: block;
    z-index: 40;
}

.hlItemBglm{
  position: absolute;
  width: 8px;
  height: 8px;
  top: calc(50% - 4px);
  left: calc(50% - 4px);
  background-repeat: no-repeat;
  background-size: 6px;
  background-position: left bottom,right top;
  background-image: url("../images/NNN_ic_zoom_lb.svg"),url("../images/NNN_ic_zoom_tr.svg");
  -webkit-transition: all .2s ease-out !important;
  -moz-transition: all .2s ease-out !important;
  -o-transition: all .2s ease-out !important;
  transition: all .2s ease-out !important;
  opacity: 0;
  z-index: 50;
  cursor: pointer;
}

.itemBglm:hover .hlItemBglm{
  width: 32px;
  height: 32px;
  top: calc(50% - 16px);
  left: calc(50% - 16px);
  opacity: 1;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .b_glm{
    width: 90%;
    column-count: 1;
    column-gap: 0px;
  }

}

/*******************/
/* SINGLE ALLOGGI */
/******************/

.b_t.btci.btAll {
  align-items: flex-start;
}

.b_t.btci.btAll .colImgBt{
  position: sticky;
  top: var(--spacer-clamp-200);
}

.contCarAll{
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
  padding-top:  calc(var(--spacer-size-1) * 40);
  border-top: 1px solid;
}

.carAll{
  display: block;
  position: relative;
  float: left;
  width: 100%;
  box-sizing: border-box;
  padding: calc(var(--spacer-size-1) * 4) 0px calc(var(--spacer-size-1) * 4) calc(var(--spacer-size-1) * 40);
  background-repeat: no-repeat;
  background-size: auto calc(var(--spacer-size-1) * 20);
  background-position: left center;
  margin-bottom: calc(var(--spacer-size-1) * 16);
}

.carAll:last-child{
  margin-bottom: 0px;
}

.carAllDimensione{
  background-image: url("../images/icons/NNN_ico_misure.svg");
}

.carAllLetti{
  background-image: url("../images/icons/NNN_ico_letti.svg");
}

.carAllOspiti{
  background-image: url("../images/icons/NNN_ico_persone.svg");
}

.carAllColazione{
  background-image: url("../images/icons/NNN_ico_colazione.svg");
}

.carAllAccessibile{
  background-image: url("../images/icons/NNN_ico_accessibile.svg");
}

.contPreAll{
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
  padding-top:  calc(var(--spacer-size-1) * 40);
  border-top: 1px solid;
}

.preAll{
  display: block;
  position: relative;
  float: left;
  width: 100%;
}

.contRicAll{
  width: 100%;
  padding-top:  calc(var(--spacer-size-1) * 40);
  border-top: 1px solid;
}

.b_faqAll{
  width: 80vw;
}

.colFqd{
  width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) *3));
}

.colFqd:nth-child(2){
  float: right;
}

.colFqd .colImgFaq{
  display: none;
}

.colFqd .colTesFaq,
.colFqd .contFaq{
  width: 100%;
}

.bccAll.b_cc.bcccc .itemBcc {
  width: calc((100% - (var(--spacer-size-32) * 4)) / 5);
}

.bccAll.b_cc.bcccc .aBcc {
    font-size: var(--font-clamp-14);
}

.bccAll .etichettaItemBlc {
    display: block;
    position: absolute;
    padding: calc(var(--spacer-size-1) * 5) calc(var(--spacer-size-1) * 5) calc(var(--spacer-size-1) * 3) calc(var(--spacer-size-1) * 5);
    top: 0px;
    right: calc(var(--spacer-size-1) * 5);
    line-height: 1;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  .b_t.btci.btAll .colTesBt {
      float: none;
      width: calc((var(--lar-col-st) * 4) + (var(--spacer-size-32) *3));
      text-align: left;
  }
  
  .bccAll.b_cc.bcccc .itemBcc {
      width: calc((100% - (var(--spacer-size-32) * 2)) / 3);
  }

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .b_t.btci.btAll .colImgBt {
      position: relative;
      top: 0px;
  }
  
  .b_t.btci.btAll .colTesBt {
      float: none;
      width: 100%;
      text-align: left;
  }
  
  .colFqd {
      width: 100%;
  }
  
  .colFqd:nth-child(1) {
      margin-bottom:40px;
  }
  
  .bccAll.b_cc.bcccc .itemBcc {
      width: calc((100% - (var(--spacer-size-32) * 1)) / 2);
  }

}

/********************/
/* SINGLE ATTIVITA' */
/********************/

.bmlAtt .contImgBml {
    aspect-ratio: 5/6;
}

.bmlAtt .ciBml{
  opacity: 1;
}

.contNavAtt{
  width: 100%;
  margin-bottom: calc(var(--spacer-size-1) * 40);
}

.aAtt{
  display: block;
  position: relative;
  float: left;
  padding-left: calc(var(--spacer-size-1) * 16);
  box-sizing: border-box;
  height: calc(var(--spacer-size-1) * 24);
  line-height: calc(var(--spacer-size-1) * 24);
  background-repeat: no-repeat;
  background-size: calc(var(--spacer-size-1) * 10);
  background-position: center left;
  background-image: url("../images/NNN_fr_sx_scura_spessa.svg");
  opacity: 1;
}

.aAtt:hover{
  opacity: .5;
}

.contStagItemAtt{
  position: absolute;
  top:0px;
  right: 0px;
}

.contCfAtt{
  width: 100%;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  .contStagItemAtt {
      position: absolute;
      top: -72px;
      right: 0px;
  }

}

.b_ha{
  width: 100%;
}

@media (max-width: 1366px) { /* Stili per tablet orizzontali */

  

}

@media (max-width: 1024px) { /* Stili per tablet verticali */

  

}

@media (max-width: 767px) { /* Stili per dispositivi mobili */

  

}

/*********************************/
/* FORMATTAZIONE WYSIWYG ACF     */
/*********************************/

.contWysiwyg h2{
  display: block;
  position: relative;
  float: left;
  font-size: 1.5em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-medium);
  width: 100%;
}
.contWysiwyg h3{
  display: block;
  position: relative;
  float: left;
  font-size: 1.33em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-medium);
  width: 100%;
}
.contWysiwyg h4{
  display: block;
  position: relative;
  float: left;
  font-size: 1.17em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-regular);
  width: 100%;
}
.contWysiwyg h5{
  display: block;
  position: relative;
  float: left;
  font-size: 0.83em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-regular);
  width: 100%;
}
.contWysiwyg h6{
  display: block;
  position: relative;
  float: left;
  font-size: 0.67em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-light);
  width: 100%;
}
.contWysiwyg p{
  display: block;
  position: relative;
  float: left;
  font-size: 1em;
  line-height: var(--line-height-base);
  font-weight: var(--weight-light);
  width: 100%;
}

.contWysiwyg ul{
  display: block;
  position: relative;
  float: left;
  position: relative;
  float: left;
  width: 100%;
}

.contWysiwyg li{
  display: block;
  position: relative;
  float: left;
  clear: both;
  padding-left: calc(var(--g-clamp) * 21);
  line-height: var(--line-height-base);
  width: 100%;
  box-sizing: border-box;
}

.contWysiwyg li::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--g-clamp) * 6);
  height: calc(var(--g-clamp) * 6);
  border-radius: 50%;
  background-color: var(--colore1);
  top: calc(var(--g-clamp) * 9);
  left: calc(var(--g-clamp) * 6);
}

.contWysiwyg img{
  
  box-sizing: border-box;
  border: 1px solid var(--colore110) !important;
  margin: calc(var(--g-clamp) * 30) 0px;
  padding: calc(var(--g-clamp) * 2);
  width: 75%;
}

.contWysiwyg a{
  color: var(--colore3);
  text-decoration: underline;
  font-style: normal;
  transition: all 0.2s ease-out !important;
}

.contWysiwyg a:hover{
  opacity: .5;
}

.contWysiwyg i,
.contWysiwyg i a,
.contWysiwyg em,
.contWysiwyg em a{
  font-style: italic;
}

@media (max-width: 1366px) {
  /* Stili per tablet orizzontali */
}

@media (max-width: 1024px) {
  /* Stili per tablet verticali */
}

@media (max-width: 767px) {
  /* Stili per dispositivi mobili */
}


/*******************/
/* GENERALI        */
/******************/

/* GALLERY GLIGHTBOX */

.ginner-container {
  float: none;
}

/* COOKIE CONSENT */
/* css generale */

.termsfeed-com---pc-dialog .cc-cp-foot-byline {
  opacity: 0 !important;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.termsfeed-com---pc-dialog .cc-cp-foot-byline a {
  display: none !important;
}

/* css specifico per sito */

.termsfeed-com---palette-light.termsfeed-com---nb {
  background-color: var(--colore2) !important;
  color: var(--colore4) !important;
}

.termsfeed-com---nb-headline {
  position: fixed;
}

.termsfeed-com---nb-simple {
  max-width: 100% !important;
  width: 100% !important;
}

.termsfeed-com---nb .cc-nb-main-container {
  padding: 30px 5% !important;
}

.cc-nb-title {
  font-family: var(--font-calibre) !important;
  font-weight: var(--weight-medium) !important;
  font-style: var(--style-normal) !important;
  line-height: var(--line-height-base) !important;
  font-size: var(--font-size-16) !important;
  color: var(--colore5) !important;
}

.cc-nb-text-container {
  width: 100%;
}

.cc-nb-text {
  font-family: var(--font-calibre) !important;
  font-weight: var(--weight-light) !important;
  font-style: var(--style-normal) !important;
  line-height: var(--line-height-base) !important;
  font-size: var(--font-size-16) !important;
  color: var(--colore5) !important;
  width: 100%;
  clear: both;
}

.cc-nb-reject,
.cc-nb-okagree,
.cc-cp-foot-save {
  background: var(--colore2) !important;
  border-radius: 5px !important;
  color: var(--colore5) !important;
  border: 1px solid var(--colore5) !important;
}

.cc-nb-changep {
  background: var(--colore100) !important;
  border-radius: 3px !important;
  color: var(--colore5) !important;
}

.cc-nb-reject:hover,
.cc-nb-okagree:hover,
.cc-cp-foot-save:hover,
.cc-nb-changep:hover {
  opacity: 0.5;
}

.cc-pc-head-lang-select {
  border: 2px solid lightgray !important;
}

.cc-pc-head-close:focus,
.cc-pc-head-lang-select:focus {
  box-shadow: none !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  border-right-color: transparent !important;
  border-left-color: transparent !important;
}

.cc-pc-head-close:focus-visible,
.cc-pc-head-lang-select:focus-visible {
  box-shadow: var(--colore2) !important;
  border-top-color: var(--colore2) !important;
  border-bottom-color: var(--colore2) !important;
  border-right-color: var(--colore2) !important;
  border-left-color: var(--colore2) !important;
}

.tt_red {
  color: aquamarine !important;
}

.tt_alt {
  color: lightsalmon !important;
}

/*******************************************************/
/* NOTE DI DEBUG (SOLO SVILUPPO) - visibili solo se loggati */
/*******************************************************/

/* Necessario perché il pallino di debug è position:absolute rispetto al blocco */
.b_sl, .b_t, .b_cc, .b_cta, .b_ml, .b_lc, .b_faq, .b_fo, .b_im, .b_pi, .b_da, .b_le, .b_gl, .b_glm, .b_ha,
.spacer8, .spacer16, .spacer32, .spacer64, .spacer96, .spacer128, .spacer160, .spacer200 {
  position: relative;
}

.nnnDbg {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 99990;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.b_sl .nnnDbg{
  top: calc(50% - 20px);
}

/* Note "di scheda" (single-alloggio/single-attivita): riferite a tutta la
   pagina, quindi restano fisse a metà altezza dello schermo durante lo scroll */
.nnnDbg.nnnDbgFixed {
  position: fixed;
  top: 200px;
  left: 10px;
}

body.nnnDbgHidden .nnnDbg {
  display: none;
}

/* Evidenzia temporaneamente il blocco a cui appartiene la nota aperta */
.nnnDbgHighlight:after {
  content: "";
  position: absolute;
  top: -2px;
  left: 1px;
  height: calc(100% + 4px);
  width: calc(100% - 2px);
  box-sizing: border-box;
  border: 1px solid #ff6a00;
  border-radius: 3px;
}

.single-alloggio .nnnDbgHighlight:after,
.single-attivita .nnnDbgHighlight:after{
  display: none !important;
}

.nnnDbgBtn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #ff6a00;
  border: 1px solid #fff;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease;
  padding: 0;
}

.nnnDbgBtn:hover,
.nnnDbgBtn:focus-visible {
  transform: scale(1.08);
}

.nnnDbgPopup {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 300px;
  max-width: calc(100vw - 24px);
  background-color: #fff;
  color: #222;
  border: 1px solid #ff6a00;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  overflow: hidden;
}

.nnnDbgPopup[hidden] {
  display: none;
}

.nnnDbgHead {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background-color: #ff6a00;
  color: #fff;
}

.nnnDbgRif {
  flex: 1 1 auto;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.nnnDbgActions {
  display: flex;
  flex-shrink: 0;
  gap: 4px;
}

.nnnDbgActions button {
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background-color: transparent;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}

.nnnDbgActions button:hover,
.nnnDbgActions button:focus-visible {
  background-color: rgba(255, 255, 255, 0.2);
}

.nnnDbgBody {
  padding: 10px;
  line-height: 1.5;
  max-height: 260px;
  overflow-y: auto;
  white-space: normal;
  word-break: break-word;
}

.nnnDbgPopup.nnnDbgCollapsed .nnnDbgBody {
  display: none;
}

#nnnDbgToggleAll {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 999998;
  background-color: #222;
  color: #fff;
  border: 1px solid #ff6a00;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body.nnnDbgHidden #nnnDbgToggleAll {
  opacity: 0.5;
}
