/* **************************************************************************************************** */
/*                                                                                                      */
/*                           CLASSE PROTETTA - NON MODIFICARE IL CODICE                                 */
/*              LE MODIFICHE DI QUESTA CLASSE NON SONO PROPAGATE NEI MODULI DEL DARKFACES               */
/*                                                                                                      */
/* **************************************************************************************************** */

/* ********** INIZIO VARIABILI GENERALI ********** */
:root {
    --color-a-1: #ffffff;
    --color-a-2: rgba(255, 255, 255, 0.87);
    --color-a-3: #9ca3af;
    --color-a-4: #d8dee9;
    --color-a-5: #f2f2f2;
    --color-a-6: #f6f6f6;

    --color-b-1: #7dace5;
    --color-b-2: #5897fb;
    --color-b-3: #0d6efd;
    --color-b-4: #5e81ac;
    --color-b-5: #4c6a92;    
    --color-b-6: #0043a7;

    --color-c-1: #004100;
    --color-c-2: #198754;
    --color-c-3: #4a5c4f;

    --color-d-1: #8b0000;
    --color-d-2: #db3444;
    --color-d-3: #9d2631;
    --color-d-4: #dc3545;
    --color-d-5: #521c22;

    --color-e-1: #f6821f;
    --color-e-2: #da981b;
    --color-e-3: #865700;
    --color-e-4: #dd8f00;

    --color-f-1: #496485;
    --color-f-2: #384d67;
    --color-f-3: #4f545c;
    --color-f-4: #4a525c;
    --color-f-5: #2b3a4e;
    --color-f-6: #3f4b5b;
    --color-f-7: #333e4b;
    --color-f-8: #2d3641;
    --color-f-9: #2e3440;
    --color-f-10: #20262e;
    --color-f-11: #20252e;
    --color-f-12: #1b2027;
    --color-f-13: rgba(0, 0, 0, 0.1);
    --color-f-14: rgba(42, 50, 59, 0.75);
    --color-f-15: rgb(45, 49, 54);
    --color-f-16: #1a1f27;
    --color-f-17: #8d949f;
    --color-f-18: #c0c0c0;
    --color-f-19: #484848;

    --color-g-1: #000000;
    --color-g-2: rgba(0, 0, 0, 0.5);

    --color-h-1: #4e442b;
    --color-h-2: #857349;
    --color-h-3: #4e2b2b;
    --color-h-4: #854949;

    --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;

}
/* ********** FINE VARIABILI GENERALI ********** */

/* ********** INIZIO CORPO PRINCIPALE E NAVIGAZIONE ********** */
* {
    scrollbar-width: thin !important;
}

body {
    font-family: var(--font-family), sans-serif !important;
    font-size: 14px !important;
    -webkit-font-smoothing: antialiased !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 100% !important;
}

main {
    margin-left: 60px !important;
    width: calc(100% - 70px) !important;
}

#login-form {
    width: 25rem !important;
    padding: 3rem 3rem 2rem 3rem !important;
    border-radius: 10px !important;
}

#sidebar {
    width: 60px !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    padding: 0 !important;
    transition: width 0.3s ease-in-out;
    z-index: 1050 !important;
    overflow: hidden !important;
}
#sidebar.expanded {
    width: 235px !important;
    transition: width 0s ease-in-out;
}
#sidebar.expanded + main {
    margin-left: 235px !important;
    width: calc(100% - 245px) !important;
}
#sidebar.expanded #sidebar-appname {
    opacity: 1 !important;
}
#sidebar.expanded .sidebar-icon {
    display: none !important;
}
#sidebar.expanded .sidebar-item {
    display: flex !important;
}
#sidebar-content {
}
#sidebar-logo {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    padding-left: 7px !important;
}
#sidebar-logo img {
    vertical-align: middle !important;
    height: 45px !important;
    width: 45px !important;
    border: 0 none !important;
    margin-top: 10px !important
}
#sidebar-appname {
    opacity: 0 !important;
    font-size: 1.25rem !important;
    white-space: nowrap !important;
    transition: opacity 0.2s ease-in-out !important;
    position: relative !important;
    top: 5px !important;
}
#sidebar-toggle {
    border: none !important;
    background: transparent !important;
    font-size: 1.25rem !important;
}

.sidebar-icon {
    font-size: 1.25rem !important;
    gap: 25px !important;
}
.sidebar-item {
}
.sidebar-item button,
.sidebar-item a {
}
.sidebar-link:hover {
}
.accordion-item {
    background-color: unset !important;
    border: unset !important;
}

#navbar {
    height: 40px !important;
}
.navbar {
    margin-bottom: 0 !important;
}
.navbar-item {
}
.navbar-item:hover {
}

#navbar, #content {
    transition: margin-left 0.3s ease-in-out !important;
}

#breadcrumb {
    height: 40px !important;
    padding-left: 30px !important;
}
.breadcrumb {
    --bs-breadcrumb-margin-bottom: unset !important;
}
.breadcrumb-item {
}
.breadcrumb-item:hover {
}

#breadcrumb, #content {
    transition: margin-left 0.3s ease-in-out !important;
}

.content {
    padding: 10px 30px;
}

.content, .content-home {
    width: calc(100% - 12px) !important;
}

.view-form-title,
.modify-form-title{
    font-size: 1rem !important;
}
.view-form-title i,
.modify-form-title i{
}
.view-form-content,
.modify-form-content{
    padding: 1rem 1rem 0.2rem !important;
    border-radius: 10px !important;
}

.city-banner {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--color-a-1);
    background: var(--color-f-11);
    border: 2px solid var(--color-f-11);
    border-radius: 6px;
    padding: 6px 16px;
    font-size: 18px;
    font-weight: bold;
    z-index: 1000;
}
/* ********** FINE CORPO PRINCIPALE E NAVIGAZIONE ********** */

/* ********** INIZIO CLASSI GENERALI ********** */
.cursor-pointer {
    cursor: pointer !important;
}

.label-disabled {
}
.align-middle {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

.col-auto {
    width: 100%; /* Default per schermi piccoli */
}

@media (max-width: 1065px) {
    .col-custom-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 1065px) {
    .col-auto {
        width: 50%; /* col-6 */
    }
}

@media (min-width: 1550px) {
    .col-auto {
        width: 33.33%; /* col-4 */
    }
}

@media (min-width: 2029px) {
    .col-auto {
        width: 25%; /* col-3 */
    }
}

.col-40 {
    width: 40%;
}

.break-word {
    word-break: break-word;
}

.text-dark-success {
}

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

/* ********** PERSONALIZZAZIONE PER LIMES ********** */
.text-dark-warning {
}

.text-dark-danger {
}

.text-background-success {
    padding: 3px 5px !important;
}
.text-background-danger {
    padding: 3px 5px !important;
}
.text-background-primary {
    padding: 3px 5px !important;
}
.text-background-olive {
    padding: 3px 5px !important;
}
.text-background-warning {
    padding: 3px 5px !important;
}

#waiting {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1050;
    display: flex;
    justify-content: center;
    align-items: center;
}

#modalViewer {
    display: block;
}

.info-message {
}
.warning-message {
}
.error-message {
}
.info-message .btn-close,
.warning-message .btn-close,
.error-message .btn-close {
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") !important;
}

.tooltip.tooltip-left .tooltip-inner {
    text-align: left;
}
/* ********** FINE CLASSI GENERALI ********** */

/* ********** INIZIO FORM-CONTROL ********** */
.form-control {
    font-size: unset !important;
}
.form-control:focus {
    box-shadow: unset !important;
}
/* ********** FINE FORM-CONTROL ********** */

/* ********** INIZIO INPUT ********** */
input {
    outline: 0 none !important;
    border-radius: 4px !important;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 2.25rem !important;
}
input::placeholder {
    opacity: 1 !important;
}

.modify-form-content input {
}

.input-icon {
    position: relative !important;
}
.input-icon > input {
    padding-right: 30px !important;
}
.input-icon > i {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}
/* ********** FINE INPUT ********** */

/* ********** INIZIO SELECT2 ********** */
.select-icon {
    position: relative !important;
}
.select-icon > input {
    padding-right: 30px !important;
}
.select-icon > i {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

.select2-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 2.25rem !important;
}
.select2-container .select2-selection--single,
.form-select {
    outline: 0 none !important;
    border-radius: 4px !important;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 2.25rem !important;
    padding: 0.375rem 0.75rem !important;
    display: flex !important;
    align-items: center !important;
}

.modify-form-content .select2-container .select2-selection--single,
.form-select {
}

.select2-selection.select2-selection--single:focus {
    box-shadow: unset !important;
}
.select2-container .select2-selection--single .select2-selection__arrow {
   display: none !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
}
.select2-container .select2-selection__rendered {
    line-height: normal !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container .select2-selection__clear {
    padding-left: 10px !important;
    font-size: 1rem !important;
    display: flex !important;
    align-items: center !important;
    order: 2 !important;
}
.select2-container .select2-dropdown {
    border-radius: 4px !important;
    box-shadow: unset !important;
}
.select2-container .select2-results__option {
    padding: 8px 12px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
}
.select2-container--default .select2-results__option[aria-selected="true"] {
    overflow: auto !important;
}
.select2-search--dropdown {
    padding: 0.5rem !important;
}
/* ********** FINE SELECT2 ********** */

/* ********** INIZIO TOM-SELECT ********** */
.ts-control {
    border-radius: 4px !important;
    font-family: unset !important;
    font-size: unset !important;
    padding-left: 0.75rem !important;
}
.ts-control input {
    height: 1.15rem !important;
    font-family: unset !important;
    font-size: unset !important;
}
.ts-control input::placeholder {
}
.ts-dropdown {
    font-family: unset !important;
    font-size: unset !important;
}
.ts-dropdown-content {
    margin-top: 0.5rem !important;
}
.ts-dropdown .active {
}
.ts-dropdown [data-selectable].option {
    padding: 0.55rem !important;
    padding-left: 0.75rem !important;
}
.ts-wrapper.multi .ts-control > div {
    border: none !important;
    margin: unset !important;
    padding: unset !important;
}
.ts-wrapper.plugin-remove_button .item .remove {
    margin-left: 5px !important;
    margin-right: 0.5rem;
    font-size: 1rem !important;
    font-weight: bold !important;
    border-left: none !important;
}
.has-items .ts-control > input {
    display: none !important;
}

.modify-form-content .ts-control {
}
.modify-form-content .ts-wrapper {
    padding: 0 !important;
    border: none !important;
}
.modify-form-content .ts-wrapper.multi .ts-control > div {
    font-size: 0.88rem !important;
}
.modify-form-content .ts-dropdown-content .option {
    font-size: 0.88rem !important;
}
/* ********** FINE TOM-SELECT ********** */

/* ********** INIZIO DATATABLE ********** */
.table-dark thead th {
}
.table-dark thead > tr > th.dt-ordering-asc span.dt-column-order::before,
.table-dark thead > tr > th.dt-ordering-desc span.dt-column-order::after{
    opacity: 1 !important;
}
.table-dark td {
    vertical-align: middle; !important;
}
.table-dark > tbody > tr:nth-of-type(2n+1):not(.tr-grouping) > * {
}

.table-dark > :not(caption) > * > * {
    border-bottom-width: inherit !important;
}
.view-form-content .table-dark > :not(caption) > * > td {
}

.table-dark .dt-empty {
    text-align: start !important;
}
.th-operation {
    width: 60px !important;
}
div.dt-info {
    padding-bottom: 0.5rem !important;
}
div.dt-scroll-body {
    border-bottom-style: none !important;
}
.table-dark .table-button {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.td-tooltip-left .tooltip-inner {
    text-align: left !important;
    white-space: pre-line;
}

.table-dark > tbody > tr.tr-grouping > * {
    font-weight: bold !important;
}
.table-striped > tbody > tr.tr-grouping:nth-of-type(2n+1) > * {
    --bs-table-bg-type: inherit !important;
}
/* ********** FINE DATATABLE ********** */

/* ********** INIZIO TABS ********** */
.nav-tabs {
    border-bottom: none;
    justify-content: left;
    position: relative;
    padding-top: 15px;
    padding-left: 20px;
    margin-right: 40px;
    padding-bottom: 2px;
}
.nav-tabs::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
}
.nav-tabs .nav-link.active {
    border: none !important;
}
.nav-tabs .nav-link {
    border: none !important;
}
/* ********** FINE TABS ********** */

/* ********** INIZIO DASHBOARD ********** */
.dashboard-card {
    height: 220px !important;
    width: 475px !important;
    padding: 5px 25px 35px 15px !important;
    margin-top: 5px !important;
}
/* ********** FINE DASHBOARD ********** */

/* ********** INIZIO PROGRESS BAR ********** */
.progress  {
    position: relative;
}
.progress-text {
    position: absolute;
    width: 100%;
    text-align: center;
}
.progress-value-success {
}
.progress-value-danger {
}
.progress-value-warning {
}

table .progress  {
    height: 0.7rem;
}

table .progress-bar {
    font-size: 0.6rem;
}
/* ********** FINE PROGRESS BAR ********** */

/* ********** INIZIO BUTTON ********** */
.btn-small {
    --bs-btn-font-size: unset !important;
}

.file-upload {
    border-radius: 4px !important;
}
/* ********** FINE BUTTON ********** */

/* ********** INIZIO MANY CHECKBOX ********** */
.many-checkbox {
    padding: 1rem 1rem 0 1rem !important;
    border-radius: 4px !important;
    margin-bottom: 1rem !important;
}
/* ********** FINE MANY CHECKBOX ********** */

/* ********** INIZIO ONE TO MANY ********** */
.one-to-many {
    padding: 1rem !important;
    border-radius: 4px !important;
    margin-bottom: 0.5rem !important;
}
/* ********** FINE ONE TO MANY ********** */

/* ********** INIZIO SELECT AND DATES ********** */
.select-and-dates {
    padding: 1rem !important;
    border-radius: 4px !important;
    margin-bottom: 0.5rem !important;
}
/* ********** FINE SELECT AND DATES ********** */

/* ********** INIZIO WIZARD ********** */
.wizard-nav .nav-link {
    margin-right: 6px;
    border-radius: .375rem;
    transition: all .15s ease-in-out;
}
.wizard-nav .nav-link:hover {
    filter: brightness(0.9);
}
.nav-pills .nav-link.active {
    box-shadow: none;
}
/* ********** FINE WIZARD ********** */

/* ********** INIZIO POPOVER ********** */
.popover {
    max-width: 600px !important;
}
.popover-body {
    border-radius: 8px;
}
.popover-header {
    display: none !important;
}
/* ********** FINE POPOVER ********** */

/* ********** INIZIO CONFIRM MESSAGE ********** */
div:where(.swal2-container) div:where(.swal2-popup) {
}
div:where(.swal2-icon).swal2-warning {
}
/* ********** FINE CONFIRM MESSAGE ********** */

/* ********** INIZIO HOME PAGE LINK ********** */
.circle-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    background: transparent;
    font-family: sans-serif;
    cursor: pointer;
}

.circle-icon {
    width: 100px;
    height: 100px;
    position: relative;
}

.circle-icon svg {
    width: 100%;
    height: 100%;
}

.circle-icon i {
    font-size: 36px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.circle-label {
    margin-top: 8px;
    font-size: 1rem;
    text-align: center;
}
/* ********** FINE HOME PAGE LINK ********** */