﻿@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans: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: #1a1a1a;
    --color-text-lighter: #a1aab8;
    --color-text-light: #7d889c;
    --color-text-danger: #c13f3c;
    --color-text-warning: #e78945;
    --color-text-success: #539e6e;
    --color-bg-light-primary: #fafbfc;
    --color-bg-light-secondary: #eff4f7;
    --color-bg-light-tertiary: #e1e8ee;
    --color-bg-dark: #141b28;
    --color-bg-primary: #1883bc;
    --color-bg-danger: #fee6e0;
    --color-bg-warning: #fff6d9;
    --color-bg-success: #e8fada;
    --color-headline-primary: #1a1a1a;
    --color-headline-secondary: #1883bc;
    --color-link-primary: #1883bc;
    --color-link-secondary: #1a1a1a;
    --padding-small: 9px;
    --padding-default: 12px;
    --padding-medium: 18px;
    --padding-double: 24px;
    --padding-half: 6px;
    --border-radius-small: 12px;
    --border-radius-medium: 18px;
    --border-radius-double: 24px;
    --font-size-default: 10.5pt;
    --font-size-small: 9.5pt;
    --font-size-xsmall: 8pt;
    --boxshadow-default: 0 0 1px rgba(48, 48, 48, 0.1);
    --boxshadow-dark: 0 0 1px rgba(48, 48, 48, 0.3);
}

* {
    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: 'IBM Plex Sans', Arial, Helvetica, sans-serif;
    font-size: var(--font-size-default);
    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%);
}

.avatar-big {
    width: 120px;
    height: 120px;
    border-radius: 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;
    position: relative;
    top: 5px !important;
    right: 5px !important;
}

.dot.has-number.big {
    padding: 12px;
    top: -5px !important;
}

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

.dot.has-number.big span {
    font-size: var(--font-size-default);
}

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

.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;
}

.description-minimized {
    max-height: 150px;
    overflow-y: hidden;
    position: relative;
}

.description-minimized .filler {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px;
    z-index: 10;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.js-eval {
    display: none;
}

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

.status-timesheetreg-remarked .input {
    color: var(--color-text-danger);
}

/*
.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%)
		}
*/


/* FORMATTING */

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

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

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

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

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

pre {
    display: block;
    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);
    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;
    font-style: normal !important;
}

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

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

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

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

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

.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-lighter {
    color: var(--color-text-lighter) !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;
    font-size: var(--font-size-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;
}

.inline {
    display: inline-block;
}

.no-border {
    border: none !important;
    box-shadow: none !important;
}

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

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

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

.mid-padding {
    padding: var(--padding-medium) !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, .fw-hscroll + .list-footer-text {
    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-default {
    cursor: default !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-help {
    cursor: help !important;
}

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

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 6px 4px 6px;
    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.neutral.active.input-checkbox {
    background-color: var(--color-bg-light-secondary);
}

.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: var(--border-radius-small);
    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.active.clean:not(:hover) {
    background-color: transparent;
}

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

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

.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(0, 0, 0, .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 var(--color-bg-light-primary);
    border-radius: var(--border-radius-small);
    box-shadow: var(--boxshadow-dark);
    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);
    position: relative;
}

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

.ctxmenu > a > .tag {
    float: right;
}

.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, 0.1);
    transition: opacity .5s;
    cursor: default;
}

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

.modal-container.open > .modal {
    transform: translate(-50%, -50%) scale(1, 1);
    transition: transform .3s;
}

.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%;
}

.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):not(:has(.formmodule-section)) {
    margin-bottom: 0;
}


/* FORM/INPUTS */

form {
    margin: 0;
}

.input-container {
    position: relative;
}

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

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

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

.input:focus {
    outline-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);
    outline: none;
}

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

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

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

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

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

.input-radio, .input-checkbox {
    cursor: pointer;
    margin-top: 3px;
    margin-left: 30px;
    display: inline-block;
    user-select: none;
}

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

.input-radio > span, .input-checkbox > span {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.input-radio:not(.tag) > span span, .input-checkbox:not(.tag) > span span {
    margin-top: 4px;
}

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

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

.input-radio > span::before + span, .input-checkbox > span::before + span {
    margin-left: 6px;
}

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

.input-checkbox > span::before {
    border-radius: 6px;
    content: '\f00c';
}

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

.input-radio:hover > span::before, .input-checkbox:not(.checkbox-delete):hover > span::before {
    outline-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;
    border-color: transparent;
    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) !important;
}

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

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

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

.input-radio > span span:not(:first-of-type), .input-checkbox > span span:not(:first-of-type) {
    display: block;
}

.input-icon {
    position: absolute;
    right: 6px;
    top: 7px;
    z-index: 20;
    padding: 6px;
    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: 45px;
}

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

.input-icon.country-selector {
    text-transform: uppercase;
}

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

.input.upload.deleteable {
    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-lighter);
    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 1px 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-shadow: none;
}

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

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

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

.box-bg-2 {
    background-color: var(--color-bg-light-secondary) !important;
    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-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, .table-row.active {
    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;
}

body:not(.body-admin) .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: 2px;
}

.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;
}

.table:not(.no-hover) > .table-row:not(.no-hover) > .table-cell:not(.no-hover):hover .icon-btn {
    background-color: transparent !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-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) {

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

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

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

    .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) {

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

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

    .fw-hscroll:has(.modal-container.open) {
        overflow-x: unset;
    }

    .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: 0;
        left: 50%;
        transform: translateX(-50%);
    }

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

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

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

    .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;
    }

    .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-width: 1px !important;
    border-color: var(--color-bg-light-tertiary) !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-tinymce-aux {
    z-index: 9999 !important;
    position: fixed !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;
}

.tox .tox-menu.tox-collection.tox-collection--list.tox-selected-menu {
    min-width: 240px !important;
}