body {
  font-family: 'Open Sans', sans-serif;
  padding: 0;
  margin: 0;
}

/* Header section */
header {
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, .8);
  z-index: 1;
}
nav {
  overflow: hidden;
  font-size: 20px;
  text-align: center;
}
nav a{
  float: left;
  color: #fff;
  text-decoration: none;
}
nav .hamburger{
  display: none;
}
nav a.header-logo{
  font-size: 36px;
  padding: 20px 40px;
}
nav ul{
  list-style-type: none;
  padding: 0;
  margin-top: 10px;
}
nav li{
  float: right;
  padding: 20px 40px;
}
.headernav a:hover{
  border-bottom: 3px solid #fcba03;
}
/* End of Header Section */

/* Background section */
.background{
  background-image: url("../images/grill2.jpg");
  min-height: 850px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.text-block{
  position: absolute;
  width: 450px;
  padding: 10px 50px;
  border-radius: 10px;
  right: 175px;
  bottom: 350px;
  color: #fff;
  background-color: #000;
  text-align: center;
  opacity: .8;
}
.text-block h1{
  letter-spacing: 5px;
}
.secondparagraph{
  line-height: 2.5;
  margin-bottom: 0px;
}
.btn {
  padding: 15px 40px;
  margin: 15px 0px;
  color: white;
  border-radius: 15px;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  background-color: #fcba03;
  text-decoration: none;
}
/* End of Background section */

/* Menu section */
#menu{
  height: 100%;
  padding: 20px 0px;
  background-color: #f7f7f7;
}
.signature{
  text-align: center;
  width: 80%;
  margin: 0 auto;
  font-family: 'Sriracha', cursive;
}
#menu-container{
  display: flex;
  width: 100%;
  justify-content: space-evenly;
}
#menu-container img{
  max-width: 350px;
}
#menu-container p{
  padding: 0px 15px;
}
.left-content, .middle-content, .right-content {
  width: 30%;
  text-align: center;
  padding: 20px 0px;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
/* End of Menu section */

/* General Information Section */
#general-information{
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.box-1, .box-2, .box-3{
  width: 33%;
  padding: 10px 35px;
}
/* End of General information section */

/* Flex-Container Section */
#flex-container{
  display: flex;
  width: 100%;
  justify-content: space-between;
  background: #f7f7f7;
}
/* Reservation section */
#reservationform{
  clear: both;
  padding: 20px 20px 20px 35px;
}
#reservationform input, #reservationform select, #reservationform textarea{
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 6px 0 16px;
}
#reservationform .monday{
  color: red;
  font-weight: bold;
}
#reservationform input[type=submit]{
  background-color: #fcba03;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
#reservationform input[type=submit]:hover{
  background-color: #000;
  color: #fff;
  opacity: .7;
}
#reservationform textarea{
  height: 150px;
}
/* End of Reservation section */

/* Personal Info Section */
#info {
  width: 30%;
  margin-right: 20px;
  padding-top: 20px;
  text-align: center;
}
#info img {
  max-width: 250px;
}
/* End of Personal Info section */
/* End of Flex-Container Section */


/* Footer Section */
footer{
  clear: both;
  padding: 20px;
  color: white;
  background-color: #000;
  opacity: .8;
  text-align: center;
}
footer h2{
  font-family: 'Satisfy', cursive;
  font-size: 36px;
}
footer .fa{
  padding: 20px;
  width: 25px;
  text-decoration: none;
  margin: 5px;
  font-size: 30px;
  border-radius: 5px;
}
footer .fa:hover{
  opacity: .8;
}
footer .fa-instagram, footer .fa-twitter, footer .fa-facebook, footer .fa-map-marker{
  color: #fff;
}
footer .fa-instagram{
  background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d);
}
footer .fa-twitter{
  background: linear-gradient(45deg, #66757f, #00acee);
}
footer .fa-facebook{
  background: #3b5998;
}
footer .fa-map-marker{
  background: linear-gradient(45deg, #d62121, #c72c2c);
}
/* End of Footer section */

/* Responsive Section */
@media (min-width: 992px) and (max-width: 1199px){
  nav li{
    padding: 20px;
  }
  #menu-container img{
    max-width: 275px;
  }
  #info img {
    max-width: 200px;
  }
}
@media (max-width: 991px) {
  .text-block{
    right: 15%;
  }
  #flex-container{
    flex-direction: column;
  }
  #info{
    margin:0 auto;
    width: 75%;
    padding-top: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  nav li{
    padding: 20px 14px;
  }
  #menu-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
  .left-content, .middle-content{
    margin: 10px auto;
    width: 45%;
  }
  .right-content{
    margin: 10px auto;
    width: 45%;
  }
  #menu-container img{
    max-width: 300px;
  }
}
@media (max-width: 767px) {
  .headernav .topnav{
    display: none;
  }
  .headernav .hamburger{
    display: block;
  }
  .headernav.responsive a{
    float: none;
    display: block;
    text-align: center;
  }
  .headernav.responsive li{
    float: none;
    display: block;
  }
  .headernav.responsive ul{
    margin-top: 0;
  }
  #menu-container{
    flex-direction: column;
    justify-content: space-between;
  }
  .left-content, .middle-content, .right-content{
    margin: 10px auto;
    width: 75%;
  }
  .text-block{
    right: 10%;
  }
  .text-block.responsive{
    width: 100%;
    bottom: 0;
    right: 0;
    font-size: 12px;
    box-sizing: border-box;
  }
  nav li{
    padding: 20px;
  }
  nav a.header-logo{
    padding: 20px;
  }
}
@media (min-width: 480px) and (max-width:650px){
  .text-block{
    width: 100%;
    box-sizing: border-box;
    right: 0;
  }
}
@media (max-width: 479px) {
  nav li{
    padding: 20px 14px;
  }
  nav a.header-logo{
    padding: 20px;
  }
  .text-block{
    box-sizing: border-box;
    width: 100vw;
    font-size: 12px;
    bottom:35%;
    right: 0;
  }
  #menu-container img{
    max-width: 225px;
  }
  #general-information {
    flex-direction: column;
    width: 90%;
    margin: auto;
  }
  .box-1, .box-2, .box-3{
    text-align: center;
    width: 70%;
  }
  #info{
    padding-top: 0;
    margin-top: 0;
  }
  #info img {
    max-width: 180px;
  }
}
