* {
  box-sizing: border-box;
  margin: 0;
  text-decoration: none;
  list-style: none;
  color: black;
  background-color: #eee2d7;
  font-size: 1.1rem;
}

a:hover{
    cursor: pointer;
    text-decoration: underline;
    color: rgb(216, 181, 38);
    font-size: 1.1em;
}

/****************** HEADER ******************/

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

nav ul{
    display: flex;
    width: 100%;
    justify-content: space-evenly;
    border-bottom: .1px solid rgb(216, 181, 38);
}

.navbar li {
    padding-top: 17px;
    background-color: transparent;
}

/****************** MAIN ******************/

.welcome *{
    display: flex;
    padding: 15px;
    text-align: center;
    margin: 5px 0;
}

.flag{
    display: flex;
    width: 295px;
    height: 175px;
    margin-top: 20px;
    padding: 0;
}

.flag img{
    all: unset;
    display: flex;
    justify-content: center;
    align-self: center;
    width: 100%;
    height: 60px;
}

.flag img:hover{
    width: 100%;
    cursor: default;
}

.green{
    background-color: green;
}

.white{
    background-color: white;
}

.red{
    background-color: red;
}

.green, .white, .red{
    display: flex;
    width: 34%;
}

.welcome h1{
    display: flex;
    margin-top: 40px;
    width: 220px;
    height: 140px;
    align-items: center;
    background-image: url(/images/flag-of-italy.jpeg);
    border: 1px solid black;
}

main{
    margin: 0 30px;
}

main img{
    display: flex;
    height: auto;
    border: 5px solid rgb(216, 181, 38);
    border-radius: 10%;
    width: 80%;
}

.menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

main > section{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 50px 0;
}

main img:hover{
    cursor: pointer;
    width: 83%;
}

.delicious p{
    text-align: center;
}

.menu, .mostPopular{
    display: flex;
    justify-content: space-evenly;
    width: 80%;
    margin: auto;
}

.menu h4{
    width: 100%;
}

section p{
    display: flex;
    justify-content: center;
    width: 100%;
}

.menu > section, .mostPopular > section{
    display: flex;
    justify-content: center;
    width: 30%;
}

.menu > section + section{
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0px;
    padding: 5px 0;
    border-radius: 20%;
}

.menu .menuHeading, .mostPopular .mostPopularHeading{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.menuHeading h2, .menuHeading p, .mostPopularHeading h2, .mostPopularHeading p{ 
    display: flex;
    width: 100%;
    justify-content: center;
}

.mostPopular section{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-around;
}

.mostPopular .filling section{
    display: flex;
    width: 32%;
    justify-content: center;
}

.filling section *{
    display: flex;
    text-align: center;
}

.filling p{
    margin: 15px;
}

.mostPopular section{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.fa-solid{
    color: rgb(241, 201, 40);
}

/****************** REVIEWS ******************/

.reviews ul li{
    display: flex;
    padding: 20px 25px;
    justify-content: space-evenly;
}

.slider-wrapper{
    margin: 1rem;
    position: relative;
    overflow: hidden;
}

.slides-container{
    width: 100%;
    display: flex;
    list-style: none;
    margin-bottom: 3rem;
    overflow: scroll;
    scroll-behavior: smooth;
}

.slide{
    width: 100%;
    height: 100%;
    flex: 1 0 100%;
}

.slide-arrow{
    position: absolute;
    display: flex;
    margin: auto;
    height: 4rem;
    background-color: rgb(216, 181, 38);
    border: none;
    width: 2rem;
    font-size: 3rem;
    padding: 0;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 100ms;
}

.slide-arrow:hover, .slide-arrow:focus{
    opacity: 1;
}

#slide-arrow-prev{
    left: 0;
    padding-left: 0.25rem;
    border-radius: 0 2rem 2rem 0;
}

#slide-arrow-next{
    right: 0;
    padding-left: 0.75rem;
    border-radius: 2rem 0 0 2rem;
}

.reviews-heading{
    display: flex;
    justify-content: center;
}

.slider-wrapper span, .slider-wrapper p{
    display: block;
}
/****************** FOOTER ******************/
footer section{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 15px;
}

footer h4{
    text-decoration: underline;
}

footer a{
    border: none;
}

footer section section{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 23%;
    font-size: 1em;
    margin: 0 1px;
}

footer > section + section{
    display: flex;
    justify-content: center;
    padding: 15px 0;
}

/************Hamburger Menu******************/
.navbar{
    min-height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
  }
  .nav-menu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 45px;
  }
  .nav-link {
    transition: 0.1s ease;
    font-size: 1.3rem;
    background-color: transparent;
  }
  .hamburger{
    display: none;
    cursor: pointer;
  }
  .bar{
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    transition: all 0.3s ease-in-out;
    background-color: black
  }
  /******* MEDIA QUERIES ********/
  
    .hamburger{
      display: block;
    }
    .hamburger.active .bar:nth-child(2){
      opacity: 0;
    }
    .hamburger.active .bar:nth-child(1){
      transform: translateY(8px) rotate(45deg);
    }
    .hamburger.active .bar:nth-child(3){
      transform: translateY(-8px) rotate(-45deg);
    }
    .navbar{
        min-height: 0;
    }
    .nav-menu{
      position: fixed;
      left: -100%;
      top: 95px;
      gap: 0;
      flex-direction: column;
      background-color: rgba(216, 181, 38, .95);
      width: 100%;
      text-align: center;
      transition: 0.3s;
    }
    .nav-item{
      margin: 16px 0;
    }
    .nav-menu.active{
      left: 0;
    }
    .nav-link{
      font-size: 1.5rem;
    }
    .logo img{
        width: 400px;
    }
    .welcome{
        margin-top: -90px;
    }
    .menu > section + section{
        display: flex;
        width: 33%;
    }
    .mostPopular > section + section > section{
        width: 50%;
    }

  @media screen and (max-width: 600px) {
    .nav-menu{
        padding-right: 80px;
    }
    .nav-menu.active{
        left: 0;
        margin-top: -22px;
    }
    .logo img{
        width: 300px;
    }
    .flag{
        width: 270px;
        height: 150px;
        margin-top: 22px;
    }
    .flag img{
        height: 60px;
    }
    .welcome{
        margin-top: -90px;
    }
    .menu > section + section{
        display: flex;
        width: 50%;
        height: 100%;
    }
    .mostPopular{
        width: 95%;
    }
    .mostPopular .filling section{
        width: 40%;
        margin: 0 10px;
    }
    .filling p{
        margin: 15px 0;
    }
    main img{
        width: 80%;
    }
    footer h4{
        font-size: .9rem;
    }
    footer a{
        font-size: .8rem;
    }
}
  @media screen and (max-width: 900px) {
        .welcome{
        margin-top: -68px;
    }
  }
  @media screen and (min-width: 901px) {
    .navbar .nav-menu{
        display: flex;
        justify-content: space-evenly;
        margin-right: 20px;
    }
    .flag{
        margin-top: -18px;
    }
    main img {
        width: 80%;
    }
    .welcome{
        margin-top: -30px;
    }
    .menu img{
        width: 80%;
    }
    .filling h4{
        width: 21%;
    }
  }