﻿@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

@-webkit-keyframes pulse {
	0%, 100% {
		opacity: .3;
	}

	50% {
		opacity: 1;
	}
}

@keyframes pulse {
	0%,100% {
		opacity: .3;
	}

	50% {
		opacity: 1;
	}
}

:root {
	--color-text-default: #2e2a82;
	--color-text-light: #8791a5;
	--color-text-danger: #d72c4a;
	--color-text-warning: #f99930;
	--color-text-success: #19bf61;
	--color-bg-light-primary: #f8fafb;
	--color-bg-light-secondary: #eff4f7;
	--color-bg-dark: #0a142f;
	--color-bg-primary: #fb5d50;
	--color-bg-danger: #fee6e0;
	--color-bg-warning: #fff6d9;
	--color-bg-success: #e8fada;
	--color-headline-primary: #2e2a82;
	--color-headline-secondary: #fb5d50;
	--color-link-primary: #fb5d50;
	--color-link-secondary: #1a1a1a;
	--padding-small: 9px;
	--padding-default: 12px;
	--padding-medium: 18px;
	--padding-double: 24px;
	--padding-half: 6px;
	--border-radius-small: 6px;
	--border-radius-medium: 12px;
	--font-size-small: 9.5pt;
	--font-size-xsmall: 8pt;
}

* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}


/* LAYOUT */

html {
	width: 100%;
	height: 100%;
}

body {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	font-size: 10.5pt;
	font-weight: 400;
	color: var(--color-text-default);
	overflow-x: hidden;
	-webkit-text-size-adjust: none;
	-webkit-overflow-scrolling: touch;
}

	body.modal-open {
		overflow: hidden;
		touch-action: none;
	}

img {
	max-width: 100%;
	vertical-align: bottom;
}

.content-wrapper {
	width: 1300px;
	max-width: 100%;
	margin: 0 auto;
}

.avatar {
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

	.avatar.initials {
		background-color: var(--color-bg-light-secondary);
		position: relative;
		left: 0;
		top: 0;
	}

		.avatar.initials .text {
			font-size: 6pt;
			color: var(--color-link-primary);
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
		}

.dot {
	display: inline-block;
	z-index: 10;
	border-radius: 50%;
	padding: 3px;
	background-color: var(--color-link-primary);
}

	.dot.light {
		background-color: var(--color-text-light);
	}

	.dot.success {
		background-color: var(--color-text-success);
	}

	.dot.danger {
		background-color: var(--color-text-danger);
	}

	.dot.has-number {
		padding: 7px;
		top: 5px !important;
		right: 5px !important;
	}

		.dot.has-number span {
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			color: #fff;
			font-size: 7pt;
		}

.working-screener {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 100000;
	background-color: rgba(255, 255, 255, .01);
}

	.working-screener > div {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		color: #fff;
	}

	.working-screener div.icon {
		font-size: 32pt;
		margin-bottom: 6px;
	}

	.working-screener div.text {
		font-size: 12pt;
	}

.js-eval {
	display: none;
}

/*
.overflow-container-x {
	overflow-x: auto;
}

	.overflow-container-x:not(.is-left) .scrollguide-left, .overflow-container-x:not(.is-right) .scrollguide-right {
		display: none;
	}

	.overflow-container-x .scrollguide-left {
		position: absolute;
		left: 0px;
		top: 0px;
		height: 100%;
		padding: var(--padding-default);
		background: rgb(255,255,255);
		background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
		opacity: .5;
	}

	.overflow-container-x .scrollguide-right {
		position: absolute;
		right: 0px;
		top: 0px;
		height: 100%;
		padding: var(--padding-default);
		background: rgb(255,255,255);
		background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		opacity: .5;
	}

		.overflow-container-x .scrollguide-left i, .overflow-container-x .scrollguide-right i {
			position: relative;
			top: 50%;
			transform: translateY(-50%)
		}
*/

.pulse {
	animation: pulse 2s infinite ease-in;
	-webkit-animation: pulse 2s infinite ease-in;
}


/* FORMATTING */

h1, .h1 {
	margin: 0 0 15px 0;
	color: var(--color-headline-primary);
}

h2 {
	margin: 0 0 24px 0;
	color: var(--color-headline-primary);
}

h3 {
	margin: 0 0 15px 0;
	color: var(--color-headline-secondary);
	font-weight: 400;
}

h4 {
	margin: 6px 0 12px 0;
}

p {
	margin-top: 0;
	margin-bottom: 15px !important;
}

pre {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	white-space: pre-wrap;
}

a, a:active {
	color: var(--color-link-primary);
	text-decoration: none;
	outline: none;
}

	a:hover {
		text-decoration: none;
	}

	a.table-row, a.griditem {
		text-decoration: none;
		color: inherit;
	}

div.hr, hr {
	margin: 6px 0 6px 0;
	height: 1px;
	line-height: 1px;
	border: 0;
	border-top: solid 1px var(--color-bg-light-primary);
	color: var(--color-bg-light-primary);
	background-color: var(--color-bg-light-primary);
}

.text-left {
	text-align: left !important;
}

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.text-bottom {
	vertical-align: bottom !important;
}

.text-middle {
	vertical-align: middle !important;
}

.text-top {
	vertical-align: top !important;
}

.text-normal {
	font-weight: 400 !important;
}

.text-bold {
	font-weight: 700 !important;
}

.text-italic {
	font-style: italic;
}

.text-underline {
	text-decoration: underline;
}

.text-upper {
	text-transform: uppercase;
}

.text-small {
	font-size: var(--font-size-small) !important;
}

.text-xsmall {
	font-size: var(--font-size-xsmall) !important;
}

.text-danger, .text-bad {
	color: var(--color-text-danger) !important;
}

.text-success, .text-good {
	color: var(--color-text-success) !important;
}

.text-light, .text-neutral {
	color: var(--color-text-light) !important;
}

.text-note, .text-warning {
	color: var(--color-text-warning) !important;
}

.text-link {
	color: var(--color-link-primary) !important;
}

.text-link-secondary {
	color: var(--color-link-secondary) !important;
}

.text-default {
	color: var(--color-text-default) !important;
}

.text-nowrap {
	white-space: nowrap;
}

.h-subtext {
	font-size: var(--font-size-small) !important;
	font-weight: 400;
	color: var(--color-text-light);
	display: block;
	margin-top: 3px;
}

.h-subtext, .text-overflow-dots {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}

.text-capitalize {
	text-transform: capitalize !important;
}

.inline {
	display: inline-block;
}

.no-margin {
	margin: 0 !important;
}

.no-margin-top {
	margin-top: 0 !important;
}

.no-margin-bottom {
	margin-bottom: 0 !important;
}

.mid-padding {
	padding: var(--padding-default) !important;
}

.small-padding {
	padding: var(--padding-small) !important;
}

.no-padding {
	padding: 0 !important;
}

.no-padding-top {
	padding-top: 0 !important;
}

.no-padding-bottom {
	padding-bottom: 0 !important;
}

.no-padding-left {
	padding-left: 0 !important;
}

.no-padding-right {
	padding-right: 0 !important;
}

.list-footer-text {
	margin-top: 12px;
	color: var(--color-text-light);
	text-align: center;
	font-size: var(--font-size-small);
}

.list-small-text {
	font-size: var(--font-size-small);
	color: var(--color-text-light);
}

	.list-small-text i {
		font-size: var(--font-size-xsmall);
	}

.table + .list-footer-text, .list-footer-text.margin-top {
	margin-top: 36px;
}

label, .label {
	display: inline-block;
	margin-bottom: 3px;
}

	label:not(.input-checkbox):not(.input-radio), .label:not(.input-checkbox):not(.input-radio) {
		color: var(--color-text-light);
		font-size: var(--font-size-small);
	}

.fw {
	display: block !important;
	width: 100%;
}

.fw-hscroll {
	width: 100%;
	overflow-x: auto;
}

.hide, .filtered {
	display: none !important;
}

.dimmed {
	opacity: .5;
}

.disabled {
	opacity: .5;
	cursor: default !important;
}

.cursor-pointer {
	cursor: pointer;
}

i.fas.space-right, i.far.space-right {
	margin-right: var(--padding-default);
}

img.checkbox {
	width: 16px;
	height: 16px;
	position: relative;
	top: -1px;
}


/* TAGS */

.tag {
	display: inline-block;
	padding: 4px 5px 4px 5px;
	margin: 0 3px 3px 0;
	border: solid 1px transparent;
	border-radius: var(--border-radius-small);
	font-size: 7.5pt !important;
	white-space: nowrap;
}

	.tag.default {
		border-color: var(--color-link-primary);
		color: var(--color-link-primary);
	}

		.tag.default.active {
			background-color: var(--color-link-primary);
			color: #fff;
		}

	.tag.success {
		background-color: var(--color-bg-success);
		color: var(--color-text-success);
	}

		.tag.success.active {
			background-color: var(--color-text-success);
			color: #fff;
		}

	.tag.warning {
		background-color: var(--color-bg-warning);
		color: var(--color-text-warning);
	}

		.tag.warning.active {
			background-color: var(--color-text-warning);
			color: #fff;
		}

	.tag.danger {
		background-color: var(--color-bg-danger);
		color: var(--color-text-danger);
	}

		.tag.danger.active {
			background-color: var(--color-text-danger);
			color: #fff;
		}

	.tag.neutral {
		background-color: var(--color-bg-light-primary);
		color: var(--color-link-primary);
	}

		.tag.neutral.active {
			background-color: var(--color-bg-light-secondary);
			color: var(--color-link-primary);
		}

	.tag.clean {
		background-color: transparent;
	}

	.tag i {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.tag .text {
		margin-left: 3px;
	}

	.tag.small {
		zoom: .8;
	}


/* PROGRESSBAR */

.progressbar-outer {
	padding: var(--padding-half);
	width: 100%;
	position: relative;
	background-color: var(--color-bg-light-primary);
	overflow: hidden;
}

.progressbar-inner {
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, .1);
}

	.progressbar-inner.warning {
		background-color: var(--color-bg-warning);
	}

	.progressbar-inner.good {
		background-color: var(--color-text-success);
	}


/* ICON GROUP */

.icon-btn-group {
	float: left;
	position: relative;
	top: -8px;
}

	.icon-btn-group.inline {
		margin-bottom: -9px;
		top: -12px;
	}

	.icon-btn-group:not(.right) .icon-btn {
	}

	.icon-btn-group.right {
		float: right;
	}

		.icon-btn-group.right .icon-btn {
		}

	.icon-btn-group::after {
		content: '';
		clear: both;
		display: table;
	}

	.icon-btn-group.mb-fix:not(.right) {
		position: absolute;
		left: 0;
	}

	.icon-btn-group.mb-fix.right {
		position: absolute;
		right: 0;
	}

	.icon-btn-group + h2 {
		line-height: 160%;
	}

.icon-btn {
	display: inline-block;
	position: relative;
	left: 0;
	top: 0;
	padding: var(--padding-default);
	border-radius: 21px;
	color: var(--color-text-light);
	cursor: pointer;
	transition: all .3s;
}

	.icon-btn.small {
		padding: var(--padding-half);
	}

	.icon-btn > .dot {
		position: absolute;
		right: 9px;
		top: 9px;
	}

	.icon-btn:hover, .icon-btn.active {
		background-color: var(--color-bg-light-primary);
		color: var(--color-link-primary);
		text-decoration: none;
	}

	.icon-btn.danger:hover, .icon-btn.danger.active {
		color: var(--color-text-danger);
	}

	.icon-btn.success:hover, .icon-btn.success.active {
		color: var(--color-text-success);
	}

	.icon-btn-group.clean > .icon-btn:hover, .icon-btn-group.clean > .icon-btn.active .icon-btn.clean:hover, .icon-btn.clean.active {
		background-color: transparent;
	}


/* CONTEXTMENU */

.ctxmenu-container {
	position: relative;
	display: inline-block;
}

	.ctxmenu-container.open .ctxmenu-overlay {
		height: 999999vh;
	}

	.ctxmenu-container.open .ctxmenu-overlay, .ctxmenu-container.open .ctxmenu {
		visibility: visible;
		opacity: 1;
	}

		.ctxmenu-container.open .ctxmenu:not(.left) {
			right: 0;
		}

		.ctxmenu-container.open .ctxmenu.left {
			left: 0;
		}

.ctxmenu-overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: rgba(53, 64, 82, .001);
	cursor: auto;
	z-index: 3000;
	opacity: 0;
	visibility: hidden;
}

.ctxmenu {
	position: absolute;
	right: 5px;
	top: 100%;
	width: 300px;
	overflow-y: auto;
	color: inherit;
	font-size: inherit;
	background-color: #fff;
	border: solid 1px #f2f3f6;
	border-radius: var(--border-radius-small);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.06);
	padding: var(--padding-half);
	text-align: left;
	line-height: normal;
	z-index: 4000;
	cursor: auto;
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
}

	.ctxmenu.left {
		right: auto;
		left: 0;
	}

	.ctxmenu > a {
		padding: var(--padding-default);
		border-radius: var(--border-radius-small);
		transition: all .3s;
		display: block;
		color: var(--color-text-default);
	}

		.ctxmenu > a:hover {
			background-color: var(--color-bg-light-primary);
			cursor: pointer;
			text-decoration: none;
			/*color: #0558f7;*/
		}

	.ctxmenu h2 {
		color: inherit;
		font-size: var(--font-size-small);
		text-transform: uppercase;
		padding: var(--padding-default);
		font-weight: 700;
		margin-bottom: 0;
	}

		.ctxmenu h2 i {
			margin-right: 15px;
		}

		.ctxmenu h2:not(:first-of-type) {
			margin-top: 0;
		}

	.ctxmenu a i {
		margin-right: 9px;
		color: var(--color-text-light);
		opacity: .8;
		font-size: var(--font-size-small);
	}

	.ctxmenu > :first-child:is(div.hr), .ctxmenu div.hr + div.hr {
		display: none;
	}


/* MODAL */

.modal-container:not(.open) {
	visibility: hidden;
	opacity: 0;
}

.modal-container.open {
	visibility: visible;
	opacity: 1;
}

.modal-container {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 4000;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .1);
	transition: opacity .5s;
	cursor: default;
}

	.modal-container > .modal {
		position: fixed;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		z-index: 5000;
		width: 90%;
		max-width: 90%;
		max-height: 90%;
		margin: 0;
		overflow: auto;
		border-radius: var(--border-radius-small);
		background-color: #fff;
	}

		.modal-container > .modal.modal-fw {
			width: 100%;
			max-width: 100%;
			height: 100%;
			max-height: none;
		}

		.modal-container > .modal.modal-lg {
			width: 1200px;
		}

		.modal-container > .modal.modal-md {
			width: 900px;
		}

		.modal-container > .modal.modal-sm {
			width: 600px;
		}

		.modal-container > .modal.modal-xs {
			width: 450px;
		}

	.modal-container.slide-in-right > .modal {
		left: auto;
		right: -100%;
		top: var(--padding-small);
		max-width: 100%;
		height: calc(100% - var(--padding-medium));
		max-height: none;
		transform: none;
		transition: right .5s;
	}

	.modal-container.slide-in-right.open > .modal {
		right: calc(var(--padding-medium) / 2);
	}

	.modal-container .document-preview-container {
		width: 100%;
		padding-top: 55%;
		position: relative;
	}

.modal-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: solid 0 var(--color-bg-light-primary);
	background-color: #fff;
	padding: var(--padding-double);
}

	.modal-header.compact {
		padding-bottom: 0;
	}

		.modal-header.compact h2 {
			margin-bottom: 0;
		}

		.modal-header.compact + .modal-content {
			padding-top: 0;
		}

	.modal-header h2 {
		margin-bottom: 0;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		font-size: 15pt;
		line-height: unset;
	}

	.modal-header .icon-btn-group {
		margin-left: 0;
		position: relative;
		top: -8px;
	}

.modal-content {
	padding: var(--padding-double);
	text-align: left;
	width: 100%;
	/*height: 100%; ???*/
	/*overflow: auto;*/
}

.modal-sheet {
    display: block !important;
    visibility: visible;
    height: unset;
}

.modal-sheet.hide {
    visibility: hidden;
    height: 0;
    overflow: hidden;
}

.modal-footer {
	position: sticky;
	bottom: 0;
	z-index: 100;
	border-bottom: solid 0 var(--color-bg-light-primary);
	background-color: #fff;
	padding: var(--padding-double);
	margin: 0;
}

.modal-opener {
	cursor: pointer;
}

.modal h3:not(.margin) {
	margin-bottom: 0;
}


/* FORM/INPUTS */

form {
	margin: 0;
}

.input-container {
	position: relative;
}

	.input-container .input-radio, .input-container .input-checkbox:not(.input-icon) {
		position: relative;
		top: 9px;
	}

.input-container + .input-container {
	margin-top: 6px;
}

.input-screener {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: .5;
}

.input {
	width: 100%;
	font-family: inherit !important;
	font-size: inherit !important;
	color: inherit;
	padding: 11px;
	background: var(--color-bg-light-primary);
	border: solid 1px #f2f7fa;
	border-radius: var(--border-radius-small);
	outline: 0;
	resize: none;
	transition: all .5s;
	-webkit-appearance: none;
}

	.input:focus {
		border-color: var(--color-bg-light-secondary);
	}

	.input.input-validation-error {
		/*color: var(--color-text-danger);*/
	}

	.input.lookup {
		padding-right: 30px;
	}

		.input.lookup.selectlist, .input.lookup.picklist {
			cursor: pointer;
		}

	.input.clean {
		background-color: transparent;
		border-bottom-color: var(--color-bg-light-secondary);
	}

	.input.nude {
		background-color: transparent;
		border-bottom-color: transparent;
	}

		.input.nude:focus {
			border-bottom-color: var(--color-bg-light-secondary);
		}

	.input.white {
		background-color: #fff;
		border-color: #fff;
	}

	.input.listsearch {
		margin-top: -9px;
		margin-bottom: 24px;
		border-width: 0px 0px 1px 0px;
		border-radius: 0;
	}

.input-radio, .input-checkbox {
	cursor: pointer;
	opacity: 1 !important;
	margin-top: 3px;
	margin-left: 30px;
	display: inline-block;
}

	.input-radio input, .input-checkbox input {
		display: none;
	}

	.input-radio + .input-radio, .input-checkbox + .input-checkbox {
		margin-left: 60px;
	}

	.input-radio > span::before, .input-checkbox > span::before {
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		color: var(--color-bg-light-primary);
		background-color: var(--color-bg-light-primary);
		border: solid 1px #f2f7fa;
		margin-left: -30px;
		margin-right: 6px;
		padding: 5px 6px;
		transition: color .3s;
	}

	.input-radio > span::before {
		padding: 7px;
		border-radius: 50%;
		content: '\f111';
		font-size: 7pt;
	}

	.input-checkbox > span::before {
		border-radius: var(--border-radius-small);
		content: '\f00c';
	}

	.input-radio input:checked + span::before, .input-checkbox input:checked + span::before {
		color: var(--color-link-primary);
	}

	.input-radio:hover > span::before, .input-checkbox:not(.checkbox-delete):hover > span::before {
		border-color: var(--color-bg-light-secondary);
	}

	.input-checkbox.checkbox-delete > span::before {
		font-weight: 400;
		background-color: transparent;
		color: var(--color-text-danger);
		font-size: inherit;
		border-radius: 0;
		padding: unset;
		content: '\f2ed';
		transition: color .3s;
	}

	.input-checkbox.checkbox-delete.input-icon > span::before {
		color: var(--color-text-light);
	}

	.input-checkbox.checkbox-delete input:checked + span::before, .input-checkbox.checkbox-delete.checked {
		content: '\f2ed';
		color: var(--color-text-danger);
	}

	.input-checkbox.tag {
		margin: 0 3px 6px 0;
	}

		.input-checkbox.tag span {
			font-size: 9pt;
		}

			.input-checkbox.tag span::before {
				display: none;
			}

.input-icon {
	position: absolute;
	right: 6px;
	top: 7px;
	padding: 6px;
	z-index: 20;
	font-size: var(--font-size-small);
}

	.input-icon + .input {
		padding-right: 39px;
	}

	.input-icon.left {
		left: 6px;
		top: 7px;
		right: auto;
	}

		.input-icon.left + .input {
			padding-left: 36px;
			padding-right: 12px;
		}

		.input-icon.left.text + .input {
			padding-left: 42px;
		}

	.input-icon:not(.left).second {
		right: 24px;
		top: 4px;
	}

.input.upload {
	padding-right: 66px;
}

.fileupload-data, .fileupload-file {
	display: none;
}

span.input-icon {
	color: var(--color-link-primary);
}

.btn {
	border: solid 1px var(--color-bg-primary);
	border-radius: var(--border-radius-small);
	outline: 0;
	background: none var(--color-bg-primary);
	color: #fff;
	font-size: inherit;
	font-family: inherit;
	padding: 10px;
	cursor: pointer;
	text-align: center;
	opacity: .9;
	-webkit-appearance: none;
	transition: all .3s;
}

	.btn:hover {
		color: #fff;
		text-decoration: none;
		opacity: 1;
	}

	.btn.simple {
		background: none var(--color-bg-light-primary);
		border-color: var(--color-bg-light-primary);
		color: var(--color-link-primary);
	}

		.btn.simple:hover {
			background-color: var(--color-bg-light-secondary);
			border-color: var(--color-bg-light-secondary);
		}

	.btn.clean, .btn.clean:hover {
		background: none transparent;
		color: var(--color-text-light);
		border-color: transparent;
	}

	.btn.link, .btn.link:hover {
		background: none transparent;
		color: var(--color-link-primary);
		border-color: transparent;
	}

	.btn.danger {
		background: none var(--color-text-danger);
		border-color: var(--color-text-danger);
		color: #fff;
	}

		.btn.danger.simple {
			background: none #fff;
			color: var(--color-text-danger);
		}

			.btn.danger.simple:hover {
				background: none var(--color-text-danger);
				color: #fff;
			}

		.btn.danger.clean {
			background: none #fff;
			color: var(--color-text-light);
			border-color: transparent;
		}

			.btn.danger.clean:hover {
				background: none #fff;
				color: var(--color-text-danger);
				border-color: transparent;
			}

		.btn.danger:hover {
			background: none var(--color-text-danger);
		}

	.btn.success {
		background: none var(--color-text-success);
		border-color: var(--color-text-success);
		color: #fff;
	}

		.btn.success.simple {
			background: none #fff;
			color: var(--color-text-success);
		}

			.btn.success.simple:hover {
				background: none var(--color-text-success);
				color: #fff;
			}

::placeholder {
	color: var(--color-text-light);
	font-size: inherit;
}

.validation-summary-errors, .field-validation-error {
	color: var(--color-text-danger);
	font-size: var(--font-size-small);
}

	.validation-summary-errors ul {
		padding-left: 18px;
	}

.field-validation-error {
	padding: var(--padding-half);
	padding-left: 0;
	display: block;
	text-align: left;
}


/* BOX-CONTAINERS */

.box {
	background-color: #fff;
	border: solid 2px var(--color-bg-light-primary);
	border-radius: var(--border-radius-small);
}

	.box.active, a.box:hover {
		background-color: var(--color-bg-light-primary) !important;
		transition: background-color .5s;
	}

.box-border-light {
	border: solid 1px var(--color-bg-light-primary);
	border-bottom-width: 2px;
	border-radius: var(--border-radius-small);
}

.box-bg-white {
	background-color: #fff;
	border-radius: var(--border-radius-small);
}

a.box-bg-white:hover {
	background-color: rgba(255, 255, 255, .6) !important;
	transition: background-color .5s;
}

.box-bg-1 {
	background-color: var(--color-bg-light-primary);
	border-radius: var(--border-radius-small);
}

.box-bg-2 {
	background-color: var(--color-bg-light-secondary);
	border-radius: var(--border-radius-small);
}

.box-bg-3 {
	background-color: var(--color-bg-light-secondary);
	border-radius: var(--border-radius-small);
}

.box-warning {
	background-color: var(--color-bg-warning) !important;
	color: var(--color-text-warning) !important;
	border-radius: var(--border-radius-small);
}

.box-danger {
	background-color: var(--color-bg-danger) !important;
	color: var(--color-text-danger) !important;
	border-radius: var(--border-radius-small);
}

	.box-danger.border {
		border: solid 1px var(--color-text-danger) !important;
	}

	.box-bg-1 .input, .box-bg-2 .input, .box-note .input, .box-danger .input, .input.white {
		background: #fff;
	}


/* GRID */

.grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--padding-default);
	row-gap: var(--padding-default);
}

	.grid.gap-double {
		gap: 36px;
	}

.griditem {
	padding: var(--padding-double);
	position: relative;
}

.grid.datagrid > .griditem {
	padding: var(--padding-half);
	padding-left: 0;
	padding-right: 0;
}

.grid.formgrid > .griditem {
	padding: 3px 0 3px 0;
}

.griditem.buttons {
	float: none;
	clear: both;
	margin-top: 18px;
	margin-bottom: 0;
	display: flex;
	justify-content: right;
}

	.griditem.buttons .btn {
		display: inline-block;
		min-width: 100px;
		text-decoration: none;
	}

		.griditem.buttons .btn:not(.left):not(:last-child) {
			margin-right: 12px;
		}

		.griditem.buttons .btn.left {
			margin-left: 0;
			margin-right: auto;
		}

			.griditem.buttons .btn.left.clean {
				min-width: auto;
			}

	.griditem.buttons + .griditem.buttons {
		padding-top: 0 !important;
		margin-top: 0;
	}

.grid.formgrid h2 {
	margin-bottom: 3px;
}

.griditem.col-0 {
	width: 0;
	margin: 0;
	overflow: hidden;
}

.griditem.col-1 {
	grid-column: span 1;
}

.griditem.col-2 {
	grid-column: span 2;
}

.griditem.col-3 {
	grid-column: span 3;
}

.griditem.col-4 {
	grid-column: span 4;
}

.griditem.col-5 {
	grid-column: span 5;
}

.griditem.col-6 {
	grid-column: span 6;
}

.griditem.col-7 {
	grid-column: span 7;
}

.griditem.col-8 {
	grid-column: span 8;
}

.griditem.col-9 {
	grid-column: span 9;
}

.griditem.col-10 {
	grid-column: span 10;
}

.griditem.col-11 {
	grid-column: span 11;
}

.griditem.col-12 {
	grid-column: span 12;
}


/* FLEX */

.flex-column {
	display: flex;
	flex-direction: column;
}

	.flex-column.min-h-100 {
		min-height: 100%;
	}

.flex-row {
	display: flex;
	flex-direction: row;
	width: 100%;
}

	.flex-column.ai-center, .flex-row.ai-center {
		align-items: center;
	}

.flex-contentfit {
	flex: 0 1 auto;
}

.flex-grow {
	flex-grow: 1;
	position: relative;
}

.flex-position {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}


/* TABLE */

.table {
	display: table;
	width: 100%;
}

	.table.fixed {
		table-layout: fixed;
	}

.table-head {
	display: table-header-group;
}

.table-body {
	display: table-row-group;
}

.table-row {
	display: table-row;
}

	.table-row:hover {
		background-color: var(--color-bg-light-primary) !important;
	}

	.table.no-hover > .table-row, .table.no-hover > .table-row:hover, .table-row.no-hover:hover, .table-row.header, .table-row.footer {
		background-color: transparent !important;
	}

	.table-row.header {
		color: var(--color-text-light);
		font-weight: 700;
		/*text-transform: uppercase;*/
		font-size: var(--font-size-small);
	}

		.table-row.header > .table-cell {
			padding-top: 6px;
		}

		.table-row.header .table-cell.sort-col {
			cursor: ns-resize;
			user-select: none;
		}

		.table-row.header .table-cell .fa-check {
			cursor: pointer;
			user-select: none;
		}

.table:not(.no-border) > .table-row.header:not(.no-border) > .table-cell {
	border-width: 1px;
}

.table-row.pick {
	cursor: pointer;
}

.table-row.footer {
	font-weight: bold;
}

	.table-row.footer .table-cell {
		border-bottom-width: 0;
	}

.table-row.no-padding-bottom .table-cell {
	padding-bottom: 0;
}

.table.no-border > .table-body > .table-row > .table-cell, .table.no-border > .table-row > .table-cell, .table-row.no-border > .table-cell, .table-cell.no-border {
	border-width: 0;
}

.table.no-padding > .table-row > .table-cell, .table-row.no-padding > .table-cell, .table-cell.no-padding {
	padding: 0;
}

/*
.table.small-padding > .table-row > .table-cell, .table-row.small-padding > .table-cell, .table-cell.small-padding {
	padding: 9px;
}
*/

.table-cell {
	display: table-cell;
	border-bottom: solid 1px var(--color-bg-light-primary);
	padding: 15px;
	position: relative;
	vertical-align: middle;
}

.table.boxed > .table-row > .table-cell {
	border: solid 2px #fff;
}

.table-cell.content-fit {
	width: 1px;
	white-space: nowrap;
}

.table-cell.indent {
	padding-left: var(--padding-double);
}

.table-cell.actions {
	text-align: right;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	width: 1px;
	white-space: nowrap;
}

	.table-cell.actions > a, .table-cell.actions > span:not(.tag):not(.icon-btn), .table-cell.actions > .action {
		color: var(--color-link-primary);
		cursor: pointer;
		display: inline-block;
		margin-left: 12px;
	}

	.table-cell.actions .icon-btn {
		margin-top: 0;
	}

.table-cell.avatars {
	width: 70px;
	padding-right: 0;
}

	.table-cell.avatars .avatar {
		margin-top: 3px;
	}

.table-cell .tag {
	margin-bottom: 0;
}

.table.list > .table-row:not(.header):not(.footer) {
	background-color: #fff;
}

	.table.list > .table-row:not(.header):not(.footer):hover {
		background-color: rgba(255, 255, 255, .6) !important;
	}

	.table.list > .table-row:not(.header):not(.footer) > .table-cell {
		border-bottom-width: 3px;
	}

.table:not(.list):not(.no-hover) > .table-row:not(.no-hover):hover > .table-cell .input-radio span::before,
.table:not(.list):not(.no-hover) > .table-row:not(.no-hover):hover > .table-cell .input-checkbox span::before {
	background: #fff !important;
}


/* COVER IMAGE (object-fit: cover) */

img.center-center {
	object-position: center center;
}

img.top-left {
	object-position: top left;
}

img.top-right {
	object-position: top right;
}

img.top-center {
	object-position: top center;
}

img.bottom-left {
	object-position: bottom left;
}

img.bottom-right {
	object-position: bottom right;
}

img.bottom-center {
	object-position: bottom center;
}


/* LOGIN PAGE */

body.login {
	background-image: url('../images/login-bg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
}

	body.login main {
		padding: 0;
	}

	body.login .logo {
		margin-bottom: 60px;
	}



/* RESPONSIVE */

@media (max-width: 1200px) {

	.griditem.col-lg-0 {
		width: 0;
		margin: 0;
		overflow: hidden;
	}

	.griditem.col-lg-1 {
		grid-column: span 1;
	}

	.griditem.col-lg-2 {
		grid-column: span 2;
	}

	.griditem.col-lg-3 {
		grid-column: span 3;
	}

	.griditem.col-lg-4 {
		grid-column: span 4;
	}

	.griditem.col-lg-5 {
		grid-column: span 5;
	}

	.griditem.col-lg-6 {
		grid-column: span 6;
	}

	.griditem.col-lg-7 {
		grid-column: span 7;
	}

	.griditem.col-lg-8 {
		grid-column: span 8;
	}

	.griditem.col-lg-9 {
		grid-column: span 9;
	}

	.griditem.col-lg-10 {
		grid-column: span 10;
	}

	.griditem.col-lg-11 {
		grid-column: span 11;
	}

	.griditem.col-lg-12 {
		grid-column: span 12;
	}

	.no-padding-lg {
		padding: 0 !important;
	}

	.no-margin-lg {
		margin: 0 !important;
	}

	.fw-lg {
		display: block !important;
		width: 100%;
	}

	.show-lg {
		display: inline-block !important;
	}

	.table-row.show-lg {
		display: table-row !important;
	}

	.table-cell.show-lg {
		display: table-cell !important;
	}

	.hide-lg, .table-row.hide-lg, .table-cell.hide-lg {
		display: none !important;
	}
}


@media (max-width: 900px) {

	.modal-container .document-preview-container {
		padding-top: 100%;
	}

	.griditem.col-md-0 {
		width: 0;
		margin: 0;
		overflow: hidden;
	}

	.griditem.col-md-1 {
		grid-column: span 1;
	}

	.griditem.col-md-2 {
		grid-column: span 2;
	}

	.griditem.col-md-3 {
		grid-column: span 3;
	}

	.griditem.col-md-4 {
		grid-column: span 4;
	}

	.griditem.col-md-5 {
		grid-column: span 5;
	}

	.griditem.col-md-6 {
		grid-column: span 6;
	}

	.griditem.col-md-7 {
		grid-column: span 7;
	}

	.griditem.col-md-8 {
		grid-column: span 8;
	}

	.griditem.col-md-9 {
		grid-column: span 9;
	}

	.griditem.col-md-10 {
		grid-column: span 10;
	}

	.griditem.col-md-11 {
		grid-column: span 11;
	}

	.griditem.col-md-12 {
		grid-column: span 12;
	}

	.no-padding-md {
		padding: 0 !important;
	}

	.no-padding-right-md {
		padding-right: 0 !important;
	}

	.no-margin-md {
		margin: 0 !important;
	}

	.fw-md {
		display: block !important;
		width: 100%;
	}

	.show-md {
		display: inline-block !important;
	}

	.table-row.show-md {
		display: table-row !important;
	}

	.table-cell.show-md {
		display: table-cell !important;
	}

	.hide-md, .table-row.hide-md, .table-cell.hide-md {
		display: none !important;
	}
}



@media (max-width: 600px) {

	.table-cell.avatars {
		width: 42px;
	}

	.modal-container .modal:not(.modal-sm), .modal-container.slide-in-right > .modal {
		border-width: 0;
		box-shadow: none;
		min-height: 100%;
		width: 100%;
		max-width: 100%;
		top: 0;
		left: 0;
		border-radius: 0;
		transform: none;
	}

	.modal-container:not(.slide-in-right) > .modal.modal-sm {
		max-height: 80%;
		width: calc(100% - 0px);
		max-width: 100%;
		top: auto;
		bottom: 0px;
		left: 50%;
		transform: translateX(-50%);
	}

	.ctxmenu-overlay {
		background-color: rgba(0, 0, 0, .2);
	}

	.ctxmenu, .ctxmenu.left {
		position: fixed;
		left: 50%;
		right: auto;
		top: auto;
		bottom: -25%;
		max-height: 80%;
		width: calc(100% - 0px);
		height: auto;
		max-height: 80%;
		background-color: #fff;
		text-align: left;
		transform: translateX(-50%);
		transition: bottom .5s;
		padding: var(--padding-default);
	}

	.ctxmenu-container.open .ctxmenu {
		bottom: 0px;
	}

	.ctxmenu > div {
		width: 100%;
		transition: color .3s;
	}
		.ctxmenu > div i {
			margin: 3px 9px 0 0;
		}

	.ctxmenu h2 {
		text-align: left;
		font-size: inherit;
	}

		.ctxmenu h2 i {
			margin-right: 6px;
		}

		.ctxmenu h2, .ctxmenu a {
			padding: 15px;
		}

	.griditem {
		padding: 18px;
	}

		.grid.gap-double {
			gap: var(--padding-default);
		}

		.griditem.col-sm-0 {
			width: 0;
			margin: 0;
			overflow: hidden;
		}

		.griditem.col-sm-1 {
			grid-column: span 1;
		}

		.griditem.col-sm-2 {
			grid-column: span 2;
		}

		.griditem.col-sm-3 {
			grid-column: span 3;
		}

		.griditem.col-sm-4 {
			grid-column: span 4;
		}

		.griditem.col-sm-5 {
			grid-column: span 5;
		}

		.griditem.col-sm-6 {
			grid-column: span 6;
		}

		.griditem.col-sm-7 {
			grid-column: span 7;
		}

		.griditem.col-sm-8 {
			grid-column: span 8;
		}

		.griditem.col-sm-9 {
			grid-column: span 9;
		}

		.griditem.col-sm-10 {
			grid-column: span 10;
		}

		.griditem.col-sm-11 {
			grid-column: span 11;
		}

		.griditem.col-sm-12 {
			grid-column: span 12;
		}

		.griditem.buttons {
			text-align: center;
			flex-direction: column-reverse;
		}

			.griditem.buttons.no-reverse {
				flex-direction: column;
			}

			.griditem.buttons .btn {
				width: 100%;
				margin: 9px 0 0 0 !important;
			}

	.no-padding-sm {
		padding: 0 !important;
	}

	.no-padding-right-sm {
		padding-right: 0 !important;
	}

	.no-margin-sm {
		margin: 0 !important;
	}

	.table-row.show-sm {
		display: table-row !important;
	}

	.table-cell.show-sm {
		display: table-cell !important;
	}

	.fw-sm {
		display: block !important;
		width: 100%;
	}

	.show-sm {
		display: inline-block !important;
	}

	.hide-sm, .table-row.hide-sm, .table-cell.hide-sm {
		display: none !important;
	}
}


@media (-webkit-min-device-pixel-ratio: 2) {

	body.mobile .input-icon {
		top: 8px;
	}

}

@media print {

	.hide-print {
		display: none !important;
	}

}


/* TINY */

.tox-tinymce {
	border-color: var(--color-bg-light-primary) !important;
	border-radius: var(--border-radius-small) !important;
}

.tox:not(.tox-tinymce-inline) .tox-editor-header {
	box-shadow: none !important;
	padding: 0 !important;
}

.tox .tox-toolbar, .tox .tox-toolbar__primary {
	background: none !important;
	border-bottom: solid 1px var(--color-bg-light-primary) !important;
}

.tox .tox-toolbar, .tox .tox-toolbar__primary {
	background: none !important;
	border-bottom: solid 1px var(--color-bg-light-primary) !important;
}

.tox-tinymce-aux {
	z-index: 9999 !important;
}

.tox-dialog-wrap__backdrop {
	background: rgba(53, 64, 82, .07) !important;
}

.tox .tox-tbtn:hover, .tox .tox-collection--list .tox-collection__item--active {
	background-color: var(--color-bg-light-primary) !important;
	cursor: pointer;
}

.tox .tox-insert-table-picker .tox-insert-table-picker__selected {
	background-color: var(--color-bg-light-secondary) !important;
}

.tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield {
	font-size: 10.5pt !important;
	line-height: normal !important;
	padding: 11px !important;
	background: var(--color-bg-light-primary) !important;
	border: solid 1px var(--color-bg-light-primary) !important;
	border-radius: var(--border-radius-small) !important;
}

.tox .tox-dialog__body-nav-item:focus, .tox .tox-dialog__body-nav-item--active {
	background: none !important;
	color: var(--color-link-primary) !important;
}

.tox .tox-button:not(.tox-button--icon):not(.tox-button--secondary) {
	border: solid 1px var(--color-bg-primary) !important;
	border-radius: var(--border-radius-small) !important;
	background: none var(--color-bg-primary) !important;
	opacity: .9 !important;
}

.tox .tox-button--secondary {
	background: none var(--color-bg-light-secondary) !important;
	border-color: var(--color-bg-light-secondary) !important;
	color: var(--color-link-primary) !important;
	opacity: .9 !important;
}

.tox .tox-button--icon {
	color: var(--color-text-light) !important;
	border-radius: 21px !important;
}

	.tox .tox-button--icon:hover {
		background-color: var(--color-bg-light-primary) !important;
		color: var(--color-link-primary) !important;
		border-color: transparent !important;
	}
