/* Reset base */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: sans-serif; }

body { background: #f4f7f6; }

/* Main container */
.container-center {
    /* Imposta la larghezza massima della fascia centrale (es. 1200px) */
    max-width: 1320px;
    
    /* Centra il div orizzontalmente: 0 sopra/sotto, auto destra/sinistra */
    margin: 0 auto;
    
    /* Padding di sicurezza per evitare che il contenuto tocchi i bordi su mobile */
    padding: 0 20px;
    
    /* Opzionale: occupa tutta l'altezza disponibile */
    width: 100%;
}

/* Sidebar */
.sidebar { width: 250px; background: #2c3e50; color: white; padding: 20px; }
.sidebar ul { list-style: none; margin-top: 20px; }
.sidebar li a { color: #bdc3c7; text-decoration: none; display: block; padding: 10px 0; }

	/* Navbar e Main */
.main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    /*overflow-y: auto;*/
    background-color: #f4f7f6; /* Colore di sfondo esterno alla fascia */
}
.navbar { 
    height: 60px; background: white; display: flex; 
    justify-content: space-between; align-items: center; 
    padding: 0 30px; border-bottom: 1px solid #ddd;
}

/* Logica Dropdown */
.dropdown { position: relative; display: inline-block; }
.dropbtn { 
    background: #3498db; color: white; padding: 8px 16px; 
    border: none; border-radius: 4px; cursor: pointer; 
}
.dropdown-content {
    display: none; position: absolute; right: 0;
    background: white; min-width: 160px; border: 1px solid #ddd;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.1); z-index: 1;
}
.dropdown-content a {
    color: black; padding: 12px 16px; text-decoration: none; display: block;
}
.dropdown-content a:hover { background-color: #f1f1f1; }

/* Mostra menu al passaggio del mouse */
.dropdown:hover .dropdown-content { display: block; }

/* Layout Cards */
.content { margin: 20px 0;  }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 20px; }
.card { background: white; padding: 20px; border-radius: 8px; border: 1px solid #ddd; height: 100%; }

.filter-bar {
    display: flex;
    flex-wrap: wrap; /* Permette ai filtri di andare a capo su schermi piccoli */
    gap: 15px;
    background: #fff;
    padding: 20px 30px;
    border-bottom: 1px solid #eee;
}


.filter-group {
    /* min-width: 180px; */
    width: 19%;
    position: relative;
}

.filter-group-large {
    width: 29.38%;
    position: relative;
}

/* Stile per il display del multiselect */
.select-display {
    padding: 8px 12px;
    border: 1px solid #dcdde1;
    border-radius: 5px;
    background: #f9f9f9;
    cursor: pointer;
    font-size: 0.9rem;
    position: relative;
}

.select-display::after {
    content: "▼";
    font-size: 0.7rem;
    position: absolute;
    right: 10px;
    color: #7f8c8d;
}

/* Pannello opzioni a scomparsa */
.options-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid #ddd;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 1000;
    max-height: 200px;
    overflow-y: auto;
}

.options-panel label {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    cursor: pointer;
}

.options-panel label:hover { background: #f1f1f1; }
.options-panel input { margin-right: 10px; }

/* Classe per mostrare il menu */
.options-panel.active { display: block; }

.btn-bar {
    /* Opzionale: occupa tutta l'altezza disponibile */
    width: 100%;
    height: 50px;
}

/* centra i bottoni Applica e Reset per i filtri */
.center-btn {
    width: 175px;
    /* Centra il div orizzontalmente: 0 sopra/sotto, auto destra/sinistra */
    margin: 0 auto;
}

.btn-filter {
    background: #2ecc71;
    color: white;
    min-width: 70px;
    padding: 10px 10px;
    margin: 7.5px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.3s;
}

.btn-filter:hover {
    background: #27ae60;
}

#checkboxes {
    display: none;
    border: 1px solid #dadada;
    background-color: white;
    position: absolute;
    width: 100%;
    z-index: 10;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    border-radius: 0 0 5px 5px;
}

#checkboxes label {
    display: block;
    padding: 8px;
    font-size: 0.9rem;
    font-weight: normal;
    cursor: pointer;
}

#checkboxes label:hover {
    background-color: #ebf5fb;
}

#checkboxes input {
    margin-right: 10px;
}

b {
    color: #3a3a3a; /* dark gray */
}

/* TABLE STYLE */
table {
    font-family: Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

td, th {
    border: 1px solid #ddd;
    padding: 8px;
}

tr:nth-child(even){background-color: #f2f2f2;}

tr:hover {background-color: #ddd;}

th {
    padding-top: 12px;
    padding-bottom: 12px;
    width: 150px;
    text-align: left;
    background-color: #C0C0C0;
    color: white;
}

.text-bg-table-td-gray {
    color: #fff!important;
    background-color: RGBA(204, 204, 204, var(--bs-bg-opacity, 1))!important;
}

.text-td-left {
    text-align: left;
}
.text-td-right{
    text-align: right;
}
.td-large{
    width: 400px;
}
/* END TABLE STYLE */

/* FROM powerbi_iframe_styles.css */
.p-2 {
    padding: .5rem!important;
} 

.text-bg-menu-gray {
    color: #fff!important;
    background-color: RGBA(204, 204, 204, var(--bs-bg-opacity, 1))!important;
}

.d-flex {
    display: flex!important;
}   

.flex-wrap {
    flex-wrap: wrap!important;
}

.align-items-center {
    align-items: center!important;
}

.justify-content-center {
    justify-content: center!important;
} 

.justify-content-lg-start {
    justify-content: flex-start!important;
}

.nav {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: #6c757d;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.col-12 {
    flex: 0 0 auto;
    width: 100%;
}

.col-lg-auto {
    flex: 0 0 auto;
    width: auto;
}

.me-lg-auto {
    margin-right: auto!important;
}

.mb-2 {
    margin-bottom: .5rem!important;
}

.mb-md-0 {
    margin-bottom: 0!important;
}  

.ml-20 {
    margin-left: 20%;
}  

.mr-20 {
    margin-right: 20%;
}  

.fvg_logo {
  margin-left: 12px;
}

.text-end {
    text-align: right!important;
}

.btn {
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: #212529;
    --bs-btn-bg: transparent;
    --bs-btn-border-width: 1px;
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: 0.375rem;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
    .btn {
        transition: none;
    }
}
.btn:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}

.btn-outline-light {
    --bs-btn-color: #fff;
    --bs-btn-bg: #999;
    --bs-btn-border-color: #999;
    --bs-btn-hover-color: #ccc;
    --bs-btn-hover-bg: #666;

    /*--bs-btn-color: #f8f9fa;
    --bs-btn-border-color: #f8f9fa;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #f8f9fa;*/
    --bs-btn-hover-border-color: #f8f9fa;
    --bs-btn-focus-shadow-rgb: 248, 249, 250;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #f8f9fa;
    --bs-btn-active-border-color: #f8f9fa;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #f8f9fa;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f8f9fa;
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    /* margin-top: calc(-1 * var(--bs-gutter-y)); */
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
} 

.col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.w-100 {
    width: 100%!important;
}

.m-auto {
    margin: auto!important;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}   
.h1, h1 {
    font-size: calc(1.375rem + 1.5vw);
}
@media (min-width:1200px) {
    .h1, h1 {
    font-size: 2.5rem;
}   
}   
.h2, h2 {
    font-size: calc(1.325rem + .9vw);
}   
@media (min-width:1200px) {
    .h2, h2 {
    font-size: 2rem;
}   
}   
.h3, h3 {
    font-size: calc(1.3rem + .6vw);
}  
.h4, h4 {
    font-size: 1.3rem;
}  

.mb-3 {
    margin-bottom: 1rem!important;
}

.fw-normal {
    font-weight: 400!important;
}  

.text-center {
    text-align: center!important;
}

.form-floating {
    position: relative;
}

.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
}

@media (prefers-reduced-motion:reduce) {
    .form-floating>label {
    transition: none;
}
}
.form-floating>.form-control, .form-floating>.form-control-plaintext {
    padding: 1rem .75rem;
}
.form-floating>.form-control-plaintext::-moz-placeholder, .form-floating>.form-control::-moz-placeholder {
    color: transparent;
}
.form-floating>.form-control-plaintext::placeholder, .form-floating>.form-control::placeholder {
    color: transparent;
}
.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown), .form-floating>.form-control:not(:-moz-placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.form-floating>.form-control-plaintext:focus, .form-floating>.form-control-plaintext:not(:placeholder-shown), .form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.form-floating>.form-control-plaintext:-webkit-autofill, .form-floating>.form-control:-webkit-autofill {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.form-floating>.form-select {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.form-floating>.form-control:not(:-moz-placeholder-shown)~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
}
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
}
.form-floating>.form-control:-webkit-autofill~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
}
.form-floating>.form-control-plaintext~label {
    border-width: 1px 0;
}

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .375rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-group-lg>.btn, .btn-lg {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: 0.5rem;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

.mt-3 {
    margin-top: 1rem!important;
}  

.nav_menu span {
  font-size: 32px;
  cursor: pointer;
  padding-left: 2px;
  /*padding-right: 12px;*/
}

/* Side navigation CSS */
.sidenav {
  height: 720px;
  width: 0;
  position: absolute;
  z-index: 1;
  background-color: #ccc;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 16px;
  /*color: #818181;*/
  color: #fff;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  /*color: #f1f1f1;*/
  color: #000;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

.alert {
    --bs-alert-bg: transparent;
    --bs-alert-padding-x: 1rem;
    --bs-alert-padding-y: 1rem;
    --bs-alert-margin-bottom: 1rem;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: 1px solid var(--bs-alert-border-color);
    --bs-alert-border-radius: 0.375rem;
    position: relative;
    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
    margin-bottom: var(--bs-alert-margin-bottom);
    color: var(--bs-alert-color);
    background-color: var(--bs-alert-bg);
    border: var(--bs-alert-border);
    border-radius: var(--bs-alert-border-radius);
}   
.alert-heading {
    color: inherit;
}   
.alert-link {
    font-weight: 700;
}
.alert-dismissible {
    padding-right: 3rem;
}   
.alert-dismissible .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1.25rem 1rem;
}   
.alert-primary {
    --bs-alert-color: #084298;
    --bs-alert-bg: #cfe2ff;
    --bs-alert-border-color: #b6d4fe;
}   
.alert-primary .alert-link {
    color: #06357a;
}   
.alert-secondary {
    --bs-alert-color: #41464b;
    --bs-alert-bg: #e2e3e5;
    --bs-alert-border-color: #d3d6d8;
}
.alert-secondary .alert-link {
    color: #34383c;
}
.alert-success {
    --bs-alert-color: #0f5132;
    --bs-alert-bg: #d1e7dd;
    --bs-alert-border-color: #badbcc;
}
.alert-success .alert-link {
    color: #0c4128;
}
.alert-info {
    --bs-alert-color: #055160;
    --bs-alert-bg: #cff4fc;
    --bs-alert-border-color: #b6effb;
}
.alert-info .alert-link {
    color: #04414d;
}
.alert-warning {
    --bs-alert-color: #664d03;
    --bs-alert-bg: #fff3cd;
    --bs-alert-border-color: #ffecb5;
}
.alert-warning .alert-link {
    color: #523e02;
}
.alert-danger {
    --bs-alert-color: #842029;
    --bs-alert-bg: #f8d7da;
    --bs-alert-border-color: #f5c2c7;
}
.alert-danger .alert-link {
    color: #6a1a21;
}
.alert-light {
    --bs-alert-color: #636464;
    --bs-alert-bg: #fefefe;
    --bs-alert-border-color: #fdfdfe;
}
.alert-light .alert-link {
    color: #4f5050;
}
.alert-dark {
    --bs-alert-color: #141619;
    --bs-alert-bg: #d3d3d4;
    --bs-alert-border-color: #bcbebf;
}
.alert-dark .alert-link {
    color: #101214;
}

.btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em .25em;
    color: #000;
    background: transparent url("data:image/svg+xml, %3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: .375rem;
    opacity: .5;
}
.btn-close:hover {
    color: #000;
    text-decoration: none;
    opacity: .75;
}
.btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    opacity: 1;
}
.btn-close.disabled, .btn-close:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    opacity: .25;
}
.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.iframe-container {
  width: 100%;
  height: 780px;
}

.responsive-iframe {
  width: 100%;
  height: 100%;
  /*border: 1px solid black;
  clip-path: polygon( 0% 0%, 100% 0%, 100% 95.4%, 0% 95.4% );*/
}


/* Print-mode style (clip-path elimnates powerbi bottom bar) */
.print-version-iframe {
  /*position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;*/
  width: 100%;
  height: 100%;
  clip-path: polygon( 0% 0%, 100% 0%, 100% 92.3%, 0% 92.3% );
}

.center-screen {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 100vh;
}   

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 1280px;
    height: 844px;
    /*padding-left: calc(var(--bs-gutter-x) * .5);*/
    margin: auto;
    display: table;
}

.nav-container {
  width: 100%;
  /*height: 64px;
  margin-bottom: 20px; */
}
   


/* END */
