* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-padding-top: 90px;
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  color: black;
  background-color: #2C402F;
  overflow-x: hidden;
}

.bg-black {
  width: 100vw;
  height: 60vh;
  background-color: #343434;
  position: absolute;
  z-index: -100;
}

.bg-black-aside {
  width: 100%;
  height: 70%;
  position: absolute;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.63);
  z-index: -1;
}

.sticky {
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.38s;
  padding: 2rem;
}
nav .logo-container {
  display: flex;
  align-items: center;
  padding: 0 0 0 1rem;
}
nav .logo-container p {
  margin: 0 0 0 0.5rem;
  color: #F3F3F3;
  transition: all 0.38s;
  font-size: 1.8125rem;
  font-weight: 200;
  font-family: "Josefin Sans", sans-serif;
}
nav .logo-container .img-container {
  width: 30%;
  transition: all 0.38s;
}
nav .logo-container .img-container img {
  width: 100%;
}
nav ul {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 60%;
  transition: all 0.38s;
}
nav ul li {
  display: flex;
  align-items: center;
  transition: all 0.38s;
  list-style: none;
}
nav ul li span {
  margin: 0 0.3rem 0 0;
  padding: 0 0 0.2rem 0;
  color: #F3F3F3;
  opacity: 1;
}
nav ul li a {
  opacity: 1;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Josefin Sans", sans-serif;
  color: #F3F3F3;
  text-decoration: none;
  transition: ease-in-out 0.2s;
}
nav ul li:hover {
  cursor: pointer;
  opacity: 0.6;
  transform: scale(0.85);
}
nav ul li.contact a {
  padding: 12px;
  border: 1px solid #E9DCBE;
  border-radius: 10px;
  transition: all 0.38s;
  font-size: 1.3rem;
  color: #D9D9D9;
  opacity: 1;
}
nav ul li.contact a:hover {
  opacity: 1;
  color: #343434;
  background-color: #E9DCBE;
}
nav .menu-mobile {
  display: none;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  z-index: 1;
}
nav .menu-mobile span {
  display: block;
  width: 1.5rem;
  height: 3px;
  margin: 5px 0;
  background-color: white;
  border-radius: 5px;
  transition: all 0.38s;
}
nav .menu-mobile span.clicked {
  background-color: #E9DCBE;
}
nav .menu-mobile:hover {
  cursor: pointer;
}

nav.scroll {
  padding: 0.1rem;
  background-color: rgba(52, 52, 52, 0.95);
  transition: all 0.38s ease;
}
nav.scroll .logo-container p {
  font-size: 1.5rem;
}
nav.scroll .logo-container .img-container {
  width: 23%;
}
nav.scroll ul {
  width: 50%;
}
nav.scroll ul li.contact a {
  padding: 8px;
  font-size: 1.2rem;
}

.landing {
  display: flex;
  justify-content: space-between;
  height: 100vh;
  padding: 9rem 0 0 0;
}
.landing .title-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 60%;
  padding: 8rem 0 2rem 3rem;
  text-align: left;
}
.landing .title-section h2 {
  color: #E9DCBE;
  font-size: 5.5rem;
  font-weight: bold;
  font-family: "Josefin Sans", sans-serif;
  -webkit-animation: landingh2 1.8s ease;
          animation: landingh2 1.8s ease;
}
.landing .title-section h4 {
  margin: 0 0 5rem 0.4rem;
  color: #E9DCBE;
  font-size: 1.2rem;
  font-weight: 100;
  font-family: "Inria Serif", serif;
  -webkit-animation: landingh4 1.8s ease;
          animation: landingh4 1.8s ease;
}
.landing .title-section button {
  padding: 14px;
  margin: 0 0 0 0.4rem;
  border: 1px solid #E9DCBE;
  border-radius: 10px;
  color: #F9F9F9;
  background-color: transparent;
  font-family: "Inria Serif", serif;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 1px;
  transition: all 0.38s;
  -webkit-animation: landingbutton 1.8s ease;
          animation: landingbutton 1.8s ease;
}
.landing .title-section button:hover {
  cursor: pointer;
  color: #343434;
  background-color: #E9DCBE;
}
.landing .cangkir-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40%;
  padding: 0;
  -webkit-animation: landingcangkir 1.8s ease-in-out;
          animation: landingcangkir 1.8s ease-in-out;
}
.landing .cangkir-container .cangkir {
  width: 75%;
  position: relative;
}
.landing .cangkir-container .cangkir img {
  width: 100%;
}
.landing .cangkir-container .cangkir img.beans {
  position: absolute;
  width: 18%;
  top: 0;
  right: 0;
}

article.about {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
  margin: 5rem auto 0;
  -webkit-animation: about 2s ease paused;
          animation: about 2s ease paused;
}
article.about .judul {
  padding: 0 0 3rem 0;
}
article.about .judul h2 {
  color: #E9DCBE;
  font-size: 3rem;
  font-family: "Inria Serif", serif;
  font-weight: bold;
}
article.about .about-section-container {
  display: flex;
  width: 100%;
}
article.about .about-section-container .gambar-cafe {
  position: relative;
  text-align: right;
  width: 50%;
  -webkit-animation: img_about 2s ease paused;
          animation: img_about 2s ease paused;
}
article.about .about-section-container .gambar-cafe img.atas {
  width: 30%;
  position: absolute;
  top: -70px;
  left: 90px;
  z-index: -1;
}
article.about .about-section-container .gambar-cafe img.cafe {
  width: 70%;
  margin: 0 1rem 0 0;
}
article.about .about-section-container .gambar-cafe img.bawah {
  width: 110%;
  position: absolute;
  z-index: -1;
  bottom: -20px;
  left: 300px;
}
article.about .about-section-container .penjelasan-cafe {
  display: flex;
  align-items: center;
  width: 50%;
  -webkit-animation: about_text 1.5s ease paused;
          animation: about_text 1.5s ease paused;
}
article.about .about-section-container .penjelasan-cafe p {
  color: #F3F3F3;
  letter-spacing: 1px;
  text-align: justify;
  font-size: 1.3rem;
  font-family: "Alegreya Sans", sans-serif;
}

article.menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  margin: 12rem 0 0 0;
}
article.menu .judul-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-animation: best_seller 2s ease paused;
          animation: best_seller 2s ease paused;
}
article.menu .judul-menu h2 {
  padding: 0 1rem;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 2px;
  color: #E9DCBE;
  font-family: "Josefin Sans", sans-serif;
}
article.menu .judul-menu span {
  font-size: 2.5rem;
  color: #E9DCBE;
}
article.menu .judul-menu span.dua {
  transform: rotate(180deg);
}
article.menu .menu-section-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 3rem 0 5rem;
  margin: 3rem 0 0 0;
  background-color: #2c342f;
  -webkit-animation: bg_menu 2s ease paused;
          animation: bg_menu 2s ease paused;
}
article.menu .menu-section-container .judul-fnb {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-animation: fnb 2s ease paused;
          animation: fnb 2s ease paused;
}
article.menu .menu-section-container .judul-fnb h3 {
  padding: 0 0.8rem;
  font-size: 2rem;
  letter-spacing: 1px;
  color: #E9DCBE;
  font-family: "Inria Serif", serif;
}
article.menu .menu-section-container .judul-fnb span {
  font-size: 2.2rem;
  color: #E9DCBE;
}
article.menu .menu-section-container .fnb-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 95%;
  margin: 3rem 0 0 0;
  z-index: 2;
}
article.menu .menu-section-container .fnb-container .card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 22%;
  padding: 1.2rem;
  margin: 2rem;
  border-radius: 10px;
  background-color: white;
  text-align: center;
  -webkit-animation: card 2s ease paused;
          animation: card 2s ease paused;
}
article.menu .menu-section-container .fnb-container .card h3 {
  font-size: 1.75rem;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
}
article.menu .menu-section-container .fnb-container .card p {
  margin: 1.3rem 0 0 0;
  letter-spacing: 1px;
  font-size: 0.89rem;
  font-family: "Alegreya Sans", sans-serif;
}
article.menu .menu-section-container .fnb-container .card button {
  width: 60%;
  padding: 10px;
  margin: 1.3rem 0 0 0;
  color: white;
  background-color: #2d635e;
  border-radius: 8px;
  border: 1px solid #2d635e;
  font-size: 1.25rem;
  font-family: "Abhaya Libre", serif;
  transition: all 0.2s ease;
}
article.menu .menu-section-container .fnb-container .card button:hover {
  cursor: pointer;
  opacity: 0.9;
  transform: scale(0.85);
}
article.menu .menu-section-container .fnb-container .card .img-container {
  width: 70%;
  margin: 1.3rem 0 0 0;
  -webkit-animation: bev 2s ease infinite alternate;
          animation: bev 2s ease infinite alternate;
}
article.menu .menu-section-container .fnb-container .card .img-container img {
  width: 100%;
}
article.menu .menu-section-container .fnb-container .card .img-container.cheese {
  width: 50%;
}
article.menu .menu-section-container .fnb-container .card .img-container.espresso {
  width: 60%;
}
article.menu .menu-section-container .img-menu-atas {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 45%;
}
article.menu .menu-section-container .img-menu-atas img {
  width: 100%;
}
article.menu .menu-section-container .img-menu-bawah {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 45%;
}
article.menu .menu-section-container .img-menu-bawah img {
  width: 100%;
}

article.reserve {
  display: flex;
  justify-content: space-between;
  width: 80%;
  padding: 0 2rem;
  margin: 10rem auto 7rem;
}
article.reserve .img-maps {
  width: 40%;
  -webkit-animation: maps 1.5s ease paused;
          animation: maps 1.5s ease paused;
}
article.reserve .img-maps img {
  width: 100%;
}
article.reserve .info-location {
  width: 40%;
  -webkit-animation: info 1.5s ease paused;
          animation: info 1.5s ease paused;
  position: relative;
}
article.reserve .info-location .judul-location {
  display: flex;
  align-items: center;
  margin: 0 0 2rem 0;
  text-align: left;
}
article.reserve .info-location .judul-location h2 {
  color: #F3F3F3;
  font-size: 2.5rem;
  font-family: "Josefin Sans", sans-serif;
}
article.reserve .info-location .judul-location span {
  margin: 0 0 0 0.5rem;
  color: #E9DCBE;
  font-size: 2.5rem;
  -webkit-animation: location_point 2s ease infinite alternate;
          animation: location_point 2s ease infinite alternate;
}
article.reserve .info-location p {
  margin: 0 0 2.8rem 0;
  color: #dddddd;
  opacity: 0.8;
  font-size: 1.3rem;
  font-family: "Alegreya Sans", sans-serif;
}
article.reserve .info-location button {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #E9DCBE;
  font-size: 1.5rem;
  font-family: "Josefin Sans", sans-serif;
  text-decoration: none;
  color: #F3F3F3;
  background-color: transparent;
  transition: all 0.38s;
}
article.reserve .info-location button:hover {
  cursor: pointer;
  transform: scale(0.9);
  background-color: #E9DCBE;
  color: #343434;
}
article.reserve .info-location::before {
  width: 40%;
  height: 2px;
  top: 20px;
  left: -215px;
  position: absolute;
  content: " ";
  display: block;
  background-color: #9a7d60;
}

aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  height: 50vh;
  z-index: 2;
  background-color: #8e8b82;
}
aside .logo-container {
  display: flex;
  align-items: center;
  height: 30%;
}
aside .logo-container p {
  margin: 0 0 0 0.5rem;
  color: #F3F3F3;
  font-size: 2rem;
  font-weight: 300;
  font-family: "Josefin Sans", sans-serif;
}
aside .logo-container .img-container {
  width: 30%;
}
aside .logo-container .img-container img {
  width: 100%;
}
aside .info-aside {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 70%;
  height: 70%;
}
aside .info-aside .section {
  display: flex;
  flex-direction: column;
  width: 30%;
  margin: 0 1rem 0 1rem;
}
aside .info-aside .section .judul {
  width: 100%;
  margin: 0 0 0.3rem 0;
}
aside .info-aside .section .judul p {
  color: #E9DCBE;
  font-size: 1.2rem;
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
}
aside .info-aside .section .isi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  padding: 2px 5px;
  z-index: 2;
}
aside .info-aside .section .isi p, aside .info-aside .section .isi a {
  padding: 0.45rem 0 0 0;
  color: #F3F3F3;
  opacity: 0.8;
  letter-spacing: 1.5px;
  font-size: 1rem;
  font-weight: 300;
  font-family: "Inria Serif", serif;
  text-decoration: none;
}
aside .info-aside .section .isi p:hover, aside .info-aside .section .isi a:hover {
  opacity: 0.6;
}
aside .img-kanan {
  width: 15%;
  top: 0;
  right: 0;
  position: absolute;
}
aside .img-kanan img {
  width: 100%;
}
aside .img-kiri {
  width: 15%;
  bottom: 0;
  left: 0;
  position: absolute;
}
aside .img-kiri img {
  width: 100%;
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.3rem 2rem;
  background-color: #8e8b82;
}
footer p {
  color: #D9D9D9;
  font-size: 1.1rem;
  font-weight: 600;
  font-family: "Josefin Sans", sans-serif;
}/*# sourceMappingURL=style.css.map */