﻿:root {
	--fc-today-bg-color: #FFFFFF;
}

html {
	--abort-background: #A8352F;
	--button-face: #EEF;
	--button-text: #000;
	--menu-width: 155px;
	--menu-background: #162F72;
	--menu-item-hover: #1C2D43;
	--progressbar-background: #0ba1b5;
	--progressbar-text: #fff;
}

html {
	height: 100%;
	scrollbar-width: thin;
	scrollbar-color: var(--menu-background) #EEE;
}

body {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	line-height: 14px;
	font-size: 14px;
	margin: 0;
	min-height: 100%;
	background-image: url("/Content/Images/fosbg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

input {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}

p {
	margin: 0;
}

img {
	border: 0;
}

span[contenteditable] {
	display: inline-block;
	min-width: 170px;
	border: 1px solid #888888;
	font-size: 14px;
	line-height: 16px;
	padding: 1px 2px;
	margin: 0;
	min-height: 18px;
	outline: 0px solid transparent;
	max-width: 500px;
}

a {
	display:block;
  color: rgb(0,74,145);
	text-decoration: none;
	border: 0;
}

a:hover {
  color: rgb(0,74,145);
	text-shadow: 1px 1px 1px #999999;
}


.LogoBar {
	position: fixed;
	top: 0;
	height: 34px;
	left: 0;
	width: var(--menu-width);
	border: 1px solid black;
	text-align: center;
}

.HeaderBar {
	position: fixed;
	top: 0;
	height: 34px;
	left: var(--menu-width);
	right: 0;
	border: 1px solid black;
	font-size: 18px;
	line-height: 18px;
	background-color: var(--menu-background);
	color: #FFFFFF;
}


.BodySection {
	position: fixed;
	top: 34px;
	left: var(--menu-width);
	bottom: 32px;
	right: 0;
	border: 1px solid black;
	overflow-y: auto;
	padding: 5px;
}

.FooterBar {
	position: fixed;
	height: 32px;
	left: var(--menu-width);
	bottom: 0;
	right: 0;
	border: 1px solid black;
}

.MenuSection {
	position: fixed;
	top: 34px;
	left: 0;
	bottom: 0;
	width: var(--menu-width);
	border: 1px solid black;
	background-color: var(--menu-background);
	color: #FFFFFF;
	overflow-y: auto;
}

.SectionMargin {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.MenuItem1 {
	font-weight: bold;
	font-size: 20px;
	line-height: 20px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 4px;
}

.MenuItem2 {
	cursor: pointer;
	display: block;
	font-size: 14px;
	line-height: 14px;
	padding: 4px;
}

.MenuItem2:hover {
	background-color: var(--menu-item-hover);
}


.MenuItem2 > svg {
	margin-right: 5px;
	display: inline-block;
}

/*.MenuItem2 > a:before {
	content: '•';
	margin-right: 5px;
	display:inline-block;
	margin-left: -10px;
}
*/
.Icon24 {
	cursor: pointer;
	height: 24px;
	width: 24px;
	padding: 0;
	display: block;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.Icon16 {
	cursor: pointer;
	height: 16px;
	width: 16px;
	padding: 0;
	display: block;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}


/* Extras */
#LoadingDiv {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 99999;
	text-align: center;
	width: 131px;
	height: 98px;
	margin-left: -66px;
	margin-top: -49px;
	border: 1px solid black;
	background-color: white;
	border-radius: 10px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.4);
}

#LoadingDivOverlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99998;
	background-color: #222222BB;
}

.ImageButton {
	font-size: 14px;
	font-weight: bold;
	line-height: 14px;
	height: 18px;
	width: auto;
	border: #888888 solid 1px;
	border-radius: 5px;
	white-space: nowrap;
	padding: 2px;
	background-color: var(--button-face);
	color: var(--button-text);
	display: inline-block;
	cursor: pointer;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.ImageButton:active:hover {
	box-shadow: none;
}

.ImageButton:hover {
	box-shadow: 1px 1px 2px rgb(0,0,0);
}

.ImageButton img {
	width: 16px;
	height: 16px;
	margin: 1px;
}

.ImageButton div {
	vertical-align: top;
	margin: 2px 4px 2px 0;
	white-space: nowrap;
	display: inline-block
}

#RotateDiv {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index:99999;
	text-align:center;
	width: 360px;
	height: 420px;
	margin-left: -180px;
	margin-top: -210px;
	background-color: black;
}

.RotateMessage {
	font-size: 28px;
	color: white;
	margin-top: 10px;
}

#TempPopup {
	background-color:#2A2A2A;
	border:1px solid #111111;
	border-radius:3px;
	bottom:25%;
	left:50%;
	width:600px;
	position:fixed;
	text-align:center;
	z-index:99999;
	margin-left: -300px;
}

#TempPopupText {
	color: #FCFCFC;
	display: inline-block;
	font-size: 14px;
	line-height: 14px;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 5px;
	padding-right: 5px;
}

#ConfirmDialog {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
}

	#ConfirmDialog table {
		position: fixed;
		margin: auto;
		border: 1px solid #222222;
		background-color: #FFFFFF;
		box-shadow: 10px 10px 5px #222222;
		min-height: 100px;
		min-width: 200px;
		max-width: 500px;
		text-align: center;
		border-radius: 10px;
		border-spacing: 0;
		border-collapse: separate;
	}

	#ConfirmDialog table th {
		background-color: var(--menu-background);
		color: white;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
		border-bottom: 1px solid #999999;
		padding: 5px;
	}

#ConfirmDialog input[type=button] {
	min-width: 75px;
}

.ConfirmDialogMessage {
	padding: 4px 10px;
}

#LoadingSection {
	margin-top: 5px;
	border: 1px solid #BABBC0;
	padding: 3px;
}

#EventClipboard {
	margin-top: 5px;
	border: 1px solid #BABBC0;
	padding: 3px;
	border: 1px solid #AAA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}

#EventClipboard > p {
	text-align: center;
	font-weight: bold;
}

#EventClipboard > div {
	margin-top: 3px;
	border: 1px solid #BABBC0;
	font-size: var(--fc-small-font-size,.85em);
	border-radius: 5px;
	padding: 1px;
}

#ActionList {
	margin-top: 5px;
	border: 1px solid #BABBC0;
	padding: 3px;
}

#ActionList > p {
	text-align: center;
	font-weight: bold;
}

#CalendarView {
	margin-top: 5px;
	border: 1px solid #AAA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
	padding: 3px;
}

#CalendarView > p {
	text-align: center;
	font-weight: bold;
}

.EventOverflow {
	height:100%;
	position:relative;
	overflow:clip;
}

.EventWrapper {
	width: 100%;
	font-size: 10px;
	position: sticky;
	top: 0;
	padding: 1px 2px;
}

.EventTopSection {
}

.EventCustomerName {
	font-weight: bold;
	font-size: 14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 2px;
}

.EventPostCode {
	font-weight: bold;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	margin-bottom: 2px;
}

.EventAddress {

}

.EventBottomSection {
	border-top: 1px solid black;
}

#CustomToolTip {
	background-color: rgb(42,42,42);
	border: 1px solid #111;
	color: #fcfcfc;
	display: none;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 5px;
	padding-right: 5px;
	position: absolute;
	z-index: 99999;
	opacity: .85;
}

.Dialog {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	display: block;
}

.Dialog > table {
	position: fixed;
	margin: auto;
	border: 1px solid #222;
	background-color: #FFFFFF;
	min-height: 100px;
	min-width: 200px;
	max-width: 500px;
	text-align: center;
	border-radius: 10px;
	border-spacing: 0;
	border-collapse: separate;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}

.Dialog > table > tbody > tr > th {
	background-color: var(--menu-background);
	color: white;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom: 1px solid #999999;
	padding: 5px;
	font-size: 20px;
	line-height: 20px;
}

.Dialog > table > tbody > tr > td {
	padding:5px;
}

.Dialog > table > tbody > tr > td > div > table {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: none;
}


.Dialog > table > tbody > tr > td > div > table > tfoot > tr:last-child > td {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

.Dialog input[type=button] {
	min-width: 75px;
}

.Dialog .DialogHeader > img {
	border: 1px solid #999999;
	border-radius: 3px;
	padding: 1px;
	cursor: pointer;
}

#ToolTip {
	padding: 10px;
	border-radius: 10px;
	background: #FFF;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.4);
	border: 1px solid #AAA;
	z-index: 1000;
}

#ToolTip .TableGrid{
	box-shadow:none;
}

	#ToolTip.ttl #ToolTipPointer {
		position: absolute;
		left: -5px;
		top: 15px;
		width: 10px;
		height: 10px;
		background: inherit;
		transform: rotate(135deg);
		border-bottom: 1px solid #AAA;
		border-right: 1px solid #AAA;
	}

	#ToolTip.ttr #ToolTipPointer {
		position: absolute;
		right: -5px;
		top: 15px;
		width: 10px;
		height: 10px;
		background: inherit;
		transform: rotate(315deg);
		border-bottom: 1px solid #AAA;
		border-right: 1px solid #AAA;
	}


.progressBar {
	width: 100%;
	height: 22px;
	border: 1px solid #ddd;
	border-radius: 5px;
	overflow: hidden;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

.progressBar div {
	height: 100%;
	color: var(--progressbar-text);
	text-align: right;
	line-height: 22px;
	width: 0;
	background-color: var(--progressbar-background);
	border-radius: 3px;
	box-sizing: border-box;
}

.statusbar
{
	min-height:25px;
	width:100%;
	padding:5px;
	vertical-align:top;
	line-height: 35px;
	box-sizing: border-box;
}

.filename
{
	display:inline-block;
	vertical-align:top;
	width:66%;
	text-align: left;
	overflow: hidden;
	white-space: nowrap;
	box-sizing: border-box;
}

.filesize
{
	display:inline-block;
	vertical-align:top;
	color:#30693D;
	width:33%;
	text-align: right;
	box-sizing: border-box;
}

.abort {
	background-color: var(--abort-background);
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	display: inline-block;
	color: #fff;
	font-size: 13px;
	line-height: 13px;
	font-weight: normal;
	padding: 4px 15px;
	cursor: pointer;
	vertical-align: top
}

#dropzone {
	border: #888888 dashed 2px;
	cursor: pointer;
	box-sizing: border-box;
	width: 99%;
	height: 75px;
	position: relative;
	line-height: 37px;
	text-align: center;
}

.StatusText {
	height: 22px;
	line-height: 22px;
	/*border: 1px solid #AAA;*/
	border-radius: 11px;
	padding: 2px 8px;
	box-shadow: 1px 1px 1px rgba(0,0,0,0.4);
	white-space:nowrap;
}

/* Form */

input[type=text] {
	border: #888888 solid 1px;
	font-size: 14px;
	line-height: 14px;
	padding: 1px 4px;
	margin: 0;
	height: 18px;
	border-radius: 5px;
}

input[type=password] {
	border: #888888 solid 1px;
	font-size: 14px;
	line-height: 14px;
	padding: 1px 4px;
	margin: 0;
	height: 18px;
	border-radius: 5px;
}

input[type=button], input[type=submit], button:not(.fc-button):not(.tablinks) {
	border: #888888 solid 1px;
	font-size: 14px;
	line-height: 14px;
	padding: 2px 6px;
	margin: 0;
	cursor: pointer;
	border-radius: 5px;
	height: 24px;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	background-color: var(--button-face);
	color: var(--button-text);
}

input[type=button]:active:hover, input[type=submit]:active:hover, button:not(.fc-button):not(.tablinks):active:hover {
	box-shadow: none;
}

input[type=button]:hover, input[type=submit]:hover, button:not(.fc-button):not(.tablinks):hover {
	box-shadow: 1px 1px 2px rgb(0,0,0);
}


input[type=checkbox] {
  width: 16px;
  height: 16px;
  padding: 0;
  margin:0;
  vertical-align: bottom;
  position: relative;
  top: -1px;
  *overflow: hidden;
}

input[type=radio] {
	vertical-align: middle;
  margin: 1px;
}

textarea {
	border: #888888 solid 1px;
	font-size: 14px;
	line-height: 14px;
	resize: none;
	padding: 2px;
	margin: 0;
	border-radius: 5px;
}

select {
	border: #888888 solid 1px;
	font-size: 14px;
	line-height: 14px;
	padding: 1px;
	margin: 0;
	height: 22px;
	border-radius: 5px;
}

/* Table */

table tr td {
	padding: 4px;
}

table {
  border-collapse:collapse;
}
 
td, th {
	padding: 0;
	border: 0;
}

.ScrollableTable tbody {
	overflow-y: scroll; 
	display: block;
}

.TableGridContainer {
	border: 1px solid #AAA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
	padding: 5px;
	background-color: white;
	display: block;
	width: fit-content;
}

.TableGrid {
	background-color: white;
}


.TableGrid td, .TableGrid th {
	padding: 3px 5px;
	height: 20px;
}

	.TableGrid > thead > tr > th {
		line-height: 18px;
		font-size: 16px;
		padding: 5px 10px;
		background-color: var(--menu-background);
		color: #FFF;
		border-radius: 5px;
	}

	.TableGrid > thead > tr > td {
		line-height: 18px;
		font-size: 16px;
		padding: 5px 10px;
		background-color: var(--menu-background);
		color: #FFF;
		border-radius: 5px;
	}

.TableGrid > tbody {
	border-top: 1px solid #AAA;
	border-bottom: 1px solid #AAA;
}

	.TableGrid > thead:after {
		content: '';
		display: block;
		height: 5px;
	}


.TableGrid > tbody:before {
	content: '';
	display: block;
	height: 5px;
}

.TableGrid > tbody:after {
	content: '';
	display: block;
	height: 5px;
}

.TableGrid > tbody > tr:not(:has(th)):hover {
	background: #f5f7fa;
}

.TableGrid > tbody > tr > th.RowHead {
	text-align: right;
}

.TableGrid > tbody > tr > td {
	border: 1px dotted #AAA
}

	.TableGrid > tbody > tr > td.MarginRow {
		border: none;
		height: 3px;
		padding: 0;
	}
	.TableGrid > tbody > tr > th.MarginRow {
		border: none;
		height: 3px;
		padding: 0;
	}



	.TableGrid > tbody > tr > th.ExtraHead {
		background-color: var(--menu-background);
		color: #FFF;
		border-radius: 5px;
	}


.TableGrid > tfoot > tr > th {
	text-align: right;
	border-top: 1px solid #AAA;
	padding-top: 5px;
}

.TableGrid > tfoot > tr > td {
	border-top: 1px solid #AAA;
	padding-Top: 5px;
}

.TableGrid input[type=text], .TableGrid input[type=password] {
	width: 100%;
	height: 22px;
	box-sizing: border-box;
}


.TableGridDatePicker {
	color: #444444;
	text-align: center;
	margin-bottom:2px;
}

.TableGridDatePicker td {
	padding-bottom: 1px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 1px;
	vertical-align: middle;
	width: 16px;
	padding: 2px;
	border: 1px dotted #AAA
}

.TableGridDatePicker th {
	padding-bottom: 1px;
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 1px;
	vertical-align: middle;
	padding: 2px;
	border: 1px solid #AAA
}


.TableGridDatePickerColumnHeader td {
	background-color: #F0F1F3;
	border-bottom: 0;
	color: #080808;
	text-align: center;
	padding: 2px;
}

td.TableGridDatePickerToday {
	border: 2px solid black;
	font-weight: bold;
}

td.TableGridDatePickerSelected {
	background-color: rgba(255,220,40,0.5);
	color: #333333;
	font-weight: bold;
}

.TableGridDatePickerWeekend {
	background-color: #C6C7C9;
}

.TableGridDatePickerFooter {

}

	.TableGridDatePickerFooter td {
		border: 0;
	}

.HighlightRow {
	background-color: #FFFFDD;
}

.LowlightRow {
	color: #CCCCCC;
}


#Calendar {
	position: absolute;
	top: 5px;
	left: 5px;
	right: 180px;
	bottom: 5px;
	padding:3px;
	border: 1px solid #AAA;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
	box-sizing: border-box;
	background-color: #FFFFFF;
}

#SideCalendar {
	position: absolute;
	top: 5px;
	right: 5px;
	bottom: 5px;
	width: 170px;
}


.FakeLink {
	border: 1px solid rgb(136,136,136);
	border-radius: 5px;
	padding: 2px;
	cursor: pointer;
	background-color: var(--button-face);
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	color: var(--button-text);
}

.FakeLink:active:hover {
	box-shadow: none;
}

.FakeLink:hover {
	box-shadow: 1px 1px 2px rgb(0,0,0);
}


.SimpleFakeLink {
	cursor: pointer;
}


.InvoiceDisable > td:not([rowspan])
{
	text-decoration:line-through;
}

.Required.Empty {
	border: #DD0000 solid 2px;
	height: 22px;
}

.Required.Filled {
	border: #888888 solid 1px;
}

.SmallPadding td {
	padding: 1px 3px;
}

.SmallPadding td:has(img) {
	padding: 1px 2px;
}
.SmallPadding img {
	margin: 0 1px;
}

/* Tab Styles */
.tab {
	overflow: hidden;
	border: 1px solid #ccc;
	background-color: #f1f1f1;
}

.tab button {
	background-color: inherit;
	float: left;
	border: none;
	outline: none;
	cursor: pointer;
	padding: 14px 16px;
	transition: 0.3s;
}

.tab button:hover {
	background-color: #ddd;
}

.tab button.active {
	background-color: #ccc;
}

.tabcontent {
	display: none;
	padding: 6px 12px;
	border: 1px solid #ccc;
	border-top: none;
}

.tabcontent {
	animation: fadeEffect 1s; /* Fading effect takes 1 second */
}

@keyframes fadeEffect {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.contextMenuPlugin {
	border: 1px solid #999;
	border-radius: 5px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
	outline: 0;
	padding: 3px;
}

.contextMenuPlugin > li > a:hover {
	border-radius: 5px;
}

/* Jquery UI */

.ui-autocomplete {
	z-index: 2000;
	border: 3px solid black;
}

.ui-menu-item-wrapper {
	font-size: 14px;
	font-weight: bold;
}

.ui-autocomplete-loading {
	background: white url("images/ui-spinner.gif") right center no-repeat;
}
/* Full Calendar Overrides */


.fc-timegrid-slot {
	height: 21px !important;
	border-bottom: 0 !important;
}

.fc-timegrid-event {
	border-radius: 5px;
}

.fc .fc-button {
	padding: 0.2em 0.65em;
	font-size: 0.9em;
	background-color: var(--menu-background);
}

.fc .fc-toolbar-title {
	font-size: 1.5em;
}

.fc .fc-toolbar.fc-header-toolbar {
	margin-bottom: 0.2em;
}


.fc .fc-button .fc-icon {
	font-size: 1.25em;
}

.fc-v-event {
	border-color: var(--menu-background);
	border-width: 2px;
}

.fc-h-event {
	border-color: var(--menu-background);
	padding: 2px;
}

.fc-more-link {
	border-color: var(--menu-background);
	border-width: 1px;
	padding: 2px !important;
}

.fc-multimonth-title {
	padding: 5px !important;
}

.fc-multimonth-month {
	padding: 5px !important;
}