  @charset "utf-8";
/* Projects CSS Document */
html{overflow-y:scroll}

 * {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  display:flex;
  color:#000!important;
  background-color:#008000!important;
  flex-direction:column;
  min-height:100vh;
  margin:0;
}
main {
  flex: 1;
  margin-left:250px;
}

.hero-box {
  overflow:auto;
  margin-top:1rem;
  background-image: url('../images/IMG_0931.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
  height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: indigo;
}
.hero-box a {
  font-size: 18px;
  font-weight: bold;
}
.message-over {
  margin:0px 4vw;
  background-color:#228B22;
  border: 2px solid #000;
  border-radius: 4px;
  padding: .5em;
}
.head,.foot{
  transition:margin-left .4s;
  margin-left:250px;
}
@media (max-width:745px){
.head,.foot {margin-left:0;}
}
.head div {
  line-height:2rem;
  font-size:1.25rem;
  background-color:lightgreen;
}
.head img {
  border-radius:50%;
  float:right!important;
  margin:16px!important;
  display:none;
}
.head span {
  font-size: 1rem;
}
.head #msgbar {
	margin-right:1em;
}
.head #task {
  float:right;
  margin-right:1rem;
}
.head a {
  display:inline;color:darkblue;
}

/* top and side bar layout */
.topbar {
  display:none;
}
.topbar img {
  float:left!important;
  margin:5px 0px 0px 5px!important;
}
.topbar span {
  font-size: 1rem;
}
.topbar button {
  margin:5px 5px 0px 0px!important;
  user-select:none;
  color:#1c0a0a!important;
  float:right;
}
.topbar .toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.sidebar {
  height:100%;
  width:250px;
  position:fixed!important;
  z-index:1;
  overflow:auto;
}
.sidebar header {
  width:250px;
  display: flex;
}
.sidebar button {
  font-size: 1rem;
  border: none;
  border-bottom: 1px solid dodgerblue;
  cursor:pointer;
}
.sidebar a {
  width:240px;
  display:block;
  margin: 5px 0px 10px 5px;
}
.sidebar section {
  width:250px;
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 0;
}
.sidebar #app, .topbar #app {
  width:250px;
  font-size: 1.1rem;
  font-weight: bold;
  text-align:center;
  font-family:serif;
  box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
}
.head, .head div, .sidebar, .sidebar button, .topbar, .topbar button, .foot {
  background-color: #009973!important;
}

.accordion {
  margin-left: .2rem!important;
  display: inline-block;
  color:#fff!important;
  background-color:#000!important;
  text-align: left;
  width:100%;
  vertical-align: middle;
}
.hide {
  display: none !important;
}
.xls {
  display:block;
}
.print {
  display:none;
}
.loading .fa {
  position: absolute;
  left:50%;
  top: 45%;
  opacity: 0.5;
}
.tabrow {
  margin:.1rem 0 0 .1rem;
}
.tabpane {
  overflow:auto;
  max-height:100vh;
  width:auto;
  margin:.5rem;
  padding:.5rem;
  background-color: #b5def9;
}
.tabrow button, .tabrow a {
  border: 2px solid #aaa;
  background: -o-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
  background: -ms-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
  background: -moz-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
  background: -webkit-linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
  background: linear-gradient(top, #ECECEC 50%, #D1D1D1 100%);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: 5px 10px;
  cursor: pointer;
}
.tabrow button:focus,.tabrow button:active,.tabrow button:hover {border: 2px solid #000;color: #0068ac;}

/* Modal */
.modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.modalhome{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.modal-content {
  margin:auto;background-color:#fff;position:relative;padding:.5rem;outline:0;width:600px;
  animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}
}

.main,.head,#main{ transition:margin-left .4s; }

.main {
  padding:.5rem;
  overflow:auto;
  max-height:95vh;
}
.container {
  display: block;
	background-color: #b8daff;
  width:100%
  }
.container, .panel {
  padding: .5rem;
}
.modal-content div {
  padding: 0rem;
}
.modal header {
  padding:0.01em 16px;
  color:#000!important;
  background-color:#8bc34a!important;
  position: relative;
}
.modal header h5 {
  font-size:1.1rem;
  margin:16px!important;
}
.modal header i {
  user-select:none;   
  position:absolute;
  right:0;
  margin:16px!important;
}
.block-container {
  display: block;
	background-color: #f7f7f7;
  margin:.5rem;
  padding: 0 .5rem 0 .5rem;
  width:auto;
  overflow:auto;
}
.flex-container {
  display: flex;
  flex-wrap: wrap;
	background-color: #f7f7f7;
  width:auto;
  overflow:auto;
}
.flex-container li {
  list-style: decimal;
  line-height: 1.2rem;
  padding-bottom: .3rem;
}
.flex-image {
  margin:.5rem;
}
.flex-container .base {
	min-width: 3rem;
	width: 100%;
  font-size: 1rem;
  margin: 0px 2px;
}
.flex-container .info {
  background-color: #286f9451;color: #000;height: 1.8rem;padding: .5rem;font-weight: bold;font-size: 1.1rem;margin-top:.4em;
}
.flex-container input[type='text'], .flex-container input[type='date'], .flex-container input[type='email'], .flex-container input[type='tel']  {
  height:1.8rem;
}
.flex-container input[type='submit'], .flex-container input[type='button'], .flex-container input[type='reset'], .flex-container button {
  min-width: 150px;
  height:32px;
/*  line-height: 1.4; */
  margin: 0.3em .5em 0.2em 0;
  border: 5px solid #080e2f;
  background-color: #080e2f;
  border-radius: 10px;
  color:#fff;
  font-size: medium;
}
.flex-container input[type='submit']:focus, .flex-container input[type='button']:focus, .flex-container input[type='reset']:focus, .flex-container button:focus {
  box-shadow: 0 0 1px 3px #b5def9;
  border-color: #000;
  background:#fff;
  border-radius: 10px;
  color: #0068ac;
}
.flex-container input[type='submit']:active, .flex-container input[type='button']:active, .flex-container input[type='reset']:active, .flex-container button:active {
    background: #fff;
    color: #0068ac;
}
.flex-container input[type='submit']:hover, .flex-container input[type='button']:hover, .flex-container input[type='reset']:hover, .flex-container button:hover {
  background: #fff;
  color: #0068ac;
}
.flex-container fieldset {
  width:100%;
  background: white;
  padding-top: 0;
  padding-bottom: 4px;
}
.datalist  option {
  height: 1rem;
  padding: .2rem;
}
.flex-container .anchor {
  line-height: 2.4;
  margin: 0.3em .5em 0.2em 0;
  padding: 0.2em 1.25em;
  border: 5px solid #080e2f;
  background: #080e2f;
  border-radius: 10px;
  color: #fff;
}
.flex-container .anchor:active, .flex-container .anchor:hover {
  background: #fff;
  color: #0068ac;
}
.flex-container .anchor:focus {
  box-shadow: 0 0 1px 3px #b5def9;
  border-color: #000;
  background:#fff;
  border-radius: 10px;
  color: #0068ac;
}
.flex-container label {
	margin: .4rem 0 0 0;
  display: block;
	color: #286f94;
}
.flex-container select {
  height: 1.8rem;
	border-radius: 3px;
  padding: 0.15rem;
}
.flex-container legend {
	border-radius: 6px;
  padding: 0.3rem;
  background:#fff;
  border:1px solid;
}
.flex-container p {
  height:1.8rem;
  padding: 0.3rem;
  background:#fff;
  border:1px solid;
}
.flex-container select:focus,
.flex-container input[type='checkbox']:focus, .flex-container input[type='checkbox']:checked:focus,
.flex-container input[type='radio']:focus, .flex-container input[type='radio']:checked:focus,
.flex-container input[type='submit']:focus, .flex-container input[type='reset']:focus, .flex-container button:focus {
	box-shadow: 0 0 1px 3px #b5def9;
	border-color: #000;
	outline: none;
}
.flex-container input[type='checkbox'] {
	width: 1.1rem;
	height: 1.1rem;
  margin-top: 4px;
}

.radio-group {
  display: flex;       /* Aligns children in a horizontal row */
  flex-direction: row; /* Default layout orientation */
  gap: 20px;          /* Clean horizontal spacing between choices */
  flex-wrap: wrap;     /* Allows wrapping on smaller mobile screens */
}

.radio-label {
  display: inline-flex; /* Ensures text and radio stay vertically aligned */
  align-items: center;  /* Vertically centers the bubble with its text */
  gap: 8px;            /* Spacing between the bubble and the text */
  cursor: pointer;      /* Gives a clickable feel on hover */
}

#filterdiv {
	display:none;
}

/* For tables */
.tableFixHead {
  padding:0.01rem 1rem;
  position:relative;
  overflow:auto;
  max-height:100vh;
  width:100%;
  display: block;
}
.tableFixHead table {
  border-collapse: collapse; width: 100%;
  display: table;
}
.tableFixHead tbody { z-index: 1; }
.tableFixHead thead th {
  position: sticky;
  top: 0;
  cursor: pointer;
  padding-bottom: 2px;
  border-bottom: none;
  padding-right: 2rem!important;
  background-color: aliceblue;
}
.tableFixHead tbody tr:nth-child(odd){background-color:#fff}
.tableFixHead tbody tr:nth-child(even){background-color:aliceblue}
.tableFixHead thead th[data-sort=asc]:before {
  opacity: 1;
}
.tableFixHead thead th[data-sort=desc]:after {
    opacity: 1;
}
.tableFixHead th,td  {
  padding:8px 8px;
  border: 1px solid darkgray;
}
.tableFixHead .sorting:before, .tableFixHead .sorting:after {
  position: absolute;
  bottom: 0.4em;
  display: block;
  opacity: 0.3;
}
.tableFixHead .sorting:before { right:1em; content: "\2191"; }
.tableFixHead .sorting:after { right:.5em; content: "\2193"; }

.tableFixHead .colhide { /* Hide table column - table.js add this is a hide is requested */  
  display:none!important;
}
.tableFixHead .lbl { 
  font-size: 8px;
}
.tableFixHead .lbl th {
  position:sticky;
  top:28px;
  padding: 2px 8px;
  border: 1px solid darkgray;
  border-top: none;
}
.tableFixHead .col {
  border: 1px solid darkgray;
  border-bottom: none;
  font-size: inherit;
}
.tableFixHead .col th {
  position:sticky;
  top:0px;
  padding-bottom: 2px;
  border-bottom: none;
}
@media (max-width:745px){.modal-content{margin:0 10px;width:auto!important}.modal{padding-top:30px}}
@media (max-width:745px){.modal-content{width:500px}.modal{padding-top:50px}}
@media (min-width:745px){
  .modal-content{width:90vw;}
  .hide-large{display:none!important}
  .sidebar{display:block!important}
  .hero-box{height:85vh!important}
}
@media (max-width:745px){
  .sidebar{display:none}
  .main{margin-left:0!important;margin-right:0!important}
  .head{margin-left:0px}
  .hero-box{height:82vh!important}
  .auto{max-width:100%}
  .topbar {display:inline-block!important;width:100%}
  .topbar #app {margin:.3rem .5rem!important;font-size:1.1rem;display:inline-block;}
  main { margin-left:0; }
}
