.nav-sm .menu_section h3 {
	display: block !important;
	font-size: 12px;
	margin: 3px;
}

.vertical-center {
  min-height: 100%;  /* Fallback for browsers do NOT support vh unit */
  min-height: 100vh; /* These two lines are counted as one :-)       */

  display: flex;
  align-items: center;
}

.btn-xlarge {
	padding: 28px;
}

.divider {
	height: 1px;
	width:100%;
	display:block; /* for use on default inline elements like span */
	margin: 9px 0;
	overflow: hidden;
	background-color: #000000;
}

.form-horizontal .control-label{
	text-align: left !important; /* !important added for priority in SO snippet. */
}

#wrap {
	display: block;
	margin: 0 auto;
	width: 200px;
}

.x_panel_ico-lg .x_title h2 {
	font-size: 18px !important;
}

.x_panel_ico-lg .panel_toolbox > li > a {
	font-size: 18px !important;
	padding-left: 18px !important;
}

@media only screen and (max-width: 767px) {
	.btn-group-ajax-control {
		display: inline-flex !important;
	}

	.x_panel_ico-lg .x_title h2 {
		float: none !important;
		width: unset !important;
	}

	.x_panel_ico-lg .panel_toolbox > li > a {
		float: none !important;
		width: unset !important;
	}

	.btn-group-ajax-control button {
		margin: 5px !important;
	}
}

.zpresence-x { color: lightgray; }
.zpresence-yes { background-color: green; }
.zpresence-no { background-color: red; }

.status-x { color: lightgray; }
.status-0 { color: black; font-weight: bold; }
.status-1 { color: #00CC00; font-weight: bold; background-color: #CCFFCC; }
.status-2 { color: #FF0000; font-weight: bold; background-color: #FFCCCC; }
.status-3 { color: #FF9900; font-weight: bold; background-color: #FFFFCC; }
.status-4 { color: #0033CC; font-weight: bold; background-color: #CCFFFF; }

.absence-indicator { width: 100%; height: 100%; }
.editable-indicator { background-color: #FBB917; }
.editable-indicator a.editable { border-bottom: none !important; color: black !important;}
.highlight-indicator { font-weight: bold !important; background-color: #efef13 !important; }
.xe-mutated-indicator { font-weight: bold !important; }

.cursor-auto            { cursor: auto; }
.cursor-default         { cursor: default; }
.cursor-none            { cursor: none; }
.cursor-context-menu    { cursor: context-menu; }
.cursor-help            { cursor: help; }
.cursor-pointer         { cursor: pointer; }
.cursor-progress        { cursor: progress; }
.cursor-wait            { cursor: wait; }
.cursor-cell            { cursor: cell; }
.cursor-crosshair       { cursor: crosshair; }
.cursor-text            { cursor: text; }
.cursor-vertical-text   { cursor: vertical-text; }
.cursor-alias           { cursor: alias; }
.cursor-copy            { cursor: copy; }
.cursor-move            { cursor: move; }
.cursor-no-drop         { cursor: no-drop; }
.cursor-not-allowed     { cursor: not-allowed; }
.cursor-all-scroll      { cursor: all-scroll; }
.cursor-col-resize      { cursor: col-resize; }
.cursor-row-resize      { cursor: row-resize; }
.cursor-n-resize        { cursor: n-resize; }
.cursor-e-resize        { cursor: e-resize; }
.cursor-s-resize        { cursor: s-resize; }
.cursor-w-resize        { cursor: w-resize; }
.cursor-ns-resize       { cursor: ns-resize; }
.cursor-ew-resize       { cursor: ew-resize; }
.cursor-ne-resize       { cursor: ne-resize; }
.cursor-nw-resize       { cursor: nw-resize; }
.cursor-se-resize       { cursor: se-resize; }
.cursor-sw-resize       { cursor: sw-resize; }
.cursor-nesw-resize     { cursor: nesw-resize; }
.cursor-nwse-resize     { cursor: nwse-resize; }

.dt-save-row {
	padding: 5px;
	border-radius: 5px;
}

.dt-save-row-default {
	border: 1px solid #a6a6a6;
	background-color: #cccccc;
	color: black;
}

.dt-save-row-default:hover {
	border: 1px solid #808080;
	background-color: #a6a6a6;
	color: white;
}

.dt-save-row-changed {
	border: 1px solid #e68a00;
	background-color: #ffad33;
	color: black;
}

.dt-save-row-changed:hover {
	border: 1px solid #cc7a00;
	background-color: #e68a00;
	color: black;
}

.dt-save-row-saved {
	border: 1px solid #009900;
	background-color: #008800;
	color: black;
}

.dt-save-row-saved:hover {
	border: 1px solid #008000;
	background-color: #009900;
	color: black;
}

.dt-save-row-error, .dt-save-row-error-group {
	border: 1px solid #e60000;
	background-color: #ff3333;
	color: black;
}

.dt-save-row-error:hover, .dt-save-row-error-group:hover {
	border: 1px solid #b30000;
	background-color: #e60000;
	color: black;
}

.dt-save-row-note {
	border: 1px solid gray;
	background-color: #ffffa5;
	color: black;
}

.dt-save-row-note:hover {
	border: 1px solid gray;
	background-color: #ffff80;
	color: black;
}

.dt-save-row-debug {
	border: 1px solid gray;
	background-color: #ffffa5;
	color: black;
}

.dt-save-row-debug:hover {
	border: 1px solid gray;
	background-color: #ffff80;
	color: black;
}

@media only screen and (max-width: 1024px) {
	td.column-absence-cell {
		margin-top: 5px;
		margin-bottom: 5px;
		vertical-align: middle !important;
	}

	td.column-absence-cell span {
		border: 1px solid lightgray !important;
		border-radius: 6px !important;

		margin: 8px !important;
		padding: 8px !important;
		font-size: 28px !important;
	}

	td.column-action {
		margin-top: 5px;
		margin-bottom: 5px;
		vertical-align: middle !important;
	}

	td.column-action a {
		margin: 8px !important;
		padding: 7px !important;
		font-size: 28px !important;
	}

	th.column-cursist-name, td.column-cursist-name {
		max-width: 60px !important;
		width: 60px !important;
	}

	div.table-cell-action {
		margin-top: 5px;
		margin-bottom: 5px;
		vertical-align: middle !important;
	}

	div.table-cell-action a {
		margin: 8px !important;
		padding: 7px !important;
		font-size: 28px !important;
	}
}

#PerformanceTable tr td:not(:first-child) { text-align: right !important; }
#ActualsTable tr td:not(:first-child) { text-align: right !important; }

#PerformanceTable thead tr:nth-child(2) th:nth-child(2) { text-align: right !important; }

.text-gender-male { color: #70b7f0 !important; }
.text-gender-female { color: #FF69B4 !important; }
.text-gender-genderless { color: #363636 !important; }
.text-gender-question { color: #363636 !important; }

.dt-checkbox {
	vertical-align: middle !important;
	padding: 0 0 0 8px !important;
}

.dt-checkbox .checkbox {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.dt-checkbox .checkbox label {
	padding-left: 0 !important;
}

table.kpi-table tr.totals { font-weight: bold !important; }

/* Tooltip container */
.tt {
	position: relative;
	display: inline-block;
	/* border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

.tt ul {
	list-style-type: none;
}

/* Tooltip text */
.tt .tt-text {
	visibility: hidden;
	width: 320px;
	background-color: #555;
	color: #fff;
	text-align: left;
	padding: 5px;
	border-radius: 6px;

	/* Position the tooltip text */
	position: absolute;
	/*z-index: 1;*/
	bottom: 0;
	left: -25%;
	margin-left: -320px;

	/* Fade in tooltip */
	opacity: 0;
	transition: opacity 1s;

	font-size: 12px;
	line-height: 13px;
}

/* Tooltip arrow */
.tt .tt-text::after {
	content: "";
	position: absolute;
	top: 40%;
	left: 100%;
	border-width: 5px;
	border-style: solid;
	border-color: transparent transparent transparent #555;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tt:hover .tt-text {
	visibility: visible;
	opacity: 1;
}

.compose-headers {
	width: 100%;
	padding: 5px 15px 5px 15px !important;
}

.receiver-list {
	width: 100%;
	padding: 3px !important;
	display: inline-flex !important;
}

.receivers-label, .multi-student-item {
	margin-right: 5px;
	font-weight: bold;
}

.students-multi-list {
	padding: 3px !important;
}

.students-multi-list .tag:after {
	content: none !important;
}

@media only screen and (min-width: 768px) {
	.wider-cell {
		width: 200px !important;
	}
}

th.column-title {
	white-space: nowrap;
}

th.column-title-hardwrap {
	text-overflow: ellipsis;
	max-height: 38px;
	overflow: hidden;
	white-space: nowrap;
}

a.bulk-dropdown-toggle:hover, .open a.bulk-dropdown-toggle, li.bulk-dropdown.open, li.bulk-dropdown.open:hover {
	background-color: #623a8e !important;
}

.list-2-col {
	-moz-column-count: 2;
	-moz-column-gap: 20px;
	-webkit-column-count: 2;
	-webkit-column-gap: 20px;
	column-count: 2;
	column-gap: 20px;
}

div.column-visibility-item {
	font-size: 13px !important;
	margin: 5px;
	background-color: #f3f3f3;
}

div.column-visibility-item input.flat {
	margin: 10px !important;
}

.filter-with-backdrop {
    -webkit-backdrop-filter: grayscale() blur(10px) !important; /* Safari 9+ */
    backdrop-filter: grayscale() blur(10px) !important; /* Chrome and Opera */
    background-color: rgba(255, 255, 255, 0.3) !important;
}

.grayscale-background-full {
     background: url(/images/background.png);
     -moz-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
     -o-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
     -webkit-filter: grayscale(100%);
     filter: gray;
     filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
}

.grayscale-background {
	background: url(/images/background.png) no-repeat center center fixed;
	background-size: cover;
}

.bg-istock {
	background: url(/images/istockbg.jpeg) no-repeat center center fixed !important;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.logo-medium {
	max-width: 250px !important;
}

.nav-md .navbar-with-icons {
	width: 70% !important;
}

.nav-sm .navbar-with-icons {
	width: 70% !important;
}

.navbar-with-icons a.user-profile span.user-name {
	display: none !important;
}

.navbar-with-icons .navbar-icon {
	margin: 3px;
	width: 25px;
	height: 25px;
	margin-top: 15px;
	color: white !important;
}

.navbar-with-icons .navbar-icon a {
	border-radius: 5px;
	padding: 0 !important;
	line-height: 25px !important;

	border: 1px solid #623a8e;
	background-color: #8859bb;
}

.navbar-with-icons .navbar-icon a:hover, .navbar-with-icons .navbar-icon.active a {
	border: 1px solid #623a8e;
	background-color: #623a8e;
	color: white !important;
}

.navbar-with-icons .navbar-icon.active {

}

.navbar-with-icons .navbar-icon a i.fa {
	margin: 5px;
	color: white !important;
}

.xew-default .editable-input {}

.xew-date .editable-input {
	width: 235px !important;
}

.xew-time .editable-input {
	width: 125px !important;
}

.xew-date .editable-input span.combodate, .xew-time .editable-input span.combodate {
	display: inline-flex !important;
}

td, th {
	vertical-align: middle !important;
}

.editable-indicator a.editable.editable-empty { 
	font-size: 	22px !important; 
	color: 		#555 !important; 
}

@media only screen and (max-width: 767px) { 
	#DashboardTable_Performance, #DashboardTable_Actuals { 
		font-size: 10px !important; 
	}
}

.xe-dirty {
	font-weight: bold !important;
}

.setting-toggle {
	/*font-weight: normal !important;
	color: grey;*/
}

.setting-toggle i {
	/*padding: 5px !important;*/
}

.setting-active i {
	/*border: 1px solid #009900;
	background-color: #008800;*/
	font-weight: 	normal !important;
	font-color: 	white !important;
}

.setting-active:hover i {
	/*border: 1px solid #008000;
	background-color: #009900;*/
	font-weight: 	bold !important;
	font-color: 	white !important;
}

.setting-inactive i {
	/*border: 1px solid #e60000;
	background-color: #ff3333;*/
	font-weight: normal !important;
	color: #aaa !important;
}

.setting-inactive:hover i {
	/*border: 1px solid #b30000;
	background-color: #e60000;*/
	font-weight: bold !important;
	color: #aaa !important;
}