/* elementi di base */
:root {
    --primary-color: #2e2d2a;
    --body-color: #e0e0e0;
    --main-red: #f33329;
}

body {
    background-color: var(--body-color) !important;
}

.bg-primary-color {
    background-color: var(--primary-color);
    width: 80%;
}

/* box shadow navbar */
.box-shadow-right {
    box-shadow: inset -25px 0px 35px -15px rgba(255, 255, 255, 1);
    /* Ombra a destra bianca */
}


/* Styling delle card --------------------------------------------------------------------------------------  */
.card {
    border-radius: 0%;
}

.card.card-login {
    border-radius: 15px;
    background-color: rgba(255, 255, 255, 0.719);
    box-shadow: 0px 0px 40px 20px rgba(215, 231, 231, 0.342);
}

.card .card-header {
    background-color: var(--main-red);
    opacity: 100%;
    width: 95%;
    border-radius: 10px;
    padding: 15px 15px;
    margin-top: -23px;
}

.card .card-header .card-title {
    color: white;
    font-size: 2em;
}

.card .card-header.card-header-login {
    justify-content: center;
}

/* Styling delle card del cruscotto ---------------------------------------------------------------------- */
.card .card-statistic-4 {
    background-color: var(--body-color);
    border: 2px solid #b4b4b4ad;
    border-radius: 20px;
}

.card .card-statistic-4 p {
    font-size: x-small;
}

.banner-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 40%;
}

/* Styiling card dei dati ------------------------------------------------------------------------------ */
.card .card-data {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    border: 2px solid #b4b4b4ad;
}

.card .card-data .card-header {
    background-color: var(--body-color);
    opacity: 100%;
    width: 100%;
    border-radius: 0px;
    padding: 10px 15px 5px;
    margin-top: 0px;
}

.card .card-data .card-header .card-title {
    color: black;
    font-size: large;
}

.card .card-data .card-body {
    background-color: white;
}

.card .card-data .card-body p {
    font-size: small;
}

.card .card-data .card-body p strong {
    color: rgb(141, 140, 140)
}

.card a {
    color: var(--main-red);
}

.card a:hover {
    color: red;
}

/* Styling dei form -------------------------------------------------------------------------------------- */
.form-control {
    border: 2px solid #b4b4b4ad;
}

.form-control:focus {
    border-color: var(--main-red) !important;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6) !important;
}

.form-group {
    margin: 1.5vh;
}

.form-group .form-field-label {
    color: black;
    font-size: small;
    font-weight: bold;
}

.flatpickr-day.selected {
    background-color: var(--main-red) !important;
    border-color: #c46863 !important;
}

.flatpickr-day.today {
    border-color: #c46863 !important;
}

::-moz-selection {
    /* Code for Firefox */
    background: #ca534d6c;
}

::selection {
    background: #ca534d6c;
}

.form-control:disabled,
.form-control[readonly] {
    background-color: white !important;
}

.select2 {
    width: 100% !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice{
    background-color: var(--main-red) !important;
}

.select2-container.select2-container--open .select2-selection--single {
    background-color: #fefeff;
    border: 2px solid;
    border-color: var(--main-red);
}

.select2-container.select2-container--focus .select2-selection--multiple,
.select2-container.select2-container--focus .select2-selection--single {
    background-color: #fefeff;
    border: 2px solid;
    border-color: var(--main-red);
}

.select2-container--default .select2-selection--single {
    border: 2px solid #b4b4b4ad !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--main-red) !important;
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.753) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: black !important;
    line-height: 40px !important;
    padding-left: 15px !important;
}

/* Styling dei bottoni ---------------------------------------------------------------------------------- */
.btn.btn-magic {
    background-color: var(--main-red);
    border-radius: 15px;
    color: white;
    font-size: 24px;
}

.btn.btn-magic.btn-small {
    border-radius: 18px;
    font-size: 16px;
}

.btn.btn-magic-secondary {
    background-color: rgb(105, 105, 105);
    border-radius: 15px;
    color: white;
    font-size: 24px;
}

.btn.btn-magic-secondary.btn-small {
    border-radius: 18px;
    font-size: 16px;
}

.btn.datatable-btn {
    height: 30px;
    width: 30px;
    align-items: center;
    margin-top: 2px;
    margin-bottom: 2px;
}

.btn.datatable-btn .datatable-icon {
    width: 90%;
}

/* Styiling della nabar che appare su schermi piccoli -------------------------------------------------- */
.row.navbar-small-screen {
    background-color: black;
    min-height: 50px;
    align-items: center;
}

.row.navbar-small-screen a {
    font-size: x-large;
}

.row .navbar-brand {
    margin-bottom: 20px;
    ;
    margin-top: -60px;
    padding: 20px;
}

.row .navbar-brand img {
    vertical-align: bottom;
}

@media only screen and (min-width: 1024px) {
    .row.navbar-small-screen {
        display: none;
    }
}

@media only screen and (min-width: 1024px) {
    .row .navbar-brand {
        display: none;
    }
}

/* Styling della sidebar ------------------------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {
    .main-sidebar {
        margin-top: 60px !important;
    }
}

body.sidebar-gone .main-sidebar {
    left: -300px;
}

.main-sidebar {
    overflow: visible !important;
    margin-top: 3rem;
    margin-left: 1rem;
    height: 85%;
    border-radius: 20px;
    background-color: black;
}

.main-sidebar .sidebar-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-x: hidden;
    overflow-y: auto;
    height: calc(100% - 8rem)
}

.main-sidebar .sidebar-container::-webkit-scrollbar {
    background-color: transparent;
    width: 6px;
}

.main-sidebar .sidebar-container::-webkit-scrollbar-thumb {
    background-color: var(--main-red);
    border-radius: 6px;
}

.main-sidebar .sidebar-brand {
    margin-top: -30px;
    margin-bottom: 80px;
}

.main-sidebar .sidebar-brand a .header-logo {
    width: 70%;
    height: auto;
}

.main-sidebar .sidebar-menu li a {
    height: 40px;
    color: white;
}

.main-sidebar .sidebar-menu li a:hover {
    background-color: #2e2d2a;
}

.main-sidebar .sidebar-menu li.active a {
    background-color: #2e2d2a !important;
    color: white !important;
}

.dropdown-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin-left: 20px;
    margin-right: 20px;
}

.main-sidebar .dropup {
    align-self: flex-end;
    width: 100%;
    justify-content: center;
    margin-top: 10px;
}

.main-sidebar .dropup a {
    height: 40px;
    color: white;
}

.main-sidebar .dropup a:hover {
    height: 40px;
    color: #aaa8a5;
}

.main-sidebar .dropup .dropdown-item:hover {
    background-color: #363636fd
}

.main-sidebar .dropup .dropdown-menu.show {
    background-color: #2e2d2a;
}


/* Styling main content -------------------------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {
    .main-content {
        padding-top: 0px !important;
    }
}

.main-content {
    padding-top: 60px;
}

/* Styling delle datatables ---------------------------------------------------------------------------- */
.datatable-head {
    overflow: hidden;
    box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.05);
    border: 1px solid #ddd;
}

table.dataTable tbody th,
table.dataTable tbody td {
    padding: 2px 2px !important;
}

.truncate {
    max-width: 10ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

table.dataTable tbody tr.selected>* {
    box-shadow: inset 0 0 0 9999px var(--main-red) !important;
    color: white !important;
}

.page-item .page-link {
    color: black !important;
    box-shadow: 2px 2px 2px rgba(182, 0, 0, 0.568);
}

.page-item.active .page-link {
    color: white !important;
    background-color: var(--main-red) !important;
    border-color: var(--main-red) !important;
}

div.dt-processing>div:last-child>div {
    background: var(--main-red) !important;
}

/* Styling delle tabs nei tab menu ------------------------------------------------------------------- */
.nav-tabs {
    --bs-nav-tabs-border-width: 2px;
}

.nav.nav-tabs .nav-item .nav-link.tab-item {
    color: black;
    font-weight: bold;
}

.nav.nav-tabs .nav-item .nav-link.tab-item.active {
    color: var(--main-red);
}

.tab-bordered .tab-pane {
    border: 2px solid #d8d8d8ad;
}

/* Styiling delle immagini --------------------------------------------------------------------------- */
.login-logo {
    width: 100%;
    margin-bottom: 80px;
}

/* Styling dei modal --------------------------------------------------------------------------------- */
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
    background-color: rgb(105, 105, 105) !important;
}

div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){
    background-color: var(--main-red) !important;
}

/* Styiling dei grafici ------------------------------------------------------------------------------- */
.stats-chart{
    justify-self: center;
    height: 80px !important;
}