:root{
/*   --dark-header: #333; */
  --dark-header: #003762;
  --dark-text: #000;
  --gray-text: #777;
  --light-gray-color: #ddd;
  --light-color: #fff;
  --link-text: #00E;
  
  /* client color */
  --main-theme-color:#1261A0;
  --dark-theme-color:#003762;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

html{
  min-height: 100%;
}

body{
/*   position: relative; removed jp 2019 03 13*/ 
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
}

form{
  padding-bottom: 100px;
}

a{
  text-decoration: none !important;
}

td, p, a{
  font-size: 13px;
  margin: 0;
  padding: 0;
}

a{
  text-align: left;
}

a:hover{
  text-align: left;
}

tbody{
  background-color: none;
}

input, select{
  border-radius: 0 !important;
  padding: 2px;
}

/* width classes */
.w1, .w2, .w3, .w4, .w5, .w6, .w7, .w8, .w9, .w10, .w11, .w12{
  display: inline-block;
  vertical-align: top;
}

.w1{
  width: 8.333333333% !important;
}
.w2{
  width: 16.666666667% !important;
}
.w3{
  width: 25% !important;
}
.w4{
  width: 33.333333333% !important;
}
.w5{
  width: 41.666666667% !important;
}
.w6{
  width: 50% !important;
}
.w7{
  width: 58.333333333% !important;
}
.w8{
  width: 66.666666667% !important;
}
.w9{
  width: 75% !important;
}
.w10{
  width: 83.333333333% !important;
}
.w11{
  width: 91.666666667% !important;
}
.w12{
  width: 100% !important;
}

.text-center{
  text-align: center !important;
}

#HeaderMain p{
  font-weight: 300;
  text-shadow: none;
}

#HeaderMain .prog_title{
  text-align: center;
  margin-bottom: 0;
  color: var(--dark-text);
}

#HeaderMain .prog_desc{
  text-align: center;
  margin: 0 auto;
  line-height: 10px;
  color: var(--gray-text);
}

#myTopMenu{
  height: 100%;
  margin: 0 auto;
}

#myTopMenu a{
  color: var(--gray-text);
  font-size: 15px;
  font-weight: 300;
  height: 100%;
  margin: 0 5px;
}

#myTopMenu a:active, #myTopMenu a:visited, #myTopMenu a:focus, #myTopMenu a:hover{
  background-color: rgba(0,0,0,0);
  color: var(--dark-text);
}

#mySideMenu{
  height: calc(100% - 60px); /* 60px - height of header*/
  top: 60px;
  padding: 20px 0;
  width: 20%;
  background-color: var(--light-color);
  border-right: 1px solid rgba(169,169,169,0.8);
  overflow-y: auto;
  position: fixed;
  text-align: left;
  display:table;
}

#mySideMenu .side_menu_center{
  display: table-cell;
  vertical-align: middle;
}

*::-webkit-scrollbar {
    width: 7px;
    margin-left: -7px;
}
 
*::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 7px rgba(0,0,0,0);
}
 
*::-webkit-scrollbar-thumb {
  background-color: rgba(169,169,169,1); /*darkgrey*/
  outline: 1px solid slategrey;
  border-radius: 4px;
}

#mySideMenu a:visited, #mySideMenu a:focus{
/*   color: var(--light-color) !important; */
  background-color: var(--light-gray-color) !important;
}

.sub_menu{
  display: block;
  padding: 7px;
  font-size: 17px;
  color: var(--dark-text);
/*   font-weight: 600; */
  background: none;
}

.sub_menu:hover{
  font-size: 17px !important;
  background-color: var(--light-gray-color);
  color: var(--dark-text);
}

#mySideMenu ul{
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-transition: display 0.5s; /* For Safari 3.1 to 6.0 */
  transition: display 0.5s;
}

#mySideMenu ul li:hover{
  background-color: var(--light-gray-color);
}

#mySideMenu ul li a{
  display: block;
  font-size: 14px;
  font-weight: 300;
  padding: 3px 0 3px 14px;
  color: var(--dark-text) !important;
}

#mySideMenu ul li a:hover, #mySideMenu ul li a:active{
  font-size: 14px;
/*   color: var(--light-color) !important; */
}

#MainContent{
  margin: 100px 0 0 20%;
  padding: 0 20px;
}

.container_box{
  width:100%;
  margin-bottom: 20px;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 0px 5px 0 rgba(0, 0, 0, 0.2);
}

.container_box:last-of-type{
  margin-bottom: 90px
}

.container_box .box_title{
  padding: 0 15px;
  height: 30px;
  line-height: 30px;
  margin: 0;
  border: 0;
  color: var(--light-color);
  background-color: var(--dark-header);
  font-weight: 600;
  font-size: 13px;
}

.container_box .box_desc{
  border: 1px solid rgba(169,169,169,0.8);
  margin: 0;
  padding: 15px;
  border-top:none;
/*   border-radius: 0 0 10px 10px; */
  background-color: var(--light-color);
}

.box_desc .row{
  width: 100%;
}

.box_Q, .box_A{
  display: inline-block;
  vertical-align: top;
  word-break: break-all;
}

.box_Q p, .box_A p{
  padding: 0;
  margin: 5px 0;
}

.box_desc .row .box_Q{
  color: var(--dark-text);
  font-weight: 300;
  font-size: 13px;
  width: 25%;
}

.box_desc .row .box_A{
  color: var(--gray-text);
  font-weight: 600;
  font-size: 13px;
  width: 74%;
}

#Menu_StudPic{
  width: 100%;
  background-color: rgba(0,0,0,0);
  user-drag: none; 
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

#rightPanel>div{
   width: calc(100% - 20px);
   margin-left: 20px;
}

.calendar_detl{
  margin-bottom: 20px;
}

#boxCalendar .box_desc{
  height: 400px;
}

#calendar_gui{
/*   display: inline-block; */
/*   width: 50%; */
}

#calendar_gui table{
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

#calendar_gui tbody{
  background: var(--light-color);
  border: 2px solid var(--gray-text);
}

#calendar_gui tbody td{
  border: 1px solid var(--light-gray-color);
}

#calendar_gui input[type="button"]{
  cursor: pointer;
  padding: 0;
}

#calendar_gui td, #calendar_detl td{
  height: 30px;
  font-size: 13px;
  padding: 5px;
  text-align: center;
}

#calendar_gui #month, #calendar_detl thead{
/*   background-color: var(--gray-text); */
  background-color: var(--dark-header);
  color: var(--light-color);
  border: none;
  /*border: 1px solid var(--gray-text);
  border-left: 2px solid var(--gray-text);*/
  border: 1px solid var(--dark-header);
  border-left: 2px solid var(--dark-header);
}

#calendar_gui #month td.no_border{
  border: none;
  padding: 0;
}

#calendar_gui #month input[type="button"]{
  color: #aaa;
  font-size: 20px;
  line-height: 0;
  border: none;
  background-color: rgba(0,0,0,0);
  width: 100%;
  height: 100%;
  outline: none;
  margin: 0 !important;
  padding: 0;
  -webkit-transition: 0s;
  transition: 0s;
}

#calendar_gui #month input[type="button"]:hover{
  color: var(--light-color);
  border: none;
  box-shadow: none;
}

#calendar_gui #week td{
  padding: 0;
  margin: 0;
  width: calc(100% / 7);
}

#calendar_gui tbody td{
  padding: 0;
}

#calendar_gui tbody input[type="button"]{
  background-color: rgba(255,255,255,0); /* transparent */
  border: none;
  padding: 0 auto !important;
  width: 100%;
  height: 100%;
  outline: none;
  color: var(--dark-text);
  font-size: 13px;
  text-align: center;
  margin: 0 !important;
  -webkit-transition: 0s;
  transition: 0s;
}

#calendar_gui tbody input[type="button"]:hover{
  background-color: var(--light-gray-color);
  border: none;
  box-shadow: none;
  width: 100%;
  height: 100%;
}

#calendar_gui .SCalDay{
  color: blue !important;
}

#calendar_gui .calendar_sun, #calendar_gui .calendar_sun input, #calendar_gui .hday, #calendar_gui .hday input{
  color: red !important;
}

#calendar_gui .nday, #calendar_gui .nday input, #calendar_gui .hday input, #calendar_gui .SCalDay, #calendar_gui .SCalDay input{
/*   font-weight: bold; */
}

#calendar_gui .nday input{
  background-color: var(--light-gray-color) !important;
}

#calendar_gui .calendar_disable{
  color: var(--gray-text);
  cursor: not-allowed;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none;
}

.calendar_loading{
  background: url("images/loading.gif") no-repeat center;
  background-size: auto 100%;
}

#calendar_detl{
/*   display: inline-block; */
/*   width: 50%; */
/*   float: left; */
}

#calendar_detl table{
  width: 100%;
  border: 1px solid var(--gray-text);
  table-layout: fixed;
  border-collapse: collapse;
/*   display: block; */
}

#calendar_detl tbody{
  width: 100%;
  background: var(--light-color);
  padding: 0;
  margin: 0;
  max-height: 350px;
  overflow: auto;
  display: block;
}

#calendar_detl tbody tr{
  display: block;
}

#calendar_detl tbody tr td{
  text-align: center;
}

.btnRtnTab {
  background-color: var(--light-gray-color, #eee);
  color: #555;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 2px 1px;
  font-size: 15px;
  width: 20%;
  height: 50px;
  font-weight: bold;
  z-index: 1;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
}

.btnRtnTab.active {
  background-color: white;
  color: var(--main-theme-color);
  outline: none !important;
  z-index: 2;
  box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.2);
}

.btnRtnTab:hover {
  color: var(--main-theme-color);
}

/* Set default styles for tab content */
.tabcontent {
/*   color: white; */
/*   display: none; */
  padding: 50px 0px;
  text-align: center;
}

/* overriding classes */
.user_help{
  color: var(--dark-text) !important;
}

.prog_ackn{
  font-size: 8pt;
  color: #aaa !important;
}

.grid_title {
  cursor: help;
  font-size: 9pt;
  background: var(--gray-text);
  font-weight: bold;
  height: 25px;
  color: #f2f2f2;
}

.user_data td{
  padding: 5px;
}

.user_data a{
  color: var(--link-text);
}

#notif_container{
  box-sizing: border-box;
  top: 40px;
  right: 0px;
  position: absolute;
  display: flex;
  flex-direction: column;
  width: 300px;
  background-color: white;
  -webkit-box-shadow: 0px 0px 8px -2px #404040; 
  box-shadow: 0px 0px 8px -2px #404040;
  align-items: center;
}

.notif_list{
  display: flex;
  flex-direction: column;
  min-height: 150px;
  max-height: 300px;
  width: 100%;
  overflow: auto;
}

#notif_loader {
  position: absolute;
  top: 10px;
  border: 7px solid #f3f3f3;
  border-radius: 50%;
  border-top: 7px solid var(--main-theme-color);
  width: 40px;
  height: 40px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
}

.notif_btn{
  background: none;
  color: var(--main-theme-color);
  font-size: 13px;
  width: 100%;
}

.notif_btn:hover{
  color: var(--dark-theme-color);
}

.notif_item{
  background: white;
  margin: 0 0 1px;
  cursor: pointer;
  padding: 10px;
}

.notif_item:hover{
  background: #eee;
}

.notif_item.notif_active{
  background: #cbe9f6;
}

.notif_item-title{
  font-weight: bold;
  font-size: 16px;
}

.notif_item-date{
  color: #555;
  font-size: 10px;
}

.notif_item-msg{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 12px;
  margin-top: 7px;
  height: 40px;
}

.modal_notif{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0,0,0,0.5);
  z-index: 2;
}

.modal_notif>div{
  height: 80%;
  width: 80%;
  margin: auto;
  background-color: white;
  display: flex;
  flex-direction: column;
}

.modal_notif>div>div{
  padding: 20px;
}

.modal_notif-title{
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 5px !important;
}

.modal_notif-date{
  font-size: 12px;
  color: #555;
  padding: 0 20px !important;
}

.modal_notif-msg{
  font-size: 15px;
  flex: 1;
  overflow: auto;
}

.modal_notif-action{
  text-align: right;
  border-top: 1px solid #ccc;
}

.btn-action{
  margin-left: 10px;
  background-color: #777;
  color: #ffffff;
  border: none;
  padding: 10px 20px;
  font-size: 17px;
  cursor: pointer;
}

.btn-primary{
  background-color: #4CAF50;
  color: #ffffff;
}
