/* @import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); */
:root {
    --fc-button-bg-color: rgba(11,86,55,1);
    --drawer-background: rgba(14,34,56,1) !important;
    --drawer-width-left: 260px !important;
    --bs-info-rgb: 33,150,243; /* --mud-palette-info */
    --bs-warning-rgb: 255,152,0; /* --mud-palette-warning */
    --bs-danger-rgb: 244,67,54; /* --mud-palette-error */

    --bs-blue: #348fe2;
    --bs-indigo: #8753de;
    --bs-purple: #727cb6;
    --bs-pink: #fb5597;
    --bs-red: #ff5b57;
    --bs-orange: #f59c1a;
    --bs-yellow: #ffd900;
    --bs-green: #32a932;
    --bs-teal: #49b6d6;
    --bs-lime: #90ca4b;
    --bs-cyan: #49b6d6;
    --bulma-border: rgb(224, 224, 224);
}

html, body {
    /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
    font-family: 'Open Sans', sans-serif;
    letter-spacing: .01071em;    
    /*overscroll-behavior: none;*/
}


a, .btn-link {
    color: #0366d6;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    color: #000000;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

#page-loading {
    display: flex;
    position: fixed;
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #CCCCCC88;
    z-index: 9999;
}

.form-group .validation-message {
    float: right;
}


.select2-container .loading-results {
    display: none;
}

.griglia-tabella.row {
    /*margin: 0px -12px;*/
    margin-left: 0px;
    margin-right: 0px;
    border: 1px solid black;
}

.griglia-tabella.griglia-tabella-rows > .row {
    margin-left: 0px;
    margin-right: 0px;
    border-left: 1px solid black;    
    border-right: 1px solid black;
}

    .griglia-tabella.griglia-tabella-rows > .row:nth-child(1) {
        border-top: 1px solid black;
    }

    .griglia-tabella.griglia-tabella-rows > .row:nth-last-child(1) {
        border-bottom: 1px solid black;
    }

    .griglia-tabella:not(.griglia-tabella-rows) > div {
        padding: 0;
        background-color: white;
        border: 1px solid black;
    }

    .griglia-tabella.griglia-tabella-rows > div > div {
        padding: 0;
        background-color: white;
        border: 1px solid black;
    }
    
    .griglia-tabella .mud-input-control {
        margin-top: 0; /* RIMOSSO !important*/
        margin-left: 6px;
        margin-right: 6px;
    }

    .griglia-tabella .mud-input {
        margin-top: 0 !important;
    }

    .griglia-tabella .mud-divider {
        height: 5px !important;
    }

    .griglia-tabella.griglia-tabella-flex > div {
        display: flex;
    }

.griglia-tabella-input {
    width: 100%;
    padding: 4px 8px;
    border: 0;
}

.griglia-tabella-label {
    
}

textarea.griglia-tabella-input {
    margin-bottom: -6px; /* HACK ALTRIMENTI SU EDGE RIMANE UN MARGINE NONOSTANTE SIA 0 */
}

@media (max-width: 767.9px ) {
    .griglia-tabella .cell-label {    
            border-bottom: 0px !important;
    }

    .griglia-tabella .cell-text {
        border-top: 0px !important;
    }
}

/* GRIGLIA TABELLA MARGINI NEGATIVI */
.griglia-tabella-v3 {
    margin-left: 0px;
    margin-right: 0px;
    outline: 2px solid black;
}

    .griglia-tabella-v3 > div {
        outline: 1px solid black;        
        background-color: white;
        position: relative;
    }


    .griglia-tabella-v3 .mud-input-control {
        margin-top: 0; /* RIMOSSO !important*/
        margin-left: 6px;
        margin-right: 6px;
    }

    .griglia-tabella-v3 .mud-input {
        margin-top: 0 !important;
    }

    .griglia-tabella-v3 .mud-divider {
        height: 5px !important;
    }
/*.mud-nav-item.active > .mud-nav-link,
.mud-nav-link.active {    
    color: #00bac7 !important;
    background-color: rgba(0,186,199,.12) !important;
}*/
/*
.mud-nav-link.active {
    color: var(--mud-palette-drawer-text) !important;
    background-color: #ffb604ff !important;
}

.mud-nav-link.mud-nav-link-disabled {
    color: #ffffff !important;    
}
*/
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}  

[hidden] {
    display: none !important;
}

.tendina-ore-minuti{
    min-width: 62px;
}

.nowrap {
    white-space: nowrap;
}



.mt-label {
    margin-top: 8px !important; /* SERVE PER ALLINEARE IN ALTEZZA EVENTUALI PULSANTI A TEXTBOX NUMERICBOX ecc A FIANCO. VALORE UGUALE A .mud-input-control.mud-input-control-margin-dense  */
}


.adornment-icon-end .mud-input-adornment-end {
    margin-left: 0px;
    margin-inline-start: 0px;
}

.adornment-text-end .mud-input-adornment-end p {
    padding-bottom: 6px;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-inherit {
    cursor: inherit !important;
}

.menu-logo {
    /*background-color: #2a2a2a;*/
    margin: 0px auto;
    cursor: pointer;
    /*max-height: 92px;*/
    max-height: 120px;
    max-width: 238px;
}

/* Easy way al posto di flex-grow-1 */
.separator {
    flex-grow: 1 !important;
}

.row {
    /*--bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0.5rem;*/
}

.fc-col-header th {
    background-color: rgba(246,247,248,.2);
    border-bottom-width: 2px;
    padding: .53125rem;
}

    .fc-col-header th a {
        text-transform: uppercase;
    }

.fc .fc-button {
    border-radius: 1.5em;
    padding: 0.4em 1.5em;
}

.fc .fc-toolbar-title{
 text-transform: uppercase;
 font-weight: bold;
}


/* --- ON MOBILE --- */
@media (max-width: 767.9px) {
    .fc-prev-button,
    .fc-next-button {
        padding: 0.4em 0.8em !important;
    }
}


.firma-container {
    width: 100%;
    height: 200px;
    background-color: white;
    border: 1px solid darkgray;
}

.text-bold {
    font-weight: bold;
}

.table-toolbar-text {
    color: white;
    padding-top: 12px; 
    font-size: 16px;
}

textarea.mud-input-slot {
    min-height: 20px; /* ALTRIMENTI COMPARIVA LA BARRA LATERALE*/
}



@media (max-width: 1440px) {
    .fc-header-toolbar {
        flex-direction: column;
    }

        .fc-header-toolbar .fc-toolbar-title {
            margin: 16px 0px;
        }
}

.align-left {
    display: flex;
    justify-content: left;
}

.align-right {
    display: flex;
    justify-content: right;
}

.align-center-xy {
    display: flex;
    justify-content: center;
    align-items: center;
}

.align-center-x {
    display: flex;
    justify-content: center;
}

.align-center-y {
    display: flex;
    align-items: center;
}

.fc-event,
.fc-daygrid-day-frame,
.fc-timegrid-slot-lane {
    cursor: pointer;
}

/*.d-flex-1 {
    display: flex !important;
    flex: 1 1 0% !important;
}*/

.sort-direction-icon {
    padding: 4px !important;
}

.header-cella-pulsanti {
    width: 1px;
}

.cella-pulsanti {
    white-space: nowrap;
    justify-content: right !important;
    padding: 0px 6px !important;      
}

    .cella-pulsanti .mud-icon-button {
        margin: 0;
        padding: 8px;
    }

    .cella-pulsanti:before {
        margin-right: auto;
        margin-left: 12px;
    }

.bg-blue {
    background-color: var(--bs-blue) !important;
}

.bg-teal {
    background-color: var(--bs-teal) !important;
}

.bg-orange {
    background-color: var(--bs-orange) !important;
}

.bg-red {
    background-color: var(--bs-red) !important;
}

.sezione-campi {
    margin-top: 16px;
    font-style: italic;
}

.sezione-campi > hr {
    margin-top: 4px;
}

.popover-width-auto {
    width: auto !important;
    max-width: 300px !important;
}

/*--- MENU LATERALE ----*/

aside.menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    width: 240px;
    height: 100vh;
    padding: 0;
    box-shadow: none;
    background: rgba(14,34,56,1);
}

aside.menu .menu-label {
    padding: 0 .75rem;
    margin-top: .75rem;
    margin-bottom: .75rem;
}

    aside.menu .menu-list a {
        background-color: rgba(14,34,56,1);
        border-radius: 0;
        color: #9ea9b4;
        display: block;
        padding: .5rem 0;
    }

aside.menu .menu-list a:hover {
    background-color: #262930;
    color: #fff;
}

    aside.menu .menu-list a .menu-item-icon {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        height: 1.5rem;
        width: 3rem;
    }

    aside.menu .menu-list a .menu-item-label {
        display: inline-block;
    }

.menu-item-with-subitems > ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    border-left: 0;
    background-color: #282c33;
    padding-left: 0;
    margin: 0 0 .75rem;
}

.menu-item-with-subitems.is-open > ul {
    max-height: 1000px;
}

/* --- MENU SU MOBILE --- */
@media screen and (max-width: 1023px) {
    aside .menu {
        width: 15rem;
        display: block;
        left: -15rem;
        transition: left 250ms ease-in-out 50ms;
    }

    .pagina {
        left: 0px;
        top: 0px;
        right: 0px;
        bottom: 0px;
    }
}

/* --- MENU SU TABLET - DESKTOP --- */
@media screen and (min-width: 1024px) {
    aside.menu {
        display: block;
    }

    .pagina {
        position: absolute;
        left: 240px;
        top: 0px;
        right: 0px;
        bottom: 0px;
    }
}

.modal {
    --bulma-modal-card-head-padding: 1rem;
    --bulma-modal-card-body-padding: 1rem;    
}

.modal-card {
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.2s ease;
    width: auto;
}

    .modal-card.modal-show {
        transform: translateY(0);
        opacity: 1;
    }

.modal.is-active .modal-card {
    
}

.modal-card-head {
    padding: 16px 24px;
    box-shadow: none;    
}

.modal-card-head .delete {
    margin-left: 14px;
}

.modal-card-title {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.0075em;
}

.modal-card-body {
    padding: 8px 24px;
}

.modal-card-foot {
    padding: 8px 24px;
}

.button {
    border-radius: 1.5em;
    padding: 6px 22px;
}

.colore-bianco {
    color: #FFFFFF;
}

.colore-rosso {
    color: rgba(244, 67, 54, 1);
}

.colore-bg-verde {
    background-color: #6FA200;
}

.colore-bg-verdescuro {
    background-color: rgba(11, 86, 55, 1);
}

.colore-bg-bianco {
    background-color: #FFFFFF;
}

.colore-bg-rosso {
    background-color: #FF0000;
}

.button {
    /* btn primary */
    /* Auto layout */
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    gap: 8px;
    background: #6FA200;
    box-shadow: 0px 6px 0px #588100;
    margin-bottom: 6px;
    border-radius: 16px;
    border-color: none;
    border-width: 0px;
    transition: none;
    transform: none;
}

    .button:active {
        /* Type=filled, Status=pressed */
        /* Auto layout */
        margin-top: 3px;
        margin-bottom: 3px;
        box-shadow: 0px 3px 0px #588100;
    }

    .button > .testo {
        font-family: 'Lato';
        font-style: normal;
        font-weight: 700;
        font-size: 18px;
        line-height: 28px;
        /* identical to box height, or 156% */

        color: #FFFFFF;
        /* Inside auto layout */
        flex: none;
        order: 0;
        flex-grow: 0;
    }


    .button.rosso {
        background: #FF0000;
        box-shadow: 0px 6px 0px #b51a0e;
        color: white;
    }

        .button.rosso:active {
            box-shadow: 0px 3px 0px #b51a0e;
        }

    .button.grigio {
        background: #d4d4d4;
        box-shadow: 0px 6px 0px #8c8c8c;
        color: black;
    }

        .button.grigio:active {
            box-shadow: 0px 3px 0px #8c8c8c;
        }



.field {
    --bulma-block-spacing: 0;
}

table.dataTable th.dt-type-numeric, 
table.dataTable th.dt-type-date {
    text-align: left;
}

    table.dataTable th.dt-type-numeric > .dt-column-footer > .dt-column-title {
        text-align: right;
    }

table.dataTable th.dt-type-numeric div.dt-column-header, 
table.dataTable th.dt-type-numeric div.dt-column-footer, 
table.dataTable th.dt-type-date div.dt-column-header, 
table.dataTable th.dt-type-date div.dt-column-footer {
    flex-direction: row;
}

.table.is-bordered th {
    border-width: 0;
}

.table-wrap {
    border-radius: 16px;
    overflow: hidden;    
}

    .table-wrap .dt-info {
        padding-left: 14px;
        padding-right: 14px;
    }

    .table-wrap .dt-paging {
        padding-left: 14px;
        padding-right: 14px;
    }

.table-toolbar {
    border-bottom: 1px solid #333333;
    background-color: rgba(14,34,56,1);
    color: white;
    height: auto !important;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 16px;
    padding-right: 16px;
    padding-inline-start: 16px;
    padding-inline-end: 16px;
}

.table th,
.table td {
    white-space: nowrap;
}

input::placeholder {    
    font-style: italic
}

.loading-icon {
    border: 3px solid #dbdbdb;
    border-radius: 50%;
    border-top-color: transparent;
    width: 50px;
    height: 50px;
    animation: spinAround 1s infinite linear;
}

@keyframes spinAround {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}