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: linear-gradient(104deg, #a71836 calc(50% - 700px), #a71836 25px, transparent 25px), rgba(0,0,0,0.533);
}
header:after {
  content: '';
  display: block;
  background: linear-gradient(104deg, #272f54 calc(50% - 700px), #272f54 0, #a71836 0), #a71836;
  width: 100%;
  height: 8px;
}
nav a {
  display: flex;
  align-items: center;
  padding-bottom: 6px;
  color: #fff;
}
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 #a71836;
  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: #a71836;
}
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;
}
#menuModal {
  --bs-modal-width: 100%;
  --bs-modal-margin: 0;
  --bs-modal-header-padding: 1rem 1.5rem;
  --bs-modal-padding: 1rem 1.5rem;
  --bs-modal-border-radius: 0;
  --bs-modal-bg: rgba(255,255,255,0.933);
}
.modal-backdrop {
  --bs-backdrop-opacity: 0.9;
}
.modal-header .btn-close {
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
}
.aspect-5\/3 {
  aspect-ratio: 5/3;
}
