/**
 * Master Schedule form
 */

/* form */
form#CRUDForm-MasterSchedule {

}

	/* CRUD table */
	form#CRUDForm-MasterSchedule > table.CRUD {

	}

		/* flexrows container */
		form#CRUDForm-MasterSchedule > table.CRUD > tbody.flexrows {

		}

			/* header row */
			form#CRUDForm-MasterSchedule > table.CRUD tr.header {

			}

				/* month/day headers */
				form#CRUDForm-MasterSchedule > table.CRUD tr.header > th.Mj {
					padding: 5px 0px 5px 0px;
					vertical-align: top;
				}
					/* month container */
					form#CRUDForm-MasterSchedule > table.CRUD tr.header > th.Mj > .M {
						display: block;
						margin-bottom: 2px;
						font-size: 8px;
						text-transform: none;
					}

				/* button in table header */
				form#CRUDForm-MasterSchedule > table.CRUD tr.header > th > button {
					display: inline-block;
					margin: 0px 2px 0px 2px;
					padding: 5px 9px 5px 10px;
					background-color: rgba(255,255,255,.85);
					border: 1px solid rgba(0,0,100,.75);
					opacity: 0.85;
				}
					form#CRUDForm-MasterSchedule > table.CRUD tr.header > th > button:hover {
						cursor: pointer;
						opacity: 1;
					}

				/* cells containing static data (not inputs) */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .static,
				form#CRUDForm-MasterSchedule > table.CRUD tr > .no-input,
				form#CRUDForm-MasterSchedule > table.CRUD tr > .total {
					vertical-align: middle;
					font-family: Roboto Mono, Courier New !important;
					font-size: 13px;
				}

				/* data-specific cells */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .StaffID {
					padding-left: 5px !important;
					width: 175px;
					font-weight: bold;
					border-bottom: 1px solid transparent;
				}

				/* conflict icon */
				form#CRUDForm-MasterSchedule > table.CRUD tr > td.StaffID > .fa.conflict {
					position: absolute;
					margin: 6px 0px 0px -1px;
					z-index: 20;
					width: 5px;
					text-align: center;
					color: rgba(0,0,0,.15);
				}

					/* conflict icon when conflict raise */
					form#CRUDForm-MasterSchedule > table.CRUD tr.conflict-raised > td.StaffID > .fa.conflict {
						color: rgb(200,0,0);
					}

				/* seniority and employment type */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .Position,
				form#CRUDForm-MasterSchedule > table.CRUD tr > .Seniority,
				form#CRUDForm-MasterSchedule > table.CRUD tr > .EmploymentType {
					width: 35px;
					text-align: center;
					border-bottom: 1px solid transparent;
				}

					/* adjust inputs to fit */
					form#CRUDForm-MasterSchedule > table.CRUD tr > .Position > input,
					form#CRUDForm-MasterSchedule > table.CRUD tr > .Seniority > select,
					form#CRUDForm-MasterSchedule > table.CRUD tr > .EmploymentType > select {
						padding: 5px 2px 5px 2px !important;
					}

					/* position input */
					form#CRUDForm-MasterSchedule > table.CRUD tr > .Position > input {
						text-align: center;
					}

				/* guaranteed hour headers */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .static[class*="HoursWeek"] {
					width: 40px !important;
					padding: 0px 5px 0px 5px !important;
				}

				/* guaranteed hours data cells */
				form#CRUDForm-MasterSchedule > table.CRUD tr > td.static[class*="HoursWeek"] {
					text-align: right;
					border-bottom: 1px solid transparent;
				}

				/* guaranteed hours data cells for vacant position */
				form#CRUDForm-MasterSchedule > table.CRUD tr.vacant > td.static[class*="HoursWeek"] {
					text-align: center;
				}

					/* hide position-specific options for consecutive rows in position block */
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.StaffID,
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.conflict,
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.Position,
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.Seniority,
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.EmploymentType,
					form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.static[class*="HoursWeek"] {
						color: transparent;
					}
						form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.StaffID > *,
						form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.conflict > *,
						form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.Position > *,
						form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.Seniority > *,
						form#CRUDForm-MasterSchedule > table.CRUD tr:not(.flexrows-is-initial-row) > td.EmploymentType > * {
							display: none;
						}

					/* re-add border to last staff row */
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.StaffID,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.conflict,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.Position,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.Seniority,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.EmploymentType,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td.static[class*="HoursWeek"] {
						border-bottom: 1px solid rgb(190,190,190);
					}

					/* hide seniority and employment type iconified select UIs for non-vacant shifts */
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-row:not(.vacant) > td.Seniority > .iconified-select-ui,
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-row:not(.vacant) > td.EmploymentType > .iconified-select-ui {
						display: none;
					}

					/* staff populated options */
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row > td > .StaffID-populated {
						font-family: Roboto Mono;
						font-size: 13px;
					}

					/* hide Staff-populated elements for vacant shifts */
					form#CRUDForm-MasterSchedule > table.CRUD tr.flexrows-position-block-last-row.vacant > td > .StaffID-populated {
						display: none;
					}


				/* shift designation cell */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .ShiftDesignation {
					width: 72px !important;
					padding: 0px;
				}

				/* time entry cells */
				form#CRUDForm-MasterSchedule > table.CRUD tr > [class^="Time"] {
					width: 70px;
				}
					/* time entry inputs */
					form#CRUDForm-MasterSchedule > table.CRUD tr > [class^="Time"] > input {
						text-align: center;
						width: calc( 100% - 6px ) !important;
						padding: 5px 3px 5px 3px !important;
					}

				/* shift type */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .ShiftTypeID {
					width: 90px;
				}

				/* break option */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .UnpaidBreakOption {
					width: 39px;
				}

				/* entry mode */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .HoursEntryMode {
					width: 30px;
					text-align: center;
				}
					/* icon when entry mode=0 */
					form#CRUDForm-MasterSchedule > table.CRUD tr > .HoursEntryMode > input[type="checkbox"][name*="[HoursEntryMode]"]:checked ~ label.fa:before {
						/* fa-calendar-o */
						content: "\f133";
					}
					/* icon when entry mode=1 */
					form#CRUDForm-MasterSchedule > table.CRUD tr > .HoursEntryMode > input[type="checkbox"][name*="[HoursEntryMode]"]:not(:checked) ~ label.fa:before {
						/* fa-calendar */
						content: "\f073";
					}

				/* total cell not in totals row */
				form#CRUDForm-MasterSchedule > table.CRUD tr:not(.totals) > .total {
					padding: 0px !important;
					width: 55px !important;
				}

					/* weekday header */
					form#CRUDForm-MasterSchedule > table.CRUD tr > th.weekday {
						padding-left: 3px !important;
						padding-right: 3px !important;
						width: 42px !important;
					}

					/* weekday input cell */
					form#CRUDForm-MasterSchedule > table.CRUD tr > td.weekday {
						width: 45px;
						padding: 0px;
					}

						/* hilited weekday */
						form#CRUDForm-MasterSchedule > table.CRUD tr > td.weekday.hilite,
						form#CRUDForm-MasterSchedule > table.CRUD tr > td.weekday.hilite > input {
							background: rgb(7,207,226) !important;
						}
						form#CRUDForm-MasterSchedule > table.CRUD tr > td.weekday.hilite > input.zero {
							color: rgba(255,255,255,.85) !important;
						}

						/* all hours input */
						form#CRUDForm-MasterSchedule > table.CRUD tr input[name*="[Hours"] {
							text-align: right;
							padding: 6px 6px 6px 5px !important;
						}
						/* daily hours inputs when disabled */
						form#CRUDForm-MasterSchedule > table.CRUD tr > td:not(.total) > input[name*="[Hours"]:disabled {
							/* color: rgb(235,235,235); */
							background: rgb(235,235,235);
							text-shadow: none;
						}
						/* weekly hours inputs when disabled */
						form#CRUDForm-MasterSchedule > table.CRUD tr > td.total > input[name*="[Hours"]:disabled {
							color: black;
							background: rgb(235,235,235);
						}
						/* weekly time entry inputs */
						form#CRUDForm-MasterSchedule > table.CRUD tr > td.total > input[name*="[Hours"] {
							font-weight: bold;
							width: calc( 100% - 10px ) !important;
						}
							/* zero'd weekday when not focused */
							form#CRUDForm-MasterSchedule > table.CRUD tr input[name*="[Hours"].zero {
								color: rgb(175,175,175) !important;
							}
							/* weekday inputs when disabled */
							form#CRUDForm-MasterSchedule > table.CRUD tr input[name*="Day"]:disabled {
								/* color: transparent !important; */
							}
							/* hover on weekday input */
							form#CRUDForm-MasterSchedule > table.CRUD tr input[name*="Day"]:not(.zero):not(:disabled):hover {
								background-color: rgb(255,200,200);
							}
							form#CRUDForm-MasterSchedule > table.CRUD tr input[name*="Day"].zero:not(:disabled):hover {
								background-color: rgb(200,200,225);
							}



				form#CRUDForm-MasterSchedule > table.CRUD tr > .weekday:not(.total) {
					text-transform: none;
				}

					/* weekday input */
					form#CRUDForm-MasterSchedule > table.CRUD tr > td.weekday:not(.total) > input[type="text"]:not(:disabled):not(.disabled) {
						cursor: pointer;
					}

				form#CRUDForm-MasterSchedule > table.CRUD tr > td.total {
					text-align: right;
					font-weight: bold;
					color: rgba(0,0,0,.5);
				}

				form#CRUDForm-MasterSchedule > table.CRUD tr > td.no-input {
					background: rgb(235,235,235);
				}
					form#CRUDForm-MasterSchedule > table.CRUD tr > td.no-input.total {
						padding-right: 3px !important;
					}

				/* flexrow controls cell */
				form#CRUDForm-MasterSchedule > table.CRUD tr > .flexrows-ctrls {
					width: 100%;
					min-width: 80px;
					padding-left: 0px !important;
					padding-right: 0px !important;
				}

			/* total row */
			form#CRUDForm-MasterSchedule > table.CRUD tr.totals {

			}

				/* notes field container cell */
				form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.Notes {
					padding: 0px;
				}
					/* notes <textarea> */
					form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.Notes > textarea[name*="[Notes]"] {
						position: relative;
						width: 100%;
						height: 24px;
						padding: 5px;
						resize: none;

						font-family: Open Sans, Calibri, Arial;
						font-size: 12px;

						border: 0px;
					}

				/* all total row cells */
				form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td {
					vertical-align: top;
					padding-top: 5px;
					padding-right: 3px;
					border-bottom: 3px solid rgb(128,128,128);
				}
					/* totals and actions cell(s) */
					form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.total {
						padding-top: 11px;
					}

				/* actions container in totals row */
				form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.actions {
					text-align: center;
					background-color: rgba(0,0,0,.45);
				}
					/* action icon */
					form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.actions > .fa {
						color: white;
						margin-top: 4px;
						width: 18px !important;
						text-shadow: 1px 1px 0px black;
					}
						form#CRUDForm-MasterSchedule > table.CRUD tr.totals > td.actions > .fa:hover {
							color: rgba(255,255,255,.75) !important;
						}

			/* any total cell */
			form#CRUDForm-MasterSchedule > table.CRUD td.total {

			}

/* alert dialog for conflicts */
.MasterSchedule-dialogAlert-conflicts {
	text-align: left !important;
}

/* printing */
@media print {
	form#CRUDForm-MasterSchedule .flexrows-ctrls,
	form#CRUDForm-MasterSchedule tr > :last-of-type {
		display: none;
	}
}