.html {
  background-color: #f2f2f2;
  font-size: 16px;
  width: 100%;
  height: 100%;
  place-items: center;
}

.body {
  display: flex;
}

/*
Header configs.
Header element: {div}logo, {button}hamburger button
*/
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0 0 5px 5px;
  position: relative;
  z-index: 9000;
  background-color: #a6bf69;
}
.site-header .logo {
  height: 4rem;
  width: 4rem;
  margin: 0.75rem;
}
.site-header .hamburger-btn {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  min-height: 3rem;
  min-width: 3rem;
  margin: 0.75rem;
  border-radius: 7px;
  background-color: #734f37;
  border: 0.2rem solid #000000;
}
.site-header .hamburger-btn .hamburger-line {
  display: block;
  height: 0.2rem;
  width: 2rem;
  border-radius: 3px;
  background-color: #000000;
}
/*
navbar configs
navbar element:{ul}navi-links, {li}navi-link, {ul}sub-menu, {li}sub-navi-link
*/
.sub-menu, .navi-links {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease-out;
}

.sub-menu.is-open, .navi-links.is-open {
  opacity: 1;
  max-height: 90rem;
  transition: all 0.3s ease-out;
}

.sub-menu .sub-navi-link, .navi-links .navi-link {
  margin: 2px 2px;
  display: flex;
  align-items: start;
  flex-wrap: nowrap;
  background-color: #f2d575;
  border-radius: 5px;
  transition: all 0.3s ease-out;
  cursor: pointer;
}
.sub-menu .sub-navi-link a, .navi-links .navi-link a {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 0.5rem;
}

.sub-menu .sub-navi-link:hover, .navi-links .navi-link:hover:not(.has-submenu) {
  background-color: #f2a65a;
}
.sub-menu .sub-navi-link:active, .navi-links .navi-link:active:not(.has-submenu) {
  background-color: #d93d3d;
  color: #fff9d8;
}

.navbar {
  margin-top: -5px;
}

.navi-links:first-child {
  padding-top: 5px;
}
.navi-links .navi-link {
  flex-direction: column;
}
.navi-links .navi-link:not(.has-submenu) .has-submenu.is-open {
  background-color: #d93d3d;
}

.sub-menu {
  width: 100%;
  padding: 0 0 1px 0;
  background-color: #f2a65a;
  border-radius: 0 0 4px 4px;
}
.sub-menu .sub-navi-link:hover {
  justify-content: end;
}
.sub-menu .sub-navi-link:hover a {
  width: 99%;
}