/* htmlタグ --------------------------------------------------- */
body {
  height: 100dvh;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  background-color: #eeeeee;
}
header {
  height: 46px;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}
main {
  flex-grow: 1;
  overflow-y: auto;
  padding: 0;
  line-height: 1.2em;
}
footer {
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
  background-color: #444444;
  border-top: 1px solid #aaaaaa;
}
button {
  background-color: transparent;
  border: none;
}
button i {
  font-size: 24px;
  color: #f0f0f0;
}
li {
  align-items: center;
}

/* BootStrapクラス --------------------------------------------------- */
.bg-navy {
  background-color: #000055 !important;
}
.bg-purple {
  background-color: #cc33cc !important;
}
.bg-brown {
  background-color: #880000 !important;
}
.text-danger {
  color: #bb0000 !important;
}
.text-navy {
  color: #000055 !important;
}
.text-purple {
  color: #aa33aa !important;
}
.text-brown {
  color: #880000 !important;
}
.btn {
  padding: 0 8px;
}
.childPage-header {
  height: 46px;
  padding: 6px 4px 6px 10px;
  background-color: #888888;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.childPage-title {
  font-size: 20px;
  color: #f0f0f0;
}
.fa-solid {
  font-size: 20px;
}
.list-group-item {
  padding: 7px;
}
.list-group-item-fit {
  padding: 0;
}
.nav-link {
  font-size: 20px;
}
.offcanvas-header {
  height: 46px;
  padding: 6px 4px 6px 16px !important;
  background-color: #444444;
}
.offcanvas-title {
  font-size: 20px;
  color: #f0f0f0;
}
.nav-item {
  padding-left: 10px;
  padding-bottom: 10px;
}
.nav-link {
  padding: 4px 10px;
}
.accordion-item {
  border-radius: 0 !important;
}
.accordion-header {
  border-radius: 0 !important;
}
.accordion-button {
  padding: 10px !important;
  background-color: #f0f0f0 !important;
  border-radius: 0 !important;
}
.accordion-body {
  padding: 8px;
}

/* アプリクラス ---------------------------------------------- */
.d-none {
  display: none !important;
}
.highlight {
  background-color: #ffff99;
  transition: background-color 0.2s ease;
}
.menuItemIcon {
  width: 24px;
  text-align: center;
  color: #666666;
}
.menuItemLavel {
  text-align: center;
  color: #404040;
  padding-left: 10px;
  font-size: 18px;
}
.detailColumn {
  margin: 0;
  padding: 0;
}
.detailColumnLabel {
  padding: 10px 0 10px 0;
  width: 80px;
  height: auto;
  text-align: center;
  color: #404040;
  background-color: #f0f0f0;
  font-size: 14px;
  word-break: break-all;
}
.detailColumnValue {
  padding: 10px 6px 10px 6px;
  height: auto;
  color: #404040;
  font-size: 14px;
  word-break: break-all;
}
.searchKey {
  padding: 4px;
  margin: 4px;
  border-color: #eee;
  border-radius: 8px;
}

/* id指定 --------------------------------------------------- */
#AppTitle {
  font-size: 20px;
  font-weight: bold;
}
#SlideInPanel1 {
  width: 320px;
}
#SlideInPanel2 {
  width: 320px;
}

#DetailPanel {
  width: 100vw !important;
}
#DetailPanelHeader {
  padding: 4px 6px 4px 2px !important;
}
#DetailPanelClose {
  font-size: 24px;
}

#FullPanel {
  width: 100%;
  height: 100%;
}
#FullPanelBody {
  padding: 0;
  width: 100%;
  height: 100%
}
#videoIndex {
  max-height: 200px;
  overflow-y: auto;
  z-index: 999;
}
