html,
body {
    font-family: "Poppins", "Inter", "Roboto", "Helvetica" !important;
    line-height: normal;
}


.rz-body {
    min-height: 0;
    overflow: auto;
}

.rz-layout {
    background-image: var(--background-image);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
    height: 100dvh;
    overflow: hidden;
}

a,
.btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
}

h1:focus {
    outline: none;
}

.valid.modified:not([type="checkbox"]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.rz-card {
    height: calc(100dvh - 85px);
}

.rz-card-auto-height {
    height: auto;
}

:not(.rz-expanded-row-template) > .rz-data-grid > .rz-data-grid-data {
    max-height: calc(100dvh - 280px);
}

.rz-text-truncate {
    overflow: visible;
}

.rz-form-field-label {
    font-size: 1.1rem !important;
}

.rz-body {
    padding-inline: var(--rz-layout-body-padding);
    padding-block: 5px;
}

.rz-datatable {
    border: 0px !important;
}

.rz-group-header {
    border-bottom: 0px;
}

.resizable_editor .rz-html-editor-source.rz-textarea {
    flex: unset !important;
}

.rz-datatable-loading,
.rz-loading-indicator,
.grid-loading-indicator {
    background: transparent !important;
    box-shadow: none !important;
}

:not(.rz-no-border) > .rz-data-grid-data {
    border: var(--rz-grid-cell-border) !important;
    border-radius: 10px;
}

.rz-grid-table.rz-grid-gridlines-both > tbody > tr:last-of-type > td {
    border-bottom: 0px;
}

.rz-checkbox-list-horizontal {
    margin: 10px;
}

.valid.modified:not([type="checkbox"]) {
    outline: unset !important;
}

.rz-data-grid-tab .rz-data-grid-data {
    max-height: calc(100dvh - 315px) !important;
}

.rz-data-grid-full-height .rz-data-grid-data {
    max-height: 100% !important;
    min-height: 100% !important;
}

.rz-data-grid-unset-height .rz-data-grid-data {
    max-height: unset !important;
    min-height: unset !important;
}

.rz-group-header {
    padding-inline: 0px;
    padding-block: var(--rz-grid-group-header-padding);
}

.rz-dialog {
    max-height: calc(100dvh - 100px);
}

    .rz-dialog .rz-listbox-list {
        max-height: calc(100dvh - 300px);
    }

.rz-pager {
    flex-wrap: nowrap !important;
}

.no-select {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Standard */
}

@font-face {
    font-family: "dblu";
    src: URL("lib/font/MuseoModerno-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Roboto";
    src: URL("lib/font/Roboto-Light.TTF") format("truetype");
}

@font-face {
    font-family: "Poppins";
    src: URL("lib/font/Poppins-Regular.ttf") format("truetype");
}

.rz-layout::-webkit-scrollbar-thumb, .rz-layout ::-webkit-scrollbar-thumb, .rz-scrollbars::-webkit-scrollbar-thumb, .rz-scrollbars ::-webkit-scrollbar-thumb {
    border: 5px solid rgba(0,0,0,0) !important;
}


@font-face {
    font-family: 'Font Awesome';
    font-style: normal;
    font-weight: 900;
    src: url('lib/font/fa-solid-900.woff2') format('woff2');
}

@font-face {
    font-family: 'Font Awesome 6 Brands';
    font-style: normal;
    font-weight: 400;
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/webfonts/fa-brands-400.woff2') format('woff2');
}

.font-awesome {
    --rz-icon-font-family: 'Font Awesome';
}

.font-awesome-brand {
    --rz-icon-font-family: 'Font Awesome 6 Brands';
}

.form-content {
    max-height: calc(100dvh - 225px);
    overflow: auto;
}

.form-content--compact {
    max-height: calc(100dvh - 240px);
    overflow: auto;
}

.form-content--tabitem {
    max-height: calc(100dvh - 290px);
    overflow: auto;
}

.rz-accordion {
    border: 1px solid var(--rz-body-background-color);
}

    .rz-accordion .rz-accordion-header {
        background-color: var(--rz-body-background-color);
        margin: var(--rz-accordion-item-margin);
    }

.cell-inactive {
    opacity: 0.4;
    pointer-events: none;
}

.cell-editable {
    display: block;
    width: 100%;
    cursor: pointer;
    min-height: 24px;
    padding: 2px 4px;
    border-radius: 8px;
}

    .cell-editable:hover {
        background: var(--rz-primary-light);
    }

:root {
    --main-color: #bee3ff;
    --main-dark-color: #001871;
    --rz-header-min-height: 1rem !important;
    --rounded-radius: 30px;
    --rz-menu-top-item-background-color: transparent;
    --rz-header-shadow: none;
    --rz-menu-top-item-padding-inline: 0px;
    --rz-menu-top-item-padding-block: 3px;
    --rz-menu-top-item-border-radius: 9px;
    --rz-card-border-radius: 20px;
    --rz-context-menu-padding-block: 0px;
    --rz-menu-border-radius: 9px;
    --rz-header-background-color: transparent;
    --rz-text-font-family: "Poppins";
    --rz-text-body1-margin-block-end: 0px;
    --rz-menu-top-item-hover-background-color: var(--rz-body-background-color);
    --rz-menu-item-hover-background-color: var(--rz-body-background-color);
    --rz-layout-body-padding: 10px 10px;
    --rz-footer-background-color: transparent;
    --rz-footer-padding: 10px 10px;
    --rz-footer-padding: 10px 30px;
    --rz-border-radius: 10px;
    --rz-gap: 1rem;
    --rz-scrollbar-border-radius: 16px;
    --rz-scrollbar-color: var(--rz-base-200);
    --rz-scrollbar-size: 20px;
    --rz-dialog-border-radius: 12px;
    --rz-switch-checked-background-color: var(--rz-primary-dark);
    --rz-switch-background-color: var(--rz-base-300);
}

.rz-dialog-wrapper:has(.dialog-over-fullscreen) {
    z-index: 10001 !important;
}

.row > * {
    padding-right: calc(var(--bs-gutter-x) * .2);
    padding-left: calc(var(--bs-gutter-x) * .2);
}

.rz-switch.rz-switch-checked .rz-switch-circle:hover:not(.rz-disabled):before {
    box-shadow: none;
}

.rz-progressbar-indeterminate.rz-progressbar-primary .rz-progressbar-circular-value {
    stroke: #ffffffa8;
}

.rz-layout .rz-body:has(.fullscreen) {
    position: fixed;
    top: 0;
    left: 0;
    width: 100dvw;
    height: 100dvh;
    padding: 0;
    z-index: 9999;
}

.fullscreen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100dvw;
    height: 100dvh;
    background-color: var(--rz-card-background-color);
    z-index: 9999;
}

.rz-tabview-panel {
    padding-top: 10px;
    padding-bottom: 0px;
    padding-inline: var(--rz-tabs-padding);
}

.rz-footer {
    padding-inline: var(--rz-footer-padding);
    padding-top: 0px;
    padding-bottom: 5px;
}

.rz-header {
    padding: 5px 30px 0px 30px;
}

.rz-custom-header {
    width: 100%;
}

.rz-navigation-item {
    min-width: 130px;
}

.rz-menu > .rz-navigation-item > .rz-navigation-item-wrapper {
    justify-content: center;
}

    .rz-menu > .rz-navigation-item > .rz-navigation-item-wrapper > .rz-navigation-item-link {
        justify-content: center;
    }

.rz-navigation-item-wrapper-active {
    background-color: var(--rz-body-background-color);
}

.rz-navigation-item-text {
    font-size: 18px;
}

.rz-menu > .rz-navigation-item > .rz-navigation-item-wrapper > .rz-navigation-item-link {
    line-height: 0px;
}

.rz-navigation-item-text {
    flex: unset;
}

.no-border-field,
.no-border-field .rz-form-field-content {
    border: none !important;
    box-shadow: none !important;
}

.rz-multiselect, .rz-dropdown {
    justify-content: center;
}

.rz-button-md {
    padding: .5rem 1rem;
    line-height: 1.25rem;
    min-height: 2.5rem;
    min-width: 2.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 1.25px;
    text-transform: uppercase;
}

.rz-header p, .rz-header i:not(.rz-navigation-item-icon-children):not(.rz-navigation-item-icon), .rz-footer p, .rz-footer span, .rz-footer a {
    text-shadow: 0px 0px 3px #000;
}

/* Styling schermata di caricamento F5 / Avvio iniziale */
#app-loading-indicator {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #082DB4;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999; /* z-index molto alto per sovrapporsi a tutto */
}

.loading-container {
    text-align: center;   
    font-family: "Poppins", "Inter", "Roboto", "Helvetica" !important;
    color: #fff;
}

.spinner {
    background-image: url('/dblu/loading.gif');    
    background-position: center;    
    background-repeat: no-repeat;    

    background-size: contain;
    height: 113px;
    width: 123px;
}


