/* Import Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Montserrat:wght@400;700&family=Vibur&display=swap");

/* Carica font locale */

@font-face {
  font-family: "Gill Sans";
  src: url("../font/Gill Sans MT.ttf");
  font-weight: normal;
  font-style: italic;
}

/* GENERALI */

body {
  line-height: 125%;
}

/* Definizione variabile globale wrap*/
:root {
  --wrap: 90%;
}

p,
ul {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.occhiello {
  width: var(--wrap);
  margin: 20px auto;
  text-align: justify;

  font-family: "Montserrat";
  font-size: 1.1em;
}

.descrizione {
  width: var(--wrap);
  margin: 20px auto;
  text-align: justify;
  color: #707070;

  font-family: "Montserrat";
  font-size: 1em;
  line-height: normal;
}

ul.descrizione {
  list-style-type: disc;
  padding-left: 20px;
  padding-right: 5px;
  width: calc(var(--wrap) - 15px);
  font-weight: bold;
}

.pulsante,
.pulsante-negativo {
  /* Applicare direttamente al tag <a>*/
  font-family: "Gill Sans", sans-serif;
  font-size: 1em;
  text-transform: uppercase;
  text-align: center;

  border-style: none;
  border-radius: 6px;
  margin: 25px auto;
  padding: 10px 20px;
  display: block;
  width: fit-content;
  max-width: 70%;
  text-decoration: none;
}

.pulsante {
  color: #ffffff;
  background-color: #828d7b;

}

.pulsante-negativo {
  color: #828d7b;
  background-color: #d4ddcf;
}

.fondino {
  background-color: #d4ddcf;
  /* background-color: #9bdee9; */

}

.avviso-strong {
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  text-transform: uppercase;
  text-align: center;
  hyphens: none;

  color: #ffffff;
  background-color: #828d7b;

  border-radius: 6px;
  margin: 25px auto;
  padding: 10px 20px;
  display: block;
  width: fit-content;
  width: calc(var(--wrap) - 40px);
  text-decoration: none;
}

.avviso-strong a {
  color: white;
}

.avviso-light {

  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3em;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  hyphens: none;
  color: #828d7b;
  max-width: 70%;
  margin: 0 auto;


}

.hero {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 26px;
}

h1 {
  font-family: "Vibur", cursive;
  font-weight: normal;
  font-size: 10vw;
  color: #5c6358;
  width: var(--wrap);
  margin: 5px auto 30px auto;
}

span.no-break {
  white-space: nowrap;
}

a[href^="tel"] {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: auto;
  /* dovrebbe evitare le sottolineature sui link automatici */
}


/* HEADER ############################## */

/* header {
  width: 100%;
  aspect-ratio: 1 / 1.7;
  background-image: url("/immagini/header-fondo-mobile.jpg");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
}
 */

/* header div {
  background-image: url(/immagini/Header_fondo-01.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;

  padding: 6% 0;
  position: relative;
  top: 25vw;
} */

div.header-box {
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  background-image: url(/immagini/Header_fondo-01.jpg);
  aspect-ratio: 16/13;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.header-box h1 {
  font-family: "DM serif display";
  font-size: 2.9em;
  color: white;
  text-align: center;
  line-height: 115%;
  margin-bottom: 0;
}

.header-box p {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  width: 85%;

  font-family: "Vibur";
  font-size: 1.8em;
  font-weight: 100;
  text-align: center;
  line-height: 130%;
  hyphens: none;
  color: #dfe5dc;
}

/* PRESENTAZIONE ############################### */

#presentazione .griglia {
  width: var(--wrap);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* PUNTI DI FORZA ############################### */

#punti {
  width: 100%;
  padding-top: 25px;
  padding-bottom: 40px;
}

#punti .griglia {
  width: var(--wrap);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 4%;
}

#punti .griglia img {
  width: 48%;
  height: auto;
}

/* SOLUZIONI DI SOGGIORNO ################## */

#soluzioni {
  width: 100%;
  /*background-color: #D4DDCF;*/
  /*padding-top: 25px;*/
  /*padding-bottom: 20px;*/
}

#soluzioni .griglia {
  width: var(--wrap);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px 4%;
}

#soluzioni .griglia img {
  display: block;
  width: 100%;
  height: auto;
}

#soluzioni .foto-disegno {
  width: var(--wrap);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px 4%;
}

#soluzioni .foto-disegno img {
  display: block;
  width: 100%;
  height: auto;
}


#soluzioni hr {
  width: var(--wrap);
}

/* SERVIZI E COMFORT #################### */

#servizi {
  width: 100%;
  /* background-color: #d4ddcf; */
  /*padding-top: 25px;*/
  padding-bottom: 20px;
}

#servizi .griglia {
  width: var(--wrap);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 4%;
}

#servizi .griglia img {
  width: 48%;
  height: auto;
}

/* ANIMAZIONE E ATTIVITA' ############################ */

#animazione {
  width: 100%;
  /* background-color: #d4ddcf; */
  /*padding-top: 25px;*/
  padding-bottom: 20px;
}

/* TERRITORIO ####################################### */

#territorio {
  width: 100%;
  /* background-color: #d4ddcf; */
  /*padding-top: 25px;*/
  padding-bottom: 20px;
}

/*  INFO E PRENOTAZIONI ############################### */

#info {
  width: 100%;
  /* background-color: #d4ddcf; */
  padding-top: 25px;
  /* padding-bottom: 20px; */
}

/*  FORM ######################################### */

/* form.form-contatti {
  width: var(--wrap);
  margin: 0 auto;
} */

form.form-contatti input,
form.form-contatti textarea {
  display: block;
  width: var(--wrap);
  margin: 10px auto;
  border: black solid 1px;

  font-family: "Montserrat";
  font-size: 0.8em;
  font-weight: 300;

}

#messaggio {
  height: 200px;
}



/* FINE FORM */


/*  FOOTER ######################################### */

footer {
  width: 100%;
  padding-top: 25px;
  padding-bottom: 25px;
  /* background-color: #d4ddcf; */
}

#download {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  text-align: center;
}

#download .download-item {
  /* flex: 1 1 120px; */
  width: 40%;
  max-width: 50%;
}

#download a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

#download img {
  width: 60px;
  height: auto;
  margin-bottom: 10px;
}

#download span {
  line-height: 1.2;
  font-family: 'Montserrat';
  font-size: 0.9em;
  font-weight: 700;
  color: #828d7b;
}

#social {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-top: 50px;
  margin-bottom: 25px;
}

/* #social .social-icon {
  display: flex;
  
  justify-content: center;
} */

#social img {
  height: 50px;
  width: auto;
}

/* COLOFON */

.colofon-1 {
  font-family: "Montserrat";
  font-size: 1em;
  text-align: center;
  text-decoration: none !important;
  width: var(--wrap);
  margin: 0 auto 5px auto;
}

.colofon-2 {
  font-family: "Montserrat";
  font-size: 0.8em;
  text-align: center;
  text-decoration: none;


}

/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */



@media (min-width: 481px) and (max-width: 820px) {
  /*  TABLET - TABLET - TABLET - TABLET - TABLET   */

  :root {
    --wrap: 94%;
  }

  h1 {
    font-size: 8vw;
    margin: 20px auto 46px auto;
  }

  .header-box h1 {
    font-size: 3.1em;
    margin-top: 0;
    margin-bottom: 0;
  }

  .hero {

    margin-bottom: 40px;
  }

  header {
    position: relative;

  }

  div.header-box {
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    background-image: url(/immagini/Header_fondo-01.jpg);
    width: 70%;
    aspect-ratio: 19/9;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);

  }

  header .hero {
    width: 100%;
    display: block;
    aspect-ratio: 17 / 9;
    object-fit: cover;
    margin-bottom: 26px;
  }

  /* PRESENTAZIONE ############################### */

  #presentazione .griglia {
    flex-direction: row;
    gap: 2%;
  }

  #presentazione .griglia img {

    width: 32%;

  }

  /* PUNTI DI FORZA ############################### */

  #punti .griglia {
    gap: 15px 2.5%;
  }

  #punti .griglia img {

    width: 23.1%;
  }

  /* SOLUZIONI DI SOGGIORNO ################## */

  #soluzioni .griglia {
    flex-direction: row;
    gap: 25px 3%;

  }

  #soluzioni .griglia img {
    width: 31.33%;
    height: auto;

  }

  #soluzioni .foto-disegno {
    flex-direction: row;
    gap: 25px 3%;

  }

  #soluzioni .foto-disegno img {
    width: 48%;
    height: auto;

  }


  #servizi .griglia {
    gap: 25px 3%;

  }

  #servizi .griglia img {
    width: 31.33%;
    height: auto;

  }

  form.form-contatti input,
  form.form-contatti textarea {
    height: 2.5em;
  }


  #download {
    flex-direction: row;
    /* width:var(--wrap) */
  }

  #download .download-item {
    /* flex: 1 1 120px; */
    width: 25%;
    max-width: 50%;
  }

  #social {
    flex-direction: row;
  }



  /*  TABLET */
}


/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */
/* ############################################################ */


@media (min-width: 821px)
/* and (max-width: 1280px) */
  {
  /* ! DESKTOP PICCOLO - DESKTOP PICCOLO - DESKTOP PICCOLO */

  :root {
    --wrap: 94%;
  }

  h1 {
    font-size: 5.2vw;
    margin: 25px auto 50px auto;
  }

  .occhiello {
    font-size: 1.2em;
    line-height: normal;

  }

  .descrizione {
    font-size: 1.1em;
  }

  .header-box h1 {
    font-size: 4.5em;
    width: 85%;
    margin-top: 0;
    margin-bottom: 0;
  }

  .header-box p {
    font-size: 3em;

  }


  .hero {

    margin-bottom: 40px;
    aspect-ratio: 21 / 9;
    object-fit: cover;
  }

  header {

    position: relative;

  }

  div.header-box {
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    background-image: url(/immagini/Header_fondo-01.jpg);
    width: 70%;
    aspect-ratio: 19/9;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);

  }

  header .hero {
    width: 100%;
    display: block;
    aspect-ratio: 17 / 9;
    object-fit: cover;
    margin-bottom: 26px;
  }

  /* PRESENTAZIONE ############################### */

  #presentazione .griglia {
    flex-direction: row;
    gap: 2%;
  }

  #presentazione .griglia img {

    width: 32%;

  }

  /* PUNTI DI FORZA ############################### */

  #punti .griglia {
    gap: 15px 2.5%;
  }

  #punti .griglia img {

    width: 23.1%;
  }

  /* SOLUZIONI DI SOGGIORNO ################## */

  #soluzioni .griglia {
    flex-direction: row;
    gap: 25px 3%;

  }

  #soluzioni .griglia img {
    width: 31.33%;
    height: auto;

  }

  #soluzioni .foto-disegno {
    flex-direction: row;
    gap: 25px 3%;

  }

  #soluzioni .foto-disegno img {
    width: 48%;
    height: auto;

  }



  #servizi .griglia {
    gap: 25px 3%;

  }

  #servizi .griglia img {
    width: 31.33%;
    height: auto;

  }


  #download {
    flex-direction: row;
    /* width:var(--wrap) */
  }

  #download .download-item {
    /* flex: 1 1 120px; */
    width: 25%;
    max-width: 50%;
  }

  #social {
    flex-direction: row;
  }


  form.form-contatti {
    width: var(--wrap);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 1%;
    row-gap: 20px;
    margin: 0 auto;
  }


  form.form-contatti input,
  form.form-contatti textarea {
    height: 2.5em;
    margin: 0;
    box-sizing: border-box;
  }


  #nome {
    width: 49.5%;
  }

  #cognome {
    width: 49.5%;
  }


  #email {
    width: 100%;
  }


  #messaggio {
    width: 100%;
  }

  #telefono {
    width: 25%;
  }

  #indirizzo {
    width: 74%;
  }

  #citta {
    width: 100%;
  }





  /* ! DESKTOP PICCOLO */
}




/* DESKTOP GRANDE - DESKTOP GRANDE - DESKTOP GRANDE */

@media (min-width: 1281px) {

  :root {
    --wrap: 1280px;
  }


  header,
  .hero {
    max-width: var(--wrap);
    margin-left: auto;
    margin-right: auto;
  }

  h1 {
    font-size: 55px;
  }




}

/* DESKTOP GRANDE */