body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: "S THeiti TC", "Helvetica Neue", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}
header {
  background: url("../images/bg.jpg") top center fixed;
}
header .logo .icon-close,
header .logo[aria-expanded="true"] .icon-open {
  display: none;
}
header .logo[aria-expanded="true"] .icon-close {
  display: inline;
}
header.lock {
  background: rgba(28,59,127,0.949);
}
header.lock .sitemap {
  display: none;
}
header.lock #nav {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
header.lock .logo img {
  max-height: 60px;
}
nav a {
  display: flex;
  align-items: center;
  padding-bottom: 6px;
  color: #fff;
}
nav .menu > li > span {
  display: grid;
  place-items: center;
  padding-bottom: 6px;
  color: #fff;
  cursor: pointer;
  text-align: center;
}
nav .menu {
  position: relative;
  display: grid;
  place-items: center;
}
nav .menu:hover > li > .submenu {
  display: block;
}
nav .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 100%;
  padding-bottom: 0.5rem;
  background-color: rgba(255,255,255,0.867);
  border-bottom: solid 8px rgba(28,59,127,0.8);
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
nav .submenu.submenu-left {
  left: unset;
  right: 0;
}
nav .submenu > li {
  padding: 0 0.5rem;
}
nav .submenu > li:hover {
  background: rgba(28,59,127,0.8);
}
nav .submenu > li:hover > a {
  color: #fff;
}
nav .submenu > li a {
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  color: #000;
}
nav .has-submenu {
  position: relative;
}
nav .has-submenu:hover > .submenu {
  display: block;
}
nav .has-submenu .submenu {
  top: 0;
}
nav .has-submenu .submenu.submenu-left {
  left: unset;
  right: 100%;
}
nav .has-submenu .submenu.submenu-right {
  left: 100%;
}
nav .has-submenu .submenu > li {
  padding: 0.5rem 1rem;
}
.modal-backdrop {
  --bs-backdrop-opacity: 0.9;
}
.modal-header .btn-close {
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
}
