.bloc_contenu {
    background: white;
    background-color:#fff;
    border:1px solid #efefef;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
}

.bloc_contenu_mid {
    background: white;
    background-color:#fff;
    border:1px solid #efefef;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
    display: inline-block;
    vertical-align: top;    
    width : 55%;
}

.bloc_contenu_extrasmall {
    background: white;
    background-color:#fff;
    border:1px solid #efefef;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
    display: inline-block;
    vertical-align: top;    
    width : 20%;
}

.bloc_contenu_small {
    background: white;
    background-color:#fff;
    border:1px solid #efefef;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
    display: inline-block;
    vertical-align: top;    
    width : 30%;
}

.bloc_large {
    display: inline-block;
    vertical-align: top;    
    width : 100%;
    height: 100%;
}

.bloc_mid {
    display: inline-block;
    vertical-align: top;
    width : 30%;
    height: 100%;
}

.pie {
    padding-bottom: 20px;
}

h3 {
    margin-top: 50px;
    margin-bottom: 10px;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
}

.box_groschiffre {
    text-align: center;
    width: 100%;
    color: #02B4FF;
}

.box_groschiffre_warning {
    text-align: center;
    width: 100%;
    color: #A73B3C;
}

.box_groschiffre_alert {
    text-align: center;
    width: 100%;
    color: #FFAF19;
}

.detailpie_box {
    width: 100%;
    text-align: center;
}

.detailpie {
    display: inline-block;
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
}

.detailpie .midchiffre {
    font-size: 31px;
    line-height: 20px;
    text-align: center;
}

.detailpie .positif {
    color: rgba(2, 180, 255, 1);
}

.detailpie .negatif {
    color: rgba(255, 180, 2, 1);
}

.detailpie .faible {
    color: rgba(136, 35, 238, 1);
}

.detailpie .elevee {
    color: rgba(199, 238, 35, 1);
}

button {
  border: 0;
}

.timeline-content .title h5, .timeline-content h5.title, h5.title, .title h5 {
    color: white;
}

.note_mini,.note_maxi,.note_moy {
float: left;
padding: 10px;
margin: 10px;
border: 1px solid #C8862F;
color: #C8862F;
font-size: 30px;
}

.note_moy {
    width: 70%;
    border: 0;
}

.clear {
    clear: both;
}

.box_barometre {
    display: block;
    position: sticky;
    width : 100%;
    height: 50px;
    background-color: white;
    margin-top: 15px;
    margin-bottom: 15px;
}
.barometre {
    position: absolute;
    background-color: #DEDEDE;
    width : 100%;
    height: 22px;
    border-radius: 22px;
    top: 25;
    left: 0;
    margin-top: 15px;
}

.barometre_actif {
    position: absolute;
    background-color: #02B4FF;
    height: 22px;
    border-radius: 22px;
    top: 25;
    left: 0;
    z-index:2;
    margin-top: 15px;
}

.barometre_cercle {
    position: absolute;
    top: 0px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 5px solid #02B4FF;
    z-index: 22;
    -webkit-backdrop-filter: blur(15px); /* assure la compatibilité avec safari */
    backdrop-filter: blur(15px);
    color: #02B4FF;
    font-weight: bold;
    font-size: 25px;
    text-align: center;
    font-family: arial, sans-serif;
    box-shadow: 0px 0px 10px black;
    background-color: #ffffff7d; 
}

.barometre_cercle_text {
    display:block;
    padding-top:4px;
}


.bloc_filtres {
    color: white;
    background-color: #222;
    border:1px solid #efefef;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
}

.bloc_filtres select, .bloc_filtres option, .bloc_filtres input {
    background-color:#000;
    color: white;
    border-radius: 5px;
    border: 1px solid #000;
    padding: 5px;
}

.bloc_filtres label {
    padding: 5px;
    margin-left: 20px;
    
}

.bloc_filtres button {
    border-radius: 5px;
    margin-left: 20px;
}

.bloc_filtres .gros_chiffre {
    font-size: 40px;
    font-weight: bold;
}

.bloc_filtres .nb_resultats {
    float: right;
}

img.logo {
    margin: 10px;
}

.fond_boutons_actions {
    background-color: black;
    width: 120px;
    height: 30px;
    color: white;
    border-radius: 80px;
    text-align: center;
    font-size: 20px;
}

.picto {
  display: inline-block;
  margin-right: 10px;
  color: white;
}

.picto button {
    background-color: Transparent;
    color: white;
}

.picto a {
    color: white;
}

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

.card-black {
    background-color: black;
    border-radius: 20px;
    padding: 20px;
    color: white;
}

.card-black h2 {
    color: white;
}

input {
    border-radius: 10px;
}

input[type="radio"] {
  margin-left : 20px;
  padding-left : 20px;
}

input[type="radio"] {
  display: none;
}
input[type="radio"] + label {
  padding: 0.3rem 0.5rem;
  border: 2px dashed #222;
  margin-right: 10px;
  border-radius: 5px;
  font-size: 15px;
  display: inline;
}
input[type="radio"]:checked + label {
  border: 2px solid #1E6EB5;
  color: #1E6EB5;
  font-weight: bold;
}

input[type="checkbox"].switch {
  display: none;
}
input[type="checkbox"].switch + label {
  box-sizing: border-box;
  display: inline-block;
  width: 5rem;
  height: 5rem;
  border-radius: 1.5rem;
  padding:2px;
  background-color: #c0ceda ;
  transition: all 0.5s ;
}
input[type="checkbox"].switch + label::before {
  box-sizing: border-box;
  display: block;
  content: "";
  height: calc(5rem - 4px);
  width: calc(5rem - 4px);
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.5s ;
}
input[type="checkbox"].switch:checked + label {
  background-color: #1E6EB5 ;
}
input[type="checkbox"].switch:checked + label::before {
  margin-left: 1.5rem ;
}

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + label::before {
  content:'';
  border: 1px solid #00B7E8;
  padding: 0 0.6rem;
  margin-right: 0.3rem;
}

input[type="checkbox"]:checked + label::before {
  background-color: #00B7E8;
}

.inputfile {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.inputfile + label {
    font-size: 10px;
    font-weight: 500;
    color: #1E6EB5;
    display: inline-block;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
}

.inputfile:focus + label,
.inputfile + label:hover {
    background-color: #000;
}

#cadre_recherche {
    width: 300px;
    background-color: black;
    padding: 0px;
    border-radius: 10px;
    margin: 10px;
    border: 1px solid white;
    margin: auto;
}

#cadre_recherche input, #cadre_recherche input:hover, #cadre_recherche input:focus {
    font-size: 18px;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    border: none;
    background-color: black;
    color: white;
}

#cadre_recherche input:focus {
    border: none;
    outline: none !important;
  border-width: 0px !important;
  border: none !important;
}

#cadre_recherche button {
    background-color: black;
    color: white;
}












* {
  box-sizing: border-box;
}

.top-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  color: #FFF;
  height: 50px;
  padding: 1em;
}

.menu {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu > li {
  margin: 0 1rem;
  overflow: hidden;
  color: white;
}

.menu > li a {
  color: white;    
}

.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: '';
  margin-top: -8px;
}

.menu-button::after {
  content: '';
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

.menu > li a {
  	color: black;
  }
  

@media (max-width: 1400px) {
  .menu-button-container {
    display: flex;
  }
  .menu {
    position: absolute;
    top: 0;
    margin-top: 50px;
    left: 0;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  #menu-toggle ~ .menu li {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  #menu-toggle:checked ~ .menu li {
    border: 1px solid #333;
    height: 2.5em;
    padding: 0.5em;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .menu > li {
  	color: black;
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0.5em 0;
    width: 100%;
    color: white;
    background-color: #000;
  }
  .menu > li:not(:last-child) {
    border-bottom: 1px solid #444;
  }
  
}

#albert_menu {
    margin: 10px;
    padding: 10px;
    color: black;
}

#albert_menu_navigation {
    position: absolute;
    float: left;
    display: inline;
    z-index: 220000;
    color: black;
}

#albert_menu_logo {
    position: absolute;
    text-align: center;
    margin: auto;
    z-index: 10;
    width: 100%;
}

#albert_menu_recherche {
    position: absolute;
    margin: auto;
    z-index: 10;
    width: 100%;
    top: 110px;
    text-align: center;
}

.rounded-circle-border {
	border-radius:50%!important;
	border: 1px solid black;
}

.card_contact {
    border: 1px solid gray;
    border-radius: 20px;
    display: inline-block;
    width: 250px;
    text-align: center;
    padding: 10px;
    margin: 10px;
}

.QuestionCard {
    background-color: white;
    border-radius: 20px;
    text-align: center;
    padding: 22px;
    margin: 10px;
}

.QuestionCard H2 {
	color: black;
}


button.swipper {
    background: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}


button.swipper img {
    display: block;
    
}


/* Pour éviter le contour de mise au point sur certains navigateurs */
button.swipper:focus {
    outline: none;
}


button.reponse {
	border-radius:5px;
	border: 2px solid black;
	background-color: white;
	padding: 5px 20px 5px 20px;
	margin: 10px;
	font-size: 18px;
	text-align: center;
	color: black;
	width: 44%;
}

button.reponse:hover {
	border-radius:5px;
	border: 2px solid black;
	background-color: black;
	color: white;
	text-align: center;
}

button.reponse img {
	display: block;
	margin: auto;
}

.reponse {
	font-size: 24px;
	text-align: center;
	color: white;
}

.reponse:hover {
	color: white;
	text-align: center;
}

.reponse img {
	display: block;
	margin: auto;
}

canvas.PredictionResults {
}

canvas.NumberChart {
	max-height: 250px;  /* ou toute autre valeur souhaitée */
    overflow: auto;
}

.QuestionImage {
	margin: 5px;
}

.QuestionImage img {
	border-radius: 20px;
	max-width: 99%;
    height: auto;    
}

.interactions {
	width: 100px;
	border-radius: 20px;
	padding: 5px;
	border: 1px solid black;
}

.interactions button {
	font-size: 22px;
	color: black;
	border-radius: 20px;
	padding: 5px;
	border: none;
	display: inline;
    justify-content: space-between; 
	background-color: white;
}

.UserReponse {
	font-size: 14px;
	color: white;
	padding: 5px;
	border-radius: 20px;
	text-align: center;
	background-color: white;
	margin: 10px;
}

.TagsListCard {
    background-color: white;
    border-radius: 20px;
    text-align: center;
    padding: 22px;
    margin: 22px;
}

.TagsListCard button {
    background-color: white;
    border-radius: 5px;
    color: gray;
    border: 2px solid gray;
    text-align: center;
    padding: 5px;
    margin: 5px;
}

.TagsListCard button[data-liked="true"]{
    background-color: white;
    border-radius: 5px;
    color: #0076FF;
    border: 3px solid #0076FF;
    text-align: center;
    padding: 5px;
    margin: 5px;
    font-weight: bold;
}

.label {
    border-radius: 20px;
    color: white;
    border: 2px solid white;
    text-align: center;
    padding: 5px;
    margin: 5px;
    width: 25%;
}

.TagWrapper {
    display: inline-flex;
    align-items: center; /* Pour aligner verticalement les éléments enfants */
    justify-content: flex-start; /* Ceci assure que les éléments enfants sont alignés à gauche */
    background-color: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.02);
    border-radius: 20px;
    padding: 10px;
    margin: 2px;
}

.TagWrapper:hover {
	border: 1px solid white;
	color: white;
}

.TagWrapper:hover a {
	color: white;
}




.categoryWrapper {
    display: flex;
    align-items: center; /* Pour aligner verticalement les éléments enfants */
    justify-content: flex-start; /* Ceci assure que les éléments enfants sont alignés à gauche */
    background-color: rgba(255,255,255,0.02);
    border-radius: 30px;
    padding: 5px;
    width: 50%; 
}

.CategoryCircle {
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: inline-flex;
    box-sizing: border-box;
    margin-right: 10px;
}

.CategoryTitle {
	color: #555;
    display: inline-flex;
    box-sizing: border-box;
}



/* Style pour tous les navigateurs */
.custom-slider {
    -webkit-appearance: none; /* Pour Chrome */
    appearance: none;
    width: 100%;
    height: 15px; /* Épaisseur du trait du slider */
    background: #d3d3d3;
    outline: none;
}

/* Curseur pour Chrome, Safari, et Opera */
.custom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    background: #0076FF;
    cursor: pointer;
    border-radius: 50%;
    margin-top: -5px; /* Ajuste la position du curseur pour qu'il soit centré sur le trait */
}

/* Curseur pour Firefox */
.custom-slider::-moz-range-thumb {
    width: 30px;
    height: 30px;
    background: #0076FF;
    cursor: pointer;
    border-radius: 50%;
}

/* Pour Firefox: augmenter l'épaisseur du trait */
.custom-slider::-moz-range-track {
    height: 15px;
    background: #d3d3d3;
}

/* Pour Chrome, Safari, et Opera: augmenter l'épaisseur du trait */
.custom-slider::-webkit-slider-runnable-track {
    height: 15px;
    background: #d3d3d3;
}

.logo {
    transition: all 0.5s;  /* Effet de transition douce lors de la modification de la taille */
    width: 100px;  /* taille originale du logo */
    margin: auto;
}

.logo.shrink {
    width: 50px;  /* taille réduite du logo */
}

#header {
    transition: all 0.5s;  /* Effet de transition douce lors de la modification de la taille */
    width: 100%;  /* Adapté à votre conception */
    height: 200px;
    background-color: rgba(255, 255, 255, 0.7); /* Semi-transparent */
    backdrop-filter: blur(10px);  /* Appliquez le flou */
     -webkit-backdrop-filter: blur(10px);
    padding: 10px 0;  /* Espace interne pour le style */
    position: fixed;  /* Fixé en haut de la page */
    top: 0;
    left: 0;
    z-index: 1000;
}

#header.shrink {
    height: 100px;  /* taille réduite du logo */
}

#headermargin {
    height: 200px;
}

/* Styles par défaut (mobile first) */
#MainContent {
    width: 100%;
}

#Sidebar {
    display: none;  /* Cache la Sidebar sur mobile par défaut */
}

/* Media query pour les écrans desktop */
@media (min-width: 768px) {  /* 768px est une valeur couramment utilisée comme point de rupture entre mobile et tablette/desktop, mais vous pouvez l'ajuster selon vos besoins */
    #MainContent {
        width: 66.66%;  /* 2/3 de la largeur */
        float: left;    /* Utilisé pour aligner MainContent et Sidebar côte à côte */
    }

    #Sidebar {
        width: 33.33%;  /* 1/3 de la largeur */
        float: left;    /* Utilisé pour aligner MainContent et Sidebar côte à côte */
        display: block; /* Montre la Sidebar sur desktop */
        padding-left: 20px;
    }
}

/* Clearfix pour s'assurer que les éléments flottants ne débordent pas */
.container:after {
    content: "";
    display: table;
    clear: both;
}

.boxGroup {
}

.boxGroup:after {
    content: "";
    display: table;
    clear: both;
}


.boxKPI {
	background-color: #111;
	padding: 15px;
	text-align: center;
	border-radius: 20px;
	margin: 5px;
	float: left; 
	display: block;
	width: 120px;
}

.boxKPI .KPI {
	font-size: 40px;
	font-weight: bold;
	color: rgba(0, 118, 255, 1);
}

.boxCategory {
	background-color: #111;
	padding: 15px;
	text-align: center;
	border-radius: 20px;
	margin: 5px;
	float: left; 
	display: block;
	width: 120px;
	transition: all 0.5s; 
}

.boxCategory:hover {
	background-color: rgba(0, 118, 255, 1);
	color: white;
	padding: 15px;
	text-align: center;
	border-radius: 20px;
	margin: 5px;
	float: left; 
	display: block;
	width: 120px;
}

/* Styles de base pour la navbar */
.mobilenavbar {
    display: none; /* caché par défaut */
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px; /* ou la hauteur souhaitée */
    background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent */
    backdrop-filter: blur(10px);  /* Appliquez le flou */
     -webkit-backdrop-filter: blur(10px);
    z-index: 1000; /* s'assurer qu'il est au-dessus des autres éléments */
    text-align: center;
    line-height: 30px; /* pour centrer verticalement le texte */
    color: white;
    text-align: center;
    font-size: 25px;
    justify-content: center; /* centre les éléments enfants horizontalement */
    flex-wrap: wrap;
}

.mobilenavbar .item {
    margin: 20px;
    margin-top: 10px;
    font-size: 9px;
    text-align: center;
    opacity: 0.6;
    color: white;
}

.mobilenavbar .item:hover {
    opacity: 1;
    cursor: pointer;
}

.mobilenavbar .item .pictoitem {
    font-size: 30px;
}

/* Afficher la navbar uniquement sur les écrans jusqu'à 768px de largeur */
@media (max-width: 768px) {
    .mobilenavbar {
        display: flex;
    }
}

#navTime {
    font-size: 20px;
    text-align: center;
}

#navTime:hover {
    color: white;
}

    
#navTime li {
    list-style-type: none;
    margin-right: 30px;
    display: inline;
}    

#navTime li a:hover {
    color: white;
}

.swiper-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.swiper-container-cat {
    position: relative;
    width: 100%;
    overflow: hidden;
}


.swiper-wrapper{
	width: 60%;
}

  
.swiper-slide {
	position: relative;
    z-index: 1;
    opacity: 0.3;             // Transparence
    transform: scale(0.5);  // Les réduire un peu
    transition: transform 0.3s, z-index 0s 0.3s;
}
    

.swiper-slide img {
      display: block;
      object-fit: cover;
    }

/* Effet de transparence et flou pour les slides non actives */
.swiper-slide:not(.swiper-slide-active) {
    opacity: 0.3;             // Transparence
    filter: blur(5px);        // Flou
    transform: scale(0.5);    // Reduction taille
    
}

/* Réinitialiser l'effet pour la slide active */
.swiper-slide.swiper-slide-active {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
    z-index: 2;
    transition: transform 0.3s;
}

@media (max-width: 767px) {
    .swiper-button-next,
    .swiper-button-prev {
        display: none;
    }
}

.swiper-slide img {
    height: 500px;  /* ajustez cette valeur à votre préférence */
    width: auto;   /* pour maintenir les proportions */
    display: block; /* pour supprimer l'espace sous l'image */
    border-radius: 22px;
}

@media (max-width: 767px) {
    .swiper-slide img {
        height: 250px;  /* ajustez cette valeur pour les mobiles */
    }
}

.image-wrapper {
    position: relative;
    display: inline-block;
    border-radius: 15px 15px 15px 15px;
    overflow: hidden;
}

.image-wrapper img {
    display: block;

}

.image-wrapper-cat {
    position: relative;
    display: inline-block;
    border-radius: 15px 15px 15px 15px;
    overflow: hidden;
}

.image-wrapper-cat::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--couleur-filtre);
  background: linear-gradient(to right, var(--couleur-filtre), var(--couleur-filtre-darkened));
  pointer-events: none;
}

.image-wrapper-cat img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-title-cat {
	font-size: clamp(15px, 2vw, 40px);
	font-weight: bold;
	font-family: 'Roboto Condensed', sans-serif;
    color: #fff;  /* couleur du texte */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
    .image-title-cat  {
		font-size: 5vw;
    }
}

.image-title {
	font-size: 5vw;
	font-weight: bold;
	font-family: 'Roboto Condensed', sans-serif;
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.9);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;  /* couleur du texte */
    padding-bottom: 20px;  /* Ajustez cette valeur pour l'espacement */
    background: linear-gradient(transparent 10%, rgba(0, 0, 0, 0.9));
}

@media (max-width: 767px) {
    .image-title  {
		font-size: 7vw;
    }
}

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: #2196F3;
}

input:checked + .slider:before {
    transform: translateX(26px);
}

.RankUserParent {
    display: flex;
  	justify-content: space-between; /* Cela répartit l'espace équitablement entre les éléments */
  	align-items: center; /* Cela aligne les éléments verticalement au centre */
}
.RankUserPosition {
	display: flex;
    align-items: center; /* Pour aligner verticalement les éléments enfants */
    font-size: 22px;
    color: white;
    width: 5%;
}

.RankUser {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 30px;
    display: flex;
    align-items: center; /* Pour aligner verticalement les éléments enfants */
    justify-content: flex-start; /* Ceci assure que les éléments enfants sont alignés à gauche */
    width: 94%;
	margin-bottom: 10px;
	padding-right: 20px;
}

.myRankUser {
    background-color: #2196F3;
}
 
.RankUser .avatar,.RankUser .name,.RankUser .points {
    display: inline-flex;
    box-sizing: border-box;
    font-size: 16px;
    padding: 0;
    color: white;
}

.RankUser .avatar {
    margin-right: 20px;
}
   
   
.RankUser .points {
    margin-left: auto;
    font-size: 10px;
    text-align: center;
}

.RankUser .BigValue {
    font-size: 22px;
    display: block;
}

.RankUser .txt {
    font-size: 10px;
}

.top3ranking {
    position: relative;
  	text-align: center;
  	height: 370px;
  	width: 100%;
  	padding-bottom: 20px;
}

.top3ranking .rankitem {
	position: absolute;
	width: 170px; /* La largeur de l'avatar */
  	text-align: center;
  	transition: all 0.3s ease; /* Pour un effet de transition doux */
}

.top3ranking #first img {
  width: 170px; /* Plus grand pour le premier */
  height: 170px;
  z-index: 5;
  border: 5px solid gold;
  box-shadow: 0px 20px 20px rgba(0, 0, 0, 0.8);
}

.top3ranking #second img, .top3ranking #third img {
  width: 140px; /* Plus grand pour le premier */
  height: 140px;
  z-index: 1;
  border: 5px solid silver;
}

.top3ranking .rankitem .number {
  position: relative;
  top: 20px; /* Espace après l'avatar */
  font-size: 18px;
  color: white;
  border: 2px solid white;
  background-color: rgba(0, 0, 0, 0.1); /* Semi-transparent */
  backdrop-filter: blur(10px);  /* Appliquez le flou */
  -webkit-backdrop-filter: blur(10px);
  width: 50px;
  height: 50px;
  z-index:6;
  border-radius: 50%;   
  text-align: center;
  margin: auto;
  line-height: 50px;
}

.top3ranking .rankitem .name {
  position: relative;
  top: 10px; /* Espace après l'avatar */
  font-size: 18px;
  color: white;
}

.top3ranking .rankitem .points {
  position: relative;
  top: 5px; /* Espace après l'avatar */
  font-size: 26px;
  font-weight: bold;
  color: #2196F3;
}



.top3ranking #first {
  top: 0;
  left: 50%; /* Centre */
  transform: translateX(-50%);
  z-index: 2;
}

#second {
  left: 50%;
  transform: translateX(-130%) translateY(30%); /* Ajuster le pourcentage pour superposer comme tu veux */
  z-index: 1;
}

#third {
  left: 50%;
  transform: translateX(30%) translateY(30%); /* Ajuster le pourcentage pour superposer comme tu veux */
  z-index: 1;

}



  
.image-overlay {
    position: relative;
    z-index: 9999999;
}

.image-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 0, 0, 0.5); /* Couleur rouge semi-transparente */
    opacity: 0; /* Initialement, le filtre est invisible */
    transition: opacity 0.3s ease-in-out; /* Ajoutez une transition pour une animation en douceur */
}

.LargeCategoryTitle {
    position: relative;
    display: inline-block;
    border-radius: 15px 15px 15px 15px;
    overflow: hidden;
    height: 100px;
}

.LargeCategoryTitle::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--couleur-cat);
  background: linear-gradient(to right, var(--couleur-cat), var(--couleur-cat-darkened));
  pointer-events: none;
}

.LargeCategoryTitle img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  object-position: center
}

.LargeCategoryTitle .title {
	font-size: 5vw;
	font-weight: bold;
	font-family: 'Roboto Condensed', sans-serif;
    color: #fff;  /* couleur du texte */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* recherche */

.search-icon {
    font-size: 30px;
    cursor: pointer;
}

.search-popup {
	display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    opacity: 0; /* Définir l'opacité initiale à 0 pour qu'il soit complètement transparent */
    visibility: hidden; /* Cache le popup pour qu'il ne soit pas cliquable */
    transition: opacity 0.3s ease, visibility 0.3s ease-out; 
}

.search-popup.visible {
    opacity: 1; /* Opacité pleine lorsque le popup est visible */
    visibility: visible; /* Rendre le popup visible et donc cliquable */
}

.popup-content {
	border: 1px solid #555;
    background-color: #000; 
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8);
}

.popup-content input[type="text"] {
    padding: 10px;
    border: 1px solid #000;
    border-radius: 3px;
    background-color: #000;
    color: white;
    font-weight: bold;
    font-size: 22px;
    text-align: center;
}

.popup-content input[type="text"]:focus {
    outline: none;
}

/* Pour WebKit (Safari, Chrome, etc.) */
.popup-content input[type="text"]::-webkit-input-placeholder {
    color: #333; /* Remplacez #888 par la couleur de votre choix */
}

/* Pour Mozilla Firefox */
.popup-content input[type="text"]::-moz-placeholder {
    color: #333; /* Remplacez #888 par la couleur de votre choix */
    opacity: 1; /* Pour Firefox, il faut aussi définir l'opacité à 1 */
}

/* Pour Microsoft Edge */
.popup-content input[type="text"]::-ms-input-placeholder {
    color: #333; /* Remplacez #888 par la couleur de votre choix */
}

/* Pour tous les autres navigateurs et pour la spécification CSS future */
.popup-content input[type="text"]::placeholder {
    color: #333; /* Remplacez #888 par la couleur de votre choix */
}

.popup-content button {
    background-color: black;
    color: white;
}

.wrapper {
    transition: filter 0.3s ease; /* Ajoute une transition douce à l'effet de flou */
}

.blurred {
    filter: blur(5px); /* Ajustez cette valeur selon l'effet de flou souhaité */
    pointer-events: none; /* Pour éviter les interactions avec les éléments floutés */
}

.popup-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;  /* Pour s'assurer qu'elle se trouve derrière le contenu du popup */
}

/* Menu Avatar */

.avatar-container {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 999;
    cursor: pointer;
}

.avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

@keyframes slide-down {
  from {
    transform: translateX(-70%) translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateX(-70%) translateY(0);
    opacity: 1;
  }
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    right: 100px;
    background-color: #000;
    border-radius: 22px;
    padding: 5px;
    display: none;
    text-align: center;
    width: 50%;
    transform: translateX(-70%) translateY(-20px); /* combinez les deux transformations */
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.dropdown-menu.open {
    opacity: 1;
    transform: translateX(-70%) translateY(0); /* assurez-vous de garder la même valeur pour translateX */
    animation: slide-down 0.3s ease forwards;
}

.dropdown-menu a {
    display: block;
    padding: 5px 10px;
    text-decoration: none;
    color: #FFF;
    border-radius: 22px;
}

.dropdown-menu a:hover {
    background-color: #0076FF;
}

.form-item {
    margin-bottom: 20px; /* Espacement entre les champs de formulaire */
    display: block;
}

.form-item label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    width: 100%;
}

.radio-label {
    display: inline-block; /* Les labels des boutons radio seront affichés en ligne */
    width: auto; /* Ils prennent juste la largeur nécessaire */
    margin-right: 10px; /* Un petit espace après le label */
}


/* Style pour les champs de texte et fichier */
#EditProfile input[type="text"],
#EditProfile input[type="file"], 
#EditProfile select {
    width: 100%; /* Pour que l'input prenne toute la largeur */
    padding: 8px; /* Un peu de padding pour la saisie */
    margin-bottom: 10px; /* Espacement en dessous des inputs */
    border: 1px solid #ccc; /* Une bordure pour délimiter l'input */
    border-radius: 4px; /* Des coins arrondis pour l'input */
}

#modal {
  position: fixed;
  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: 1000; /* S'assurer que la modal est au-dessus des autres éléments */
}

#modal .modal-content {
  width: 70%; /* Largeur de la modal */
  max-height: 80vh; /* Hauteur maximale de la modal */
  background-color: black;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  overflow: auto; /* Permettre le défilement si le contenu est trop grand */
  display: flex;
  flex-direction: column;
  align-items: center; /* Centrer les éléments horizontalement */
}

#image {
  max-width: 100%; /* L'image ne dépasse pas la largeur de .modal-content */
  max-height: 70vh; /* L'image ne dépasse pas une certaine hauteur */
  object-fit: contain; /* Pour maintenir le ratio de l'image sans déformation */
  margin-bottom: 20px; /* Espace entre l'image et les boutons en dessous */
}


.ProfileContainer {
    display: flex;
    align-items: center;
}


.ProfileContainer .left-column {
    flex: 1; /* 1/3 de l'espace */
    padding-right: 10%;
    text-align: center;
}
  
.ProfileContainer .left-column img {
  width: 100%;
  height: auto;
  display: block;
}

.ProfileContainer .right-column {
    flex: 2; /* 2/3 de l'espace */
}

.country-select .img-flag {
  margin-right: 10px;
}

.ValidationButton {
    background-color: #2196F3;
    color: white;
    border: 0; 
	border-radius: 20px;
	font-size: 15px;
	outline: none !important;   padding: 10px;
	padding: .5rem 1rem;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 400;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	color: white;
}

.disabled-button {
    background: none;
    color: #666; /* Couleur de texte plus sombre */
    border: 1px solid #999; /* Bordure pour le bouton */
    pointer-events: none; /* Empêche les interactions avec le bouton */
    cursor: default; /* Curseur par défaut pour montrer qu'il est désactivé */
    opacity:.65;
}


