/*
    Operational declaration - making the header and first column frozen
*/

.dt-table.dt-table-mode {
	max-width: 100%;
	max-height: 400px;
	overflow: auto;
	min-height: 150px;
	position: relative;
}

/* Direct-child selector — without `>`, this rule leaks into any nested
   <table> inside a cell (e.g. the date-range picker's month tables), forcing
   them to min-width: 100% of the DataTable container and breaking their
   layout. Only the DataTable's own root <table> needs this styling. */
.dt-table.dt-table-mode > table {
	position: relative;
	border-collapse: collapse;
	min-width: 100%;
}

/* Keep the loading spinner in view when the <table> is wider than the screen.
   The holdon overlay spans the full table width (thousands of px in wide
   grids), so plain flex centering can park the spinner far off-screen. The
   overlay keeps covering the whole row (backdrop), but the spinner rides a
   left-pinned sticky strip capped at one viewport width, so it centers within
   the visible slice and follows the container's own horizontal scrolling.
   `text-align: center` is what does that centering — the spinner is an
   inline-flex box inside the strip; without it the spinner hugs the strip's
   left edge in every table, wide or not (that was the "indicator sits on the
   left" bug). `cqw` would measure the real scrollport instead of 100vw, but
   container-type applies layout containment, which would re-anchor the
   daterange filter's position:fixed dropdown to the table — hence the
   viewport approximation plus a second sticky clamp on the spinner itself for
   containers much narrower than the viewport. */
.dt-table.dt-table-mode .holdon-overlay {
	justify-content: flex-start;
}

.dt-table.dt-table-mode .holdon-content {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	width: min(100%, 100vw);
	text-align: center;
}

.dt-table.dt-table-mode .holdon-content .sk-rect {
	position: -webkit-sticky;
	position: sticky;
	left: 8px;
	right: 8px;
}

.dt-table.dt-table-mode table thead tr.dt-header th,
.dt-table.dt-table-mode table thead tr.dt-header-filter th {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

.dt-table.dt-table-mode table thead tr.dt-header-filter th {
	top: 21px;
	transform: translateY(-1px);
}

.dt-table.dt-table-mode table thead tr.dt-header th:first-child,
.dt-table.dt-table-mode table thead tr.dt-header-filter th:first-child {
	left: 0;
	z-index: 1;
}

.dt-table.dt-table-mode table tbody td.dt-col-index {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 2;
}

.dt-table.dt-table-mode td,
.dt-table.dt-table-mode th {
	white-space: nowrap;
}

.dt-table.dt-table-mode .dt-header-index,
.dt-table.dt-table-mode .dt-filter-index {
	z-index: 3 !important;
}

/*
    Layout declaration - making the table look the way it looks
 */
.dt-root {
	background: white;
}

.dt-table.dt-table-mode {
	display: block;
}

.dt-table.dt-table-mode table > thead > tr.dt-header th,
.dt-table.dt-table-mode table > thead > tr.dt-header-filter th {
	z-index: 39;
	cursor: pointer;
	font-weight: 400;
	font-size: 13px;
	color: #93a2a9;
	border: 0;
	border-bottom: 1px solid #f2f5f8;
	text-transform: uppercase;
	font-weight: 600;
	text-align: left;
	padding-left: 5px;
	padding-right: 5px;
	border-bottom: 0;
	letter-spacing: -0.5px;
	background: white;
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.dt-table.dt-table-mode table > thead > tr.dt-header th.dt-header-notsortable {
	cursor: default;
}

.dt-table.dt-table-mode table > tbody .dt-col-indexlabel {
	background: #0075bf;
	color: #fff;
	width: 25px;
	height: 25px;
	text-align: center;
	border-radius: 50%;
	font-size: 14px;
	line-height: 25px;
	box-sizing: border-box;
	letter-spacing: -1px;
	display: block;
	font-weight: 400;
}

.dt-table.dt-table-mode table > tbody > tr {
	transition: background 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);
	will-change: background;
}

.dt-table.dt-table-mode table > tbody > tr:hover {
	background: #eee;
}

.dt-table.dt-table-mode table > tbody > tr > td {
	border: 0;
	border-bottom: 1px solid #efefef;
	color: #2c2c2c;
	vertical-align: middle;
	padding: 8px 5px;
	font-size: 13px;
	font-size: 12.5px;
	background: white;
}

.dt-table.dt-table-mode table > tbody > tr > td.dt-no-results {
	border-bottom: 0;
}

.dt-table.dt-table-mode table > tbody > tr:nth-child(even) > td {
	background: #fbfbfb;
}

.dt-table.dt-table-mode .dt-filter-input .form-control {
	background-color: #fff;
	border: 0px;
	font-size: 11px !important;
	padding: 0;
	min-height: 21.5px;
}

.dt-table.dt-table-mode input.dt-filter-input,
.dt-table.dt-table-mode .dt-filtertype-daterange input {
	border: 0px;
	/* width: 100% !important; */
}

.dt-table.dt-table-mode input.dt-filter-input::-webkit-input-placeholder,
.dt-table.dt-table-mode .dt-filter-input input::-webkit-input-placeholder,
.dt-top .dt-fulltext-search input::-webkit-input-placeholder,
.dt-table.dt-table-mode .dt-filtertype-daterange input::-webkit-input-placeholder {
	text-align: left !important;
	font-size: 11px;
	color: #cacaca;
	font-weight: 200;
}

.dt-table.dt-table-mode input.dt-filter-input:-moz-placeholder,
.dt-table-dt-table-mode .dt-filter-input input:-moz-placeholder,
.dt-table.dt-table-mode .dt-filtertype-daterange input:-moz-placeholder,
.dt-top .dt-fulltext-search input:-moz-placeholder {
	text-align: left !important;
	font-size: 11px;
	color: #cacaca;
	font-weight: 200;
}

.dt-table.dt-table-mode input.dt-filter-input::-moz-placeholder,
.dt-table.dt-table-mode .dt-filter-input input::-moz-placeholder,
.dt-table.dt-table-mode .dt-filtertype-daterange input::-moz-placeholder,
.dt-top .dt-fulltext-search input::-moz-placeholder {
	text-align: left !important;
	font-size: 11px;
	color: #cacaca;
	font-weight: 200;
}

.dt-table.dt-table-mode input.dt-filter-input:-ms-input-placeholder,
.dt-table.dt-table-mode .dt-filter-input input:-ms-input-placeholder,
.dt-table.dt-table-mode .dt-filtertype-daterange input:-ms-input-placeholder,
.dt-top .dt-fulltext-search input:-ms-input-placeholder {
	text-align: left !important;
	font-size: 11px;
	color: #cacaca;
	font-weight: 200;
}

.dt-table.dt-table-mode .dt-filtertype-daterange .form-group {
	margin-bottom: 0;
}

.dt-table.dt-table-mode .dt-filtertype-daterange .form-group input {
	padding: 1px 0;
	height: auto;
	min-height: 1px;
	background: transparent;
}

.dt-table.dt-table-mode .pd-dd-root {
	width: 100% !important;
	display: block;
}

.dt-table.dt-table-mode .pd-dd-trigger {
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	border: 0 !important;
}

.dt-table.dt-table-mode .pd-dd-trigger-text.pd-dd-placeholder {
	font-size: 11px !important;
	color: #cacaca !important;
	text-transform: capitalize;
	font-weight: 400;
	padding-left: 2px;
}

.dt-table.dt-table-mode .pd-dd-trigger-arrow {
	display: none;
}

.dt-table.dt-table-mode .pd-dd-panel {
	border-color: #d8d8d8;
}

.dt-table.dt-table-mode .dt-no-results {
	position: relative;
	min-height: 100px;
}

.dt-table.dt-table-mode .dt-no-results .dt-no-results-inner {
	min-height: 100px;
	width: 100%;
	position: sticky;
	left: 0;
	top: 0px;
	max-width: 100vw;
	text-align: center;
	max-width: calc(100vw - 100px);
	padding-top: 35px;
}

.dt-top {
	position: relative;
}

.dt-top .dt-top-paginationrow {
	position: relative;
	min-height: 45px;
}

.dt-top .dt-top-paginationrow .dt-pagination-length {
	position: absolute;
	left: 0;
	top: 3px;
	z-index: 1;
	padding-left: 10px;
	padding-right: 2px;
}

.dt-top .dt-top-paginationrow .dt-pagination-length select {
	border-radius: 30px;
	margin-top: 0;
	padding: 2px 5px;
	font-size: 12px;
	border: 1px solid #999;
	background: white;
}

.dt-top .dt-top-paginationrow .dt-pagination-length span {
	padding-left: 3px;
}

.dt-top .dt-top-paginationrow .dt-fulltext-search {
	position: absolute;
	right: 0;
	z-index: 1;
	top: 0;
	background: white;
}

.dt-top .dt-top-paginationrow .dt-fulltext-search input {
	border: 1px solid #999;
	border-radius: 30px;
	font-size: 13px;
	padding: 3px 10px;
	background: white;
}

.dt-top .dt-top-paginationrow::after {
	content: '';
	position: absolute;
	top: 14px;
	width: 100%;
	left: 0;
	z-index: 0;
	background: #eee;
	height: 1px;
}

.dt-top .dt-buttons {
	position: relative;
	text-align: right;
}

.dt-top .dt-buttons .dt-button {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	margin-right: 0.333em;
	margin-bottom: 0.333em;
	padding: 3px 8px;
	border: 1px solid #999;
	border-radius: 2px;
	cursor: pointer;
	font-size: 16px;
	line-height: 1.6em;
	color: #000;
	white-space: nowrap;
	background-color: white;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	text-decoration: none;
	outline: none;
	border-radius: 30px;
	width: 36px;
	padding: 0;
}

.dt-top .dt-buttons .dt-button .dropdown-toggle {
	display: inline-block;
	width: 100%;
	text-align: center;
}

.dt-top .dt-buttons .dt-button .dropdown-toggle::after {
	display: none;
}

.dt-top .dt-buttons .dt-button > span > i.now-ui-icons {
	transform: translateY(2px);
}

.dt-col-indexcheckbox {
	position: relative;
	display: block;
	width: 25px;
	height: 25px;
}

.dt-col-indexcheckbox .inv-md-checkbox {
	position: absolute;
	z-index: 1;
	top: 2px;
	left: 3px;
}

.dt-bottom .dt-summary-wrap {
	display: inline-block;
	padding: 10px 0;
}

.dt-bottom .dt-pagination {
	padding-top: 5px;
	float: right;
}

.dt-bottom .dt-pagination .pagination {
	margin-bottom: 0;
}

.dt-massop-btn-wrap {
	margin-top: -18px;
	z-index: 59 !important;
}

.dt-massop-btn-wrap > .dropdown {
	display: inline-block;
}

td.dt-col-index .dt-selection-checkbox > .form-group,
th.dt-header-index .dt-header-indexcheckbox {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

th.dt-header-index .dt-header-indexcheckbox {
	left: 13px;
}

.dt-skin-compact .dt-table.dt-table-mode table > tbody > tr > td.dt-col-index .dt-selection-checkbox > .form-group {
	top: -12px;
}

.dt-skin-compact .dt-table.dt-table-mode table th.dt-header-index .dt-header-indexcheckbox {
	left: 0;
}

.dt-massop-cancelbtn {
	background: white;
}

.dt-root a:not(.dropdown-item) {
	color: #0d638f;
}

.dt-sort {
	position: absolute;
	right: 0;
}

.dt-root.dt-breakpoint-desktop tbody .dropdown .dropdown-menu {
	display: none;
}

.dt-root thead th .pd-dd-trigger-clear {
	display: none;
}

.dt-filter-dropdown-container .btn.btn-sm {
	padding: 5px 15px;
	font-size: 80%;
}

.dt-filter-dropdown-container .pd-dd-search {
	padding: 4px;
	margin-bottom: 0;
}

.dt-table.dt-table-mode table > tbody > tr > td {
	transition: background 150ms ease-in;
}

.dt-table.dt-table-mode table > tbody > tr:hover > td {
	background: #eaeaea;
}

.dt-col-index.dt-has-sortable-rows {
	cursor: move;
}

.dt-sort-handle {
	position: absolute;
	top: 13px;
	left: 35px;
	cursor: move;
}

@media (max-width: 767px) {
	.dt-top .dt-top-paginationrow::after {
		left: 90px;
		right: 220px;
		width: auto;
	}

	.dt-top .dt-top-paginationrow .dt-fulltext-search,
	.dt-top .dt-top-paginationrow .dt-pagination-length,
	.dt-table.dt-table-mode table thead tr.dt-header th:first-child,
	.dt-table.dt-table-mode table thead tr.dt-header-filter th:first-child {
		z-index: 0;
	}

	.dt-bottom {
		text-align: center;
	}

	.dt-bottom .dt-summary-wrap {
		display: block;
	}

	.dt-bottom .dt-pagination {
		float: none;
		margin-top: -10px;
	}

	.dt-bottom .dt-pagination .pagination {
		align-items: center;
		justify-content: center;
	}

	.dt-pagination-length > span,
	.dt-pagination-length > span {
		font-size: 9px;
		position: absolute;
		left: 0px;
		display: block;
		width: 70px;
		text-align: center;
		top: 25px;
	}
}

@media (max-width: 539px) {
	.dt-massop-cancelbtn {
		display: none;
	}
}

/*
    Compact mode - front is smaller and narrower
 */
.dt-skin-compact .dt-table.dt-table-mode table > thead > tr.dt-header th,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-table.dt-table-mode table > thead > tr.dt-header th {
	font-family: 'BenchNine';
	font-weight: 100;
	text-transform: capitalize;
	font-size: 13px;
}

.dt-skin-compact .dt-table.dt-table-mode table > thead > tr.dt-header th,
.dt-skin-compact .dt-table.dt-table-mode table > thead > tr.dt-header-filter th,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-table.dt-table-mode table > thead > tr.dt-header th,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-table.dt-table-mode table > thead > tr.dt-header-filter th {
	padding-left: 4px;
	padding-right: 4px;
}

.dt-skin-compact .dt-table.dt-table-mode table > tbody > tr > td,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-table.dt-table-mode table > tbody > tr > td {
	font-weight: 400;
	text-transform: none;
	font-size: 11px;
	padding: 6px 4px;
	letter-spacing: -0.4px;
	color: #6d6d6d;
}

.dt-skin-compact .dt-table.dt-table-mode table > tbody .dt-col-indexlabel,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-table.dt-table-mode table > tbody .dt-col-indexlabel {
	width: 18px;
	height: 18px;
	font-size: 9px;
	line-height: 19px;
}

.dt-skin-compact .dt-bottom .dt-summary-wrap,
.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-bottom .dt-summary-wrap {
	font-size: 12px;
	padding: 3px 0px;
	padding-bottom: 10px;
}

.dt-breakpoint-mobile.dt-mobbehavior-compact .dt-bottom .dt-summary-wrap {
	padding-bottom: 0;
}

.dt-breakpoint-mobile.dt-mobbehavior-compact .pagination {
	margin-top: 8px;
	margin-bottom: 10px;
}

.dt-skin-compact .pagination .page-item .page-link,
.dt-breakpoint-mobile.dt-mobbehavior-compact .pagination .page-item .page-link {
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	line-height: 1;
	font-size: 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.dt-skin-compact .dt-col-indexcheckbox {
	position: relative;
	display: block;
	height: auto;
}

.dt-skin-compact .dt-selection-checkbox > div {
	position: absolute;
	top: -10px;
	left: 0;
	z-index: 2;
}

.dt-skin-compact .dt-header-indexcheckbox {
	position: relative;
}

.dt-skin-compact .dt-header-indexcheckbox > div {
	position: absolute;
	z-index: 2;
	left: 7px;
}

.header-filter-cell.dt-filtertype-dropdown {
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
}

.header-filter-cell.dt-filtertype-dropdown > .dt-filter-dropdown {
	position: absolute;
	top: -2px;
	left: 9px;
	right: 9px;
	z-index: 2;
}

.header-filter-cell.dt-filtertype-dropdown > .dt-filter-dropdown > .form-group {
	margin-bottom: 0;
}

.header-filter-cell .input-group .input-group-text {
	width: auto;
	min-height: auto;
	padding: 0px 3px;
	margin: auto 0;
	background-color: inherit;
	border: inherit;
	vertical-align: middle;
}

.dt-table.dt-table-mode table > thead > tr.dt-header th .dt-filter-dropdown,
.dt-table.dt-table-mode table > thead > tr.dt-header-filter th .dt-filter-dropdown {
	text-transform: none;
}

.dt-skin-compact .header-filter-cell.dt-filtertype-dropdown > .dt-filter-dropdown,
.dt-mobbehavior-compact .header-filter-cell.dt-filtertype-dropdown > .dt-filter-dropdown {
	left: 4px;
}

.dt-device-desktop.dt-skin-default .header-filter-cell.dt-filtertype-dropdown > .dt-filter-dropdown {
	left: 5px;
}

/*
    Vertical transform - items displayed as blocks
 */
.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-table.dt-table-mode {
	max-height: 999999px;
	overflow: hidden;
}

.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-vert-row {
	-webkit-box-shadow: 0px 7px 6px -6px rgba(0, 0, 0, 0.28);
	-moz-box-shadow: 0px 7px 6px -6px rgba(0, 0, 0, 0.28);
	box-shadow: 0px 7px 6px -6px rgba(0, 0, 0, 0.28);
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	max-width: 100vw;
}

.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-vert-row .dt-vert-item:first-child {
	border-top: 1px solid #bfbfbf;
	border-bottom: 3px solid #0085a6;
	border-radius: 4px 4px 0 0;
}

.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-vert-row .dt-vert-item {
	background-color: #fff;
	position: relative;
	border: 1px solid #bfbfbf;
	border-top: none;
	color: #333;
	display: block;
}

.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-vert-row .dt-vert-item .dt-vert-caption {
	content: attr(data-caption);
	display: inline-block;
	color: hsl(0, 0%, 60%);
	font-size: 14px;
	font-weight: normal;
	text-transform: uppercase;
	width: 40%;
	padding: 8px 10px;
}

.dt-breakpoint-mobile.dt-mobbehavior-vertical .dt-vert-row .dt-vert-item .dt-vert-value {
	width: 58%;
	display: inline-block;
}

/*
    Mobile mode - some experimental shit
 */
.dt-mobile-rows {
	padding-left: 0px;
	padding-right: 0px;
	position: relative;
}

.dt-mobile-row {
	position: relative;
	padding-top: 10px;
	margin-right: -10px;
	margin-left: -10px;
	padding-left: 10px;
	padding-right: 10px;
}

.dt-mobile-row:first-child {
	padding-top: 0px;
}

.dt-mobile-row:nth-of-type(even) {
	background: #fcfcfb;
}

.dt-mobile-row .dt-mobile-row-inner {
	display: flex;
	flex-direction: column;
	max-width: 100vw;
	position: relative;
	padding-bottom: 5px;
}

.dt-mobile-row .dt-mobile-row-inner:after {
	position: absolute;
	content: '';
	left: 5px;
	right: 5px;
	height: 1px;
	bottom: 0px;
	background-color: #f7f7f7;
	z-index: 50;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item {
	font-size: 10px;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner {
	position: relative;
	max-width: 95%;
	max-width: calc(100% - 30px);
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-caption,
.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-value {
	font-size: 10px;
	display: inline-block;
	letter-spacing: -0.85px;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-caption {
	font-weight: bold;
	text-transform: uppercase;
	padding-right: 4px;
	min-width: 40%;
	max-width: 40%;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-value {
	letter-spacing: -0.5px;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-value div,
.dt-mobile-row .dt-mobile-row-inner .dt-mobile-item .dt-mobile-item-inner .dt-mobile-value span {
	display: inline;
}

.dt-mobile-row .dt-mobile-row-inner .dt-mobile-identifier {
	order: -12000;
	font-weight: bold;
	font-size: 16px;
}

.dt-mobile-row .dt-mobile-row-icon {
	position: absolute;
	top: 50%;
	right: 0;
	font-size: 20px;
	color: #d8d8d8;
	margin-top: -15px;
	display: none;
}

.dt-mobile-row .dt-mobile-row-icon.icon.icon-arrow-right {
	transform: scale(1, 1.7);
}

.dt-mobile-row .dt-mobile-collapsedshow {
	transform: scale(3, 1);
	width: 100%;
	text-align: center;
	color: #d8d8d8;
	margin-top: 5px;
}

.dt-breakpoint-mobile.dt-mobbehavior-mobile .dt-fulltext-search {
	padding-right: 5px;
}

.dt-mobile-filter-rowone {
	position: relative;
	display: flex;
}

.dt-mobile-filter-rowone > div {
	flex: 1;
}

.dt-mobile-filter-rowone > button {
	margin: 0;
	margin-left: 1px;
}

.dt-mobile-row-inner.dt-mobile-chbvisible {
	padding-left: 25px;
}

.dt-mobile-row-inner.dt-mobile-chbvisible .dt-mobile-checkbox {
	position: absolute;
	left: -2px;
	top: 50%;
	margin-top: -15px;
}

/*
   Table sizing
*/
.dt-root table td {
	padding-top: 3px !important;
	padding-bottom: 3px !important;
}

.dt-root.dt-skin-compact table td {
	padding-top: 2px !important;
	padding-bottom: 2px !important;
}

.has-dt-fullsize .content {
	padding-bottom: 0;
}

.has-dt-fullsize .dt-root.dt-fullsize-table {
	height: calc(100vh - 230px + var(--datatable-fullheight-container-offset, 0px));
}

.has-dt-fullsize .dt-root.dt-fullsize-table.dt-fs-buttonsbelow {
	height: calc(100vh - 280px + var(--datatable-fullheight-container-buttons-offset, 0px));
}

.has-dt-fullsize .dt-root.dt-fullsize-table .dt-table {
	max-height: calc(100% - 135px);
}

.has-dt-fullsize .dt-root.dt-fullsize-table .dt-mobbehavior-compact.dt-breakpoint-mobile.dt-root {
	height: calc(100vh - 210px);
}

.has-dt-fullsize.has-dt-fullsize-mobile.dt-fullsize-beh-compact .dt-root.dt-fullsize-table,
.has-dt-fullsize.has-dt-fullsize-mobile.dt-fullsize-skin-compact .dt-root.dt-fullsize-table {
	height: 100%;
}

.has-dt-fullsize.has-dt-fullsize-mobile.dt-fullsize-beh-compact .card-body {
	padding-bottom: 0;
	height: calc(100% + 15px) !important;
}

@media (min-width: 992px) {
	.has-dt-fullsize .dt-root.dt-fullsize-table .dt-table {
		max-height: calc(100% - 40px + var(--datatable-fullheight-desktop-rows-offset, 0px));
	}

	.has-dt-fullsize .dt-root.dt-fullsize-table.dt-inset-top .dt-table {
		max-height: calc(100% - 50px + var(--datatable-fullheight-desktop-rows-offset, 0px));
	}
}

@media (min-width: 768px) {
	.has-dt-fullsize .dt-root.dt-fullsize-table.dt-inset-top {
		height: calc(100vh - 150px);
		margin-top: -65px;
	}

	.has-dt-fullsize .dt-root.dt-fullsize-table.dt-inset-top .dt-massop-btn-wrap {
		padding-top: 5px;
	}

	.has-dt-fullsize .card.single-card {
		margin-bottom: 10px;
	}
}

.has-dt-fullsize .dt-root.dt-fullsize-table.dt-skin-compact.dt-inset-top .dt-table {
	max-height: calc(100% - 105px);
}

@media (max-width: 767px) {
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile),
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile) > body,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile) > body > .wrapper,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile) > body > .wrapper > .main-panel,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile) > body > .wrapper > .main-panel > .content,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile)
		> body
		> .wrapper
		> .main-panel
		> .content
		> .frm-flex-container,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile)
		> body
		> .wrapper
		> .main-panel
		> .content
		> .frm-flex-container
		> .frm-flex-child,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile)
		> body
		> .wrapper
		> .main-panel
		.card.single-card,
	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile)
		> body
		> .wrapper
		> .main-panel
		.card.single-card
		> .card-body {
		height: 100%;
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile)
		> body
		> .wrapper
		> .main-panel
		.card.single-card {
		height: calc(100% - 6px);
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile:not(.dt-fullsize-beh-mobile.dt-fullsize-skin-default)
		> body
		> .wrapper
		> .main-panel
		.card.single-card
		> .card-body {
		padding-bottom: 0;
	}

	html
		.has-dt-fullsize.has-dt-fullsize-mobile
		> body
		> .wrapper
		> .main-panel
		.card.single-card
		> .card-body
		.dt-root.dt-fullsize-table {
		height: calc(100% - 10px);
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile.has-dt-fullsize-ios
		> body
		> .wrapper
		> .main-panel
		.card.single-card
		> .card-body
		.dt-root.dt-fullsize-table {
		height: 100%;
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile > body > .wrapper > .main-panel .card.single-card {
		-webkit-overflow-scrolling: touch;
		overflow-y: auto;
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile > body > .wrapper > .main-panel .card.single-card > .card-body {
		padding-top: 15px;
	}

	html.has-dt-fullsize.has-dt-fullsize-mobile > body > .wrapper > .main-panel .card.single-card > .card-header {
		display: none;
	}

	html.has-dt-fullsize > body > .wrapper > .main-panel .card.single-card > .card-body {
		padding-left: 10px;
		padding-right: 10px;
		overflow-y: auto;
	}

	.dt-top .dt-top-paginationrow .dt-pagination-length {
		padding-left: 0;
	}

	.dt-breakpoint-mobile.dt-mobbehavior-mobile .dt-fulltext-search {
		padding-right: 0px;
	}

	.dt-top .dt-buttons {
		margin-right: -5px;
	}
}

@media (min-width: 768px) {
	.table-upper-buttons-wrap + .dt-root .dt-massop-btn-wrap {
		padding-left: 0;
		padding-top: 5px;
	}
}

.has-dt-fullsize .dt-root.dt-mobbehavior-mobile.dt-breakpoint-mobile {
	height: auto !important;
}

/*
   iOS hacks
*/
.dt-ios input,
.dt-ios select {
	font-size: 16px !important;
	transform: scale(0.8) !important;
	transform-origin: left top !important;
	width: 120% !important;
	margin-right: -20% !important;
	margin-bottom: -10px !important;
}

/*
    Other stylings
*/
tr.dt-item > td button {
	margin-top: 0;
	margin-bottom: 0;
}

.dt-mobile-value button {
	margin-top: 1px;
	margin-bottom: 1px;
}

.table-upper-buttons-wrap + .dt-static {
	margin-top: 20px;
}

@media (max-width: 767.98px) {
	/* Fix: datatable mobile mode sets all divs in .dt-mobile-value to display:inline (specificity 0,5,1),
   which breaks Bootstrap dropdown: the .dropdown container loses its positioning context,
   and .dropdown-menu becomes visible. Restore proper dropdown behavior. */
	.dt-mobile-value .dropdown {
		display: inline-block !important;
		position: relative !important;
	}

	.dt-mobile-value .dropdown .dropdown-menu {
		display: none !important;
	}

	.dt-mobile-value .dropdown .dropdown-menu.show {
		display: block !important;
	}
}
