html, body {
    height: 100%;
    font-size: 1em;
    _font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#toggleFiltersBtn {
    padding: 0;
    border: none;
    background: none;
}

    #toggleFiltersBtn i {
        font-size: 1.25rem;
    }

/*.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0px;
    margin-left: 0px;
    display: inline;
    border: 0px;
}

    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        border: 0px;
    }


table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td.dtr-control, table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th.dtr-control {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}*/

.dataTables_wrapper {
    margin-bottom: 5px;
}
    

.dataTable tbody tr.selected {
    background-color: #b0bed9
}

table.dataTable.table-hover > tbody > tr:hover > * {
    box-shadow: inset 0 0 0 9999px #ffc107;
}


/* Evidenziazione: Kit (consigliato) e Bundle (consigliato) */
.highlight-component {
    background-color: #dff4e6; /* verde chiaro */
    border-left: 10px solid #1e8f4a; /* verde pił scuro per contrasto */
    color: #0b3b17 !important;
}

.highlight-bundle {
    background-color: #e6f0ff; /* azzurro chiaro */
    border-left: 10px solid #1a73e8; /* blu per contrasto */
    color: #062a5a !important;
}

/* Variante alternativa: Kit = giallo caldo, Bundle = turchese */
.highlight-component-alt {
    background-color: #fff8e1; /* giallo very light */
    border-left: 10px solid #f0ad4e;
    color: #6a4a00 !important;
}

.highlight-bundle-alt {
    background-color: #e8fbfb; /* turchese chiaro */
    border-left: 10px solid #17a2b8;
    color: #07464a !important;
}

/* Forza background anche sulle celle <td> per le righe evidenziate */
.table.dataTable tbody tr.highlight-component td,
.table.dataTable tbody tr.highlight-bundle td {
    background-color: inherit; /* mantiene il background della riga come fallback */
    background-color: var(--highlight-bg) !important;
    xbox-shadow: none !important; /* rimuove l'inset shadow che sovrascrive il colore */
    x-webkit-box-shadow: none !important;
}

/* colori specifici */
.table.dataTable tbody tr.highlight-component {
    --highlight-bg: #dff4e6; /* verde chiaro per kit */
}

.table.dataTable tbody tr.highlight-bundle {
    --highlight-bg: #e6f0ff; /* azzurro chiaro per bundle */
}


/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 100px;
}

/* Prevent footer to go over the bottom of the page */
/*.body-container {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
    font-size: 1rem;
}*/

.container, .container-fluid {
    font-size: 0.85rem;
}

.navbar {
    font-size: 0.85rem;
    background-color: #a6e9d5;
}

    .navbar.bg-dark {
        _background-color: #020C18 !important;
        _background-color: #2783b0 !important;
        background-color: #164c66 !important;
        _background-color: #001F67 !important; /*demo-test*/
    }

.dropdown-item {
    font-size: 0.85rem;
}

label {
    _margin-bottom: 0.30rem;
}

.form-group {
    _margin-bottom: 2rem;
}

/*.footer {
    position: sticky;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    font-size: .80rem;
    background-color: #DFDFDF;
    border-top: solid 1px #888;
    z-index: 1000;
}
*/
.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    background-color: #DFDFDF;
    border-top: solid 1px #888;
    font-size: .80rem;
}

footer, #footer {
    font-size: .80rem;
    background-color: #DFDFDF;
    border-top: solid 1px #888;
    color: #999;
    padding: 10px;
    _text-align: center;
    line-height: normal;
    _margin: 0 0 25px 5px;
    font-size: .9em;
    _min-height: 25px;
    _border-top: 1px solid #5C87B2;
}

/**/
/*#flowBoxes {
    margin: auto;
    _padding: 20px;
    padding-bottom: 20px;
    min-width: 700px;
}

    #flowBoxes div {
        display: inline-block;
        position: relative;
        height: 30px;
        line-height: 30px;
        padding: 0 20px;
        border: 1px solid #ccc;
        margin-right: 2px;
        background-color: white;
    }

        #flowBoxes div.right:after {
            content: '';
            border-top: 1px solid #ccc;
            border-right: 1px solid #ccc;
            width: 23px;
            height: 23px;
            position: absolute;
            right: 0;
            top: -1px;
            background-color: white;
            z-index: 150;
            -webkit-transform: translate(12px,4px) rotate(45deg);
            -moz-transform: translate(12px,4px) rotate(45deg);
            -ms-transform: translate(12px,4px) rotate(45deg);
            -o-transform: translate(12px,4px) rotate(20deg);
            transform: translate(12px,4px) rotate(45deg);
        }

        #flowBoxes div.left:before {
            content: '';
            border-top: 1px solid #ccc;
            border-right: 1px solid #ccc;
            width: 23px;
            height: 23px;
            position: absolute;
            left: 0;
            top: -1px;
            background-color: white;
            z-index: 50;
            -webkit-transform: translate(-12px,4px) rotate(45deg);
            -moz-transform: translate(-12px,4px) rotate(45deg);
            -ms-transform: translate(-12px,4px) rotate(45deg);
            -o-transform: translate(-12px,4px) rotate(20deg);
            transform: translate(-12px,4px) rotate(45deg);
        }


        #flowBoxes div.active-1:after {
            background-color: #0d6efd;
        }

        #flowBoxes div.active-2:after {
            background-color: #0dcaf0;
        }

        #flowBoxes div.active-3:after {
            background-color: #ffc107;
        }

        #flowBoxes div.active-4:after {
            background-color: #198754;
        }

    #flowBoxes .active-1 {
        background-color: #0d6efd;
        color: white;
    }

    #flowBoxes .active-2 {
        background-color: #0dcaf0;
        color: white;
    }

    #flowBoxes .active-3 {
        background-color: #ffc107;
        color: white;
    }

    #flowBoxes .active-4 {
        background-color: #198754;
        color: white;
    }

    #flowBoxes div.canceled:after {
        background-color: red;
    }

    #flowBoxes .canceled {
        background-color: red;
        color: white;
    }
*/
#flowBoxes {
    display: flex; 
    justify-content: start;
    margin: 0;
    padding-bottom: 10px;
    min-width: auto; 
    width: 100%;
}

    #flowBoxes div {
        display: inline-block;
        position: relative;
        height: 35px;
        line-height: 35px;
        padding: 0 15px 0 25px;
        margin-right: 5px;
        background-color: white;
        border: 1px solid #ccc;
        font-size: 0.9rem;
        font-weight: 500;
        white-space: nowrap; 
        flex: 1;
        text-align: center;
    }

        #flowBoxes div.right:after {
            content: '';
            border-top: 1px solid #ccc;
            border-right: 1px solid #ccc;
            width: 24.5px; 
            height: 24.5px;
            position: absolute;
            right: -13px;
            top: 4px;
            background-color: inherit; 
            z-index: 10;
            transform: rotate(45deg);
            border-left: none;
            border-bottom: none;
        }

        #flowBoxes div.left:before {
            content: '';
            border-top: 1px solid #ccc;
            border-right: 1px solid #ccc;
            width: 24.5px;
            height: 24.5px;
            position: absolute;
            left: -13px;
            top: 4px;
            background-color: white; 
            z-index: 5;
            transform: rotate(45deg);
        }

    #flowBoxes .active-1 {
        background-color: #0d6efd;
        color: white;
        border-color: #0d6efd;
    }

    #flowBoxes .active-2 {
        background-color: #0dcaf0;
        color: white;
        border-color: #0dcaf0;
    }

    #flowBoxes .active-3 {
        background-color: #ffc107;
        color: black;
        border-color: #ffc107;
    }

    #flowBoxes .active-4 {
        background-color: #198754;
        color: white;
        border-color: #198754;
    }

    #flowBoxes .canceled {
        background-color: #dc3545;
        color: white;
        border-color: #dc3545;
    }

@@media screen and (max-width: 767px) {
    #flowBoxes {
        display: flex !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        gap: 0px;
    }
        #flowBoxes div.right,
        #flowBoxes div.left {
            font-size: 0.75rem !important;
            padding: 0 5px 0 15px !important; 
            min-width: 85px !important; 
            height: 30px !important; 
            line-height: 30px !important;
        }
            #flowBoxes div.right:after,
            #flowBoxes div.left:before {
                width: 21px !important;
                height: 21px !important;
                top: 4px !important;
            }
}



/* ------------------------ Forms ------------------------ */
.form-control {
    padding: 0.375rem 0.50rem;
    font-size: 0.85rem;
}

.input-group-text {
    font-size: 0.85rem;
}

.field-validation-error {
    color: red;
    font-size: 0.80rem;
}

.table-hover > tbody > tr:hover, .table.dataTable > tbody > tr:hover {
    _background-color: gainsboro;
    background-color: lightblue;
    _background-color: navajowhite;
}

.table th {
    padding: 0.35rem;
}

.table td {
    padding: 0.20rem 0.35rem;
    vertical-align: middle;
}

div.dataTables_length {
    display: none;
}


.page-header {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

/* ------------------------ Label ------------------------ */

.label-bold {
    font-weight: bold;
}

.contractStatus_Canceled {
    color: #fff !important;
    background-color: RGBA(108,117,125,1) !important;
}

.contractStatus_Preparation {
    color: #fff !important;
    background-color: RGBA(13,202,240,1) !important;
}

.contractStatus_Subscribed {
    color: #fff !important;
    background-color: RGBA(25,135,84,1) !important;
}

.contractStatus_Approved {
    color: black !important;
    background-color: RGBA(13,110,253,1) !important;
    
}

.contractStatus_Installed {
    color: white !important;
    background-color: RGBA(25,135,84,1) !important;
}

.contractStatus_Refused {
    color: #fff !important;
    background-color: RGBA(220,53,69,1) !important;
}

.contactCategory {
    margin-top: -1rem;
    margin-bottom: 1rem;
    font-size: .875em;
    color: #6c757d;
}

.contactSource {
    _margin-bottom: 0;
    font-size: .85em;
    _font-variant: small-caps;
    display: inline-flex !important;
    color: var(--bs-success-text-emphasis) !important;
    background-color: var(--bs-success-bg-subtle) !important;
    border-radius: var(--bs-border-radius) !important;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-color: var(--bs-success-border-subtle) !important;
    padding-right: .2rem !important;
    padding-left: .2rem !important;
    -padding-top: .25rem !important;
    -padding-bottom: .25rem !important;
}


/*1140 oppure 660*/
/*@media only screen and (max-width: 900px) {
    .infoDetails {
        float: left;
    }

    [class*="col-"] {
        width: 50%;
    }
    .col-12 {
        width: 100% !important;
    }
    .col-1 {
        width: 20%;
    }
    .col-2 {
        width: 30%;
    }
    .col-3 {
        width: 40%;
    }
    .col-8 {
        width: 100% !important;
    }
    .col-11 {
        width: 80%;
    }
    .col-10 {
        width: 70% !important;
    }
}*/

.tableFilters li {
    border: none !important;
    padding: 0;
    margin: 0px 2px 0px 0px;
}

.tableFilters .form-select {
    line-height: 1.5
}

/* toastr */

.toast-top-right {
    top: 60px;
    right: 12px;
}

.toast-for-modal {
    top: 36px;
    right: 644px;
}

/* ------------------------ Login ------------------------ */
#LoginArea {
    max-width: 400px;
    margin: 120px auto 120px auto;
}

    #LoginArea fieldset {
        border: none !important;
    }

/* ------------------------ Autocomplete ------------------------ */

.ui-autocomplete {
    position: absolute;
    z-index: 99999 !important;
    cursor: default;
    padding: 0;
    margin-top: 2px;
    list-style: none;
    background-color: #ffffff;
    border: 1px solid #ccc -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

    .ui-autocomplete > li {
        padding: 3px 20px;
    }

        .ui-autocomplete > li.ui-state-focus {
            background-color: #DDD;
        }

.ui-helper-hidden-accessible {
    display: none;
}

/* ------------------------ Validation Error ------------------------ */

.error {
    color: red;
    border-color: red;
    font-size: 12px;
}

/* ------------------------ Pdf Viewer ------------------------ */

#canvas_container {
    overflow: auto;
}

#canvas_container {
    _background: #333;
    background: #999999 !important;
    text-align: center;
    border: solid 3px;
    border-color: #5c5d5e;
}

.dropdown-menu {
    font-size: 0.95rem;
}

.nav-item .bi {
    margin-right: 3px;
}

@media (min-width: 992px) {
    .dropdown-menu .dropdown-toggle:after {
        border-top: .3em solid transparent;
        border-right: 0;
        border-bottom: .3em solid transparent;
        border-left: .3em solid;
    }

    .dropdown-menu .dropdown-menu {
        margin-left: 0;
        margin-right: 0;
    }

    .dropdown-menu li {
        position: relative;
    }

    .nav-item .submenu {
        display: none;
        position: absolute;
        left: 100%;
        top: -7px;
    }

    .nav-item .submenu-left {
        right: 100%;
        left: auto;
    }

    .dropdown-menu > li:hover {
        background-color: #f1f1f1
    }

        .dropdown-menu > li:hover > .submenu {
            display: block;
        }
}

.ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
    /* add padding to account for vertical scrollbar */
    padding-right: 20px;
}

/* ------------------------ Currency input ------------------------ */

.currencyinput {
    border: 1px inset #ccc;
}

    .currencyinput input {
        border: 0;
    }

/* ------------------------ Loading spinner autocomplete ------------------------ */

.inputcontainer {
    position: relative;
}

.icon-container {
    position: absolute;
    right: 10px;
    top: calc(50% - 10px);
}

.loader {
    position: relative;
    height: 20px;
    width: 20px;
    display: inline-block;
    animation: around 5.4s infinite;
}

@keyframes around {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.loader::after, .loader::before {
    content: "";
    background: white;
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    border-width: 2px;
    border-color: #333 #333 transparent transparent;
    border-style: solid;
    border-radius: 20px;
    box-sizing: border-box;
    top: 0;
    left: 0;
    animation: around 0.7s ease-in-out infinite;
}

.loader::after {
    animation: around 0.7s ease-in-out 0.1s infinite;
    background: transparent;
}


/* Remove default bullets */
ul, #myUL {
    list-style-type: none;
}

/* Remove margins and padding from the parent ul */
#myUL {
    margin: 0;
    padding: 0;
}

/* Style the caret/arrow */
.caret {
    cursor: pointer;
    user-select: none; /* Prevent text selection */
}

    /* Create the caret/arrow with a unicode, and style it */
    .caret::before {
        content: "\25B6";
        color: black;
        display: inline-block;
        margin-right: 6px;
    }

/* Rotate the caret/arrow icon when clicked on (using JavaScript) */
.caret-down::before {
    transform: rotate(90deg);
}

/* Hide the nested list */
.nested {
    display: none;
}

/* Show the nested list when the user clicks on the caret/arrow (with JavaScript) */
.active {
    display: block;
}


/* ------------------------ Signature pad ------------------------ */

.signature-pad {
    _position: absolute;
    _left: 0;
    _top: 0;
    _width: 400px;
    _height: 100px;
    background-color: white;
    border: 1px solid #000000;
}

/*  */

.livello-1 {
    margin-left:15px;
}

.livello-2 {
    margin-left: 30px;
}

.livello-3 {
    margin-left: 45px;
}

.livello-4 {
    margin-left: 60px;
}

.livello-5 {
    margin-left: 75px;
}


.mobile-status {
    display: none;
}

@media (max-width: 768px) {
    .desktop-status {
        display: none;
    }

    .mobile-status {
        display: inline-block;
    }
}
