/* CSS Document */
/*
$red:rgb(229,0,68);


$orange:rgb(255,69,0);
$l_green:rgb(215,233,148);
$catch_color:rgb(122,106,86);
$text_color:rgb(87,77,79);
$table_color:rgb(176,224,230);
$closing_color:rgb(246,197,189);
*/
#container_grid #header {
  width: 250px;
  left: 0;
  height: 100vh;
}
#container_grid #header .logo {
  color: #fff;
  position: relative;
  border-bottom: 1px solid #20549e;
  text-align: center;
  display: inline-block;
  width: 100%;
  font-size: 2rem;
  background: #1976D2;
}
#container_grid #header .logo img {
  display: block;
  width: 140px;
  margin: 10px auto;
}
#container_grid #header .logo span {
  font-size: 2rem;
  text-align: center;
  display: block;
}
#container_grid #header .logo a {
  color: #fff;
  border: 0 none;
  display: block;
  height: auto;
  padding-bottom: 20px;
  line-height: 2;
}
#container_grid #header .drawer-nav {
  background: #378fe7;
  position: fixed;
  box-shadow: 2px 0px 2px -1px rgba(0, 0, 0, 0.31);
  top: 0;
  width: 250px;
}
#container_grid #header .drawer-nav .mCSB_inside > .mCSB_container {
  margin-right: 0;
}
#container_grid #header .drawer-nav a {
  text-decoration: none;
}
#container_grid #header .drawer-nav .drawer-list {
  overflow: auto;
  height: calc(100vh - 222px);
}
#container_grid #header .drawer-nav dl {
  font-size: 1.6rem;
}
#container_grid #header .drawer-nav dl dt {
  color: #fff;
  display: block;
  padding: 0 5px;
  text-decoration: none;
  height: 3em;
  line-height: 3em;
  border-bottom: 1px solid #20549e;
  position: relative;
  transition: 0.2s ease-in-out;
  cursor: pointer;
  background: #1976D2;
}
#container_grid #header .drawer-nav dl dt i {
  margin-right: 1em;
}
#container_grid #header .drawer-nav dl dd {
  display: none;
}
#container_grid #header .drawer-nav dl.active dd {
  display: block;
}
#container_grid #header .drawer-nav ul {
  color: #1976D2;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  list-style-type: none;
}
#container_grid #header .drawer-nav ul li a {
  color: #0e4377;
  display: block;
  padding: 0 5px 0 45px;
  text-decoration: none;
  line-height: 3em;
  border-bottom: 1px solid #20549e;
  position: relative;
  transition: 0.2s ease-in-out;
  background: rgba(255, 255, 255, 0.9);
}
#container_grid #header .drawer-nav ul li a.active {
  color: #fff;
  text-indent: 0;
  background: rgba(255, 255, 255, 0.1);
}
#container_grid #header .drawer-nav ul li a.active:hover {
  text-indent: 0;
}
#container_grid #header .drawer-nav ul li a.active::after {
  position: absolute;
  content: "";
  right: 10px;
  width: 16px;
  height: 16px;
  bottom: 0;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  margin: auto;
}
#container_grid #header .drawer-nav ul li a:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

#container_grid {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 250px 1fr;
  grid-template-rows: 90px auto;
  gap: 0;
  height: 100vh;
  overflow: hidden;
  grid-template-areas: "header toolbar" "header contents";
}

.nav_off #container_grid {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: 0 1fr;
  grid-template-rows: 90px auto;
  gap: 0;
  height: 100vh;
  overflow: hidden;
  grid-template-areas: "header toolbar" "header contents";
}
.nav_off #container_grid #header {
  position: absolute;
  left: -250px;
}
.nav_off #toolbar .nav_control::before {
  content: "\f061";
}

header {
  grid-area: header;
}

#toolbar {
  grid-area: toolbar;
}

#container {
  grid-area: contents;
}

#toolbar {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto;
  grid-template-rows: 50% 50%;
  gap: 0px 0px;
  grid-template-areas: "title toolbar_nav" "title login_user";
  background: #20549e;
  color: #fff;
  align-items: center;
  width: 100%;
}
#toolbar .title {
  grid-area: title;
  margin-left: 30px;
}
#toolbar .toolbar_nav {
  grid-area: toolbar_nav;
  display: flex;
  justify-content: flex-end;
  font-size: 2rem;
}
#toolbar .toolbar_nav li {
  display: inline-block;
  margin: 5px;
}
#toolbar .toolbar_nav li a {
  width: 1em;
  color: #fff;
  text-align: center;
  display: block;
  text-decoration: none;
}
#toolbar .login_user {
  grid-area: login_user;
  font-size: 1.4rem;
  text-align: right;
}

#toolbar {
  padding: 15px 10px;
  clear: both;
  z-index: 1;
  position: relative;
}
#toolbar .nav_control {
  position: absolute;
  left: 0;
  top: 0;
  background: #1976D2;
  color: #fff;
  height: 3rem;
  width: 3rem;
}
#toolbar .nav_control::before {
  font-family: "Font Awesome 5 Free";
  content: "\f060";
  -webkit-font-smoothing: antialiased;
  display: block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 3rem;
  font-weight: 900;
  margin: auto;
  font-size: 2rem;
  text-align: center;
}

#container {
  position: relative;
  margin: 0 0;
  height: 100vh;
  width: calc(100%);
  /*max-width: calc(100vw - 250px);*/
}
#container:has(#login) {
  margin: 0 auto;
  max-width: calc(100vw);
}

#contents {
  position: relative;
  clear: both;
  padding: 0;
  display: block;
  text-align: left;
  overflow: auto;
  height: calc(100vh - 90px);
  width: calc(100%);
}

#main {
  clear: both;
  padding: 20px 20px;
  display: block;
  text-align: left;
}
#main.flex_layout {
  display: flex;
  flex-direction: column;
  height: calc(100%);
}
#main.flex_layout .list_table {
  flex-grow: 2;
  height: 0;
}

.list_table {
  margin: 10px;
  border-radius: 4px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  background: #fff;
}

.menu {
  font-size: 1.6rem;
  margin: 0 10px;
}

.menu::after {
  content: '';
  clear: both;
  display: block;
}

.tablesorter-scroller-header, .tablesorter-scroller-table {
  max-width: 100%;
}
