body {
	background-color: #edeff5;
}
.login-box {
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	width: 400px;
	font-family: Roboto,sans-serif;
	padding: 40px;
	box-shadow: 0 0 25px rgba(0,0,0,0.07);
	background-color: #ffffff;
}
.login-box h5 {
	margin-bottom: 30px;
	font-style: 20px;
}
.login-box label {
	display: block;
	width: 100%;
	font-size: 15px;
	margin-bottom: 0;
	color: #878d96;
}
.login-box input {
	width: 100%;
    background: #f3f3f3;
    border: 0;
    padding: 7px 20px;
}
.login-box .input {
	margin-bottom: 20px;
}
.login-box button {
	background-color: #33cabb;
    border: 1px solid #28bfb0;
    text-align: center;
    width: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    padding: 8px;
    border-radius: 3px;
    transition: background-color .2s ease-in-out;
}
.login-box button:hover {
	background-color: #2ba99d
}
.login-box a {
	color: #878d96;
    text-align: right;
    display: block;
    font-size: 13px;
    margin-bottom: 20px;
}
.side_bar {
	width: 220px;
    position: fixed;
    left: 0;
    top: 0;
    background-color: #232b2d;
    height: 100vh;
    color: #fff;
}
.side_bar .title {
	padding: 10px 20px;
}
.side_bar .title:after {
	content: " ";
	width: 180px;
	height: 1px;
	background-color: #707a7c;
	display: block;
}
.side_bar h1 {
	font-size: 22px;
	text-align: left;
	margin-bottom: 15px;
}
.side_bar ul {
	list-style: none;
	margin-left: 0;
	width: 100%;
	padding-left: 0;
}
.side_bar a {
	color: #707a7c;
	padding-left: 20px;
	padding-bottom: 10px;
	display: block;
}
.side_bar a:hover {
	color: #fff;
	text-decoration: none;
}
.side_bar ul.sub_list {
	padding-left: 20px;
	height: 0;
	overflow: hidden;
	transition: height .2s ease-in-out;
}
.side_bar ul.sub_list.open {
	height: auto;
}
.sub_list li a {
	background-color: #31383a;
}
.sub_list li:first-of-type a {
	padding-top: 10px;
}
.sub_list li:last-of-type {
	margin-bottom: 10px;
}
/*
	Top Bar
*/
.top_bar {
    background: #232b2d;
    max-height: 52px;
    height: 52px;
    margin-bottom: 20px;
}
.top_bar .righ_side {
	float: right;
}
.top_bar .righ_side .user_info img {
	width: 35px;
	position: relative;
    top: -10px;
}
.top_bar .righ_side .username {
	width: calc(100% - 50px);
	display: inline-block;
	padding-right: 20px;
	padding-top: 6px;
}
.top_bar .righ_side .username p {
	color: #fff;
	margin-bottom: 0;
	white-space: nowrap;
	line-height: 18px;
}
.top_bar .righ_side .user_info {
	padding-left: 20px;
    height: 52px;
    border-left: 1px solid #fff;
}
.user_dropdown ul {
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}
.user_dropdown {
	background: #232b2d;
	position: relative;
    top: -133px;
    transition: top .2s ease-in-out;
}
.user_info:hover .user_dropdown {
	top: -1px;
}
.user_dropdown a {
	display: block;
    padding: 10px 20px;
    color: #fff;
}
.username_bar {
    z-index: 3;
    position: relative;
    background: #232b2d;
    height: 52px;
}
/*
	Main Page
*/
.main_page {
	margin-left: 220px;
	width: calc(100% - 240px);
}
.Hidden {
	display: none;
}
.table table {
	width: 100%;
	padding-left: 40px;
	padding-right: 40px;
}
.page_title h2 {
	font-size: 28px;
    margin-left: 20px;
    margin-bottom: 20px;
}
.main_page .table {
	margin-left: 20px;
    margin-right: 20px;
    width: calc(100% - 40px);
    background: #fff;
    border-radius: 10px;
}
.main_page .table tr.titles th {
	background: #3698d0;
    color: #fff;
    border-top: 0;
}
.main_page .table tr.titles th:first-of-type {
	border-top-left-radius: 10px;
}
.main_page .table tr.titles th:last-of-type {
	border-top-right-radius: 10px;
}
.main_page .table td p {
	margin-bottom: 0;
}
.main_page .button a {
	background: #232b2d;
    padding: 5px 20px;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 70px;
    transition: color .2s ease-in-out,background-color .2s ease-in-out;
    margin-bottom: -5px;
    margin-top: -5px;
}
.main_page .button a:hover {
	background-color: #3698d0;
	color: #fff;
}
.main_page .table tr:not(.title):not(.add_item):hover {
	background-color: #eceef1;
}
.main_page .table tr:not(.title):not(.add_item) td:hover {
	background-color: #dbe6ef;
}
.main_page .content_box {
	background: #fff;
	box-shadow: 0 0 25px rgba(0,0,0,0.07);
    margin-left: 20px;
    margin-right: 20px;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}
.main_page .content_box h3 {
	font-size: 22px;
    padding-left: 10px;
    margin-bottom: 20px;
}
.form_list {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.form_list .small {
	width: 33%;
	display: inline-block;
	padding: 0px 10px;
}
.form_list .medium {
	width: 66%;
	display: inline-block;
	padding: 0px 5px 0 10px;
}
.form_list label {
	display: block;
	width: 100%;
	font-size: 15px;
	margin-bottom: 0;
	color: #878d96;
}
.form_list input,
.form_list select,
.main_page .table .add_item input,
.main_page .table .add_item select {
	width: 100%;
    background: #f3f3f3;
    border: 0;
    padding: 7px 20px;
    margin-bottom: 10px;
    font-size: 16px;
}
.main_page .table .add_item input,
.main_page .table .add_item select {
	margin-bottom: 0;
}
.main_page .table .add_item p {
	line-height: 35px;
}
.form_list button, .main_page .table .add_item button {
	background-color: #33cabb;
    border: 1px solid #28bfb0;
    text-align: center;
    width: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    padding: 8px;
    border-radius: 3px;
    transition: background-color .2s ease-in-out;
}
.form_list button:hover, .main_page .table .add_item button:hover {
	background-color: #2ba99d
}
.main_page .update_box {
	background: #61cbbc;
    padding: 10px 20px;
    color: #fff;
    margin: 0px 20px 20px 20px;
    border-radius: 10px;
    font-weight: bold;
}
.main_page .update_box p, .main_page .error_box p {
	margin-bottom: 0;
}
.main_page .error_box{
	background: #cb6161;
    padding: 10px 20px;
    color: #fff;
    margin: 0px 20px 20px 20px;
    border-radius: 10px;
    font-weight: bold;
}
/*
	Top Boxs
*/
.top_boxs {
	background: #eceef1;
    margin-left: 20px;
    margin-right: 20px;
    padding-bottom: 20px;
    padding-top: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.top_boxs h4 {
	font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
    color: #232b2d;
}
.top_boxs table {
	width: 100%;
}
.top_boxs table .s_box {
	margin: 0px 10px;
    background: #dbe6ef;
    padding: 10px 20px;
    border-radius: 10px;
    text-align: center;
}
.top_boxs table td:first-of-type .s_box {
	background-color: #3698d0;
	color: #fff;
	max-width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.top_boxs table .s_box span {
	display: block;
}
/*
 Planner Page
*/
.planner_job_list {
	margin-left: 20px;
	display: inline-block;
	width: 200px;
	float: left;
	background-color: #dee0e6;
}
.planner_job_list ul {
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}
.planner_job_list .skip_size {
	display: inline-block;
    line-height: 48px;
    width: 60px;
    float: left;
}
.planner_job_list  .job_box {
	padding: 3px;
    border-radius: 5px;
    background: red;
}
.planner_job_list .skip_info {
	width: 134px;
    display: inline-block;
}
.planner_job_list .skip_info span {
	display: block;
}
.calendar {
	width: calc(100% - 240px);
	height: calc(100vh - 130px);
	overflow-x: scroll;
    display: inline-block;
    float: left;
    background-color: #edeff5;
}

.planner_table {
	width: 100%;
}
.planner_table th.today {
	border-top: 2px solid #f36666;
	background: linear-gradient(0deg, rgba(237,239,245,0) 17%, rgba(255,255,255,1) 100%);
}
.planner_table th {
	border-top: 2px solid #edeff5;
	padding-top: 20px;
	padding-bottom: 30px;
	border-bottom: 1px solid #d9deec;
}
.planner_table th, .planner_table td {
	border-left: 1px solid #d9deec;
	border-right: 1px solid #d9deec;
}
.planner_table th span {
	display: block;
	width: 100%;
	text-align: center;
}
.planner_table th span.week_name {
	font-size: 30px;
}
.planner_table th span.date {
	color: #afafaf;
	line-height: 12px;
}
.planner_table tr:not(.header_tr) td {
	height: 200px;
	border-bottom: 1px solid #fff;
}
.planner_table .v_name {
	transform: rotate(-90deg);
}
.cal_top_bar {
	width: 100%;
	height: 50px;
	display: inline-block;
}
.cal_top_bar .page_title {
	width: 260px;
	float: left;
}
.cal_top_bar .cal_buttons {
	width: 300px;
	float: right;
	margin-right: 20px;
}
.cal_buttons a {
    display: block;
    width: 35px;
    height: 35px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 22px 22px;
    float: right;
    border: 2px solid #bbbbbb;
    margin-left: 3px;
    border-radius: 5px;
    margin-right: 3px;
}
.cal_buttons a:hover {
	color: #9494a0;
	text-decoration: none;
	background-color: #e4e4e4;
}
.previous_day, .next_day {
	background-image: url(../img/arrow.png);
}
.previous_week, .next_week {
	background-image: url(../img/two_arrow.png);	
}
.previous_week, .previous_day {
	transform: rotate(180deg);
}
.cal_buttons a.to_today {
	width: 80px;
	width: 60px;
    line-height: 32px;
    text-align: center;
    color: #9494a0;
    font-weight: bold;
}
.planner_job_list {
	height: calc(100vh - 130px);
	overflow-x: scroll;
}
th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  background: #edeff5;
  border-bottom: 1px solid #fff;
}

th[scope=row] {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
}

th[scope=row] {
  vertical-align: top;
  color: inherit;
  background-color: inherit;
  background: linear-gradient(90deg, transparent 0%, transparent calc(100% - .05em), #d6d6d6 calc(100% - .05em), #d6d6d6 100%);
}

table:nth-of-type(2) th:not([scope=row]):first-child {
  left: 0;
  z-index: 3;
  background: linear-gradient(90deg, #666 0%, #666 calc(100% - .05em), #ccc calc(100% - .05em), #ccc 100%);
}
.planner_job_list .job_box.editing_skip {
	height: calc(100vh - 130px);
	width: 200px;
	position: fixed;
	background: #232c2d;
	padding: 10px;
	padding-bottom: 0;
	overflow-x: scroll;
}
.editing_skip a, .editing_skip > ul > li {
	display: block;
	padding: 5px 7px;
    background: #353f40;
    border-radius: 5px;
    color: #fff;
	margin-bottom: 10px;
}
.editing_skip > ul > li > ul > li, .editing_skip label {
	font-size: 14px;
	line-height: 16px;
}
.editing_skip label {
	display: block;
	margin-bottom: 0;
}
.editing_skip input, .editing_skip select {
	width: 100%;
	margin-bottom: 10px;
}
.editing_skip select {
	padding: 4px;
}
.editing_skip button {
	width: 100%;
    border: 0;
    padding: 5px;
    font-size: 14px;
    line-height: 16px;
}
.editing_skip form {
	margin-bottom: 0;
}
.editing_skip p {
	margin-bottom: 0;
	font-weight: bold;
}
.leftInfoBox {
	width: 240px;
	float: left;
	padding-left: 10px;
	padding-right: 10px;
}
.timePicker {
    background: #fff;
    height: 76px;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.timePicker div {
	width: 50%;
	float: left;
}
.timePicker label {
	width: 100%;
	text-align: center;
	margin-bottom: 0;
}
.timePicker select {
    width: 100%;
    padding: 5px;
    border-radius: 0;
}
.timePicker select#startTime {
	border-right: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;	
}
.timePicker select#endTime {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;	
}
.cal_top_bar .current_date {
	display: inline-block;
	margin-left: 80px;
}
.hasDatepicker {
	background: #fff;
    padding: 10px;
    border-radius: 10px;
}
.ui-datepicker-calendar {
	width: 100%;
}
.ui-datepicker-next span, .ui-datepicker-prev span {
	display: none;
}
.ui-datepicker-next, .ui-datepicker-prev {
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/arrow.png);
	width: 20px;
	height: 20px;
	background-size: 15px 15px;
	display: inline-block;
}
.ui-datepicker-next {
	margin-top: 2px;
}
.ui-datepicker-prev {
	margin-bottom: -1px;
	transform: rotate(180deg);
	margin-right: 5px;
}
.ui-datepicker-title {
	display: inline-block;
    float: left;
    width: calc(100% - 45px);
    font-weight: 600;
    color: #383838;
}
.ui-datepicker-calendar {
	margin-top: 20px;
}
.ui-datepicker-calendar th {
	background-color: transparent;
	font-weight: 300;
	font-size: 14px;
	text-align: center;
	padding-top: 3px;
	padding-bottom: 3px;
}
.ui-datepicker-calendar td {
	text-align: center;
}
.ui-datepicker-calendar td a {
    color: #383838;
    display: block;
    padding: 3px;
    font-size: 14px;
    border-radius: 5px;
    transition: background-color .2s ease-in-out;
}
.ui-datepicker-calendar td a:hover:not(.ui-state-active) {
	text-decoration: none;
	background-color: #E6E6DD;
}
.ui-datepicker-calendar td a.ui-state-active:hover {
	text-decoration: none;
}
.ui-state-active {
	background-color: #33cabb;
}
.ui-datepicker-calendar td a.ui-state-active {
	color: #fff;
}
.table_main {
	padding: 5px;
}
.table_main table {
	width: 100%;
}
.table_main table tr th {
	border-bottom: 0;
}
.table_main table tr td:first-of-type, .table_main table tr th:first-of-type {
	width: 70px;
	text-align: center;
	padding: 10px;
}
.table_main table tr td:not(:first-of-type){
	background-color: #fff;
	border-bottom: 1px solid #edeff5;
	border-right: 1px solid #edeff5;
}
.table_main table tr td:nth-child(2) {
	border-left: 1px solid #edeff5;
}
.table_main table tr th:not(:first-of-type) {
	background-color: #f9f9f9;
	padding: 10px;
}
.table_main table tr th:nth-child(2) {
	border-top-left-radius: 5px;
}
.table_main table tr th:last-of-type {
	border-top-right-radius: 5px;
}
.popup {
	position: fixed;
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 3;
}
.popup_box {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background: #fff;
    padding: 20px;
    border-radius: 5px;
}
.popup_box h3 {
	text-align: center;
	font-size: 22px;
    margin-bottom: 15px;
}
.popup_box a {
	display: inline-block;
	background-color: #a8abaa;
    text-align: center;
    color: #fff;
    font-size: 17px;
    padding: 8px;
    border-radius: 3px;
    transition: background-color .2s ease-in-out;
}
.popup_box a:hover {
	text-decoration: none;
	background-color: #33cabb;
}
.popup_form {
	width: 450px;
}
.popup_form .form_input {
	width: 200px;
	display: inline-block;
}


