@font-face {
	font-family: "Montserrat";
	src: url(fonts/Montserrat-Regular.ttf) format("truetype"),
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: "Montserrat-Black";
	src: url(fonts/Montserrat-Black.ttf) format("truetype"),
	font-weight: 900;
	font-style: normal;
}

:root {
--color1: #197AA3;
--color2: #197AA3; 
--color3: #d4e5ec;
--color4: #F1F8E4;
--white: #FFFFFF
--black: #000000
}

.bg-light {
    background-color: var(--color3) !important; /* for Main navigation bar */
}

/*** Some predefined height for organizing the tabs ***/
.h-20 {
	height: 20px; /* ideal for qlik filters */
}
.h-25 {
	height: 25px; /* ideal for qlik filters */
}
.h-30 {
	height: 30px; /* ideal for qlik filters */
}
.h-40 {
	height: 40px; /* ideal for qlik filters */
}
.h-100{
	height:100px;
}
.h-120{
	height:120px;
}
.h-190{
	height:190px;
}
.h-200{
	height:200px;
}
.h-300{
	height:300px;
}
.h-400{
	height:400px;
}
.h-500{
	height:500px;
}
.h-600{
	height:600px;
}
.h-700{
	height:700px;
}

.m-10{
margin:5px;
}

/*** For Main tiltle ***/
h1{
 font-family: "Montserrat-Black";
 font-size: 24px;
 color: var(--color2);
}

h2{
 font-family: "Montserrat-Black";
 font-size: 16px;
 color: var(--color2);
}

h3{
 font-family: "Montserrat-Black";
 font-size: 16px;
 color: var(--black);
}

h4{
 font-family: "Montserrat-Black";
 font-size: 14px;
 color: var(--black);
}


.qmTitle{
	justify-content: center;
	font-family: "Monserrat";
	font-weight: 800;
}



#filterPane {
    padding-left: 20px;
    padding-right: 20px;
}

.flex-container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 45px 45px 0;
}



.card-body {
  padding-bottom : 5px;
  display: flex;
  flex-direction: column;
  overflow: visible;
}

.card-footer {
    padding: 0.25rem 0.5rem;
}

.card.no-border {
	border: none;
}
/* Existing styles for .qvobject */
.qvobject {
  flex-grow: 1;
  width: 100%; /* Ensure it takes the full width */
}

/* New class to be added for fullscreen mode */
.fullscreen-qvobject {
  height: 100%; /* Make the qvobject fill the entire height of its container */
}

.qvfilter {
	padding-left: 10px;
	padding-right: 10px;
}


#popup {
	background-color: #c3534b;
	color: #FFFFFF;
	position: fixed;
	max-width: 250px;
	padding: 10px;
	margin: 10px;
	bottom: 0;
	right: 0;
	display: none;
	border-radius: 5px;
	z-index: 6;
	font-family: sans-serif;
}

.close {
	cursor: pointer;
	background: 0 0;
	border: 0;
	float: right;
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: .2;
	position: absolute;
	right: 9px;
	top: 7px;
}

.close:hover {
	opacity: .5;
}

#popupText {
	margin-right: 23px;
}



.tab-content {
padding:0px;
}
.q-navbar {
padding-left:0px;
padding-right:0px;
}

.row {
	display: flex; /* Default to flex for large devices */
    flex-wrap: nowrap;
	padding: 5px;
}
	

/* CSS Main Navigation bar with tabs */
.navbar{
  	padding-bottom : 0px;
	font-family: 'Montserrat';
	justify-content: center;
	    padding-left: 5px;
    padding-right: 5px;
}
.nav-tabs {
	display: flex;
    width: 100%;
    border-bottom: 1px solid var(--color2);
}
.nav-item {
    flex-grow: 1; /* Ensures all nav-items grow equally */
    text-align: center; /* Centers the button text if the button tag doesn't fill the width */
	font-family: "Montserrat";
}
.navbar-nav {
    display: flex;
    flex-wrap: nowrap; /* Prevents wrapping */
    gap: 10px; /* Adds space between buttons */
}
.navbar-nav .nav-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--color1);
}
.nav-link {
    display: flex;
    align-items: center; /* This aligns the item (text) vertically in the center */
    justify-content: center; /* This centers the text horizontally */
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active  {
    color: #495057;
    background-color: #fff;
}
.nav-tabs{
    display: flex;
}
.nav-tabs li {
    display: flex;
    flex: 1;
}
.nav-tabs li  a {
    flex: 1;
}
/*
  .component {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}*/




.card-effects {
  display: flex;
  justify-content: flex-end;
  font-size:16px;
}
.bi-info-circle-fill {
	color: var(--color2);
}
.icon {
  margin: 0 5px; /* Adjust spacing between icons */
  cursor: pointer;
}


.qv-pt .cell.header .value, .touch-on.qv-pt .cell.header .value {
    text-align: center;
}

#filterRow {
	padding-top: 10px;
}

.tab-content, .tab-pane {
  height: 100%; /* Ensure the tab content fills its container */
  position: relative;
}

.fullscreen-card .card-body {
  flex-grow: 1; /* Allows the card-body to expand */
  overflow: auto; /* Adds scrollbars if content overflows */
}

.map-legend-title, .map-legend-type {
	display : none;
}


/*KPI box */
.sn-kpi-measure-title {
	font-size:20px;
}



.disabled{
 	pointer-events: none;
    filter: grayscale(100%);
    opacity: 0.5; /* Optional */
}

.MuiGrid-root.MuiGrid-container.css-q0qbej::after {
    content: "\02C5";
    font-weight: 800;
}

.static-text {
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 400;
}

.pollen-text {
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 400;
}

#toggleFilters {
	width: 100%;
    font-family: 'Montserrat' !important;
    font-weight: 600;
    border: none;
    padding: 10px;
    margin-bottom: 5px;
	color: #FFFFFF;
	background-color: var(--color2);
}	

.navbar-toggler {
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
    font-weight: 500;
    color: var(--color2);
}

.navbar-toggler-icon {
    vertical-align: baseline;
}
	
@media (min-width: 768px) {
  .col {
    /* Assuming .col is for a horizontal layout in larger screens */
    float: left; /* or flex-box/grid layout */
    width: 14.28%; /* Roughly 1/7th if you have 7 filters to keep them in one row */
  }
  #toggleFilters,#toggleMenu {
		display:none;
	}
	.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
		border-color: var(--color2) var(--color2) #FFF;
	}
}
@media (max-width: 768px) {
    /* Automatically collapse the row on small devices */
    .row {
      display: block;
    }
	.sn-kpi-measure-title {
	font-size:14px;
	}
	.sn-kpi .sn-kpi-ellips-text {
		white-space: break-spaces !important;
		text-align: center 
	}
	.tab-content {
		padding-left: 0px;
		padding-right: 0px;
	}
	
	
  
}
@media (max-width: 768px) {
  .col.filters {
    display: none; /* Initially hide the filters on small screens */
    width: 100%; /* Make each filter full width */
  }
  .show {
    display: block; /* This class will be toggled by JavaScript */
  }
}

@media (min-width: 768px) {
	.navbar-expand-lg .navbar-collapse {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    justify-content: center;
	}
}

@media (max-width: 768px) {
    .nav-tabs.flex-column .nav-item {
        display: block;
    }
    .nav-tabs.flex-column {
        flex-direction: column;
    }
	.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
		border-color: var(--color2) var(--color2) #3f8ab3;
	}
}


	
#clearSelectionsBtn {
    position: absolute;
    top: 8px;
    right: 90px;
    font-family: 'Montserrat' !important;
    font-size: 14px;
    padding: 2px 10px;
    border: none;
    background-color: #fc6464;
}

@media (max-width: 768px) {
	.text-center {
    text-align: left !important;
	}
	#clearSelectionsBtn {
    right: 55px;
	}
}

.btn-danger:focus {
    box-shadow: 0 0 0 0.05rem #197AA3;
}
.modal-dialog, .modal-body {
	font-family: 'Montserrat';
	font-size: 14px;
	max-width: 1000px;
}

.btn-glossaire {
	font-family: 'Montserrat';
}

#helpModal.modal, #selectionsModal.modal {
  display: none; /* Hidden by default */
  position: absolute;
  z-index: 1050;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.5)
}

#helpModal .modal-dialog, #selectionsModal .modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
 /* min-height: calc(100% - 1rem); */
  min-width: calc(80%);
}

#helpModal .modal-content , #selectionsModal .modal-content {
  margin: auto;
  width: 90%;
}

#helpBtn {
    position: absolute;
    top: 8px;
    right: 15px;
    font-family: 'Montserrat' !important;
    font-size: 14px;
    padding: 2px 10px;
    border: none;
    background-color: #52a2cc;
}

.ConseilBtn {
  border: none;
  color: white;
  padding: 16px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  margin: 4px 2px;
  transition-duration: 0.4s;
  cursor: pointer;
   background-color: white; 
  color: black; 
  border: 2px solid #008CBA;
  border-radius:15px;
  width:100%
}
.ConseilBtn:hover {
  background-color: #008CBA;
  color: white;
}

#currSelBtn {
    position: absolute;
    top: 5px;
    right: 45px;
    font-family: 'Montserrat' !important;
    font-size: 20px;
    padding: 0px 2px;
    border: none;
    background-color: none;
}

.sn-kpi .sn-kpi-ellips-text {
		white-space: break-spaces !important;
		text-align: center 
	}

/*KPI box */
.sn-kpi-measure-title {
	font-size:16px;
}

.color-bubble {
    height: 15px;
    width: 30px;
	border: 1px solid #595959;  
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
  }
  .blue { background-color: #055c8f; }
  .white { background-color: #FFFFFF; border: 1px solid #ccc; }
  .light-gray { background-color: #e4e4e4; }
  .dark-gray { background-color: #bebebe; }
  .green { background-color: #00873D; }

#selectionsTable table th {
	font-weight:bold;
}

/* CSS for Spinner */
.spinner {
            display: none; /* Hidden by default */
            position: fixed;
            z-index: 999;
            top: 50%;
            left: 50%;
            width: 100px;
            height: 100px;
            border: 8px solid #f3f3f3;
            border-radius: 50%;
            border-top: 8px solid #808080;
            animation: spin 2s linear infinite;
}

@keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
}
/* CSS patch for QS Feb 2023 */
  
.sn-kpi .sn-kpi-ellips-text .sn-kpi-value{
    font-size: 40px !important
}
.qv-state-count-bar {
display: none;
}

.qv-collapsed-listbox .title::after {
	content: "+";
	float:right;
	font-weight: 800
}

.warn-popup {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
	justify-content: center;
	align-items: center;
    z-index: 2000
  }
  .warn-popup-content {
    max-width: 600px;
    font-family: 'Montserrat';
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
  }
		
		
		