@charset "utf-8";

div.phase { display: none; }

#liste_phases { display: flex; list-style-type: none; margin: 0 0 1em 0; padding: 0; flex-direction:row; align-items:center}
	#liste_phases li {  margin: 0; text-align: center; cursor: pointer; flex:1 }
	#liste_phases li:not(:last-child) a:not(.actif) { border-right:1px solid rgba(0,0,0,0.25) }
	#liste_phases li:not(:first-child) a:not(.actif) { border-left:1px solid rgba(255,255,255,0.25) }
		#liste_phases li a { display: flex; font-weight: bold; padding: 0.75em 1em; background: #ccc; text-decoration: none; color: #ffffff; font-size: 1.1em; line-height: 1; background: linear-gradient(to bottom, #cedce7 0%, #596a72 100%); align-items:center; justify-content:center;hyphens:auto  }
		#liste_phases li:first-child a { border-radius: 5px 0 0 5px; }
		#liste_phases li:last-child a { border-radius: 0 5px 5px 0; }
		#liste_phases li a.actif { box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.25); }
		#liste_phases li a.actif { background: #fb8800; }
		#liste_phases li a:not(.actif):hover { background: linear-gradient(to bottom, #f9bd77 0%, #fb8800 70%); }

@media screen and (max-width: 750px) {
  #liste_phases li a { height:calc(54px - 1.5em) }
}


.phase table { width: 100%; font-size: 0.9em; margin-bottom: 4em; line-height: 1.2em; color: inherit; }
	.phase table thead { background: #fb8800; }
		.phase table th { text-align: center; vertical-align: middle; text-transform: inherit; font-size: 1.1em; line-height: 1.2em; font-weight: normal; padding: 0.5em 0; color: #ffffff; }
	.phase table tr:nth-child(even) { background: rgba(0, 0, 0, 0.05); }
		.phase table td { border-bottom: 1px dotted #cccccc; background: rgba(255, 255, 255, 0.5); padding: 0.5em; text-align: center; vertical-align: middle; }

@media screen and (max-width: 599px) {
  .phase .resultats .match td { font-size: 0.7em; }
}

.resultats .match { display:flex; flex-direction:row;}
	.resultats .match td { flex:0 0 auto}
		.resultats .match td.equipe { flex-basis:calc(50% - 3em - 1px); } 
		.resultats .match2 td.equipe { flex-basis:calc(50% - 5em - 1px); }
		
		.resultats .match td.score { flex-basis:2em; padding: 0.5em 0; background: rgba(0, 0, 0, 0.05); font-weight: bold;}
		.resultats .match td.remarques { flex-basis:3em}


.phase table .score1 { border-right: 2px solid white; }


#phase2 td img { width: 100%; max-width: 50px; height:auto} 

.phase table.resultats th { padding: 0.25em 0; }

.phase table .mj, .tableau table .mg, .phase table .mn, .phase table .mp, .phase table .bp, .phase table .bc, .phase table .diff, .phase table .pts { width: 15px; }

div.phase h3 { margin: 0; padding: 0; color: #fb8800; font-size: 1.1em; line-height: 1em; }

#liste_groupe { margin: 0; padding: 0; list-style-type: none; display: table; font-size: 1.1em; width: 100%; }
	#liste_groupe h2 { font-size: 1em; padding: 0; margin: 0 0.25em 0 0; }
	#liste_groupe li { display: table-cell; padding: 0; vertical-align: bottom; cursor: pointer; width: 1%; }
		#liste_groupe li a { display: block; text-decoration: none; color: #ffffff; border-radius: 5px 5px 0 0; font-weight: bold; font-size: 1.3em; text-align: center;border-left: rgba(255, 255, 255, 0.25) 1px solid; background: linear-gradient(to bottom, #cedce7 0%, #596a72 100%); }
		#liste_groupe li a.actif { background: linear-gradient(to bottom, #f9bd77 0%, #fb8800 42%); }
		#liste_groupe li a:not(.actif):hover { background: linear-gradient(to bottom, #596a72 0%, #cedce7 100%); }

table.recompenses td { padding: 1em 0; }
table.recompenses td:first-child { text-align: right; }



.match-line::after { content: ""; display: block; clear: both; }

span.info { cursor: help; }




#liste_tableaux_groupe { margin:50px 0; padding:0 }
	#liste_tableaux_groupe > li { margin:0 0 20px 0; background-color:white; padding:0; border-radius:5px; border:1px solid rgba(0,0,0,0.05); list-style-type:none; overflow:hidden; box-shadow:3px 3px 10px rgba(0,0,0,0.05) }
		#liste_tableaux_groupe > li > h2 { text-align:center; padding:20px 0 10px 0; margin:0 0 5px 0; background: linear-gradient(to right, #2799D1 0%, #006AB3 100%); color:#FFF }
		#liste_tableaux_groupe.u15 > li > h2 {  background: linear-gradient(to right, #008634 0%, #97BF0D 100%);}
			#liste_tableaux_groupe > li > h2 span{ display:block; text-align:center; font-size:0.8em } 
	
		.equipes-groupe { margin:0; padding:0; list-style-type:none }
			.equipes-groupe li { display:flex; margin:0; padding:10px; align-items: center; justify-content: center;} 
			.equipes-groupe > li:nth-child(even), .equipes-groupe > a:nth-child(even) >li { background-color:rgba(0,0,0,0.02)} 
				.equipes-groupe li > figure { flex:0 0 auto; width:25%; max-width:60px; min-width:30px; margin:0; padding:0; background-position:center; background-repeat:no-repeat; background-size:contain}
					.back-blason { background-repeat:no-repeat; background-size:contain; background-position:center}
					.back-blason img{ display:block; margin:0; padding:0; width:100%; height:auto}
				 .equipes-groupe li > p { padding:0 25px 0 15px; margin:0; flex:auto}   
					.equipes-groupe li > p > strong { display:block}
					.equipes-groupe li > p > span { display:block; font-size:0.9em} 
					
		.equipes-groupe a { text-decoration:none; cursor:pointer !important; display:block; position:relative}
		.equipes-groupe a > span{ display:block; right:10px; top:calc(50% - 0.75em); position:absolute; line-height:1; margin:0; padding:0; font-size:1.5em}
					
@media screen and (min-width: 500px) {	
	#liste_tableaux_groupe { display:flex; flex-wrap:wrap; gap:20px; }
  		#liste_tableaux_groupe > li { flex: 0 0 auto; width: calc(50% - 12px);}
}

.titre-composition { text-align:center; padding:5px 20px; background:#FB8800; margin: 0 !important; font-weight:bold; color:#FFF; width:calc(100% - 40px); max-width:calc(100% - 40px) !important;} 



.new-classement {
  display: flex;
  flex-direction: column; /* Makes it vertical */
  width: 100%; /* Or a specific width */
  line-height:1.2
}

.new-classement .back-blason { width:15px;}

.new-nom { display:flex; flex-direction: row; gap:7px ;align-items: center;justify-content: start; }
	/*.new-nom > figure {flex:1}*/
	.new-nom > span {flex:1}

.new-classement-header, .new-classement-row {
  display: flex;
  /* Adjust as needed for spacing between columns */
  gap: 10px; /* Example gap */
  padding: 5px; /* Example padding */
  border-bottom: 1px solid #ccc; /* Optional border */
  height:35px;
  align-items: center;
}

.new-classement.league .new-classement-row:nth-child(4), .new-classement.league .new-classement-row.cut { border-bottom-width:4px}

.new-classement-header {
  font-weight: bold; /* Makes header bold */
  background-color:#FB8800;
  color:white
}

.new-cla,.new-pts,.new-nom, .new-mj, .new-mg, .new-mn, .new-mp, .new-bp, .new-bc, .new-diff, .new-pts {
  width: 25px;
  text-align: center;
}

.new-pts,.new-cla,.new-nom { font-weight:bold }

.new-nom {
  flex:2;
  text-align: left; /* Align team name to the left */
}



.match-results {
  display: flex;
  flex-direction: column; /* Arrange header and matchs vertically */
   line-height:1.2
}

.match-results:not(:nth-child(2) ){ margin-top:50px}

.match-results .header {
	font-weight: bold;
	background-color:#FB8800;
	color:white;
	height:50px;
	display: flex;
	align-items: center;
	justify-content: center; font-size: 1.4em;
	flex-direction:row;
	gap:10px
} 

.match-results .header .tri-jour{ display:flex; gap:5px } 

.match-results .header .tri-jour button.active, .match-results .header .tri-jour button:hover { background:black; color:white; border-color:black}

.match-results figure.back-blason { width:15px;} 



.match-results .matchs {
  display: flex;
  flex-direction: column; /* Arrange matchs vertically */
}

.match-results .match, .match-results .container-switch  {
	display: flex;
	height:50px;
	align-items: center;
	gap:10px;
	
}
 
.match-results .match {
	
	padding:0 10px;
	position:relative;
	overflow:hidden; 
}
/*
#phase1 .match-results .match:not(.cloture) {
	display:none;
}*/





/* Example styling - customize as needed */
.match-results .match { border-bottom: 1px solid #ccc; }
	.match-results .match .equipe { display:flex; flex-direction:row; gap:10px; align-items:center; flex:1}
	.match-results .match .equipe.vainqueur { font-weight:bold; color: #196AB3}
	.match-results .match .score {  width:15px;  } 
	.match-results .match .remarques {  width:30px;  } 
	.match-results .match .remarques.hidden {  visibility:hidden  } 
	.match-results .match .score,.match-results .match .remarques { font-weight: bold; text-align:center; padding:6px 3px; border:1px solid #CCC; background:white } 
	.match-results .match .date, .match-results .match .heure,.match-results .match .terrain { text-align:center;}
	.match-results .match .date, .match-results .match .heure,.match-results .match .remarques { width:40px}
	.match-results .match .terrain,#liste_terrains {}
	.match-results .match .heure { font-weight:bold} 
	
	.match-results .match .terrain, #liste_terrains span {
		 width:18px;
		padding: 4px 2px;
		background-color:#0D8A2D;
		border: 2px solid white;
		color: white;
		font-size:0.8em;
		font-weight:bold;
		cursor:help;
		display:inline-block;
		text-align:center
	}
	
	.match-results .match .terrain.t-b,  #liste_terrains span.t-b {
			background-color: #249EE0;
	}
	
	.match-results .match .terrain.t-c,  #liste_terrains span.t-c {
			background-color: #FBBA02;
	}


.match-results .match .equipe1 { justify-content:end; text-align:right}

.match-results .match:nth-child(even), .new-classement-row:nth-child(even) {  background-color: rgba(0,0,0,0.025); }

 
.match-results .match .info{ background:rgba(25, 106, 179, 0.8); color:white; padding:0 10px; position:absolute; top:0; right:0; display:flex; align-items:center; display:none; font-weight:bold; height:calc(100% - 14px); visibility:hidden; cursor:pointer; z-index:200;margin:5px 5px 5px 0; border-radius:6px; border:2px solid white}  

.match-results .match:nth-child(even) .info {background:rgba(25, 106, 179, 1); cursor:pointer}

#phase2 .match, #phase1 .match-results .match.active { display:flex}


.matchs.filter-activated .match:not(.active) {display:none}


@media screen and (max-width: 600px), screen and (min-width: 601px) and (max-width: 1000px) {
  /* Styles pour les écrans de 600px ou moins, OU entre 601px et 1000px */
	.match-results .match, .new-nom{ font-size:0.9em; gap:5px}
	.match-results .match:not(.cloture) { padding-right:28px;}
	.match-results .match .info:not(.maskable){ display:flex;  visibility:visible} 
	.match-results .container-switch { position:absolute; right:-100%; top:0; background:rgba(25, 106, 179, 0.8); color:white; width:calc(100% - 60px); padding:0 50px 0 10px; z-index:100; font-weight:bold; height:100%; font-size:1.5em; }
	.match-results .match .date, .match-results .match .heure  { width:60px}  
	.match-results .match .terrain { width:30px}
	.new-classement .responsive, .match-results .match .responsive{ display:none}
	.new-classement-row { gap:0} 
}

 
/* Optional: Add hover effect */
.new-classement-row:hover,.match-results .match:hover  {
  background-color: #fce6cc;
} 




#league {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* ou space-between pour coller aux bords */
  gap:20px
}

#league .hat {
  flex: 1 0 45%; /* Ajustez la largeur ici (ex: 45% pour 2 colonnes) */
  margin-bottom: 20px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding:10px;
  background-image:url(../design/fa-filiaire.svg);
  background-size:cover;
  background-attachment:fixed;
  background-repeat:repeat;
}

#league .hat h2 {
    text-align: center; /* Centre le titre du chapeau */
	font-size:1em;
    margin-bottom: 1.5em; /* Espacement sous le titre */
	
}

#league .hat-teams {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; /* ou space-between pour coller aux bords */
  gap:20px
}

#league .hat-item {
  flex: 1 0 23%; /* Ajustez la largeur ici (ex: 23% pour 4 colonnes) */
  margin-bottom: 10px;
  text-align: center; /* Centre le contenu de l'item */
  font-size:0.8em;
  display: flex; /* Pour aligner verticalement l'image et le texte */
  flex-direction: column; /* Pour afficher l'image au-dessus du texte */
  align-items: center; /* Centre horizontalement l'image et le texte */
}

	#league .hat-item figure {
		width:70px;background-position: center;
	}
	
	#league .hat-item a { /* Style pour les liens autour des hat-items */
		display: flex; /* Pour que le lien occupe toute la largeur de l'item */
		color: inherit; /* Pour que la couleur du texte soit héritée */
		text-decoration: none; /* Pour supprimer le soulignement des liens */
		flex-direction: column; /* Pour afficher l'image au-dessus du texte */
		align-items: center; /* Centre horizontalement l'image et le texte */
	}
	#league .hat-item p { margin:5px 0 0 0 }
		#league .hat-item p span { /* Style pour le "+" */
			display: block; /* Pour que le "+" soit sur une ligne séparée */
		}
		#league .hat-item p strong { /* Style pour le "+" */
			min-height:2em; display:block
		}

/* Media query pour le responsive */
@media (max-width: 768px) {
 #league  .hat {
    flex: 1 0 90%; /* 1 colonne sur petit écran */
	
  }
  #league .hat-teams {
	gap:0;  
  }
  

  #league .hat-item {
    flex: 1 0 30%; /* 2 colonnes sur petit écran */  
  }
}




.classement-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(100% - 20px);
    margin: 20px auto;
	padding:10px;
	line-height:1.3
}

.podium {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 20px;
	align-items: end;
	gap:0;
	font-size:1.2em;
	/* border-bottom: 1px solid #ddd;*/
perspective: 500px; /* Adjust this value */
	 
	  
}

.podium-step {
	flex:1;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
   padding:10px;
   position:relative;
   box-shadow:3px 3px 10px rgba(0,0,0,0.25);
   position:relative;
   z-index:1;
   transform: rotateX(15deg);
}

.podium-step .rank{
	 position:absolute;
	 z-index:1;
	 color:white;
	 font-weight:bold;
	 display:flex;
	 width:100%;
	 height:100%;
	 top:0;
	 left:0;
	 opacity:0.5;
	 font-size:4em;
	 line-height:1;
 
}

.step-1 {
	height: 180px;
	background: radial-gradient(circle at top left, #FDED01, #FCC600);
	order: 2;
	z-index:2;
	transform: scale(1.05);
}

.step-2 {
	height: 150px; 
	background: radial-gradient(circle at top left, #cedce7, #a5bcce); 
	order: 1;
	 transform: rotateY(15deg);
}

.step-3 {
	height: 120px;
	background: radial-gradient(circle at top left, #d69b64, #CD7F32); 
	order: 3;
	 transform: rotateY(-15deg);
}

.step-2,.step-3 {
	font-weight:bold;
	color:white;
	
}

.step-2,.step-3, .step-1 .rank { 
	text-shadow:1px 1px 1px rgba(0,0,0,1);
}


/* Media query pour le responsive */
@media (max-width: 768px) {
 .step-1 { height:210px}
 .step-2 { height:180px}
 .step-3 { height:150px} 
 .podium-step .rank{ font-size:3em}
} 




.podium-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
 	position:relative;
	z-index:2
}

.podium-content .back-blason {
	width:55px
}

.podium-step.step-1 .back-blason {
	width:85px 
}

.podium-rank {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 5px;
}

.podium-team {
    font-weight: bold;
    margin-top: 5px;
}

.classement-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.classement-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #ddd;
	gap:10px;
	justify-content:center
}
.classement-item:nth-child(even) { background-color:rgba(0,0,0,0.025)}

.classement-position {
	 width:15px; text-align:center; padding-right:10x; font-weight:bold
}

.classement-team {
   width:100%; max-width:300px
	
	
}
.classement-team.team-4 { font-weight:bold}

.classement-item .back-blason {
	width:20px
}








#recompenses {
  display: flex;
  flex-direction: column;
  width: calc(100% - 20px); /* Important pour q ue le conteneur prenne toute la largeur */ 
  margin: 20px auto; /* Centre le tableau */ 
  border: 10px solid transparent;
   border-image: linear-gradient(to right, #FCC600, #FDEB00, #FCC600) 1; 
}

#recompenses .recompense-item {
  display: flex;
  justify-content: space-between; /* Aligne les éléments à gauche et à droite */
  align-items: center; /* Centre verticalement les éléments */
  padding: 10px;
  border-bottom: 1px solid #ddd; /* Ligne de séparation */
  font-size:1.2em;
  background-image:url(../design/fa-filiaire.svg);
  background-size:cover;
  background-attachment:fixed;
  background-repeat:repeat;
  line-height:1.3
}

#recompenses .recompense-item:nth-child(even){background-color:rgba(0,0,0,0.025)}

#recompenses .label {
  font-weight: bold;
  flex: 1; /* Permet au label de prendre l'espace disponible */
}

#recompenses .value {
  flex: 2; /* Permet à la valeur de prendre plus d'espace */
  text-align: right; /* Aligne le texte à droite */
}


#recompenses .recompense-item:first-child {
  border-top: 1px solid #ddd; /* Ajoute une bordure en haut du premier élément */
}

#recompenses .recompense-item:last-child {
  border-bottom: none; /* Supprime la bordure en bas du dernier élément */
}

#recompenses .label,
#recompenses .value {
  padding: 15px; /* Augmente l'espacement interne */
}

/* Styles pour les écrans plus petits */
@media (max-width: 600px) {
 #recompenses  .recompense-item {
    flex-direction: column; /* Passe à une disposition en colonne */
    align-items: flex-start; /* Aligne les éléments à gauche */
  }

 #recompenses  .value {
    text-align: left; /* Aligne le texte à gauche */
    margin-top: 5px; /* Ajoute un espace entre le label et la valeur */
  }
  
  #recompenses .label,
	#recompenses .value {
	  padding: 5px; /* Augmente l'espacement interne */
	}
}




#prez-groupes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 5px; /* Réduit l'espace entre les groupes */
  
}

.prez-groupes-item {
  flex:1 0 100px; /* Taille minimale réduite à 200px */
  border: 1px solid #ccc;
  padding: 5px; /* Réduit la marge intérieure */
  text-align: center;
  font-size: 0.9em; /* Légère réduction de la taille de la police */
  align-items:center;
  justify-content:center;
  height:60px;
  display:flex;
  flex-direction:column;
  line-height:1.3
}

.prez-groupes-item span {
  display: block;
  margin-bottom: 5px; /* Réduit l'espace entre les éléments */
}

/* Style pour les écrans plus petits */
@media (max-width: 400px) { /* Point de rupture ajusté */
  .prez-groupes-item {
    flex: 1 0 100%;
  }
}



#frise-ecussons { margin:20px 0 20px 0;}
#frise-ecussons .container-ecussons {
    display: flex;
    flex-wrap: nowrap;
	flex-direction:row;
	gap:10px;
}

#frise-ecussons .ecusson-item {
    flex: 1 1 auto; 
}

@media (max-width: 600px) {
	#frise-ecussons { padding:0 10px }
	#frise-ecussons .container-ecussons {
		justify-content:space-evenly;
		gap:5px;
	}
}






#frise-drapos { margin:10px 0 10px 0;}

	#frise-drapos .container-drapos {
		display: flex;
		flex-wrap: nowrap;
		flex-direction:row;
		align-items: stretch;  
		justify-content:center;
		box-shadow: 1px 1px 3px rgba(0,0,0,0.5); 
	}
	
		#frise-drapos .drapo-item {
			flex:1 0 auto; 
			aspect-ratio: 4 / 3; 
			background-size:100% 100%; 
			overflow:hidden 
		}
		
		#frise-drapos .drapo-item > span { display:block; width:100%; height:100%; 
			background-image: linear-gradient(135deg, 
				rgba(255,255,255,0) 	0%, 
				rgba(255,255,255,0.3)	14.3%,
				rgba(0,0,0,0)			28.6%, 
				rgba(0,0,0,0.4)			42.9%, 
				rgba(0,0,0,0) 			57.2%,
				rgba(255,255,255,0.3)	71.5%,
				rgba(255,255,255,0)		100% );  
			/*background-size: 200% 200%;*/
		}
		
		#frise-drapos .drapo-item:first-child { border-radius:3px 0 0 3px } 
		#frise-drapos .drapo-item:last-child { border-radius:0 3px 3px 0 } 

@media (max-width: 600px) {
	/*#frise-drapos { padding:0 10px }*/
	#frise-drapos .container-drapos {
		/*justify-content:space-evenly;
		gap:5px;*/
	}
}




