/* #region GLOBAL */
html,
body,
table,
textarea,
input,
select,
button,
span:not(.fa, .fab, .fad, .fal, .far, .fas, .as) {
    font-family: var(--font);
    font-size: var(--font-size);
    font-weight: var(--font-weight);
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

body {
    display: flex;
    flex-direction: column;
    color: var(--color-text);
    background-color: var(--color-bg);
}

table {
    border-spacing: 0;
}

.hide,
.hide-forced,
.hide-config-mask{
    display: none !important;
}

a {
    text-decoration: none;
}

.list-link.list-link-disabled {
    pointer-events: none;
    cursor: default;
    color: var(--color-ico-disabled-bg);
}
/* #endregion GLOBAL */

/* #region LAYOUT */
#main-section-lateral {
    overflow: auto;
    position: absolute;
    top: calc(var(--height-menubar) * 2);
    right: 0;
    bottom: 0;
    min-width: 500px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--color-bg);
    box-shadow: -5px 0px 5px -3px var(--color-menubar-dropdown-shadow);
}

#main-home,
#main-section {
    height: 100%;
    overflow: auto;
}

.home-logo{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.home-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.as-scroll-container{
    height: 100%;
    overflow: auto;
}
/* #endregion LAYOUT */

/* #region FORM */
.as-form-main-container {
    display: flex;
    height: 100%;
    background: var(--color-action-bar-bg);
}

.as-form-container:first-child {
    margin-left: var(--width-action-bar);
}

.as-form-container {
    display: inline-flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    overflow: auto;
    font-family: var(--font);
    font-size: var(--font-size);
    border-top-left-radius: var(--border-radius);
}

.as-form-container > .div-message:first-child,
.as-form-container .as-form-bar + .div-message,
.as-form-container > .div-message + .div-message {
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}

.as-form {
    background: var(--color-bg);
}

.as-form-bar ~ .as-form:not(.as-form-modal-iframe) {
    padding-top: var(--margin-blocks-vert);
    padding-left: var(--margin-blocks-horiz);
    padding-bottom: var(--margin-blocks-vert);
    padding-right: var(--margin-blocks-horiz-half);
}

.rigth-bottom-buttons-floating-main-container{
    position: absolute;
    right: 22px;
    bottom: 22px;
    z-index: 10;
}

.as-legend-btn {
    outline: none;
    color: var(--color-toolbar-ico-text);
    border-color: var(--color-toolbar-ico-bg) !important;
    background-color: var(--color-toolbar-ico-bg);
    margin: .25em;
    opacity: .75;
    z-index: 3;
}

.as-legend-btn:hover {
    opacity: 1;
    background-color: var(--color-modal-confirm-bg);
    border-color: var(--color-modal-confirm-bg) !important;
    color: var(--color-toolbar-ico-text);
}

.as-legend-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: calc(var(--size-button) + 8px);
    height: fit-content;
    width: max-content;
    min-width: 150px;
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background: var(--color-modal-bg);
    border: 1px solid var(--color-modal-info-bg);
    border-radius: var(--border-radius);
    padding: 10px;
    margin-top: auto;
    margin-bottom: .8em;
    margin-right: .25em;
    margin-left: .25em;
    box-shadow: 0px 8px 16px 0px var(--color-menubar-dropdown-shadow);
}

.as-legend-content .as-legend-header {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.as-legend-content .as-legend-header div:not(.as-ico) {
    width: fit-content;
    border-radius: 50%;
    padding-bottom: .25em;
    margin-top: -30px;
    background: var(--color-modal-bg);
}

.as-legend-content .as-legend-header .legend-icon:before {
    font-size: 36px;
    color: var(--color-modal-info-bg);
}

.as-legend-content .as-legend-header .as-ico.cancel {
    position: absolute;
    top: 0;
    right: 0;
    background: none;
    border: none;
    min-width: unset;
    min-height: unset;
    height: unset;
    width: unset;
    color: var(--color-modal-info-bg);
}

.as-legend-content .as-legend-header .as-ico.cancel:hover {
    color: var(--color-modal-info-bg-dark);
}

.as-legend-content .title {
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--color-modal-info-bg);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.as-legend-content .as-legend-body {
    max-height: 600px;
    overflow-y: scroll;
}

.as-legend-line {
    max-width: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 8px 0;
}

.as-legend-line-color {
    margin: 1px 0;
}

.as-legend-color-item {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: var(--border-radius);
    margin: 2px 0;
}

.as-legend-color-item-part {
    --size: 10px;
    width: var(--size);
    height: calc(var(--size) * 2);
}

.as-legend-color-item-part:first-child {
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
}

.as-legend-color-item-part:last-child {
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.as-legend-icon,
.as-ico.as-legend-icon {
    border: none;
}

.as-legend-description {
    overflow-wrap: normal;
    text-align: center;
    color: var(--color-panel-header-text);
    font-size: var(--font-size) !important;
}

.as-legend-code {
    font-weight: bold;
    overflow-wrap: normal;
    text-align: center;
    color: var(--color-modal-info-bg);
    font-size: var(--font-size) !important;
}

.as-form-image {
    max-width: 10em; 
    max-height: 10em;
}
/* #endregion FORM */

/* #region AS TABLE */
.as-table {
    height: 0px; /* Let it be, needed for div inside td's being able to get 100% height... */
    border-collapse: separate;
    border-spacing: 0 var(--border-spacing-tr);
    width: fit-content;
}

.as-table-fixed {
    height: 0px; /* Let it be, needed for div inside td's being able to get 100% height... */
    border-collapse: separate;
    border-spacing: 0 var(--border-spacing-tr);
    width: 100%;
    table-layout: fixed;
}

.as-table-style-single {
    margin: 1em;
}

.as-table-style-single td, 
.as-table-style-single th {
    border-bottom: var(--border-width) solid var(--color-list-row-border);
    padding: .8em;
    text-align: center;
}

.as-table-style-single td:first-child, 
.as-table-style-single th:first-child {
    text-align: start;
}

.as-table-style-single tr:last-child td {
    border-bottom: none;
} 

.as-table-style-single td.table-old-value {
    color: var(--color-modal-warning-bg);
    text-align: center;
}

.as-table-style-single td.table-new-value {
    color: var(--color-modal-success-bg);
    text-align: center;
    font-weight: bold;
}
/* #endregion AS TABLE */

/* #region CONTEXT MENU */
.context-menu, 
.context-submenu {
    position: absolute;
    background-color: var(--color-bg);
    z-index: 300;
    padding: 0;
    list-style: none;
    border: var(--border-width) solid var(--color-panel-border);
}

.context-submenu{
    left: 100%;
    width: fit-content;
    top: 0;
    display: none;
}

.context-nested{
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.context-nested:hover > .context-submenu{
    display: block;
}

.context-nested > .fas{
    flex-grow: 1;
    text-align: end;
}

.context-menu li.disabled{
    cursor: not-allowed!important;
    color: lightgray;
}

.context-menu li, .context-submenu li {
    padding: var(--padding-buttons-h) var(--margin-blocks-vert);
    background-color: var(--color-light-bg);
    border-left: var(--border-width) solid var(--color-tab-active-bg);
    cursor: default;
}

.context-menu li.context-menu-separator, 
.context-submenu li.context-menu-separator {
    padding: 0;
    border-top: var(--border-width) solid var(--color-tab-active-bg);
}

.context-menu .context-icon
, .context-submenu .context-icon {
    width: 2em;
    display: inline-block;
}

.context-menu li:hover,
.context-submenu li:hover {
    border-left-color: var(--color-tab-bg-hover);
    background-color: var(--color-list-row-bg-hover);
}

#context-menu-layer {
    display: none !important;
    z-index: 0;
}
/* #endregion CONTEXT MENU */

/* #region Preview*/
.preview-div {
    background: var(--color-bg);
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    z-index: 999;
    position: absolute;
    right: 0;
    min-width: 20%;
    height: 100%;
    overflow: auto;
    padding: var(--margin-blocks-vert) var(--margin-blocks-horiz);
}

.preview-div-loading {
    display: flex;
    justify-content: center;
    align-items: center;
}

.preview-div-anim {
    animation-duration: 1s;
    animation-name: preview-div-anim;
}

@keyframes preview-div-anim{
    0%   {right: -20%;}
    100% {right: 0;}
}

.as-preview-form-container {
    display: flex;
    flex-direction: column;
    margin: var(--margin-blocks-vert) 0;
}

/* #endregion Preview*/

/* #region DL TABS */
.no-bck {
    background: transparent !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.dl-main.dl-main-editing .tabgroup-header .dl-row {
    min-height: 0;
}

.tabgroup-header {
    background: var(--color-light-bg);
    border-radius: var(--border-radius-panel) var(--border-radius-panel) 0 0;
    display: flex;
    justify-content: space-between;
    width: fit-content;
}

.tabgroup-outer-header > .tabgroup-header {
    margin-bottom: var(--margin-blocks-vert);
}

.dl-tabgroup {
    display: flex;
    flex-direction: column;
    overflow: auto;
}

.dl-tabgroup > main{
    flex-grow: 1;
}

.dl-tab-header {
    display: flex;
    margin: 0;
    padding: 0;
    cursor: pointer;
    min-height: 2.3em;
    font-size: 11px;
    user-select: none;
    z-index: 7;
}

.tabgroup-outer-header > header > .dl-tab-header {
    border-radius: var(--border-radius-panel);
    overflow: hidden;
}

.dl-tab-header > li {
    border-width: var(--border-width);
    border-color: var(--color-panel-border);
    border-left: none;
    border-bottom: none;
    list-style-type: none;
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 1em;
    font-weight: bold;
    text-transform: uppercase;
    box-sizing: border-box;
}

.dl-tab-header:not(.custom-tab-header) > li {
    padding: .8em 1.2em;
}

.dl-tabgroup > header .dl-tab-header > li:hover,
.dl-tabgroup.tabgroup-outer-header > header .dl-tab-header > li:hover {
    background-color: var(--color-tab-vert-bg-hover);
}

.dl-tab-header > li:first-of-type {
    border-radius: var(--border-radius-panel) 0 0 0;
}

.dl-tab-header > li:last-child {
    border-radius: 0 var(--border-radius-panel) 0 0;
}

.dl-tab-header > li:only-of-type {
    border-radius: var(--border-radius-panel) var(--border-radius-panel) 0 0;
    border-left-color: var(--color-panel-border);
    border-left-width: var(--border-width);
}

.dl-tab-header > li > i {
    margin-right: .7em;
    font-size: 1.5em;
}

li > .required-fields-in-tab-icon {
    margin-right: .2em;
    color: var(--color-danger-message-text);
}

.dl-tabgroup > header li.required-fields-in-tab {
    background: var(--color-danger-message-bg);
    color: var(--color-danger-message-text);
}

.dl-tabgroup > header li.required-fields-in-tab.tab-active {
    background: var(--color-danger-message-bg);
}

li.required-fields-in-tab.tab-active > .required-fields-in-tab-icon {
    color: var(--color-danger-message-text);
    background: transparent !important;
}

.dl-tabgroup > header li.required-fields-in-tab.tab-active,
li.required-fields-in-tab.tab-active {
    color: var(--color-tab-bg-hover);
}

.dl-tabgroup > .tabgroup-header > .dl-tab-header .tab-active,
.dl-tabgroup.tabgroup-outer-header > .tabgroup-header > .dl-tab-header .tab-active {
    background-color: var(--color-environment-bg);
}

.dl-tab-body {
    padding: var(--padding-inside-vert) var(--padding-inside-horiz);
    background-color: var(--color-light-bg);
    border-radius: 0 0 var(--border-radius-panel) var(--border-radius-panel);
}

.dl-tab-body > :not(:only-child) {
    margin-bottom: var(--margin-blocks-vert);
}

.dl-tab-body > .objlist .panel-header {
    display: none;
}

.tabgroup-outer-header > header {
    border-radius: var(--border-radius-panel);
}

.tabgroup-outer-header > header > .dl-tab-header > li:first-of-type {
    border-radius: var(--border-radius-panel) 0 0 var(--border-radius-panel);
}

.tabgroup-outer-header > header > .dl-tab-header > li {
    border: 0;
    border-radius: 0;
    min-width: 80px;
    justify-content: center;
}

.tabgroup-outer-header li.required-fields-in-tab.tab-active,
.tabgroup-outer-header > header > ul > li.required-fields-in-tab.tab-active > .required-fields-in-tab-icon,
.dl-tabgroup > header > .dl-tab-header > li.tab-active,
.tabgroup-outer-header > header > .dl-tab-header > li.tab-active {
    color: var(--color-light-text);
    background-color: var(--color-tab-active-bg);
}

.tabgroup-outer-header > main,
.tabgroup-outer-header > main > .dl-tab-body {
    border-radius: var(--border-radius-panel);
}

.no-pad > .dl-tabgroup {
    padding-bottom: var(--margin-blocks-vert);
}

.dl-panel.no-pad > main > .dl-tabgroup > main {
    padding: 0 var(--margin-blocks-horiz) var(--margin-blocks-vert) var(--margin-blocks-horiz);
}
/* #endregion DL TABS */

/* #region VERTICAL TABS */
.tabgroup-header-vert {
    display: flex;
    flex-direction: column;
    background-color: var(--color-tab-vert-bg);
    color: var(--color-tab-vert-text);
    border-right: 1px solid var(--color-tab-vert-border-right);
}

.dl-tab-header-vert {
    cursor: default;
    user-select: none;
    overflow-y: auto;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.dl-title {
    font-size: 14px;
    font-weight: bold;
    color: rgb(var(--pcolor-text));
}

.dl-tabgroup-vert > header .dl-tab-header-vert li {
    border-bottom: none;
    margin-bottom: .2em;
    color: var(--color-tab-vert-text);
    cursor: pointer;
}

.dl-tabgroup-vert .dl-tab-header-vert .tab-active {
    border-bottom: none;
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.dl-tabgroup-vert .dl-tab-header-vert .tab-active {
    color: var(--color-light-text);
    background-color: var(--color-environment-bg);
}

.dl-tabgroup-vert:not(.toggled) .tabgroup-header-vert {
    min-width: 0;
}

.dl-tabgroup-vert.toggled .tabgroup-header-vert {
    min-width: 150px;
}

.tab-ele {
    align-items: center;
    justify-content: flex-start;
    display: flex;
    font-weight: bold;
    font-size: 12px;
    list-style-type: none;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
    margin-right: .75em;
    padding: .75em .5em .75em .5em;
    border-left: 0;
}

.dl-tabgroup-vert:not(.toggled) .tab-ele {
    padding-right: .25em;
    margin-right: .5em;
    padding-left: .25em;
}

.tab-ele .tab-text{
    margin: 0;
    margin-left: .75em;
    font-size: 11px;
}

.dl-tab-header-vert > li:hover {
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    background-color: var(--color-tab-vert-bg-hover);
}

.dl-tab-header > li.tab-active > i,
.dl-tab-header-vert > li.tab-active > i {
    color: var(--color-light-text) !important;
}

.dl-tab-header > li > i {
    display: flex;
    justify-content: center;
    width: 1em;
    font-size: 1.5em;
    margin-right: .5em;
}

.dl-tab-header-vert > li > i {
    display: flex;
    justify-content: center;
    width: 1em;
    font-size: 1.5em;
    margin-left: .5em;
    margin-right: .5em;
}

.dl-tabgroup .dl-tab-header > li > i,
.dl-tabgroup-vert.toggled .dl-tab-header-vert > li > i {
    color: var(--color-panel-header-icon);
}

.dl-tabgroup-vert:not(.toggled) .dl-tab-header-vert > li > i {
    color: var(--color-tab-vert-text);
}

.tab-toggle-text {
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border: 0;
    background: transparent;
    min-height: 48px;
    font-size: 2em;
    color: var(--color-tab-vert-text);
}

.tab-toggle-text i {
    color: rgb(153, 153, 153);
    margin-left: .5em;
    margin-right: .75em;
    font-size: 14px;
}

.tab-toggle-text:hover i {
    color: var(--color-mat-input-outline);
}

.dl-tabgroup-vert.toggled .tab-text{
    display: block;
}

.dl-tabgroup-vert:not(.toggled) .tab-text {
    display: none;
}

.dl-tabgroup-vert:not(.toggled) .tab-toggle-text {
    justify-content: center;
}
/* #endregion VERTICAL TABS */

/* #region DL LAYER */
.dl-layer > main {
    border: var(--border-width) solid var(--color-panel-border);
    border-radius: 0 0 var(--border-radius-panel) var(--border-radius-panel);
    border-top: none;
}

.dl-main.dl-main-editing .layergroup-header .dl-row {
    min-height: 0;
}

.layergroup-header {
    background: var(--color-light-bg);
    border-radius: var(--border-radius-panel) var(--border-radius-panel) 0 0;
    display: flex;
    justify-content: space-between;
}

.dl-layer > header .dl-layer-header li {
    color: var(--color-layer-text);
    border-bottom: var(--border-width) solid var(--color-layer-text);
}

.dl-layer-header {
    display: flex !important;
    margin: 0;
    padding: 0;
    cursor: default;
    height: 3.3em;
    font-size: 1.2em;
}

.dl-layer-header > li {
    border-width: var(--border-width-between-layout);
    border-color: var(--color-panel-border);
    border-left: none;
    border-bottom: none;
    list-style-type: none;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 0 1.7em;
    font-weight: bold;   
    /*margin: 0 3px;*/
    float: left;
    position: relative;
    background-color: var(--color-bg-header-layer);
    transition: background-color 0.2s ease;
}

.dl-layer-header > li:after,
.dl-layer-header > li:before{
    content: " ";
    position: absolute;
    top: 0;
    right: -17px;
    width: 0;
    height: 0;
    border-top: 19px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 17px solid var(--color-bg-header-layer); 
    z-index: 2;
    transition: border-color 0.2s ease;
}

.dl-layer-header > li:before{
    right: auto;
    left: 0;
    border-left: 17px solid #fff; 
    z-index: 0;
}

.dl-layer-header > li:first-child:before {
    border: none;
}

.dl-layer-header > li:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.dl-layer-header > li:hover {
    border-top-color: var(--color-layer-border-top-hover);
}

.dl-layer-header > li > i {
    margin-right: .7em;
    font-size: 1.5em;
}

.dl-layer-header-buttons {
    display: inline-block;
    padding: 0;
    margin: 0;
    margin-right: var(--margin-blocks-horiz);
}

.dl-layer-header-buttons li {
    display: inline-block;
}

.dl-layer-header-buttons button {
    background-color: transparent;
    border: none;
    color: var(--color-ico-bg);
    font-size: 1.6em;
    padding-top: .6em;
}

.layergroup-outer-header .dl-layer-header-buttons {
    margin-right: var(--margin-blocks-horiz-half);
}

.layergroup-outer-header .dl-layer-header-buttons button {
    padding-top: 0;
}

.dl-layer .dl-layer-header .layer-active {
    color: var(--color-layer-border-top-active);
}

.dl-layer .dl-layer-header .layer-active {
    border-bottom: 3px solid var(--color-layer-border-top-active);
    font-weight: bold;
    padding-bottom: 0px;
}

.dl-layer-body {
    display: block;
    padding: var(--padding-inside-vert) var(--padding-inside-horiz);
    background-color: var(--color-light-bg);
    border-radius: 0 0 var(--border-radius-panel) var(--border-radius-panel);
}

.dl-layer-body > .objlist .panel-header {
    display: none;
}

.layergroup-outer-header > header {
    border-radius: var(--border-radius-panel);
    margin-bottom: var(--margin-blocks-vert);
}

.layergroup-outer-header > header > .dl-layer-header > li:first-of-type {
    border-radius: var(--border-radius-panel) 0 0 var(--border-radius-panel);
}

.layergroup-outer-header > header > .dl-layer-header > li {
    border: 0;
    border-radius: 0;
}

.layergroup-outer-header > header > .dl-layer-header > li.layer-active {
    color: var(--color-light-bg);
}

.layergroup-outer-header > main,
.layergroup-outer-header > main > .dl-layer-body {
    border-radius: var(--border-radius-panel);
}

.no-pad > .dl-layer {
    padding-bottom: var(--margin-blocks-vert);
}

.dl-panel.no-pad > main > .dl-layer > main {
    padding: 0 var(--margin-blocks-horiz) var(--margin-blocks-vert) var(--margin-blocks-horiz);
}
/* #endregion DL LAYER */

/* #region DL PANEL */
.dl-panel {
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius-panel);
}

.dl-panel > main {
    flex-grow: 1;
    /* overflow: auto; */ /* TODO ANDMM ver si no da problemas quitarlo..*/
    padding: var(--padding-inside-vert) var(--padding-inside-horiz);
    border-top: 0;
    border-left: 1px solid var(--color-panel-border);
    border-bottom: 1px solid var(--color-panel-border);
    border-right: 1px solid var(--color-panel-border);
    border-bottom-left-radius: var(--border-radius-panel);
    border-bottom-right-radius: var(--border-radius-panel);
    background-color: var(--color-panel-bg);
}

.as-row > * > .dl-panel:only-child {
    height: 100%; /* TODO andmm TEMP fix while both DL's exist, move this to .dl-panel above when old DL removed */
}


.dl-panel > main:first-child:last-child {
    /* for panels without header*/
    border: none;
}

.dl-panel > main:first-child {
    border-radius: var(--border-radius-panel);
}

.panel-toggleable {
    cursor: pointer;
}

.panel-buttons-container .as-ico {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size-top-icons);
}

.panel-header {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: .3em 1em;
    color: var(--color-panel-header-text);
    border-top-left-radius: var(--border-radius-panel);
    border-top-right-radius: var(--border-radius-panel);
    background-color: var(--color-panel-header-bg);
    border: 1px solid var(--color-panel-header-bg);
}

.panel-header.full-radius {
    border-radius: var(--border-radius-panel);
}

.dl-panel header + main .panel-header {
    padding: .25em; /** Reduces padding of nested panels' header **/
}

.objlist-panel .panel-header{
    flex-direction: column;
}

.objlist-panel .as-list-content {
    border-radius: 0;
    padding: 0;
}

.objlist-panel .as-list-content .as-list-table-padding-container {
    border-top-left-radius: 0;
}

.panel-title {
    display: flex;
    align-items: center;
    font-size: 12px;
    padding: .2em var(--margin-blocks-horiz-half);
    flex-grow: 1;
}

.panel-title > i {
    margin-right: var(--margin-blocks-horiz-half);
    color: var(--color-panel-header-icon);
}

.panel-title > .dl-panel-text {
    font-size: 12px;
    font-weight: bolder;
    text-transform: uppercase;
}

.panel-info .panel-header:first-of-type {
    background-color: var(--color-panel-info-header-bg);
}

.dl-panel > main > .dl-tabgroup > main > .dl-tab-body,
.dl-panel > main > .dl-layer > main > .dl-layer-body {
    padding: var(--padding-inside-vert) 0 0 0;
}

.dl-row.no-pad,
.dl-column.no-pad, 
.dl-panel.no-pad > main {
    padding: 0;
}

.dl-panel > main:empty {
    padding: 0;
}

.dl-panel-int-title {
    width: 20px;
    border-radius: var(--border-radius);
    writing-mode: vertical-rl;
    text-orientation: upright;
    line-height: 21px;
    padding: 3px;
    padding-top: 15px;
}

.dl-panel-body-inline {
    display: flex;
}

.dl-panel-int-title {
    color: #fff;
    border-top-left-radius: var(--border-radius-panel);
    border-top-right-radius: var(--border-radius-panel);
    background-color: var(--color-panel-header-bg);
    border: 1px solid var(--color-panel-header-bg);
}

.dl-panel-int-body {
    width: 100%;
}

.dl-panel-icon {
    padding-right: 5px;
}

.vert-pad,
.dl-panel.vert-pad {
    padding-top: var(--dl-col-padding-v-half);
    padding-bottom: var(--dl-col-padding-v-half);
}

.dl-label i {
    margin-top: 0;
    margin-right: .75em;
    margin-bottom: .75em;
    margin-left: 0;
}

/* SUB PANELS */
.dl-panel.sub-panel {
    padding: 0;
    margin: var(--dl-col-padding-v-half) var(--dl-col-padding-h-half);
    box-shadow: 4px 4px 8px var(--color-error-btn-border);
}

.dl-panel.sub-panel .panel-header {
    padding: .3em 1em;
}

.sub-panel.info-panel .panel-header  {
    background-color: var(--color-modal-info-bg-light);
    border: 1px solid var(--color-modal-info-bg-light);
    color: var(--color-sub-panel-header-text);
}

.dl-panel.sub-panel .panel-title > .dl-panel-text {
    text-transform: none;
}

.dl-panel.sub-panel.info-panel .panel-title > i {
    margin-right: var(--margin-blocks-horiz-half);
    color: var(--color-modal-info-bg-dark);
}
.dl-panel.sub-panel.info-panel .panel-title > i:before {
    color: var(--color-modal-info-bg-dark);
}

.dl-panel.sub-panel.info-panel > main {
    border-color: var(--color-modal-info-bg-light);
}

.dl-panel.success-panel > .panel-header,
.dl-panel.sub-panel.success-panel .panel-header {
    background-color: var(--color-modal-success-bg-light);
    border: 1px solid var(--color-modal-success-bg-light);
}

.dl-panel.success-panel > .panel-header .panel-title > i,
.dl-panel.sub-panel.success-panel .panel-title > i {
    margin-right: var(--margin-blocks-horiz-half);
    color: var(--color-modal-success-bg-dark);
}

.dl-panel.success-panel > main,
.dl-panel.sub-panel.success-panel > main {
    border-color: var(--color-modal-success-bg-light);
}

.dl-panel.warning-panel > .panel-header,
.dl-panel.sub-panel.warning-panel .panel-header {
    background-color: var(--color-modal-warning-bg-light);
    border: 1px solid var(--color-modal-warning-bg-light);
}

.dl-panel.warning-panel > .panel-header .panel-title > i,
.dl-panel.sub-panel.warning-panel .panel-title > i {
    margin-right: var(--margin-blocks-horiz-half);
    color: var(--color-modal-warning-bg-dark);
}

.dl-panel.warning-panel > main,
.dl-panel.sub-panel.warning-panel > main {
    border-color: var(--color-modal-warning-bg-light);
}

.dl-panel.error-panel > .panel-header,
.dl-panel.sub-panel.sucerroress-panel .panel-header {
    background-color: var(--color-modal-error-bg-light);
    border: 1px solid var(--color-modal-error-bg-light);
}

.dl-panel.error-panel > .panel-header .panel-title > i,
.dl-panel.sub-panel.error-panel .panel-title > i {
    margin-right: var(--margin-blocks-horiz-half);
    color: var(--color-modal-error-bg-dark);
}

.dl-panel.error-panel > main,
.dl-panel.sub-panel.error-panel > main {
    border-color: var(--color-modal-error-bg-light);
}
/* #endregion DL PANEL */

/* #region FORM CONTROL */
.as-label {
    display: flex;
    align-items: center;
    text-align: left;
    text-transform: uppercase;
    padding-right: var(--margin-blocks-horiz);
    padding-left: var(--margin-blocks-horiz);
}

.ml-inline-div {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 100%;
}

.ml-inline-div .ml-inline-label {
    display: flex;
    align-items: center;
    height: var(--height-input);
    border: var(--border-width) solid transparent;
}

.ml-inline-div .ml-inline-control {
    display: block;
}

.ml-inline-div .ml-inline-label,
.ml-inline-div .ml-inline-control {
    margin-bottom: .5em;
}

.form-control {
    line-height: 1.5;
    background-image: none;
}

.objsel textarea.form-control:disabled {
    padding-right: 1.1em;
}

.objsel textarea.form-control {
    width: calc(100% - 1.1em);
}

select.form-control,
input.form-control,
textarea.form-control,
.dl-item-input-columns {
    height: var(--height-input);
    box-sizing: content-box;
    padding: var(--padding-inside-form-controls-v) var(--padding-inside-form-controls-h);
    font-size: var(--font-size);
    display: inline-block;
}

.as-tags,
select.form-control,
input.form-control,
textarea.form-control,
.dl-item-input-columns {
    border-radius: var(--border-radius-form-control);
    border: var(--border-width) solid var(--color-input-border);
    color: var(--color-input-text);
    background-color: var(--color-input-bg);
}

select.form-control[multiple] {
    height: unset;
}

textarea.form-control {
    height: unset;
}

*:focus {
    outline: none;
}

.form-control-changed {
    background-color: var(--color-input-changed-bg) !important;
}

.form-control-changed:not(:required) {
    border: solid var(--border-width) var(--color-input-changed-border) !important; 
}

.as-tags:focus:not([readonly]),
.ck-content:focus:not([readonly]),
select.form-control:focus:not([readonly]),
input.form-control:focus:not([readonly]),
textarea.form-control:focus:not([readonly]) {
    border-color: transparent !important;
    outline: calc(2 * var(--border-width)) solid rgba(var(--pcolor-buttons-text), 1) !important;
}

textarea.form-control[readonly],
select.form-control[readonly],
.as-tags[readonly],
input.form-control[type="text"][readonly],
input.form-control[type="select"][readonly],
input.form-control[type="password"][readonly] {
    background-color: var(--color-mat-input-disabled-bg);
    border-color: var(--color-mat-input-disabled);
}

.as-tags[disabled],
textarea.form-control:disabled,
select.form-control:disabled,
input.form-control[type="text"]:disabled,
input.form-control[type="select"]:disabled,
input.form-control[type="password"]:disabled  {
    color: var(--color-input-disabled-text);
    background-color: var(--color-input-disabled-bg);
}

.ico-before {
    padding-left: var(--input-after-ico-padding-right) !important;
}

.ico-after {
    padding-right: var(--input-after-ico-padding-right) !important;
}

.ico-before-div,
.ico-after-div {
    display: inline-flex;
    box-sizing: border-box;
    cursor: pointer;
}

.ico-before-div > span,
.ico-after-div > span {
    opacity: .8;
    color: var(--color-mat-input-label);
}

.ico-before-div:hover > span,
.ico-after-div:hover > span {
    opacity: 1;
    color: var(--color-mat-input-outline);
}

.tag-input + .ico-after-div {
    z-index: 1;
    position: relative;
}

.field-with-ico{
    display: flex;
    align-items: center;
}

.as-obj-table-cell .field-with-ico{
    justify-content: center;
}

.minus-ico {
    margin-right: -1.5em;
}

.minus-ico > span {
    z-index: 1;
}

.copy-ico > span, 
.flag-ico > img, 
.search-ico > span, 
.plus-ico > span, 
.color-picker-ico > span {
    margin-left: -1.5em;
}

.flag-ico > img {
    cursor: default;
    height: 10px;
    width: 10px;
    border-radius: 50%;
}

.browser-ico > span {
    margin-left: -1.8em;
}

textarea + .search-ico {
    vertical-align: top;
    margin-top: 0.5em;
}

.ml-ico > span,
.datepicker-ico > span {
    margin-left: -1.5em;
    font-size: 1.2em;
}

.calendar-selected > span{
    background: var(--color-mat-input-outline) !important;
    color: var(--color-light-text) !important;
}

.ico-before.hide ~ .ico-before-div,
.ico-after.hide ~ .ico-after-div,
.form-control.hide ~ .input-rel-btn {
    display: none! important;
}

input:required,
textarea:required,
select:required,
.as-tags[required],
select[required-sel-multi] {
    border: var(--border-width) solid var(--color-input-border-required) !important;
    transition: box-shadow .2s ease-in;
}

input.search:required,
textarea.search:required,
select:required,
select[required-sel-multi] {
    border: var(--border-width) solid var(--color-input-border-required);
    transition: box-shadow .2s ease-in;
}

.bad-search{
    margin-left: var(--margin-blocks-horiz);
    float:right;
    margin-top:-6px;
    margin-right:-6px;
}

.input-highlight,
input.input-highlight,
select.input-highlight,
textarea.input-highlight {
    background-color: var(--color-input-bg-required-error) !important;
}

input.required-not-filled,
select.required-not-filled,
textarea.required-not-filled,
input.pattern-invalid,
select.pattern-invalid,
textarea.pattern-invalid,
input.invalidValueMask {
    background-color: var(--color-input-bg-required-error) !important;
}

input.invalid-temp-value,
select.invalid-temp-value,
textarea.invalid-temp-value
{
    background-color: var(--color-input-bg-invalid-temp) !important;
}


input.mask-error {
    color: var(--color-input-error);
}

input.form-error {
    border-width: var(--border-width-md);
    border-color: var(--color-input-border-error);
}

.input-rel-btn {
    margin-left: 3px;
    font-size: 1.5em;
    position: relative;
    cursor: pointer;
}

.input-rel-btn:not(.fa-trash):not(.fa-eraser):hover {
    color: var(--color-modal-confirm-bg-dark);
}

.input-rel-btn.fa-eraser:hover {
    color: var(--color-toolbar-list-ico-warning);
}

.ico-warning{
    color: var(--color-toolbar-list-ico-warning);
}

.ico-danger{
    color: var(--color-toolbar-list-ico-danger);
}

.input-rel-btn.fa-trash:hover {
    color: var(--color-input-border-required);
}

.material-td input.form-control:not([readonly]):not([disabled]) + .color-picker-ico .colorpicker-sample {
    border: var(--border-width) solid var(--color-input-border);
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    min-height: 20px;
    max-width: 22px;
    margin-left: 4px;
}

.material-td input.form-control[readonly] + .color-picker-ico .colorpicker-sample,
.material-td input.form-control[disabled] + .color-picker-ico .colorpicker-sample {
    border: var(--border-width) solid var(--color-input-border);
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    min-height: 20px;
    max-width: 22px;
    margin-left: -2px;
}

.form-field + .fa-info-circle {
    margin-left: var(--margin-blocks-horiz-half);
    margin-right: var(--margin-blocks-horiz-half);
}

input.tag-input{
    display: none;
}

.ico-warning{
    color: rgb(var(--scolor-warning-bg));
}

.lang-flag {
    width: 16px;
    padding-right: .5em;
}

.radio-lb {
    vertical-align: super;
}

.radio-option {
    display: flex;
    align-items: center;
}

/* Radio Img Btn */
.radio-img-btn {
    width: fit-content;
    height: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--color-print-btn-bg);
    padding-top: 1em !important;
    padding-bottom: 1em !important;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
    margin-right: .5em;
    border: var(--border-width-md) solid;
    border-color: var(--color-print-border);
    border-radius: 10px;
    cursor: pointer;
    user-select: none;
}

.radio-img-btn-active {
    width: fit-content;
    height: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--color-print-btn-bg);
    padding-top: 1em !important;
    padding-bottom: 1em !important;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
    margin-right: .5em;
    border: var(--border-width-md) solid;
    border-color: var(--color-print-border-active);
    border-radius: 10px;
    cursor: pointer;
    user-select: none
}

.radio-img-btn label, .radio-img-btn-active label {
    cursor: pointer;
    padding-top: .5em;
}

.radio-img-btn:not(.disabled-control):hover, .radio-img-btn-active:not(.disabled-control):hover {
    box-shadow: 4px 4px 8px var(--color-print-btn-hover);
}

.radio-img-btn.disabled-control  {
    cursor: default;
    pointer-events: none;
}

.radio-img-btn-active.disabled-control {
    cursor: default;
    pointer-events: none; 
    border-color: var(--color-print-title);
}

/* Radio dl header panels */
.radio-dl-panels-container.dl-tab-body > :not(:only-child) {
    margin-bottom: 0;
}

.radio-dl-panels-container .radio-header-panel .panel-header,
.radio-dl-panels-container .radio-header-panel-active:first-child .panel-header {
    border-bottom-left-radius: var(--border-radius-panel) !important;
    border-bottom-right-radius: var(--border-radius-panel) !important;
}

.mask-message {
    padding-left: .5em;
}
/* #endregion FORM CONTROL */

/* #region PV CONT */
.pv-cont {
    padding: var(--margin-blocks-vert) var(--margin-blocks-horiz);
}

.pv-cont button.as-btn {
    height: fit-content;
    min-height: var(--size-button);
    padding: 5px 10px;
}

.who-created-col,
.who-edited-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: .8em !important;
}

.who-created-col span,
.who-edited-col span {
    font-weight: bold;
    text-transform: uppercase;
}

.pv-cont-left-border {
    display: none;
}

#main-section-lateral .pv-cont-left-border {
    position: absolute;
    height: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    height: 100%;
    width: 14px;
    cursor: e-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--color-input-border) !important;
    border-left: 1px solid var(--color-input-border) !important;
    background-color: var(--color-list-row-bg-odd) !important;
}

.pv-cont-left-border span {
    color: var(--color-input-border) !important;
}

.custom-view .pv-cont {
    background-color: transparent;
    padding: 0;
}

.modal-body .pv-cont {
    background: none;
}

.modal-body .pv-cont {
    background: none;
}
/* #endregion PV CONT */

/* #region HISTO CONT */
.historic-cont,
.message-cont {
    max-height: 500px;
    overflow: auto;
    padding-bottom: calc(var(--margin-blocks-vert) * 1.5);
}

#main-section-lateral .historic-cont,
#main-section-lateral .message-cont,
#main-section-lateral .pv-cont  {
    max-height: none !important;
    padding: calc(var(--margin-blocks-vert) * 1.5);
    margin-left: calc(var(--margin-blocks-vert) * 1.5);
}

#main-section-lateral .pv-cont.uploadDoc-cont {
    max-height: 100% !important;
    overflow-y: scroll;
}

.historic-cont > .dl-panel:last-child {
    margin-bottom: var(--margin-blocks-vert);
}

.historic-cont i {
    margin-right: var(--margin-blocks-horiz-half);
}
/* #endregion HISTO CONT */

/* #region COLORPICKER and DATEPICKER */
.ui-widget {
    font-family: var(--font) !important;
}

.ui-colorpicker-dialog .ui-widget-content {
    background: transparent;
    border-color: #999;
    color: var(--color-text);
}

.ui-datepicker {
    z-index: 206 !important; /* If we put a smaller number the calendar disapears behind the modal */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-around;
    min-height: 150px;
    font-size: var(--font-size);
    background-color: var(--color-input-bg);
    border: 1.5px solid var(--color-input-border) !important;
    border-radius: var(--border-radius);
    box-shadow: 8px 8px 16px var(--color-menubar-dropdown-shadow);
    padding: var(--padding-inside-horiz);
    width: fit-content !important;
}

.ui-datepicker > * {
    width: 100%;
}

.ui-widget-header {
    color: var(--color-text);
    background: var(--color-input-bg);
    border: none !important;
    padding: .8em 0 !important;
}

.ui-datepicker table {
    font-size: var(--font-size);
    color: var(--color-text);
}

.ui-datepicker-prev,
.ui-datepicker-next {
    cursor: pointer;
    width: auto !important;
    height: auto !important;
    bottom: 2px !important;
    align-content: center !important;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    background: var(--color-mat-input-outline);
    border: none;
    color: var(--color-light-text) !important;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
    position: relative !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    align-content: center;
    justify-content: center;
    background-image: none !important;
    margin: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important; 
    bottom: 0 !important;
}

.ui-datepicker-prev span.ui-icon,
.ui-datepicker-next span.ui-icon {
    height: inherit !important;
    padding: .25em .5em;
}

.ui-datepicker-prev span:before {
    content: "\f053" !important;
    font-weight: normal;
    font-family: 'Font Awesome 5 Pro' !important;
    color: var(--color-text);
    text-indent: 0 !important;
    margin: 0 !important;
    position: absolute;
    top: 2px;
    bottom: 0;
}

.ui-datepicker-next span:before {
    content: "\f054" !important;
    font-weight: normal;
    font-family: 'Font Awesome 5 Pro' !important;
    color: var(--color-text);
    text-indent: 0 !important;
    margin: 0 !important;
    position: absolute;
    top: 2px;
    bottom: 0;
}

.ui-datepicker-prev:hover span:before,
.ui-datepicker-next:hover span:before {
    color: var(--color-light-text) !important;
}

.ui-datepicker th {
    font-weight: normal;
}

.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center;
    padding: .7em;
}

.ui-datepicker .ui-state-default {
    color: var(--color-text);
    background: var(--color-input-bg);
    border: none;
    border-radius: var(--border-radius);
}

.ui-datepicker .ui-state-disabled {
    opacity: 1 !important;
}

.ui-datepicker .ui-datepicker-group {
    width: 100%;
}

.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-state-hover,
.ui-datepicker .ui-state-active {
    background: var(--color-mat-input-outline);
    color: var(--color-light-text);
}
/* #endregion COLORPICKER and DATEPICKER */

/* #region MESSAGES */
.div-message.current-select,
.div-message.current-shortcuts {
    position: relative;
    border-top: none;
    border-right: none;
    border-bottom: none;
    box-shadow: 4px 4px 8px var(--color-error-btn-border);
    background-color: var(--color-panel-bg) !important;
    color: var(--cond-color-form-border);
    margin: 1.5em;
}

.div-message.current-select {
    border-left: 3px solid var(--btn-database-color);
}

.div-message.current-shortcuts {
    border-left: 3px solid var(--btn-others-color);
}

.div-message.current-select div:first-child,
.div-message.current-shortcuts div:first-child  {
    position: absolute;
    top: -8px;
    left: -10px;
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 20px;
    min-height: 20px;
    background-color: var(--color-list-table-bg) !important;
    border-radius: 50%;
}

.div-message.current-select div:first-child {
    color: var(--btn-database-color);
    border: 1px solid var(--btn-database-color);
}

.div-message.current-shortcuts div:first-child {
    color: var(--btn-others-color);
    border: 1px solid var(--btn-others-color);
}

.div-message.current-select .current-select-query {
    max-height: 250px;
    overflow: auto;
}

.current-select strong.no-copy {
    text-decoration: underline;
}

.current-select .sql-copy-clipboard-ico {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    border-radius: 0 var(--border-radius) 0 var(--border-radius);
    color: var(--btn-database-color);
    padding: .8em;
    margin-right: 0 !important;
}

.current-select .sql-copy-clipboard-ico:hover {
    color: var(--color-toolbar-list-ico-bg);
    background-color: var(--btn-database-color);
}

.info-message {
    color: var(--color-info-message-text);
    background-color: var(--color-bg) !important;
    border-color: var(--color-info-message-border);
}

.warning-message {
    color: var(--color-warning-message-text);
    background-color: var(--color-warning-message-bg) !important;
    border-color: var(--color-warning-message-border);
}

.danger-message {
    color: var(--color-danger-message-text);
    background-color: var(--color-danger-message-bg) !important;
    border-color: var(--color-danger-message-border);
}

.success-message {
    color: var(--color-success-message-text);
    background-color: var(--color-success-message-bg) !important;
    border-color: var(--color-success-message-border);
}

.div-message + .div-message {
    margin-top: 0 !important;
}

.div-message .close-msg {
    height: unset;
}

.div-message.div-message-highlighted {
    border: solid 2px;
    font-size: x-large;
}

.div-message {
    font-weight: bold;
    border-style: solid;
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    padding: var(--padding-inside-vert) var(--padding-inside-horiz) !important;
    overflow-wrap: break-word;
    line-height: 1.5em;
    grid-column-start: 1;
    grid-column-end: end;
    background-color: var(--color-bg);
    margin-top: var(--margin-blocks-vert-half);
    margin-bottom: var(--margin-blocks-vert-half);
    margin-left: var(--dl-col-padding-h-half);
}

.success-message i:first-child,
.info-message i:first-child,
.danger-message i:first-child,
.warning-message i:first-child {
    margin-right: .5em;
}

.success-message i:last-child:not(:first-child),
.info-message i:last-child:not(:first-child),
.danger-message i:last-child:not(:first-child),
.warning-message i:last-child:not(:first-child) {
    margin-left: .5em;
}

.msg-warning {
    white-space: pre-line;
    background-color: var(--color-border);
    font-weight: bold;
    padding: 10px;
}

.btn-message.close-msg {
    border: none;
    outline: none;
    background: none;
    float: right;
    width: unset;
    font-size: 1.5em;
    min-width: unset;
    color: unset;
    margin-right: 0;
}

.btn-message.log-out-btn {
    padding-top: 1.2em !important;
    padding-bottom: 1.2em !important;
}

.btn-message.log-out-btn:hover {
    box-shadow: 4px 4px 8px var(--color-print-btn-hover);
    border-color: var(--color-ico-cancel);
    color: var(--color-ico-cancel);
}

.pattern-message{
    padding-left: 5px;
}
/* #endregion MESSAGES */

/* #region INFO FIELD*/
.info-field-div.hidden,
.info-field-ico,
.info-field-text,
.info-field-desc {
    display: none;
}

.info-field-div.show-ico,
.info-field-div.show-text{
    display: block;
}

.info-field-div.show-ico .info-field-ico,
.info-field-div.show-text .info-field-ico,
.info-field-div.show-text .info-field-text,
.info-field-div.show-text .info-field-desc
{
    display: inline-block;
}

.info-field-ico{
    cursor: pointer;
    margin-right: .5em;
}

.info-field-desc,
.info-field-desc + .info-field-text {
    margin-left: var(--margin-blocks-horiz-half);
}
/* #endregion INFO FIELD*/

/* #region WIZARD */
.dl-layer-wizard,
.db-wizard-body,
.dl-layer-body {
    height: calc( 100% - 20px)
}

.dl-layer-body:not([style*="display: none"]) {
    display: flex!important;
    flex-direction: column;
}

.wizard-footer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 2;
    align-items: flex-end;
    padding: .2em 0;
    margin-top: auto;
}

.main-section-wizardmultisave{
    background: inherit;
}

.ico-status{
    margin-left: 7px;
}
/* #endregion WIZARD */

/* #region HOME */
.home-container {
    padding: var(--margin-blocks-vert) var(--margin-blocks-horiz);
}

.home-container .home-item {
    overflow-y: auto;
}

.home-container .home-item .as-list-main-container {
    max-height: 600px;
}
/* #endregion HOME */

/* #region SHORTCUTS*/
.lock-page {
    background-color: rgb(0, 0, 0, 200);
    position: fixed;
    height: 100%;
    width: 100%;
    z-index: 999;
    opacity: .35;
}

.lock-page > div:first-child {
    top: 50%;
    left: 50%;
    position: absolute;
    font-size: 2em;
    color: white;
}

.inline{
    display: inline-flex;
}
.invisible{
    visibility: hidden;
}
.col-justify-center {
    display: flex;
    justify-content: center;
}
.s-between {
    justify-content: space-between;
}
.unselectable {
    user-select: none;
}
.txt-lower {
    text-transform: lowercase;
}
.txt-upper {
    text-transform: uppercase;
}
.pointer {
    cursor: pointer;
}
.alignC { text-align: center; }
.alignR { text-align: right; }
.alignL { text-align: left; }

.icon-md{
    font-size: 12px;
}
/* #endregion SHORTCUTS*/

#region PAGINATION
.pagination-block input, 
.pagination-block select{
    font-size: 1em;
}

.toolbar-group.pagination-block {
    flex-wrap: nowrap;
}

.pagination-container:empty{
    min-width: 120px;
}

.pagination-total {
    display: flex;
    cursor: default;
    align-items: center;
    margin-left: .25em;
}

.pagination-total input:not(:disabled) {
    cursor: pointer;
}

.pagination-total .list-paginator-page-size,
.pagination-total .list-total-records {
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-toolbar-text);
    text-align: center;
    min-width: 3ch;
}

.pagination-block .pagination-total-separator {
    border: none;
    padding: 0;
    margin: 0 .25em;
    width: .5ch;
    background: transparent;
    color: var(--color-pagination-text)
}

.pagination-block .fa-hourglass-half{
    min-width: 2ch;
    text-align: center;
}

.pagination {
    margin: 0;
    padding: 0;
    display: flex;
    color: var(--color-pagination-text);
}

.pagination > li {
    cursor: pointer;
    font-weight: normal;
    display: inline-flex;
    height: var(--size-button);
    width: calc(var(--size-button) * 0.7);
    justify-content: center;
    align-items: center;
    background-color: var(--color-toolbar-ico-bg);
    color: var(--color-toolbar-ico-text);
}

.pagination > li > a,
.pagination > li > span {
    font-size: .9em;
}

.pagination > li.active > a {
    color: unset;
}

.pagination .list-paginator:not(.showPage) {
    width: unset;
    cursor: default !important;
    padding: 0 .5em;
}

.pagination .list-paginator-first,
.pagination .list-paginator-prev,
.pagination .list-paginator-next,
.pagination .list-paginator-last {
    font-size: 2em;
}

.pagination .disabled a {
    color: var(--color-pagination-text);
}

.pagination > li:not(.list-paginator,.disabled):hover {
    cursor: pointer;
    color: var(--color-mat-input-outline);
}

.pagination > .active {
    background-color: var(--color-pagination-active-bg) !important;
    color: var(--color-pagination-active-text);
}

.pagination .disabled {
    cursor: not-allowed;
}

.pagination > li:first-of-type {
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
    padding-left: .25em;
}

.pagination > li:last-of-type {
    border-top-right-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    border-right-width: var(--border-width);
    padding-right: .25em;
}

.list-hourglass {
    cursor: pointer;
}

li.list-paginator .list-total-pages {
    border: none;
    background: none;
    padding: 0;
}

.list-paginator:hover select {
    background-color: transparent;
}

.pagination li.list-paginator.showPage {
    width: var(--size-button);
}

.list-page-separator {
    padding: 0;
    margin: 0.5em;
}

.list-page-selector {
    cursor: pointer;
    display: block;
    appearance: none;
    color: var(--color-input-text);
    background-color: var(--color-toolbar-ico-bg);
    border: none;
    height: var(--size-button) - 6px !important;
    text-align: center;
}

.custom-showPage {
    width: 2ch;
    padding: 0;
}
/* #endregion PAGINATION */

/* #region DROPDOWN MULTI*/
.div-select-multi {
    display: flex;
    flex-grow: 1;
    justify-content: space-between;
    overflow: auto;
    max-height: 50vh;
    padding-left: .75em;
    padding-right: .75em;
}

.div-select-multi .sel-mul-source,
.div-select-multi .sel-mul-dest {
    display: flex;
    align-items: flex-start;
    margin: 0.25em;
    background: var(--color-input-bg);
    border: var(--border-width) solid var(--color-panel-header-bg);
    border-radius: var(--border-radius);
    flex-grow: 1;
    overflow: auto;
    min-width: 150px;
}

.div-select-multi .modal-sel-multi-arrows,
.div-select-multi .modal-sel-dest-arrows {
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.div-select-multi .fal {
    cursor: pointer;
    text-align: center;
    font-size: 2em;
    color: var(--cond-color-form-border);
}

.div-select-multi .fal:hover {
    color: var(--color-mat-input-outline);
}

.sel-mul-source[disabled] + .modal-sel-multi-arrows, 
.sel-mul-dest[disabled] + .modal-sel-dest-arrows {
    opacity: .2;
    pointer-events: none;
}
/* #endregion DROPDOWN MULTI */

/* #region CUSTOM DATALIST*/
.custom-datalist {
    font-weight: bolder;
    display: flex;
    align-items: center;
    position: relative;
    padding-left: var(--margin-blocks-horiz-half);
    border: var(--border-width) solid var(--color-input-border);
    border-radius: var(--border-radius);
    height: var(--height-input);
}


.custom-datalist-select {
    left: 0;
    font-size: 12px;
    min-width: 100%;
    top: calc(var(--size-button));
    display: block;
    position: absolute;
    z-index: 3;
}

.custom-datalist-invisible {
    height: 0;
    visibility: hidden;
}

.custom-datalist-input {
    z-index: 1;
    padding: 0;
    font-size: 12px;
    border: none;
    border-radius: var(--border-radius);
    background: none;
    appearance: none;
    color: var(--color-text);
    width: 100%;
    height: 100%;
}

.custom-datalist-input::placeholder {
    opacity: 1;
    font-weight: bold;
}

.custom-datalist-input:focus::placeholder {
    opacity: .75;
}

.custom-datalist::after {
    content: "\f078";
    font-weight: 300;
    font-family: var(--font-awesome);
    position: absolute;
    right: .5em;
    pointer-events: none;
    box-sizing: border-box;
    color: var(--color-text);
    width: 1em;
    z-index: 1;
}
/* #endregion CUSTOM DATALIST*/

/* #region CUSTOM SELECT*/
.custom-select {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    border: 1px solid var(--color-input-border);
    border-radius: var(--border-radius);
    color: var(--color-ico-text);
    background-color: var(--color-ico-bg);
    position: relative;
    user-select: none;
    height: var(--size-button);
    box-sizing: border-box;
}

.custom-select select {
    appearance: none;
    border: none;
    border-radius: var(--border-radius);
    padding-left: var(--margin-blocks-horiz-half);
    padding-right: 2em;
    color: var(--color-ico-text);
    background-color: var(--color-ico-bg);
    height: 100%;
    width: 100%;
}

.custom-select::after {
    content: "\f078";
    font-family: var(--font-awesome);
    position: absolute;
    right: .5em;
    pointer-events: none;
    box-sizing: border-box;
    color: var(--color-text);
    width: 1em;
}
/* #endregion */

/* #region SIDE NOTIFICATIONS */
#notifications {
    position: absolute;
    width: 100%;
    z-index: 999;
    pointer-events: none;
    overflow: hidden;
}

#notifications > div {
    pointer-events: all;
    float: right;
    background: var(--color-light-bg);
    clear: right;
    opacity: 0;
    min-width: 200px;
    font-size: 1.1em;
    border-radius: var(--border-radius);
    box-shadow: 8px 8px 16px var(--color-menubar-dropdown-shadow);
    margin-top: 6em;
    margin-right: 22px; /* scrollbar width */
}

.notifications-div {
    justify-content: center;
    align-items: center;
}

#notifications .close-side {
    float: right;
    cursor: pointer;
    position: relative;
    opacity: .5;
}

#notifications .close-side:hover {
    opacity: 1;
}

#notifications .close-side,
#notifications .side-message-content {
    padding: var(--margin-blocks-vert) var(--margin-blocks-horiz);
}

#notifications .side-message-content-icon {
    margin-right: .5em;
}

#notifications div.side-message-cover {
    height: 100%;
    margin-top: 0;
    border: solid 1px var(--color-info-message-text);
    border-radius: var(--border-radius);
    color: var(--color-info-message-text);
}

#notifications div.side-warning-message {
    background: var(--color-warning-message-bg) !important;
    color: var(--color-warning-message-text) !important;
    border: solid 1px var(--color-warning-message-text) !important;
}

#notifications div.side-error-message {
    background: var(--color-danger-message-bg) !important;
    color: var(--color-danger-message-text) !important;
    border: solid 1px var(--color-danger-message-text) !important;
}

#notifications div.side-success-message {
    background: var(--color-success-message-bg) !important;
    color: var(--color-success-message-text) !important;
    border: solid 1px var(--color-success-message-text) !important;
}

#notifications div.side-fixed-message {
    border: solid 1px var(--color-info-message-text);
    border-radius: var(--border-radius);
    color: var(--color-info-message-text);
}

.side-message-fixed {
    margin-top: 1em !important;
    opacity: 1 !important;
}

.notifications-single {
    justify-content: center;
    align-items: start;
}
/* #endregion SIDE NOTIFICATIONS */

/* #region BOTTOM BANNER **/
.bottom-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    background-color: var(--color-toolbar-bg);
    border-radius: var(--border-radius);
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 22px;
    padding: .25em 0;
    z-index: 11;  
}

.bottom-banner > div {
    font-size:1.2em;
    display: flex;
}

.bottom-banner button {
    margin-left: 1em;
    color: var(--color-toolbar-ico-text);
    border-color: var(--color-toolbar-ico-border);
    background-color: var(--color-toolbar-ico-bg);
}

.bottom-banner-close {
    cursor: pointer;
    position: absolute;
    right: 5px;
    top: 5px;
    color: var(--color-toolbar-ico-text);
    font-size: 17px;
}

.bottom-banner #tracing-duration {
    display: inline;
}
/* #endregion BOTTOM BANNER */

/* #region DOCUPLOAD */
.uploadDoc-cont, 
#uploadDoc {
    height: 100%;
}

.uploadDoc-header > .as-row {
    margin-bottom: 1em;
}

.uploadDoc-header > .as-row:first-child {
    align-items: center;
    justify-content: space-between;
}

.uploadDoc-header .btn-group {
    width: fit-content;
    padding: 0;
}

#uploadDoc .dl-panel {
    max-height: 75% !important;
}

#uploadDoc .dl-panel main {
    overflow-y: scroll;
}

table.uploadDoc-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 1em !important;
}

.uploadDoc-row-empty,
.allow-hover tr.uploadDoc-row-empty:hover {
    text-align: center;
    background-color: var(--color-list-table-bg) !important;
}

.uploadDoc-row {
    background-color: var(--color-input-disabled-bg) !important;
    box-shadow: 4px 4px 8px var(--color-error-btn-border);
    border: 1px solid transparent !important;
}

.uploadDoc-row td {
    border: none !important;
    padding: .5em;
}

.uploadDoc-row .div-message {
    height: fit-content;
    padding: 5px 10px !important;
    margin-right: var(--dl-col-padding-h-half);
    margin-left: 0;
}

.uploadDoc-row .as-list-table-cell .btn-group {
    justify-content: end;
}

.uploadDoc-row .uploadDoc-file-name {
    text-align: start !important;
    max-width: 100px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.uploadDoc-row .uploadDoc-file-name a {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    color: var(--color-text);
}

.uploadDoc-row .uploadDoc-file-name a:hover {
    color: var(--color-mat-input-outline);
}

.uploadDoc-row .uploadDoc-file-name a:hover span {
    display: flex !important;
    margin-right: .5em;
}

.uploadDoc-row .uploadDoc-download {
    color: var(--color-ico-text);
    background-color: var(--color-ico-bg);
    border: var(--border-width) solid var(--color-input-border);
}

.uploadDoc-row .uploadDoc-download:not(:disabled):hover {
    color: var(--color-light-text);
    background-color: var(--color-modal-confirm-bg) !important;
    border-color: var(--color-modal-confirm-bg);
}

.uploadDoc-row .uploadDoc-file-size,
.uploadDoc-row .uploadDoc-time,
.uploadDoc-row .uploadDoc-user {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--color-mat-input-label);
}

.uploadDoc-row .uploadDoc-file-size span.fal,
.uploadDoc-row .uploadDoc-time span.fal,
.uploadDoc-row .uploadDoc-user span.fal {
    margin-right: .5em;
}

.modal #uploadDoc {
    min-height: unset;
    padding-bottom: var(--margin-blocks-vert);
}

#uploadDoc.dl-panel .uploadDoc-cont {
    margin-left: 0;
    background: none;
    border-bottom: none;
    padding: 0;
}

.docupload-field-div {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    min-height: 22px;
    max-width: 22em;
}

.varbin-field-div {
    display: flex;
}

.varbin-field-div > * {
    cursor: pointer;
    margin-right: 10px;
}

.varbin-upload-button {
    color: var(--color-ico-save);
}

.varbin-delete-button {
    color: var(--color-ico-delete);
}

.uploadDoc-prev {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin: .5em 0 !important
}

.docupload-row-check,
.uploadDoc-row-check {
    width: 1.5em !important;
    height: 1.5em !important;
    margin: .8em 1em !important
}

.uploadDoc-progress {
    display: block;
    height: 2.5em;
    line-height: 2.5em;
    position: relative;
    text-align: left;
    background: var(--color-bg);
    border-radius: var(--border-radius);
    margin-top: auto;
    margin-right: var(--dl-col-padding-h-half);
    margin-bottom: var(--dl-col-padding-v-half);
    margin-left: var(--dl-col-padding-h-half);
}

.uploadDoc-progress-data {
    width: 0%;
    height: 100%;
    position: absolute;
    line-height: inherit;
    transition: width 0.4s ease;
    max-width: 100%;
    text-align: center;
    background: var(--color-progress-bg);
    color: var(--color-light-text);
    border-radius: var(--border-radius);
}

.docupload-file {
    display: none;
}

.doc-empty-file,
.btn-remove-docupload {
    width: 100% !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-radius: 0 !important;
}

.docupload-img-preview {
    cursor: pointer;
    flex: 1;
    width: 100%;
    min-height: 8em;
}

.docupload-img-placeholder {
    cursor: pointer;
    flex: 1;
    width: 100%;
    min-height: 8em;
    color: var(--color-mat-input-label);
    display: flex;
    align-items: center;
    justify-content: center;
}

.docupload-img-placeholder-disabled {
    flex: 1;
    width: 100%;
    min-height: 8em;
    color: var(--color-mat-input-label);
    background-color: var(--color-input-disabled-bg);
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
}

.docupload-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    border: dashed 1px var(--color-mat-input-label);
    border-radius: var(--border-radius);
    width: 100%;
    min-height: 250px;
    min-width: 500px;
    overflow-y: scroll;
    background-color: var(--color-grid-main-bg);
    cursor: pointer;
    box-sizing: border-box;
}

.docupload-dropzone span {
    opacity: 0.8;
    color: var(--color-mat-input-label);
}

.docupload-dropzone:hover,
.docupload-dropzone.inDragging {
    border: dashed 1px var(--color-modal-confirm-bg);
    background-color: rgba(152, 192, 244, 0.6);
}

.docupload-dropzone:hover span,
.docupload-dropzone.inDragging span {
    color: rgb(var(--pcolor-buttons-text));
}

.docupload-dropzone:focus {
    outline: none !important;
}

.docupload-preview {
    background: rgba(255,255,255,0.8);
    position: relative;
    display: inline-block;
    margin: 17px;
    vertical-align: top;
    border: 1px solid #acacac;
    border-radius: var(--border-radius);
    padding: 6px 6px 6px 6px;
    z-index: 3;
}

.docupload-image-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;    
    object-fit: cover;
}

.docupload-details {
    width: 100px;
    height: 100px;
    position: relative;
    background: #ebebeb;
    margin-bottom: 22px;
}

.docupload-filename {
    overflow: hidden;
    height: 100%;
}

.docupload-size {
    position: absolute;
    bottom: -28px;
    left: 3px;
    height: 28px;
    line-height: 28px;
}

.docupload-info {
    margin-left: 0;
}

.doc-file-loaded {
    opacity: 0.9;
}
/* #endregion DOCUPLOAD */

/* #region GAUGE*/
.gauge, 
.gauge-legend, 
.gauge-body{
    display: flex;
}
.gauge{
    flex-direction: column;
}
.gauge span{    
    white-space: nowrap;
}
.gauge-legend div{
    margin-right: 4em;
}
.gauge-legend div:last-child{
    margin-right: auto;
}
.gauge-body div{
    font-weight: bold;
    text-align: center;
    padding: 0.5em 2em;
}

.gauge-body div:first-child{
    border-top-left-radius: var(--border-radius-panel);
    border-bottom-left-radius: var(--border-radius-panel);
}

.gauge-body div:last-child{
    border-top-right-radius: var(--border-radius-panel);
    border-bottom-right-radius: var(--border-radius-panel);
}

.gauge-empty{
    font-size: 18px;
}
/*#endregion End GAUGE*/

/* #region IFRAME */
.iframeOverride{
    width: 100%;
    height: 100%;
    border: none;
    overflow: hidden;
    position: absolute;
}

.modal-iframe{
    width: 100%;
    height: 100%;
    border: none;
    overflow: hidden;
}
/* #endregion IFRAME */

/* #region Listval modal */
.modal-listval{
    max-height: 500px; 
    overflow: scroll;
}

.modal-table-listval{
    max-height: 5%;
}
/* #endregion Listval modal */

/* #region CUSTOM CHECKBOX and radius*/
input[type="checkbox"] {
    cursor: pointer;
    width: 1.7em;
    height: 1.7em;
    align-self: center;
    margin: 2.5px;
	accent-color: var(--color-mat-input-outline);
}

input[type="checkbox"]:disabled,
input[type="checkbox"][readonly]{
    accent-color: var(--color-toolbar-list-ico-sup);
    opacity: 0.7;
    pointer-events: none;
}

.label-plus-check {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius);
    background-color: #d3e5f1;
    padding-top: var(--margin-blocks-vert-half);
    padding-bottom: var(--margin-blocks-vert-half);
}

.label-plus-check label {
    color: black;
    margin-bottom: var(--margin-blocks-vert-half);
}
/* #endregion*/

/* #region CK editor*/
.cke_combo_text,.cke_button_icon{
    color: var(--color-tab-text) !important;
}

.cke_reset_all, .cke_reset_all *, .cke_reset_all a, .cke_reset_all textarea{
    background: var(--color-bg) !important;
    color: var(--color-tab-text) !important;
    opacity: 1  !important;
}

.cke-background-body{
    background-color: var(--color-input-bg) !important;
    color: var(--color-input-text) !important;
}
/* #endregion CK editor*/

/* #region Scrollbars (won't work in firefox :( )*/
::-webkit-scrollbar {
    width: var(--size-scrollbar);
    height: var(--size-scrollbar);
    background-color: #F5F5F5;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: rgb(85, 85, 85, .55);
}

::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #F5F5F5;
}

::-webkit-scrollbar-thumb:hover {
    background: #444;
}
/* #endregion Scrollbars*/

/* #region Iframe */
.as-iframe{
    width: 100%;
    height: 100%;
    border: none;
}
/* #endregion Iframe */

/* #region Thousands separtor*/
.thousands-sep{
    display: inline-block;
    width: 3px;
    user-select: none;
}
/* #endregion Thousands separtor*/

/* #region Map*/
.map-container{
    height: 100%;
}
/* #endregion Map*/

/* #region Dl Block */
.as-block-highlighted,
.as-col > .as-block-highlighted{
    background: var(--color-panel-header-bg);
    color: var(--color-panel-header-text);
    text-align: center;
    padding: 13px;
    border-radius: var(--border-radius);
    margin: 5px 1px 5px 1px;
}

.as-block-highlighted > *{
    display: inline-block;
}
/* #endregion */

/* #region Material */
.material-div {
    display: inline-block;
}

.material-td,
.material-td-docupload,
.material-td-html-parser {
    position: relative;
    margin-top: 0;
    margin-right: var(--material-td-margin-right);
    margin-bottom: var(--material-td-margin-bottom);
    margin-left: 0;
}

.material-td-margin {
    margin-top: .5em;
}

.dl-input {
    padding-top: 0;
    padding-right: var(--material-td-padding-right);
    padding-bottom: var(--material-td-padding-bottom);
    padding-left: 0;
}

td.dl-input:empty {
    width: 0;
}

.material-td .form-control ~ label,
.material-td-docupload .docupload-field-div ~ label,
.material-td-html-parser .form-control ~ label {
    color: var(--color-mat-input-label);
	text-transform: uppercase;
    position: absolute;
    width: fit-content;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
    transform: translate(0);
    transition: transform 0.15s ease-out, font-size 0.15s ease-out, background-color 0.2s ease-out, color 0.15s ease-out;
}

.material-td label span,
.material-td-docupload label span,
.material-td-html-parser label span {
    font-size: 9px;
    padding-left: .35rem;
    padding-right: .35rem;
    background-color: transparent;
    border-radius: var(--border-radius-form-control);
    white-space: nowrap;
    line-height: normal;
}

.material-td label .lang-flag {
    width: 9px;
    padding-right: .5em;
}

.form-control,
.material-td .form-control {
    margin-top: .25em;
	margin-bottom: .25em;
    font-size: 11px;
}

.form-control:not([type="checkbox"]):not([type="radio"]),
.material-td .form-control:not([type="checkbox"]):not([type="radio"]) {
    min-height: 22px;
}

/* Important: add [value] for textareas to work */
.material-td .form-control:focus:not([readonly]) ~ label, 
.material-td .form-control[value]:not([value=""]) ~ label {
    transform: translate(0, -48%);
}

/* Important: add [value] for textareas to work */
.material-td .form-control:focus:not([readonly]) ~ label span, 
.material-td .form-control[value]:not([value=""]) ~ label span {
    background-color: var(--color-mat-input-bg);
}

/**
 * FOCUS
 */
.material-td .form-control:focus:not([readonly]) {
	outline-color: var(--color-mat-input-outline);
}

.material-td:focus-within input.search:required ~ label,
.material-td:focus-within .form-control:not([readonly]) ~ label {
	color: var(--color-mat-input-outline) !important; 
}

/**
 * READ ONLY
 */
.material-td textarea.form-control[readonly] ~ label span,
.material-td select.form-control[readonly] ~ label span,
.material-td .as-tags[readonly] ~ label span,
.material-td input.form-control[type="text"][readonly] ~ label span,
.material-td input.form-control[type="select"][readonly] ~ label span,
.material-td input.form-control[type="password"][readonly] ~ label span {
    color: var(--color-mat-input-disabled-txt);
}

/**
 * FORM CONTROL CHANGED
 */
.material-td .form-control-changed:not(:required) ~ label {
    color: var(--color-input-changed-border) !important; 
}

/**
 * FORM CONTROL REQUIRED
 */
.material-td .form-control:required ~ label {
    color: var(--color-input-border-required) !important; 
}

/**
 * CHECKBOXES
 */
.material-td-checkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    margin-right: var(--material-td-margin-right);
    margin-bottom: var(--material-td-margin-bottom);
}

.material-td-checkbox input.form-control[type="checkbox"] {
	accent-color: var(--color-mat-input-outline);
    width: 1.25em;
    height: 1.25em;
    margin-left: 0;
    margin-right: 0; 
}

/**
 * SELECTS
 */
.material-td select.form-control:focus:not([readonly]) ~ label, 
.material-td select.form-control:has(option:checked) ~ label {
    transform: translate(0, -48%);
}

.material-td select.form-control:focus:not([readonly]) ~ label span, 
.material-td select.form-control:has(option:checked) ~ label span {
    background-color: var(--color-mat-input-bg);
}

/**
 * TEXTAREAS
 */
 .material-td textarea.form-control {
    padding-top: 4px;
    padding-bottom: 4px;
 }

/* Important: add [value] for textareas to work */
.material-td textarea.form-control:focus:not([readonly]) ~ label, 
.material-td textarea.form-control[value]:not([value=""]) ~ label, 
.material-td textarea.form-control:not(:empty) ~ label {
    transform: translate(0, -50%);
}

/* Important: add [value] for textareas to work */
.material-td textarea.form-control:focus:not([readonly]) ~ label span, 
.material-td textarea.form-control[value]:not([value=""]) ~ label span, 
.material-td textarea.form-control:not(:empty) ~ label span {
    background-color: var(--color-mat-input-bg);
}

/**
 * HTML PARSER
 */
.material-td-html-parser textarea.form-control {
    padding-top: 8px;
    padding-bottom: 4px;
    margin-top: 0px;
    border-top-left-radius: 0px;
}

.material-td-html-parser textarea.form-control:focus:not([readonly]) ~ label, 
.material-td-html-parser textarea.form-control[value]:not([value=""]) ~ label, 
.material-td-html-parser textarea.form-control:not(:empty) ~ label {
    transform: translate(0, -50%);
}

.material-td-html-parser textarea.form-control:focus:not([readonly]) ~ label span, 
.material-td-html-parser textarea.form-control[value]:not([value=""]) ~ label span, 
.material-td-html-parser textarea.form-control:not(:empty) ~ label span {
    background-color: var(--color-mat-input-bg);
}

/**
 * ML INPUTS
 */
.material-ml {
    padding-top: 1px;
    padding-bottom: 1px;
    margin-top: .75em;
}

.material-ml:first-of-type {
    margin-top: 0px;
}

/**
 * DOCUPLOAD
 */
.material-td-docupload .docupload-field-div {
    border-radius: var(--border-radius-form-control);
    border: var(--border-width) solid var(--color-input-border);
    color: var(--color-input-text);
    background-color: var(--color-input-bg);
}

.material-td-docupload .docupload-field-div ~ label {
    transform: translate(0, -49%);
}

.material-td-docupload .docupload-field-div ~ label span {
    background-color: var(--color-mat-input-bg);
}

/**
 * ERASE BTN
 */
.material-td .eraser-ico {
    position: absolute;
    top: 0;
    right: 0;
    color: var(--color-pagination-text);
    padding: .75em;
}

.material-td .eraser-ico .fa-eraser:hover {
    color: var(--color-input-border-required);
}

/**
 * MATERIAL FLEX DIV/TD
 */
td.flex-td .material-td {
    display: flex;
    align-items: center;
}

td.flex-td .material-td-html-parser {
    display: flex;
    flex-direction: column;
    align-items: start;
}

td.flex-td .as-row > :not(.as-col) {
    padding: 0;
}

td.flex-td .as-row .material-div {
    flex: 1;
}

td.flex-td:has(input.hide) {
    padding: 0;
}

td.flex-td .material-td:has(>input.hide) {
    margin: 0;
}

td.flex-td > .as-btn,
td.flex-td.force-margin .material-td {
    margin-top: 0 !important;
    margin-right: var(--material-td-margin-right) !important;
    margin-bottom: var(--material-td-margin-bottom) !important;
    margin-left: 0 !important;
}

.material-div.flex-div,
.material-div.flex-div .material-td,
.material-div.flex-div .material-td-docupload {
    display: flex;
    flex: 1;
}

td.flex-td .as-btn,
td.flex-td .material-td .form-control,
.material-div.flex-div .material-td .form-control {
    width: 100% !important;
}

td.flex-td .material-td-html-parser .form-control {
    width: 98% !important; /* To avoid flex-direction: column bug */
}

td.flex-td .material-td-docupload .docupload-field-div,
.material-div.flex-div .material-td-docupload .docupload-field-div {
    width: 100% !important;
    max-width: none;
} 

td.flex-td .material-td-docupload .docupload-field-div .docupload-img-preview,
.material-div.flex-div .material-td-docupload .docupload-field-div .docupload-img-preview {
    max-width: none;
    object-fit: cover;
    object-position: top;
}

td.flex-td .material-td .ico-after-div span,
td.flex-td .material-td .list-link,
.material-div.flex-div .material-td .ico-after-div span,
.material-div.flex-div .material-td .list-link {
    align-content: center;
}

/**
 * INFO FIELD DIV
 */
.info-field-div {
    margin-bottom: .5em;
}
/* #endregion */

/* #region Batch */
.batch-pointer {
    cursor: pointer;
}

.batch-general {
    cursor: pointer; 
    margin-right: .5em;
}

.batch-left {
    margin-left: .5em;
}

.batch-table {
    min-width: 200px; 
    margin: 1em; 
    font-size: var(--font-size-menu);
}
/* #endregion */

/* #region others */
.delete-override{
    display: flex; 
    align-items:center; 
    justify-content: center;
}

.dbs-message-del{
    max-height: 400px; 
    overflow-y: auto;
}

.scripts-line, 
.validate-tools-div{
    display: flex; 
    flex-direction: column; 
    align-items: center;
}

.validate-tools-btn{
    margin-bottom:var(--margin-blocks-vert); 
    width: fit-content;
}

.docs-view-files{
    text-align: center; 
    margin:auto;
}

.log-out-btn{
    margin-top: var(--margin-blocks-vert-half);
    margin-bottom: var(--margin-blocks-vert-half);
    width: fit-content!important;
}

.dl-obj-subdiv{
    display:flex; 
    width: 100%;
}
/* #endregion */

/* #region Expandable col */
@media only screen and (min-width: 1199px) { /* For LG cols */
    .expandable-col {
        cursor: pointer;
    }

    .expandable-col .panel-header {
        padding: 0;
    }

    .expandable-col:hover .panel-header {
        background-color: var(--color-panel-header-bg-hover);
    }

    .expandable-col .objsel-main-container,
    .expandable-col .dl-panel,
    .expandable-col .panel-header {
        height: 100%;
        border-radius: var(--border-radius);
    }

    .expandable-col .toolbar.toolbar-objsel {
        background-color: transparent;
    }

    .expandable-col .toolbar-objsel .toolbar-group .as-title,
    .expandable-col .panel-title {
        padding: 0; 
        justify-content: center; 
    }

    .expandable-col .toolbar-group:has(div.as-title),
    .expandable-col .toolbar-group .as-title {
        width: 100%;
    }

    .expandable-col .as-title,
    .expandable-col .dl-panel-text {
        writing-mode: vertical-rl;
        text-orientation: upright;
    }

    .expandable-col .toolbar-objsel .toolbar-group {
        margin: 0 !important;
    }

    .expandable-col .toolbar-objsel .toolbar-group > *:not(.as-title),
    .expandable-col .toolbar-objsel .toolbar-group.toolbar-group-toggleable-sm,
    .expandable-col .dl-panel main {
        display: none !important;
    }
}
/* #endregion */