/******==CSS RESET==*******/
html,
body,
div,
ul,
ol,
li,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
fieldset,
input,
hr {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
address,
caption,
cite,
code,
em,
strong,
th {
  font-size: 1em;
  overflow: hidden;
  font-weight: normal;
  font-style: normal;
}

ul,
ol {
  list-style: none;
}

fieldset,
img,
hr {
  border: none;
}

caption,
th {
  text-align: left;
}

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

table td {
  padding: 10px;
  vertical-align: top;
}

table td:nth-child(1) {
  text-align: left;
  width: 70%;
}

table td:nth-child(2) {
  text-align: right;
  width: 30%;
  padding-left: 10%;
  text-align: left;
}


/******==FONTS==******/

@font-face {
  font-family: ragiel;
  src: url("../fonts/ragiel/Ragiel.otf") format("opentype");
}

@font-face {
  font-family: ragiel-bold;
  src: url("../fonts/ragiel/Ragiel\ Bold.otf") format("opentype");
}

@font-face {
  font-family: monatha;
  src: url("../fonts/monatha/Monatha.ttf") format("opentype");
}


h1,
h2,
p,
a {
  font-family: monatha;
}

h1 {
  font-size: 45px;
}

h2 {
  font-size: 50px;
  text-align: center;
  padding: 0 0 40px 0;
  text-decoration-line: underline;
}

p {
  font-size: 27px;
  text-align: center;
}

td,
th,
b {
  font-size: 30px;
}

/*MOBILE*/

@media(max-width: 767px) {

  h2 {
    font-size: 25px;
    text-align: center;
    padding: 15px;
  }

  td,
  th,
  b {
    font-size: 20px;
  }

  p {
    font-size: 18px;
  }

}



/******==GENERAL LAYOUT==*******/
html {
  scroll-behavior: smooth;
}

body {
  background-color: #FFC3C2;
}

header,
nav,
section,
footer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

a {
  text-decoration: none;
  color: #8b0000;
}

a:hover {
  font-size: 110%;
}

.container {
  width: 80%;
  max-width: 1920px;
  display: inherit;
}


/**Mobile**/
@media(max-width:767px) {
  .container {
    width: 100%;
  }
}



/******==CUSTOM LAYOUT==*******/

.logo {
  border-radius: 50%;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (max-width:630px) {
  .logo {
    margin-left: 30%;
    margin-right: 30%;
  }
}

#carosello .container,
#listino-prezzi .container,
#posizione .container,
#descrizione .container,
#orari .container {
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#carosello .container {
  width: 100%;
  height: 800px;
}

@media(max-width:767px) {
  #carosello .container {
    width: 100%;
    height: 400px;
  }
}

.descrizione {
  font-family: monatha;
  text-align: center;
  font-size: 300%
}


/******==GENERAL PADDING FOR EACH SECTION==*******/


section:not(:first-child) {
  padding: 50px 20px;
}

/**Mobile**/
@media(max-width:767px) {
  section:not(:first-child, :last-child) {
    padding: 20px 15px
  }
}

/******MENU******/

.menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  background-color: #F594A3;
  width: 100%;
}

.menu-items a {
  color: #FFE5D9;
  background-color: #F594A3;
  text-decoration: none;
  font-family: monatha;
  font-size: 32px;
  border-radius: 50%;
  padding-top: 10px;
  padding-bottom: 10px;
}

.menu-items a:hover {
  color: #333230;
  background-color: #FFE5D9;
  border-radius: 100%;
}

.menu-logo {
  flex: 1;
  display: flex;
  justify-content: center;
}

.menu-items {
  flex: 1;
  display: flex;
  justify-content: space-around;
  gap: 30px;
}

.hamburger {
  display: none;
}

.menu-items.mobile {
  display: none;
}

@media (max-width: 1000px) {
  .menu {
    flex-direction: column;
    align-items: center;
  }

  .hamburger {
    display: block;
    background-color: transparent;
    border: none;
    font-size: 5em;
    color: #FFE5D9;
    cursor: pointer;
    margin: 10px 0;
  }

  .menu-logo {
    display: flex;
    justify-content: flexcenter;
    margin: 10px 0;
  }

  .menu-items {
    display: none;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease;
  }

  .menu-items a {
    text-align: center;
    padding: 10px;
    font-size: 3em;
    width: 100%;
    margin-bottom: 10px;
  }

  .menu-items a:hover {
    width: 30%;
  }

  .menu.show .menu-items.mobile {
    display: flex;
  }

  .menu-items.mobile {
    display: none;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .menu-items.desktop {
    display: none;
  }

}

/******==TABLES general==******/

table {
  width: 100%;
}

th,
td {
  padding: 20px;
}

tr:nth-child(even) {
  background-color: #FFE5D9;
}

/*mobile*/
@media(max-width:767px) {

  th,
  td {
    padding: 20px;
  }
}

/******== CUSTOM TABLES==******/

.orari-tabella th {
  background-color: #F594A3;
  color: #FFC3C2;
  padding-right: 50px;
  text-align: right;
  font-family: Arial, Helvetica, sans-serif;
}

.orari-tabella td {
  font-family: Arial, Helvetica, sans-serif;
}

#listino-prezzi table {
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
  display: none;
  font-family: Arial, Helvetica, sans-serif;
}

.sezioni-link {
  width: 100%;
}

.sezioni {
  background-color: #F594A3;
  color: #FFE5D9;
  text-align: center;
  flex-wrap: wrap;
  display: flex;
  padding: 20px;
  font-family: Arial, Helvetica, sans-serif;
}

.sezioni-link {
  text-decoration: none;
}

.sezioni:hover {
  background-color: #FFE5D9;
  color: #000;
}


/******== IFRAME==******/


.mappe {
  width: 100%;
  max-width: 600px;
  height: 450px;
  padding-top: 20px;
  border: 0;

}

/******CLICK TO TOP******/

.torna-su {
  position: fixed;
  margin-left: 80%;
  bottom: 20px;
  font-size: 300%;
  text-decoration: none;
  padding-top: 10px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 10px;
  border-radius: 45%;
  font-family: sans-serif;
  color: #FFE5D9;
  background: #000;
}

.torna-su:hover {
  font-size: 300%;
}

footer {
  padding: 0 0 50px 0;
  border-bottom: solid 10px #FFC3C2;
}

.banner {
  width: 100%;
  max-width: 30em;
  margin: 0 auto;
}

@media (max-width: 480px) {
  .banner {
    width: 90%;
  }
}

@media only screen and (max-width: 300px) {
  img {
    width: 10em;
  }
}