html {
  font-size: 14px;
}

body {
  background-color: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  margin: 0;
  padding: 0;
  height: 100svh;
  width: 100svw;
  max-width: 100svw;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    'header'
    'main'
    'footer';
}

header {
  grid-area: header;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}
main {
  grid-area: main;
  overflow: hidden;
  height: 100%;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 0;
  margin: 0;
}

main section.slot {
  flex: 70% 0 0;
}
footer {
  grid-area: footer;
  padding: 0.5rem 1rem;
}

@media only screen and (max-width: 640px) {
  main nav {
      display: none;
  }
  main section.slot {
      flex: 0 1 100%;
      max-width: 100%;
      padding: 1rem;
  }
}

navigation-bar .logo {
  color: var(--blue-trans);
  font-size: 2rem;
}

navigation-bar a {
  font-size: 1.3rem;
}

header {
  display: flex;
  flex-direction: row;
  margin: 0.5rem 0.3rem;
  nav.navbar {
    flex: 70% 0 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    a.navbar-brand img.logo {
      width: 40px;
      height: 40px;
    }
    ul.navbar-nav {
      display: flex;
      flex-direction: row;
      list-style: none;
      gap: 1rem;
    }
  }
}
