/*===============================================================================================================================
== BUTTONS
===============================================================================================================================*/
button {
	border-radius: 4px;
	padding: 10px 15px;
	border: none;
	margin: 0 2px;
	background-color: #e2e8ee;
	font-family: G2SDefaultFont, -apple-system, "Segoe UI", "Lucida Grande", "Helvetica Neue", "Arial", sans-serif;
}
button:hover {
	background-color: #ecf5fc;
	border: none;
	cursor: pointer;
}
button:disabled {
	background-color: #ddd;
	color: #777;
	cursor: default;
}
button:disabled:hover {
	background-color: #ddd;
	cursor: default;
}

.buttonBlue {
	background-color: #2667cc;
	color: white;
}
.buttonBlue:hover {
   	background-color: #3f6fcc;
}

.buttonGreen {
   	background-color: #47a51c;
	color: white;
}
.buttonGreen:hover {
   	background-color: #69a53c;
}

.buttonPurple {
	background-color: #9b21ba;
	color: white;
}

.buttonPurple:hover {
	background-color: #68217a;
}

.buttonRed {
	background-color: #c62e24;
	color: white;
}
.buttonRed:hover {
	background-color: #f66e65;
}

.buttonOrange {
	background-color: #ee713d;
	color: white;
}
.buttonOrange:hover {
	background-color: #f59b35;
}

.buttonDarkBlue {
	background-color: #032b67;
	color: white;
}
.buttonDarkBlue:hover {
	background-color: #154183;
}

.buttonCyan {
	background-color: #32cdff;
	color: #526183;
}
.buttonCyan:hover {
	background-color: #64f0ff;
	color: #526183;
}

.buttonWhite {
	background-color: white;
	color: black;
}
.buttonWhite:hover {
	background-color: #ddd;
}

.buttonSmall {
   	display: inline-block;
   	border: none;
   	font-size: 9pt;
	padding: 6px 12px;
	margin: 0 3px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}
.buttonSmall:hover {
	border: none;
}

.buttonLarge {
	font-size: 12pt;
	padding: 15px 20px;
	border-radius: 4px;
}

.buttonXLarge {
	font-size: 16pt;
	padding: 15px 25px;
	border-radius: 4px;
}

.buttonGiant {
	font-size: 20pt;
	padding: 15px 30px;
	border-radius: 6px;
}

.buttonFull {
	font-size: 13pt;
	width: 100%;
}

.buttonGroup {
	margin: 0;
	width: 80px;
}

.buttonVert {
	margin-top: 10px;
}

.buttonIcon {
	padding: 0px;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 12px;
	background: none;
	cursor: pointer;
	vertical-align: middle;
}
.buttonIcon:hover {
	background-color: #ddd;
}
.buttonIcon img {
	width: 16px;
	height: 16px;
}

.buttonUpArrow {
	padding: 0;
	width: 20px;
	height: 20px;
	border: none;
	background-color: transparent;
	background-image: url('/static/img/icons/up-gray.png');
  	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
}
.buttonUpArrow:hover {
	background-color: transparent;
	background-image: url('/static/img/icons/up-darkgray.png');
}
.buttonUpArrow:disabled, .buttonUpArrow:disabled:hover {
	background-color: transparent;
	background-image: none;
}
.buttonDownArrow {
	padding: 0;
	width: 20px;
	height: 20px;
	border: none;
	background-color: transparent;
	background-image: url('/static/img/icons/down-gray.png');
 	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
}
.buttonDownArrow:hover {
	background-color: transparent;
	background-image: url('/static/img/icons/down-darkgray.png');
}
.buttonDownArrow:disabled, .buttonDownArrow:disabled:hover {
	background-color: transparent;
	background-image: none;
}

.buttonLink {
	border: 0;
	padding: 12px 20px;
	background: none;
	color: #2667cc;
}
.buttonLink:hover {
	background: none;
	border: none;
	text-decoration: underline;
	color: #2667cc;
}
.buttonLink[disabled], .buttonLink[disabled]:hover {
	background: none;
	border: none;
	text-decoration: none;
}

.buttonImage {
	padding: 2px;
	border: none;
	background: none;
	cursor: pointer;
	vertical-align: middle;
}
.buttonImage:hover {
	background-color: #eee;
	border: none;
}

/*===============================================================================================================================
== INPUT CONTROLS
===============================================================================================================================*/
input, input[type="text"], input[type="password"], input[type="email"] {
	background: #eee;
	padding: 10px;
	font-size: 14px;
	border: 1px solid #bbb;
	border-radius: 3px;
	color: #555;
}
input:disabled {
	background: #fcfcfc;
	color: #aaa;
	border: 1px solid #bbb;
}

input:-moz-placeholder { color:#bbb; }
input:-ms-input-placeholder { color:#aaa; }

select {
	background-color: #eee;
	padding: 10px;
	font-size: 16px;
	border:1px solid #bbb;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: #555;
}

select:hover {
	background: #eee;
}

select:disabled {
	background: #fcfcfc;
	color: #aaa;
	border: 1px solid #bbb;
}

select option {
	background-color: white;
	color: #666;
}

textarea {
	width: 100%;
	min-height: 80px;
	background-color: #eee;
	border: 1px solid #aaa;
	font-family: "Segoe UI", G2SDefaultFont, -apple-system, "Lucida Grande", "Helvetica Neue", "Arial", sans-serif;
	font-size: 11pt;
  	resize: none;
  	-webkit-box-sizing: border-box;
    box-sizing: border-box;
	color: #555;
}

.checkboxWrapper {
	display: block;
	position: relative;
	padding-left: 35px;
	padding-top: 4px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 12pt;
	font-family: G2SDefaultFont, sans-serif;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.checkboxWrapper input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

.checkboxMark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #eee;
	border: 1px solid #ddd;
}

.checkboxWrapper:hover input ~ .checkboxMark {
	background-color: #ddd;
}

.checkboxWrapper input:checked ~ .checkboxMark {
	background-color: #2667cc;
	border: none;
}

.checkboxWrapper input:disabled ~ .checkboxMark {
	background-color: #ccc;
	border: none;
}

.checkboxMark:after {
	content: "";
	position: absolute;
	display: none;
}

.checkboxWrapper input:checked ~ .checkboxMark:after {
	display: block;
}

.checkboxWrapper .checkboxMark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.textboxMinWrapper {
	display: block;
	overflow: hidden;
	position: relative;
	padding-top: 1rem;
}

.textboxMin, .textboxMin[type="text"], .textboxMin[type="password"], .textboxMin[type="email"] {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	outline: none;
	border: none;
	border-bottom: 2px solid #999;
	background-color: transparent;
}
.textboxMin:focus, .textboxMin[type="text"]:focus, .textboxMin[type="password"]:focus, .textboxMin[type="email"]:focus {
	border-bottom: 2px solid #2667cc;
}

.textboxMinWrapper label {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	opacity: 0.8;
	transform: translateY(0);
	transition: all 0.2s ease-out;
	color: #2667cc;
	font-size: 9pt;
}

.textboxMin::placeholder {
	color: #888;
}

.textboxMin::-webkit-input-placeholder {
	color: #888;
}

.textboxMinWrapper input:placeholder-shown + label {
	opacity: 0;
	transform: translateY(1rem);
}

.textboxMin:disabled {
	color: #aaa;
	border-bottom: 2px solid #999;
}

.textboxMin:disabled + label {
	color: #aaa;
}

.controlFull {
	width: 100%;
}

.selectSmall {
	padding: 4px;
	font-size: 11px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}

/*===============================================================================================================================
== SWITCH / TOGGLE BUTTON
===============================================================================================================================*/
.switchParameter {
	margin-bottom: 10px;
	border-bottom: 1px solid #888;
}

.switchLabel {
	display: inline-block;
	padding: 10px 0;
	font-size: 14pt;
	color: #666;
	text-align: right;
}

.switchPanel {
	float: right;
	font-size: 12pt;
	background: #eee;
	border: 1px solid #2667cc;
}
.switchPanelDisabled {
	float: right;
	background: #ddd;
	border: 1px solid #aaa;
}

.switchButton {
	display: inline-block;
	padding: 6px 0;
	text-align: center;
	width: 120px;
	margin: 0;
}
.switchButton:hover {
	background-color: #3f6fcc;
	color: white;
	cursor: pointer;
}
.switchButtonDisabled {
	display: inline-block;
	padding: 6px 0;
	text-align: center;
	width: 120px;
	margin: 0;
	color: #888;
}

.switchButtonSelected {
	background: #2667cc;
	color: white;
}

.switchLabelSmall {
	padding: 6px 0;
	font-size: 12pt;
}

.switchPanelSmall {
	font-size: 10pt;
}

/*===============================================================================================================================
== CONTEXT MENUS
===============================================================================================================================*/
.contextMenu {
    background-color: white;
    position: absolute;
    width: 150px;
    display: none;
    border: 2px solid #ccc;
    padding: 10px 0;
}

.contextMenuItem {
    padding: 5px 10px;
    font-size: 12pt;
}
.contextMenuItem:hover {
    background-color: #eee;
    cursor: pointer;
}

/*===============================================================================================================================
== TABLES
===============================================================================================================================*/
.controlTable {
	display: table;
	margin-top: -5px;
	width: 100%;
}

.overflowTable {
	display: table;
	min-width: 100%;
}

.overflowTableWrapper {
	margin-top: -5px;
	width: 100%;
	overflow-x: scroll;
}

.tableHeader {
	display: table-row;
	background-color: rgb(7, 71, 166);
}

.tableHeaderCompact {
	display: none;
	background-color: rgb(7, 71, 166);
	color: white;
	padding: 10px;
}

.tableHeaderCell, .tableHeaderCellPlain, .tableHeaderCellLeft {
	display: table-cell;
	padding: 10px;
	color: white;
	font-weight: bold;
	text-align: center;
}
.tableHeaderCell, .tableHeaderCellLeft {
	cursor: pointer;
}
.tableHeaderCell:hover, .tableHeaderCellLeft:hover {
	background-color: #2982f0;
}
.tableHeaderCellLeft {
	text-align: left;
}

.tableHeaderSortAsc {
	background-image: url('/static/img/icons/up-gray-8.png');
	background-position: 95% 10px;
	background-repeat: no-repeat;
}

.tableHeaderSortDesc {
	background-image: url('/static/img/icons/down-gray-8.png');
	background-position: 95% 20px;
	background-repeat: no-repeat;
}

.tableRow, .tableRowNoAlt {
	display: table-row;
	background-color: white;
	color: #444;
}
.tableRow:nth-child(even) {
	background-color: #f3f3f8;
}

.tableRowWhite {
	display: table-row;
	background-color: white;
	color: #222;
}

.tableRowSelected {
	display: table-row;
	cursor: pointer;
}
.tableRowSelected:hover {
	background-color: #ddd;
}
.tableRowSelected:hover .tableCellOptions img {
	visibility: visible;
}

.tableContent {
	display: table-row-group;
}

.tableCellLabel {
	display: none;
}

.tableCellLabelWide {
	display: none;
}

.tableCellNo {
	display: table-cell;
	padding: 10px;
	text-align: right;
	vertical-align: middle;
	border-bottom: 1px solid #999;
    width: 1%;
    white-space: nowrap;
}

.tableCellLeft, .tableCellLeftTop {
	display: table-cell;
	padding: 10px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #999;
}

.tableCellRight, .tableCellRightTop {
	display: table-cell;
	padding: 10px;
	text-align: right;
	vertical-align: middle;
	border-bottom: 1px solid #999;
}

.tableCellCenter, .tableCellCenter {
	display: table-cell;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid #999;
}

.tableCellLeftTop {
	vertical-align: top;
}

.tableCellRightTop {
	vertical-align: top;
}

.tableCellCenterTop {
	vertical-align: top;
}

.tableCellMinW150 {
	min-width: 150px;
}

.tableCellDateLine {
	min-width: 180px;
	text-align: right;
}

.tableCellDateLineS {
	min-width: 150px;
	text-align: right;
}

.tableCellOptions {
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 14px;
}
.tableCellOptions:hover {
	background-color: #eee;
}
.tableCellOptions img {
	visibility: hidden;
	width: 16px;
	height: 16px;
	padding-top: 4px;
}

.tableCellCommands {
	display: table-cell;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid #999;
    width: 1%;
    white-space: nowrap;
}

.tableCellCommandsLeft {
	display: table-cell;
	padding: 10px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #999;
    width: 1%;
    white-space: nowrap;
}

.tableCellCommandsRight {
	display: table-cell;
	padding: 10px;
	text-align: right;
	vertical-align: middle;
	border-bottom: 1px solid #999;
    width: 1%;
    white-space: nowrap;
}

.tableCellNoBorder {
	border: none;
}

.tableCellIcon {
	width: 50px;
	min-width: 50px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	height: 100%;
	padding: 0;
	margin: 0;
}
.tableCellIcon img {
	width: 24px;
	height: 24px;
	vertical-align: middle;
}

.tableFooter {
	display: table;
	width: 100%;
	background-color: #032b67;
	padding: 0;
	color: white;
}
.tableFooter a {
	color: white;
}

.tableFooterNav {
	display: table-cell;
	width: 40px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	vertical-align: middle;
	white-space: nowrap;
}
.tableFooterNav button {
	background-color: inherit;
	border: none;
  	cursor: pointer;
  	display: inline-block;
	color: white;
}
.tableFooterNav button:hover {
	background-color: #2982f0;
}
.tableFooterNav button[disabled] {
	cursor: default;
	color: #888;
}
.tableFooterNav button[disabled]:hover {
	background-color: #032b67;
}

.tableFooterInfo {
	display: table-cell;
	width: 120px;
	vertical-align: middle;
	padding: 10px 0;
	text-align: center;
}

.tableFooterTotal {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
	padding-right: 10px;
	font-weight: bold;
}

.tableEmpty {
	padding: 10px;
	color: #666;
	font-size: 11pt;
}

@media only screen and (max-width: 800px)
{
	.controlTable {
		display: block;
	}

	.tableHeader {
		display: none;
	}

	.tableHeaderCompact {
		display: block;
	}

	.tableContent {
		width: 100%;
		display: block;
	}

	.tableRow, .tableRowNoAlt {
		width: 100%;
		display: block;
		padding: 5px 0;
		border-bottom: 1px solid #999;
	}
	.tableRow:nth-child(even) {
		background-color: white;
	}

	.tableRowSelected {
		width: 100%;
		display: block;
		padding: 5px 0;
		border-bottom: 1px solid #999;
	}

	.tableCellLabel {
		display: inline-block;
		width: 80px;
		padding-right: 3px;
		text-align: right;
		color: #999;
	}

	.tableCellLabelWide {
		display: inline-block;
		width: 100px;
		padding-right: 3px;
		text-align: right;
		color: #999;
	}

	.tableCellNo {
		display: none;
	}

	.tableCellLeft {
		width: 100%;
		display: block;
		padding: 0;
		border-bottom: none;
	}

	.tableCellRight {
		width: 100%;
		display: block;
		text-align: left;
		padding: 0;
		border-bottom: none;
	}

	.tableCellCenter {
		width: 100%;
		display: block;
		text-align: left;
		padding: 0;
		border-bottom: none;
	}
}

@media only screen and (max-width: 400px)
{
	.tableFooterTotal {
		display: none;
	}
}