/* #region Global */
a.disabled
{
	pointer-events: none;
}

input, select, textarea
{
	font-size: 14px !important;
}

input[type=text], input[type=number], input[type=date], textarea
{
	display: block;
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

input[type=checkbox]
{
	width: 1em;
	height: 1em;
	margin-top: 0.25em;
	vertical-align: top;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 1px solid #ced4da;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0.25rem;
	cursor: pointer;
}

input[type=date]::-webkit-calendar-picker-indicator
{
	cursor: pointer;
	transition-duration: var(--t-transition);
}

input[type=date]::-webkit-calendar-picker-indicator:hover
{
	scale: 1.15;
	transition-duration: var(--t-transition);
}

input[type=checkbox]:checked
{
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
	background-color: var(--c-primary-background);
	transition-duration: var(--t-transition);
	border-color: var(--c-primary-background);
}

select:not(.dataTables_length select)
{
	display: block;
	width: 100%;
	padding: 0.375rem 2.25rem 0.375rem 0.75rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.input-group > :is(input, select, textarea)
{
	position: relative;
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}

textarea:disabled
{
	background-color: var(--c-disabled-background);
	color: var(--c-disabled-text);
}

:is(input, textarea, select):required
{
	border-right-color: var(--c-primary-background);
	border-right-width: 2px;
}

.panel :is(input, textarea)::placeholder
{
	font-size: 12px;
	color: var(--c-placeholder-text) !important;
}
/* #endregion */


/* #region Buttons */
.page-header > .buttons > :is(a, button),
.page-header > .buttons > .btn-group > button,
.panel > .header > .buttons > .btn-group > button,
.panel > .header > .buttons > :is(a, button),
.panel > .body button,
.bootbox.modal .modal-footer button,
.button,
input[type=file]::file-selector-button
{
	background-color: var(--c-primary-background);
	color: var(--c-primary-text);
	text-decoration: none;
	border: none;
	font-size: 14px;
	line-height: 14px;
	padding: 10px 20px;
	align-items: center;
	font-weight: 400;
	cursor: pointer;
	display: inline-block;
	border-radius: var(--f-radius);
	transition-duration: var(--t-transition);
	max-height: 35px;
	margin-left: 5px;
}

.panel > .body button
{
	padding: 9px 20px;
}

label.button
{
	padding-top: 11px !important;
}

.panel button:disabled,
.panel button:disabled:hover,
.page-header a.disabled,
.page-header button:disabled,
.page-header button:disabled:hover
{
	background-color: var(--c-disabled-background) !important;
	color: var(--c-disabled-text) !important;
	cursor: pointer;
	pointer-events: none;
	scale: 1.0;
}

.panel > .body .button
{
	max-height: 35px;
	min-height: 35px;
	padding: 10px 20px;
}

.panel .body .dropdown-toggle::after
{
	display: none;
}

.panel .body .dropdown-toggle svg
{
	margin-right: 0px !important;
}

.panel > .body .button.icon
{
	max-width: 35px;
	width: 35px;
	max-height: 28px;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	margin-left: 0px;
}

.panel > .body a.button.icon
{
    padding: 10px 20px;
    max-height: 35px;
	max-width: none;
	width: auto;
}

.panel.limit-height-400 > .body
{
	max-height: 400px !important;
	height: 400px;
	overflow-y: auto;
}

button.delete,
.button.tertiary,
button.tertiary,
.page-header > .buttons > .back,
.bootbox.modal .modal-footer .bootbox-cancel
{
	background-color: var(--c-tertiary-background) !important;
}

button.delete .svg-inline--fa
{
	margin-right: 0px !important
}

.page-header > .buttons > :is(.back, .primary),
.panel > .header > .buttons  > :is(.back, .primary)
{
	margin-left: 16px;
}

.panel > .header > .buttons > .button.secondary,
.page-header > .buttons > :is(a, button):not(.back, .primary),
.page-header > .buttons > .btn-group > button:not(.back, .primary),
.panel > .header > .buttons > .btn-group > button:not(.back, .primary),
.panel > .header > .buttons > a:not(.back, .primary),
.button.secondary,
button.secondary,
.dt-buttons button
{
	background-color: var(--c-secondary-background) !important;
	color: var(--c-secondary-text) !important;
}

.button.secondary:hover,
button.secondary:hover,
.panel > .header > .buttons > button.secondary:hover,
.page-header > .buttons > :is(a, button):not(.back, .primary):hover,
.page-header > .buttons > .btn-group > button:not(.back, .primary):hover,
.panel > .header > .buttons > .btn-group > button:not(.back, .primary):hover
.panel > .header > .buttons > a:not(.back, .primary):hover,
.button.secondary:hover,
button.secondary:hover,
.dt-buttons button:hover
{
	background-color: var(--c-secondary-background-hover) !important;
	color: var(--c-secondary-text) !important;
}

.page-header > .buttons > :is(a, button):hover,
.page-header > .buttons > .btn-group > button:hover,
.panel > .header > .buttons > .btn-group > button:hover,
.panel > .header > .buttons > :is(a, button):hover,
.panel > .body button:hover,
.modal > .modal-dialog > .modal-content > .modal-footer button:hover,
.bootbox.modal .modal-footer button:hover,
.button:hover
{
	background-color: var(--c-primary-background-hover);
	scale: var(--f-scale);
	transition-duration: var(--t-transition);
	color: var(--c-primary-text);
}

input[type=file]::file-selector-button:hover
{
	background-color: var(--c-primary-background-hover);
	transition-duration: var(--t-transition);
	color: var(--c-primary-text);
}

.button.tertiary:hover,
button.tertiary:hover,
.page-header > .buttons > .back:hover,
.bootbox.modal .modal-footer .bootbox-cancel:hover
{
	background-color: var(--c-tertiary-background-hover)
}

.buttons :is(a, button) svg
{
	margin-right: 8px;
}

a.disabled
{
	background-color: var(--c-disabled-background) !important;
	color: var(--c-disabled-text) !important;
}

.page-header > .buttons > span
{
	margin-right: 15px;
}

.page-header > .buttons
{
	margin-top: -7px;
}

.page-header > .buttons > :is(a, button),
.page-header > .buttons > .btn-group > button
{
	margin-top: 7px;
}

.page-header > .buttons > a.primary ~ a.primary
{
	margin-left: 5px;
}

input[type=checkbox]
{
	transition-duration: var(--t-transition);
}

input[type=search]
{
	border-color: #ced4da !important;
	transition-duration: var(--t-transition);
}

input[type=file]
{
	width: 100%;
}

input[type=file]::file-selector-button
{
	margin-left: 0px;
	margin-right: 1rem;
}

input:focus-visible, 
select:focus-visible, 
textarea:focus-visible,
input[type=checkbox]:focus,
.bootbox.modal .bootbox-accept:focus
{
	border-color: var(--c-primary-background-hover) !important;
	transition-duration: var(--t-transition);
	outline: none !important;
	box-shadow: 0 0 0 0.25rem var(--c-input-focus-outline) !important;
}

.select-group
{
	background-color: var(--c-separator);
	color: var(--c-panel-header-text);
	font-size: small;
}

.form-check-label
{
	margin-left: 0.25rem;
	margin-right: 1rem;
}

.btn-group
{
	vertical-align: initial;
}
/* #endregion */


/* #region InputGroup */
.input-group > .input-group-text
{
	background-color: var(--c-panel-header-background);
	color: var(--c-panel-header-text);
}
/* #endregion */


/* #region Context menu */
.page-header .dropdown-menu.show,
.panel .header .dropdown-menu.show
{
	background-color: var(--c-context-menu-tertiary-background);
	color: var(--c-context-menu-tertiary-text);
	font-size: 14px;
	top: -4px !important;
	height: fit-content
}

.page-header .dropdown-menu.show a,
.panel .header .dropdown-menu.show a
{
	color: var(--c-context-menu-tertiary-text);
	transition: var(--t-transition);
}

.page-header .dropdown-menu.show a:hover,
.panel .header .dropdown-menu.show a:hover
{
	background-color: var(--c-context-menu-tertiary-background-hover);
	transition: var(--t-transition);
}
/* #endregion */