
:root {
    --ccc: #ccc;
    --sidebar-active: rgba(82, 116, 252, 0.185);
    --sidebar-hover: rgba(90, 123, 255, 0.185);
    --table-head: white;
    --table-color: rgb(240, 238, 238);
    
}

.loading {
    position:fixed;
    width: 100vw;
    height: 100vh;
    z-index: 9999999;
    background-color: rgba(255,255,255,0.3);
}

/* width */
::-webkit-scrollbar {
    width: 13px;
}

::-webkit-scrollbar-thumb {
    border: 4px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: 9999px;
    background-color: #AAAAAA;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    border: 4px solid rgba(0, 0, 0, 0)!important;
    background: rgb(183, 183, 183); 
}

body {
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    line-height: normal;
}

p {
    margin: 0;
}

#navbar-gestionale {
    border-bottom: 1px solid #acacac;
}

.sidebar {
    position: fixed;
    background-color: rgb(250, 250, 250);
    width: 9vw;
    height: 100%;
    transition: width .5s;
    z-index: 1000;
    border-right: 1px solid #acacac;
}

.sidebar-main {
    width: 100%;
    margin-top:5vh;
}

.sidebar-ul {
    list-style-type: none;
    padding: 0;
}

.sidebar-ul li {
    vertical-align: middle;
}

.sidebar-submenu-active {
    background-color: rgb(57, 110, 189);
    padding: 2% 0;
    border-radius: 5px;
}

.sidebar-submenu {
    display: flex;
    flex-direction: column;
}

.sidebar-submenu-active * {
    color: white;
}

.sidebar-link {
    padding: 4.5% 0;
    font-size: .7vw;
}

@media (max-width: 1500px) and (max-height: 750px) {

    .sidebar-link {
        padding: 4.5% 0;
        font-size: .8vw;
    }

    .mt-2 {
        margin-top: 0.25rem !important;
    }

    .main-content {
        max-height: 85vh;
        overflow: auto;
    }

}

.sidebar-link:not(.sidebar-active):hover {
    background-color: var(--sidebar-hover);
}

.sidebar-active {
    background-color: var(--sidebar-active);
    border-right: 5px solid rgb(35, 90, 201);
}

.main-content {
    margin: 2vh .5vw 1vh 9.5vw;
}


.login-form {
    width: 25%;
    margin:auto;
    text-align: left;
    margin-top:10%;
    padding: 1% 5% 3% 5%;
}

.login-image {
    width: 100%;
    text-align: center;
    margin-bottom: 10%;
}

.login-form-error {
    width: 75%;
    margin:auto;
    text-align: center;
    padding: .5%;
    margin-bottom: 2%;
}

.login-form-error p {
    padding: 0;
    margin:0;
}

.login-form-title {
    width: 100%;
    margin:auto;
    text-align: center;

}

.login-form-bottom {
    display: flex; 
    flex-direction:row; 
    width:100%; 
    text-align:center;
    vertical-align: middle;
    align-items: center;
}

.login-form-submit {
    width: 50%;
    text-align: right;
    flex: 0 0 50%;
}

.login-form-remember {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
}

input:not(input[type="submit"]):not(input:disabled), textarea {
    background-color: white!important;
    text-align: center;
}

input:disabled {
    background-color: rgba(0, 0, 0, 0.1)!important;
    text-align: center;
}

input:not(input[type="submit"]):not(input[type="file"]), select, textarea, button.search-select, .page-link {
    border: 1px solid rgb(173, 172, 172)!important;
}

.d-flex * {
    flex-basis: auto;
}

.form-controls {
    display: flex;
    width: calc(91vw + 1%);
    position: absolute;
    bottom: 0;
    margin-left: -1%;
    padding: .3% 1%;
    border-top: 1px solid #acacac;
}

.w-40 {
    min-width: 40%!important;
}

.w-30 {
    min-width: 30%!important;
}

.w-20 {
    min-width: 20%!important;
}

.w-15 {
    min-width: 15%!important;
}

.w-10 {
    min-width: 10%!important;
}

.w-5 {
    min-width: 5%!important;
}

.mw-5 {
    max-width: 5%!important;
}

.mw-8 {
    max-width: 8%!important;
}

.mw-10 {
    max-width: 10%!important;
}

.mw-15 {
    max-width: 15%!important;
}

.mw-20 {
    max-width: 20%!important;
}

.mw-25 {
    max-width: 25%!important;
}
.mw-30 {
    max-width: 30%!important;
}
.mw-40 {
    max-width: 40%!important;
}

.mw-50 {
    max-width: 50%!important;
}

.mw-75 {
    max-width: 75%!important;
}


.mw-80 {
    max-width: 80%!important;
}

label {
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.material-icons.md-14 { font-size: 14px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-30 { font-size: 30px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

.title-row {
    display: flex;
    align-items: center;
    margin-bottom: 1%;
}

.subtitle-row {
    display: flex;
    margin-right: 1%;
}

.btns-right {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-grow: 1;
    margin-left: auto;
    text-align: right;
    width: 50%;
    gap: .5%;
    align-items: flex-start;
}

button, input, .card, textarea, select, .alert, a.btn {
    border-radius: 0!important;
}

.card {
    border-color: #acacac;
}

.no-data {
    width: 100%;
    color: rgb(123, 123, 123);
    font-style: italic;
}

textarea {
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    height: 25px;
    min-height: 0!important;
    text-align: center;
    white-space: pre-wrap!important;

}


.fixed-height {
    overflow-y: auto;
    overflow-x: hidden;
}

.mh-95 {max-height: 95vh;}
.mh-80 {max-height: 80vh;}
.mh-75 {max-height: 75vh;}
.mh-70 {max-height: 70vh;}
.mh-65 {max-height: 65vh;}
.mh-60 {max-height: 60vh;}
.mh-55 {max-height: 55vh;}
.mh-50 {max-height: 50vh;}
.mh-45 {max-height: 45vh;}
.mh-40 {max-height: 40vh;}
.mh-35 {max-height: 35vh;}
.mh-30 {max-height: 30vh;}
.mh-25 {max-height: 25vh;}
.mh-20 {max-height: 20vh;}

.form-control {
    padding: 0 .3vw !important;
}

.form-select {
    text-align: center;
}

.form-select:not(.form-select:disabled) {
    background-color: white;
}

.bg-ccc {
    background-color: var(--table-color);
}

.search-select .dropdown-menu {
    position: fixed!important;
    top: auto;
    left: auto;
    overflow-y: auto;
    width: max-content;
}



.search-select {
    max-height: 30vh;
    overflow-x: hidden;
    word-wrap: break-word;
    padding: 0;
    min-height: 25px;
}

.search-select #searchWord {
    position: sticky;
    top: 0;
    padding: .5rem!important;
    margin: -1px -1px 1px -1px;
    z-index: 900;
}

.search-select ::-webkit-scrollbar {
    background-color: white;
}

.search-select button {
    padding-top: 0!important;
    padding-bottom: 0!important;
}

.search-select .list-group button:hover {
    background-color: var(--bs-blue);
    color: white;
}

.list-group li:not(.active):hover {
    background-color: #38658a!important;
    color:white;
}

.collapsing {
    -webkit-transition: none;
    transition: none;
    display: none;
}

select {
    padding:0 30px 0 10px !important;
    -webkit-padding-end: 30px !important;
    -webkit-padding-start: 10px !important;
    text-overflow: ellipsis;
}

.search-select-span {
    width:90%; 
    overflow:hidden; 
    display:block; 
    white-space:initial; 
    text-overflow:ellipsis;
    padding-left:.5vw;
}

.form-error {
    font-size: 0.9rem;
    color: #dc3545;
    line-break: initial;
    width: 100%;
    text-align: center;
}

.input-group-text {
    padding: 0 2%!important;
}

.min-content {
    width: min-content;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    appearance: none;
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    appearance: textfield;
    -moz-appearance:textfield; /* Firefox */
}

a {
    text-decoration: none;
    display: block;
}

a.multi-link {
    display: flex;
    align-items: center;
    padding: 0!important;
} 

a.multi-link.collapsed:after {
    content: '\e5c5';
    font-family: "Material Icons";
    margin-left: auto;
    font-size: 1.2vw;
}

a.multi-link:after {
    content: '\e5c7';
    font-family: "Material Icons";
    margin-left: auto;
    font-size: 1.2vw;
}

.filter-icon::after {
    font-family: "Material Icons";
    content: '\ef4f';
    font-size: .5vw;
}

.sidebar-content a {
    width: 100%;
}

.sort {
    cursor: move;
}

.sort-neutral-0::after {
    content: ' \e5d7';
}

.sortable::after {
    font-family: "Material Icons";
    vertical-align: middle;
}

.sort-asc-1::after {
    content: ' \e5ce \2081';
}

.sort-desc-1::after {
    content: ' \e5cf \2081';
}

.sort-asc-2::after {
    content: ' \e5ce \2082';
}

.sort-desc-2::after {
    content: ' \e5cf \2082';
}

.sort-asc-3::after {
    content: ' \e5ce \2083';
}

.sort-desc-3::after {
    content: ' \e5cf \2083';
}

.sort-asc-4::after {
    content: ' \e5ce \2084';
}

.sort-desc-4::after {
    content: ' \e5cf \2084';
}

.sort-asc-5::after {
    content: ' \e5ce \2085';
}

.sort-desc-5::after {
    content: ' \e5cf \2085';
}

.sort-desc-6::after {content: ' \e5cf \2086';}
.sort-asc-6::after {content: ' \e5ce \2086';}
.sort-desc-7::after {content: ' \e5cf \2087';}
.sort-asc-7::after {content: ' \e5ce \2087';}
.sort-desc-8::after {content: ' \e5cf \2088';}
.sort-asc-8::after {content: ' \e5ce \2088';}
.sort-desc-9::after {content: ' \e5cf \2089';}
.sort-asc-9::after {content: ' \e5ce \2089';}


.check::after {
    content: ' \2713';
    color: green;
    font-weight: 1000;
}

.cross::after {
    content: ' \2715';
    color: rgb(197, 8, 8);
    font-weight: 1000;
}

.sortable {
    cursor: pointer;
}

.collapse-link {
    color: black;
    cursor: pointer;
}

h4 {
    margin: 0;
}

.page-link, .paginator-select {
    padding: .1rem 1rem!important;
    border-radius: 0!important;
    height: 100%;
}

.paginator-select {
    padding: .1rem 2rem!important;
    height: 100%;
}

.tabella {
    border-collapse: collapse;
    background-color: white;
    border-top: none;
    scroll-behavior: smooth;
    border-left: .5px solid #acacac;
    border-right: .5px solid #acacac;
    border-bottom: .5px solid #acacac;
}

table.cells-hidden-overflow tbody tr td {
    white-space: nowrap!important;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*.tabella tbody tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}*/

/*.tabella tbody tr {
    border-bottom: 1px solid #acacac;
}*/

.tabella thead {
    -webkit-box-shadow: inset 0 1px 1px #acacac, inset 0 -1px 1px #acacac;
    box-shadow: inset 0 1px 1px #acacac, inset 0 -1px 1px #acacac;
    background-color: white;
}

.tabella thead tr th {
    text-transform: capitalize;
    font-weight: bold;
}

.tabella thead tr th.sortable:hover {
    cursor: pointer;
}

.tabella tbody tr:not(.draggable-mirror) td {
    white-space: initial;
    vertical-align: top;
    word-wrap: break-word;
    max-width: 1vw;
}

.collection-table-title {
    border-style: solid;
    border-color: #acacac;
    border-width: 1px;
    border-bottom: none!important;
    background-color: var(--bs-primary);
}

/*.tabella tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.1);
}*/

table .hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.tabella thead tr th, .tabella tbody tr td, .tabella tfoot tr td {
    padding: .5% .2%;
    text-align: center;
}

.tabella-fixed-height {
    border-collapse: collapse;
    overflow-y: auto;
    overflow-x: hidden;
}

.tabella a {
    color: blue;
}

.tabella-fixed-height thead {
    border-collapse: collapse;
    z-index: 900;
    position: sticky;
    top: 0;
}

input[type="number"] {
    text-align: right!important;
}

.tabella button, .tabella textarea  {
    text-align: left;
}

.pagination {
    justify-content: right;
}

.utilita-section {
    flex-grow: 1;
    width: 50%;
    margin-top: 1vh;
}

.circle {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
}

.circle-red {
    background-color: rgb(193, 15, 15);
}

.circle-green {
    background-color: green;
}

.flex-grow {
    flex-grow: 1;
}

.flex-start {
    align-items: flex-start;
}

.filters {
    width: 15vw;
    padding: 1vh;
}

#tabellaMateriali tbody tr td * {
    font-size: 12px;
}

.background-body {
    background: var(--bs-body-bg);
}

.gestionale-title {
    width: 10vw;
}

.textarea {
    background-color: white;
    border: 1px solid rgb(173, 172, 172)!important;
    border-radius: 0;
    text-align: left;
    word-wrap: break-word;
    white-space: initial;
}

.textarea:focus {
    background-color: white;
}

.form-outline {
    white-space: nowrap;
}

.modal-riferimenti .modal-dialog {
    max-width: 90%!important;
    width: 90%!important;
}

.commessa-grid-operatori {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: .5vw;
}

.tabella tfoot {
    border-top: 2px solid #acacac!important;
}