:root {
  --main-site-font: 'Open Sans', sans-serif;
  --dark-green: #32612d;
  --light-green: #49a63f7f;
  --black: #000;
  --white: #fff;
  --light-gray: #f8f9fa;
  --darker-gray: #918f8f;
  --dark-red: #7c0a02;
  --light-red: #f91100;
  --navbar-height: 90px;
  --footer-height: 20%;
}

.cta__button {
  padding: 0.5rem;
  border-radius: 5px;
  background-color: var(--dark-red);
  width: 35%;
}

* {
  box-sizing: border-box;
  font-family: var(--main-site-font);
  margin: 0;
  padding: 0;
  max-width: 100%;
}

body {
  margin: 0;
  height: 100vh;
  width: 100vw;
  font-family: var(--main-site-font);
  background-color: var(--white);
}
.navbar {
  padding-top: 5px;
  padding-bottom: 5px;
  height: var(--navbar-height) !important;
  box-shadow: 0 3px 2px -2px gray;
}

.navbar a:hover {
  color: var(--dark-green) !important;
}

.navbar a {
  color: var(--black) !important;
  font-size: 25px;
  border-radius: 0px;
  font-family: var(--main-site-font);
}

.navbar .scroll img {
  height: 80px;
}

.navbar .navbar-collapse {
  width: 100%;
  background-color: var(--light-gray);
}

.navbar .navbar-collapse .navbar-nav {
  width: 100%;
  background-color: var(--light-gray);
  justify-content: flex-end;
}

.main__content {
  min-height: calc(100vh - var(--navbar-height) - var(--footer-height));
  padding: 1rem 0 3rem 0rem;
  display: flex;
  flex-direction: column;
  background-color: rgb(232, 231, 226);
}

.main__content .hero__image {
  width: 40rem;
  height: auto;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  box-shadow: 6px 4px 18px #6b6b6b;
}

.main__content .hero__section {
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  justify-items: center;
  margin: 3rem 7rem;
  height: 500px;
}

.main__content .restaurant__info {
  margin: 3.5rem 2rem;
}

.main__content .restaurant__info h2 {
  font-size: 3.8rem;
  padding: 0;
}

.main__content .restaurant__info p {
  font-size: 1.6rem;
  color: var(--dark-green);
}

.main__content .restaurant__info a {
  text-decoration: none;
  color: var(--white);
}

.main__content h2 {
  padding: 1rem;
}
.main__content .menu__hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.main__content .menu__hero h2 {
  display: flex;
  justify-content: center;
  align-items: flex;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.5);
  color: var(--white);
  font-size: 40px;
  overflow: hidden;
}

.main__content .menu__heading p {
  text-align: left;
  padding: 1rem 5rem;
  font-size: 1.4rem;
  font-weight: 500;
}

.hours {
  background-color: #f9f9f9;
  width: 40%;
  border-radius: 4px;
  padding-bottom: 1em;
  box-shadow: 0px 8px 8px 8px #8c8c8c;
  margin: 2.5rem auto;
  padding-top: 2rem;
}

.hoursHeading {
  text-align: center;
  color: #660000;
  margin-bottom: 1px;
  padding-top: 1px;
  font-weight: 900;
  font-size: 45px;
}

table {
  margin: 20px auto;
  padding-bottom: 1.5em;
}

tr {
  color: black;
}

th {
  font-size: 20px;
  padding-left: 20px;
}

td {
  padding: 5px;
  border-bottom: 1px solid black;
  padding-bottom: 5px;
}

.contact__container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  padding: 0rem 2rem;
  flex: 10;
}

.contact__container .contact__form {
  flex: 5;
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
  margin: 3rem;
  display: block;
}
.contact__container .contact__form h3 {
  padding-left: calc(50% - 6rem);
}
.contact__container .contact__form label {
  display: block;
}

.contact__container .contact__form input[type='text'],
select,
textarea {
  width: 80%;
  padding: 12px;
  border: 1px solid #ccc; /* Gray border */
  border-radius: 4px; /* Rounded borders */
  box-sizing: border-box; /* Make sure that padding and width stays in place */
  margin-top: 6px; /* Add a top margin */
  margin-bottom: 16px; /* Bottom margin */
  resize: vertical; /* Allow the user to vertically resize the textarea (not horizontally) */
}

.contact__container .contact__form input[type='submit'] {
  background-color: #04aa6d;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.contact__container .contact__form input[type='submit']:hover {
  background-color: #45a049;
}

.contact__container .map {
  flex: 4;
  margin: 2rem;
}

.menu__content {
  padding: 1rem 5rem;
  padding-bottom: 5rem;
}
.menu__content .menu__category {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 6px 3px -3px rgb(140, 140, 140);
  margin: 0rem 5rem;
}
.menu__content .menu__category h3 {
  margin-bottom: 0;
  margin-left: 0.5rem;
  padding: 0.5rem;
  color: var(--dark-red);
  font-weight: 600;
  font-size: 30px;
}
.menu__content .menu__category .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  padding: 1rem;
  margin-right: 1rem;
  font-weight: 900;
  color: var(--dark-red);
  font-size: 30px;
  transform: rotate(180deg);
}
.menu__content .menu__category:hover {
  box-shadow: 0 6px 3px -3px var(--dark-red);
}
.menu__content #lunchmenu ul li {
  margin: 0rem 1rem;
}
.menu__content .menu__items {
  padding: 1rem 5rem;
  margin: 0rem 2rem;
}
.menu__content .menu__items ul .menu__servedwith {
  margin-bottom: 0;
  padding-top: 0.25rem;
  color: var(--light-green);
}
.menu__content .menu__items ul li .menu__servedwith_midcontent {
  margin-bottom: 0;
  padding-top: 0.25rem;
  color: var(--light-green);
  padding: 1rem 0rem;
}
.menu__content .menu__items ul h5 {
  padding-top: 1rem;
  margin-bottom: 0;
  color: var(--dark-green);
  font-weight: 600;
}
.menu__content .menu__items ul li {
  display: flex;
  justify-content: space-between;
  border-bottom: dotted 1px black;
  align-items: center;
}
.menu__content .menu__items ul .menu__lastitem {
  margin-bottom: 1rem;
}
.menu__content .menu__items ul li p {
  display: flex;
  flex: 10;
  justify-content: space-between;
  margin-bottom: 0;
  padding: 0.5rem 0rem;
}
.menu__content .menu__items ul li .extra_details {
  display: block;
  flex: 10;
  justify-content: space-between;
  padding: 0.25rem 0rem;
}
.menu__content .menu__items ul li .extra_details .only__details {
  font-size: 14px;
  margin-left: 1rem;
}
.menu__content .menu__items ul li .extra_details .choice {
  font-size: 14px;
  padding-left: 1rem;
}
.menu__content .menu__items ul li .extra_details .choices {
  font-size: 14px;
  padding-left: 2rem;
}
.menu__content .menu__items ul li .extra_details .extraprice {
  font-size: 14px;
  padding-left: 1rem;
  padding-top: 0.3rem;
}
.menu__content .menu__items ul li .price {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}

.menuhero__img {
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url('/assets/img.png');
  width: 100vw;
  height: 275px;
  margin: 1.5rem 0rem;
}

.about__section {
  display: grid;
  grid-template-columns: 30% 70%;
  width: 100%;
}

.about__section .about__paragraph {
  background-color: rgba(246, 229, 204, 0.8);
  padding: 1.2rem;
  text-align: center;
  max-height: 400px;
}

.about__section .about__paragraph h3 {
  color: var(--dark-green);
  margin: 0 auto;
  font-size: 2rem;
  margin-bottom: 10px;
}

.about__section .about__paragraph p {
  margin-right: 6rem;
  margin-left: 6rem;
  font-size: 1.2rem;
}

.about__section .about__image_mobile {
  display: none;
}

.about__section img {
  height: 400px;
  width: 100%;
}

.footer {
  height: var(--footer-height);
  padding: 2rem;
  width: 100%;
  background-color: var(--light-gray);
}

.footer .container {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.footer .container .social__icons {
  display: flex;
  flex-direction: row;
  align-content: space-between;
}

.footer .container .store__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.8rem;
}

.footer .container .store__info h3 {
  font-size: 1.2rem;
}

.footer .fa-facebook {
  font-size: 2rem;
}

.footer .fa-phone {
  font-size: 2rem;
  margin-left: 1rem;
}

@media screen and (max-width: 1440px) and (min-width: 1024px) {
  .about__section .about__paragraph p {
    margin-right: 2.5rem;
    margin-left: 2.5rem;
  }
  
  .menu__content .menu__items ul li .extra_details .only__details {
    font-size: 12px;
  }
  .menu__content .menu__items ul li .extra_details .choice {
    font-size: 12px;
  }
  .menu__content .menu__items ul li .extra_details .choices {
    font-size: 12px;
  }
  .menu__content .menu__items ul li .extra_details .extraprice {
    font-size: 12px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 481px) {
  .navbar .navbar-collapse .navbar-nav {
    display: flex;
    padding: 0.5rem 1rem;
  }

  .main__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
    padding-bottom: 3rem;
  }

  .main__content .hero__section {
    margin: 1rem 0rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .main__content .hero__section .restaurant__info {
    margin: 1rem 0rem;
    width: 90%;
  }

  .main__content .hero__section .restaurant__info h2 {
    font-size: 50px;
  }

  .main__content .hero__section .hero__image {
    width: 90%;
  }

  .main__content .menu__heading p {
    padding: 1rem 1.5rem;
    font-size: 1.2rem;
  }

  .main__content .about__section {
    display: flex;
    flex-direction: column;
  }

  .about__section .about__paragraph p {
    margin-right: 5rem;
    margin-left: 5rem;
  }

  .menu__content {
    padding: 0.25rem;
    width: 100%;
  }
  .menu__content .menu__category {
    margin: 0rem 1rem;
    padding-right: 1rem;
  }
  .menu__content .menu__category h3 {
    font-size: 24px;
  }
  .menu__content .menu__category .arrow {
    margin-right: 0.5rem;
    font-size: 24px;
  }
  .menu__content #lunchmenu ul li {
    margin: 0rem 0.5rem;
  }
  .menu__content .menu__items {
    padding: 0.25rem 2rem;
    margin: 0rem 0.5rem;
  }
  .menu__content .menu__items ul .menu__servedwith {
    margin-bottom: 0;
    padding-top: 0.1rem;
    font-size: 14px;
  }
  .menu__content .menu__items ul h5 {
    font-size: 18px;
  }
  .menu__content .menu__items ul li p {
    font-size: 14px;
    padding: 0.25rem;
    padding-left: 0rem;
  }
  .menu__content .menu__items ul li .price {
    flex: 3;
    font-size: 14px;
  }
  .menu__content .menu__items ul li .extra_details p {
    font-size: 14px;
    padding-left: 0rem;
    padding-bottom: 0rem;
  }
  .menu__content .menu__items ul li .extra_details .only__details {
    font-size: 12px;
    padding-left: 0.5rem;
  }
  .menu__content .menu__items ul li .extra_details .choice {
    font-size: 12px;
    padding-left: 0.75rem;
  }
  .menu__content .menu__items ul li .extra_details .choices {
    font-size: 12px;
    padding-left: 2rem;
  }
  .menu__content .menu__items ul li .extra_details .extraprice {
    font-size: 12px;
    padding-left: 0.75rem;
  }

  .hours {
    width: 70%;
  }
}

@media screen and (max-width: 480px) {
  .navbar .navbar-collapse .navbar-nav {
    display: flex;
    padding: 0.5rem 1rem;
  }

  .main__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
    padding-bottom: 3rem;
  }

  .main__content .hero__section {
    margin: 0rem 0rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .main__content .menu__heading p {
    padding: 0.5rem 1.25rem;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
  }

  .main__content .hero__section .restaurant__info {
    margin: 1rem 0rem;
    width: 90%;
  }

  .main__content .hero__section .restaurant__info h2 {
    font-size: 50px;
  }

  .main__content .hero__section .hero__image {
    width: 90%;
  }

  .main__content .about__section {
    display: flex;
    flex-direction: column;
  }
  .main__content .dropdown {
    padding-left: 0.25rem;
  }
  .main__content .dropdown .btn {
    padding: 0.25rem;
    font-size: 14px;
  }

  .about__section .about__image {
    display: none;
  }

  .about__section .about__image_mobile{
    display: block;
  }

  .about__section .about__paragraph h3 {
    font-size: 1.8rem;
  }

  .about__section .about__paragraph p {
    margin-right: 1rem;
    margin-left: 1rem;
    font-size: 0.9rem;
  }

  .contact__container {
    display: block;
    width: 100%;
    padding: 0rem 1rem;
  }
  .contact__container .contact__form {
    margin: 0;
    margin-top: 1rem;
  }
  .contact__container .contact__form h3 {
    padding-left: calc(50% - 6rem);
  }
  .contact__container .map {
    width: 100%;
    margin: 0;
    padding-top: 2rem;
  }

  .menu__content {
    padding: 0rem;
    padding-right: 0.5rem;
    width: 100%;
  }
  .menu__content .menu__category {
    margin: 0rem 0.25rem;
    padding-right: 1rem;
  }
  .menu__content .menu__category h3 {
    font-size: 18px;
  }
  .menu__content .menu__category .arrow {
    margin-right: 0.5rem;
    font-size: 20px;
  }
  .menu__content #lunchmenu ul li {
    margin: 0rem 0.25rem;
  }
  .menu__content .menu__items {
    padding: 0.25rem 1rem;
    margin: 0rem 0.25rem;
  }
  .menu__content .menu__items ul .menu__servedwith {
    margin-bottom: 0;
    padding-top: 0.1rem;
    font-size: 11px;
  }
  .menu__content .menu__items ul li .menu__servedwith_midcontent {
    font-size: 11px;
  }
  .menu__content .menu__items ul h5 {
    font-size: 14px;
  }
  .menu__content .menu__items ul li p {
    font-size: 12px;
    padding: 0.25rem;
    padding-left: 0rem;
  }
  .menu__content .menu__items ul li .price {
    flex: 3;
    font-size: 12px;
  }
  .menu__content .menu__items ul li .extra_details {
    display: block;
  }
  .menu__content .menu__items ul li .extra_details p {
    font-size: 12px;
    padding-left: 0rem;
    padding-bottom: 0rem;
  }
  .menu__content .menu__items ul li .extra_details .only__details {
    font-size: 9px;
    margin-left: 0rem;
    padding-left: 0.4rem;
  }
  .menu__content .menu__items ul li .extra_details .choice {
    font-size: 9px;
    padding-left: 0.4rem;
  }
  .menu__content .menu__items ul li .extra_details .choices {
    font-size: 9px;
    padding-left: 0.8rem;
  }
  .menu__content .menu__items ul li .extra_details .extraprice {
    font-size: 9px;
    padding-left: 0.4rem;
    padding-top: 0.2rem;
  }

  .footer .container .store__info h3 {
    font-size: 14px;
  }
  .footer .fa-facebook {
    font-size: 1.75rem;
  }
  .footer .fa-phone {
    font-size: 1.75rem;
  }
  .hours {
    width: 100%;
  }
}
