/*
 *
 *   Custom CSS for Big Data Hydro Web App
 *   version 1.0.0
 *
*/

/* PLOTLY CHART  */
.plotly-chart {
    display: block;
    height: 250px;
}

.plotly-chart-scatter {
    display: block;
    height: auto;
    width: auto;
    max-width: 600px;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .plotly-chart-scatter {
        height: 665px;
    }
}

.plotly-signal-scatter {
    display: block;
    height: auto;
    width: auto;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .plotly-signal-scatter {
        height: 609px;
    }
}

.plotly-chart-content {
    width: 100%;
    height: 100%;
}

.plotly-chart-content-inline {
    width: auto;
    height: 100%;
}

.plotly-chart-spinner {
    display: block;
    height: 350px;
    padding-top: 140px;
}

.plotly-side-info {
    display: block;
    height: 270px;
}

.signal-chart {
    display: block;
    height: 250px;
}

.signal-chart-min {
    display: block;
    height: 150px;
}

.warnings-chart {
    display: block;
    height: 270px;
}

.signal-scatter {
    display: block;
    height: auto;
    width: auto;
    max-width: 641.5px;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .signal-scatter {
        height: 609px;
    }
}

.efficiency-scatter {
    display: block;
    height: auto;
    width: auto;
    max-width: 600px;
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .efficiency-scatter {
        height: 665px;
    }
}

@media (min-width: 1200px) {
    .toolbar-apply-btn {
        margin-top: 31px;
    }
}

/* JUMBOTRON BOX MESSAGE*/
.jumbotron.box-message {
    height: 100%;
    width: 100%;
    display: table;
    background-color: white;
}

.box-message-cell {
    display: table-cell;
    vertical-align: middle;
}

.box-message-cell p {
    font-size: 14px;
    font-style: italic;
    text-align: center;
    margin: 0;
}

.jumbotron.no-data{
    margin: 5px;
    height: 100%
}

.jumbotron > p {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}

/* IBOX TITLE*/
.ibox-title h5 small {
    margin-left: 10px;
    display: inline-block;
}

@media (min-width: 1200px) {
    .ibox-title .form-group {
        margin-bottom: 0;
        margin-top: -6px;
    }
}

.ibox-content.ibox-nocolor {
    background-color: inherit;
    border-color: #d0d0d0;
}

/* DATEPICKER */
.input-daterange span:first-child {
    border-radius: 3px 0 0 3px;
    border-left-width: 1px;
}

/* CENTERED TEXT*/
.center-text {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}

/* BOOTSTRAP OVERRIDE */
.modal-backdrop,
.modal-backdrop.fade.in {
    background: #2f4050;
}

.modal-dialog-centered {
    width: 50%;
    height: 20%;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

/* THEME OVERRIDE */
.nav-header {
    background-image: url(patterns/header-profile-skin-1.png);
    padding: 10px;
    text-align: center;
    margin: auto;
}

/* LEAFLET CLUSTER */
.marker-cluster-small {
    background-color: rgba(61, 120, 187, 0.4);
}

    .marker-cluster-small div {
        background-color: rgba(61, 120, 187, 0.8);
    }

.marker-cluster-medium {
    background-color: rgba(61, 120, 187, 0.4);
}

    .marker-cluster-medium div {
        background-color: rgba(240, 194, 12, 0.6);
    }

.marker-cluster-large {
    background-color: rgba(61, 120, 187, 0.4);
}

    .marker-cluster-large div {
        background-color: rgba(241, 128, 23, 0.6);
    }

/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
    background-color: rgb(174, 198, 226);
}

    .leaflet-oldie .marker-cluster-small div {
        background-color: rgb(241, 128, 23);
    }

.leaflet-oldie .marker-cluster-medium {
    background-color: rgb(174, 198, 226);
}

    .leaflet-oldie .marker-cluster-medium div {
        background-color: rgb(241, 128, 23);
    }

.leaflet-oldie .marker-cluster-large {
    background-color: rgb(174, 198, 226);
}

    .leaflet-oldie .marker-cluster-large div {
        background-color: rgb(241, 128, 23);
    }

.marker-cluster {
    background-clip: padding-box;
    border-radius: 20px;
}

    .marker-cluster div {
        width: 30px;
        height: 30px;
        margin-left: 5px;
        margin-top: 5px;
        text-align: center;
        color: white;
        border-radius: 15px;
        font-size: 14px;
    }

    .marker-cluster span {
        line-height: 30px;
    }


/* FullCalendar Customization */
/* Capitalize toolbar */
.fc-button {
    text-transform: capitalize;
}

/* Set events red */
/*.fc-event,
.fc-agenda .fc-event-time,
.fc-event a {
    padding: 4px 6px;
    background-color: #dc3545;*/
    /* background color */
    /*border-color: #dc3545;*/
    /* border color */
/*}*/

.calendar-side-info {
    display: block;
    height: 790px;
}

.list-group-item > .badge {
    position:absolute;
    right: 8px;
}

/*Customize bootstrap*/
.row.no-pad {
    margin-right: 0;
    margin-left: 0;
}

.row.no-pad > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.dataTables_wrapper {
    padding-bottom: 0 !important;
}


.label-bad {
    background-color: #ed5565;
    color: #FFFFFF;
}

.label-normal {
    background-color: #8fc966;
    color: #FFFFFF;
}

.label-good {
    background-color: #5cb85c;
    color: #FFFFFF;
}

.label-verygood {
    background-color: #138c2f;
    color: #FFFFFF;
}

/*Customize toastr*/
#toast-container > .toast-success:before {
    content: "\f0f0";
}


/* Language selection buttons style */
.dropdown-item-button {
    background-color: transparent;
    border: none;
    color: #888;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.width-zero{
    width:0
}

.width-animated {
    -webkit-transition: width 0.3s ease;
    -moz-transition: width 0.3s ease;
    -o-transition: width 0.3s ease; 
    transition: width 0.3s ease; 
    overflow: hidden;
}

/* DATA TABLE*/
.sorting-disabled::after {
    display: none !important;
}

.sorting-disabled::before {
    display: none !important;
}

.sorting-disabled {
    pointer-events: none !important;
    cursor: default !important;
}

/* EVENT DETAILS TOOLBAR */
.event-details-toolbar {
    height: 91px ;
}

@media (min-width: 1200px) {
    .event-details-toolbar {
        height: 60px;
    }
}

.dropdown-filter {
    padding: 20px;
    border: 0;
    border-radius: 3px;
    background: #f1f1f1;
    margin: 4px;
}

.sas-config table tr td {
    vertical-align: middle;
    border-top: 1px dashed #bababa;
    padding: 15px 8px;
}


/* JQUERY STEPS EXTEND */

.wizard-scroll.wizard > .content {
    height: calc(100vh - 350px);
    max-height: 800px;
    overflow: auto;
}

.wizard-big.wizard > .content > .body {
    
    width: 100%;
}

/* SELECT 2 EXTEND */

.select-due-parent-big .select2-selection__rendered {
    line-height: 31px !important;
}

.select-due-parent-big .select2-container .select2-selection--single {
    height: 35px !important;
}

.select-due-parent-big .select2-selection__arrow {
    height: 34px !important;
}


/* MODAL overflow */
.modal-no-overflow.modal-body {
    overflow:visible;
}

/* COMBODATE overflow */
.combointerval {
    display: flex;
    align-items: center;
}

#analytics_form fieldset h2 {
    margin-top: 0;
    margin-bottom: 20px;
}

/* plain select placeholder*/
select[placeholder]:invalid {
    color: #999;
}

select[placeholder] option[value=""] {
    display: none;
}

select[placeholder] option {
    color: #444;
}

/* operator analytics disabled*/
a.comb-action[disabled] {
    pointer-events: none;
    color: #888;
}

/* hr dashed override*/
.hr-line-dashed.hr-line-nocolor {
    border-top-color: #bababa;
    color: inherit;
    background-color: inherit;
}

/* wizard override */
.toggle-group label {
    margin-bottom: inherit !important;
}

.fa.signal-remove {
    font-size: 1.5em;
}

/* prototype */
.prototype-form label {
    color: #0032D1;
}

.prototype-form .form-group {
    margin-bottom: 20px;
}

/* signal combination */

.signal-row {
    padding-right: 10px;
    padding-left: 10px;
    display: flex;
}


.signal-label {
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
    font-size: 12px;
    width: 280px;
    float: left;
    flex-shrink: 0;
    flex-grow: 0;
}

.signal-tag {
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
    font-size: 12px;
    flex-grow: 1;
    min-width: 300px;
}

@media (max-width: 1250px) {
    .signal-row {
        flex-wrap: wrap;
    }

    .signal-label {
        width: 100%;
    }

    .signal-tag {
        width: 100%;
    }
}

.signal-tag>span{
    height: auto;
    min-height: 35.2px
}

.signal-tag .tag-value{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.signal-tag .tag-value:hover{
    white-space: normal !important;
}

.signal-filters {
    width: 310px;
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
    float: left;
    flex-grow: 0;
    flex-shrink: 0;
}

.signal-filters > div {
    width: 33.33333333%;
    font-size: 12px;
    float: left;
}

.signal-filters > div > input {
    font-size: 12px;
}

.signal-buttons {
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
    width: 150px;
    font-size: 12px;
    float: left;
    flex-shrink: 0;
}

/* model configuration */

.sas-config table th[header-key] {
    width: 20%;
}

.sas-config table th[header-type] {
    width: 10%;
}

.sas-config table th[header-unit] {
    width: 10%;
}

.sas-config table tr td[config-key] {
    max-width: 400px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sas-config table tr td[config-unit] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Colori personalizzati coerenti con la palette Bootstrap */
.bg-green {
    background-color: #28AD25 !important;
    color: #fff !important;
}

.bg-yellow {
    background-color: #DCD50C !important;
    color: #000 !important;
}

.bg-orange {
    background-color: #DD820D !important;
    color: #fff !important;
}

.bg-red {
    background-color: #CC2C32 !important;
    color: #fff !important;
}

.bg-purple {
    background-color: #9322C2 !important;
    color: #fff !important;
}

.bg-blue {
    background-color: #2A75C1 !important;
    color: #fff !important;
}

.bg-lightBlue {
    background-color: #4DACFF !important;
    color: #fff !important;
}

.bg-pink {
    background-color: #D03BBE !important;
    color: #fff !important;
}

.bg-bad {
    background-color: #ed5565 !important;
    color: #FFFFFF;
}

.bg-normal {
    background-color: #8fc966 !important;
    color: #FFFFFF;
}

.bg-good {
    background-color: #5cb85c !important;
    color: #FFFFFF;
}

.bg-verygood {
    background-color: #138c2f !important;
    color: #FFFFFF;
}

.fc-prev-button::before {
    content: '\2039'; /* ‹ */
    margin-right: 4px;
}

.fc-next-button::after {
    content: '\203A'; /* › */
    margin-left: 4px;
}

.select2-container--open {
    z-index: 3000 !important;
}

.fc-header-toolbar button {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.2rem;
}

.fc .fc-scrollgrid td.fc-daygrid-day {
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

/* wrapper che rispetta il padding e fornisce box-sizing coerente */
.calendar-wrapper {
    width: 100%;
    box-sizing: border-box; /* importante: limitato al wrapper */
    padding-left: 10px; /* se vuoi un'ulteriore gabbia interna */
    padding-right: 10px;
}

/* il calendario occupa il 100% del wrapper */
#warningsCalendar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* garantisce che la tabella interna non si ricalcoli stranamente */
.fc .fc-scrollgrid {
    width: 100% !important;
    table-layout: fixed !important;
}

.datepicker-dropdown {
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

.datepicker-cell.focused,
.datepicker-cell:hover {
    background-color: var(--bs-secondary-bg) !important;
}

.datepicker-cell.selected {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

.datepicker-controls button {
    background-color: var(--bs-light) !important;
    border: 1px solid var(--bs-border-color);
}