.required-asterisk {
	color: red;
	cursor: pointer;
	position: relative;
}
.required-asterisk:hover::after {
	content: "Ce champ est requis";
	position: absolute;
	background-color: #333;
	color: #fff;
	padding: 5px;
	border-radius: 4px;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: 12px;
	z-index: 1;
}
.slideshow-container { /* conteneur pour slideshow */
    position: absolute;
	left: 1vw;
	width: 45%; /*largeur du slideshow par rapport a l'ecran */
}
.mySlides {
    display: none;
	display: flex;
	border-radius: 30px;
	border-style: solid;
	border-width: 2px;
	border-color: rgba(255, 255, 255, 0);
}
img {
	border-radius: 20px;
}
.fade {
	position: absolute;
	animation: fade 4s ease-in-out;
}
@keyframes fade {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes slideshow {
	0% { opacity: 0; }
	8% { opacity: 1; }
	33% { opacity: 1; }
	41% { opacity: 0; }
	100% { opacity: 0; }
}
@media (min-width: 50px) {
.mySlides {
	display: block; /* Afficher tous les slides en permanence */
    position: absolute;
    opacity: 0; /* Masquer initialement */
}
.mySlides:nth-child(1) { display: block; animation: slideshow 16s infinite; animation-delay: 0s;}
.mySlides:nth-child(2) { display: block; animation: slideshow 16s infinite; animation-delay: 4s; }
.mySlides:nth-child(3) { display: block; animation: slideshow 16s infinite; animation-delay: 8s; }
.mySlides:nth-child(4) { display: block; animation: slideshow 16s infinite; animation-delay: 12s; }
}
.icon {   /* Style de base des icônes du menu */
    position: relative; /* Nécessaire pour la position de la pastille */
    display: inline-block;
}
.icon img {
    display: block; /* S'assure que l'image s'adapte bien */
    height: 50px; /* Hauteur définie */
}
.icon::after {  /* Style de la pastille dans le menu */
    content: attr(data-count); /* Affiche le nombre */
    position: absolute;
    top: -10px;
    right: -10px;
    width: 15px;
    height: 15px;
    background-color: rgb(92, 240, 6);
    color: rgb(0, 0, 0);
    font-size: 13px;
    border-radius: 50%;
    text-align: center;
    line-height: 15px;
    border: 2px solid rgba(255, 255, 255, 0);
}
.icon[data-count="0"]::after { /* Si aucune donnée présente, masque la pastille */
    display: none;
}
body,html{    /* partie body et générale */
	background-color: black;	
	text-align: center;
	width: 99%;
	min-height: 100%;
	}
table{
		width: 90%; /* largeur du tableau par rapport au div englobant */
		margin: auto;
		text-align: center;
	}
table.register{
		width: 50%; /* largeur du tableau par rapport au div englobant */
		margin: auto;
		text-align: center;
}
td{
	border-style: solid; 
	border-width: 2px;
	border-color: rgba(19, 232, 12, 0.552);
}
h1{
    font-size:2.5vw;
	color: white;
}
h2{
    font-size:2vw;
	color: white;
}
h3{
    font-size:1.5vw;
	color: white;
}
h6{
    font-size:2vw;   /*  h6 pour MOMENTANEMANT INDISPONIBLE */
	color: rgb(248, 24, 24);
}
p{
	font-size:1.5vw;
	color: white;
}
a {
	color: white;
	text-decoration: none;
}
a:hover {
	color: rgb(0, 0, 0);
}
a:visited {
	color: rgb(0, 0, 0);
}
font.separation{
	color: rgb(255, 255, 255);
	font-size:3vw;
}
a.menuB{  
	position: relative;
	outline: none;
    text-decoration: none;
	color: white;
	text-align: center;
	font-size: 2vw;
}
a.menuB:hover{
	color: white;
}
a.menuB:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
	border-radius: 25px;
}
a.menuB::before {
	transform: scaleX(0);
  transform-origin: bottom right;
  content: " ";
  display: block;
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(41, 19, 168, 0.628);
  z-index: -1;
  transition: transform 0.4s ease;
  border-radius: 20%;
}
 button.dropbtn {  /*    Dropdown Button HAMBURGER-------*/
  background-color: #2618c200; /* couleur du fond des boutons */
  color: rgb(188, 23, 185);  
  border: none;
}
.dropdown {
  position: relative;
  display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #89890a;  /* couleur du fond de la popup */
  min-width: 15vw;
	border-radius: 30px;
	border-style: solid;
	border-width: 0px;
	border-color: rgba(255, 255, 255, 0);
  z-index: 1
}
.dropdown-content a { /* Links inside the dropdown */
  padding: 10px 10px;	
  text-decoration: none;
  display: block;
}
.dropdown:hover .dropdown-content { /* Show the dropdown menu on hover */
	display: block;
}
.dropdown:hover .dropbtn { /* la couleur du bouton quand on survole */
	background-color: #1014eb00;
}
button { /* les boutons les inputs de formulaires */
    background-color: #4caf4f00;
    color: white; 
    padding: 10px 10px; /* Espacement interne autour des icones*/
    font-size: 18px; /* Taille du texte */
    border : none;
	border-radius: 4px; /* Coins arrondis */
    cursor: pointer; /* Curseur "pointer" au survol */
    box-shadow: 0 4px #999; /* Ombre en bas */
    transition: all 0.4s ease; /* Transition pour les effets */
}
button:hover {
    background-color: #45a049; 
	transform: translateY(2px); /* effet enfoncement léger */
}
button:active {
    background-color: #45a049; 
    box-shadow: 0 2px #666; /* Réduction de l'ombre */
    transform: translateY(2px); /* effet enfoncement léger */
}
input[type="number"] {
    width: 60px; /* Largeur du champ */
    padding: 3px; /* Espacement interne */
    font-size: 16px; /* Taille du texte */
    border: 2px solid #433f3f; /* Bordure  */
    border-radius: 5px; /* Coins arrondis */
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); /* Ombre interne */
    transition: all 0.3s ease; /* Transition pour les effets */
}
input[type="number"]:focus {
    border-color: #4CAF50; /* Bordure verte au focus */
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); /* Ombre verte au focus */
    outline: none; 
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none; /* Supprime les boutons par défaut */
    margin: 0; 
}
input[type="number"]::placeholder {
    color: #999; /* Couleur du texte de l'espace réservé */
    font-style: italic;
}
div.container {   /*    les divs utilisés------------  */
	position: absolute;
	justify-content: space-between;
	align-items: center;
	width: 97%; 
	border-style: solid; 
	border-width: 2px;
	border-color: rgba(232, 12, 12, 0.542);
	margin-left: 1vw;
}
div.menu{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	top: 0.5vw;
	border-radius: 20px;
	border-style: solid;
	border-width: 2px;
	border-color: white;
	box-shadow: 0px 10px 10px rgb(176, 174, 174);
}
div.blocentete {
	position: relative;
	top: 0.5vw;
	min-height: 70vh;
	overflow: hidden;
	margin-top: 0.5vw;
	border-radius: 20px;
	border-style: solid;
	border-width: 2px;
	border-color: rgba(32, 7, 223, 0.544);
	box-shadow: 0px 10px 10px rgb(176, 174, 174);
}
div.textintro{
	position: relative;
	color: white;	
	text-align: center;	
	height: 60vh;
	width:45%;
	left: 50%;
	border-radius: 20px;
	border-style: solid;
	border-width: 2px;
	border-color: rgba(10, 182, 56, 0.626);
	box-shadow: 0px 10px  10px rgb(176, 174, 174);
	padding: 10px 10px 10px 10px;
}
div.bloccontenu{
	position: relative;
	top: 1.5vh;
	text-align: left;
	width: 90%;
	border-radius: 20px;
	border-style: solid;
	border-width: 2px;
	border-color: rgba(236, 240, 15, 0.586);
	box-shadow: 4px 10px 10px 10px rgb(62, 61, 61);
	padding:  1vw 1vw 1vw 1vw;
	margin-left: 4vw;
}
div.blocformulaire{
	position: relative;
	top: 1.5vh;
	text-align: center;
	width: 50%;
	border-radius: 20px;
	border-style: solid;
	border-width: 2px;
	border-color: rgba(6, 180, 145, 0.54);
	box-shadow: 4px 10px 10px 10px rgb(62, 61, 61);
	padding:  1vw 1vw 1vw 1vw;
	margin-left: 24%;
}
div.footer{
	position: relative;
	text-align: center;
	padding: 5px 5px 5px;
}
.centered-container { /* pour 404.php */
	text-align: center;
	position: relative;
} 
.responsive-image {
    max-width: 100%;
	min-width: 2vw; /* largeur mini y compris icones*/
	min-height: 2vw;  
}
.scroll-downs { /*partie mouse scroll---------------------*/
	position: relative;
 	 left: 95%;
 	 width: 4vw;
 	 height: 6vh;
 	 text-align: center;
 	 z-index: 20;
}
.mousey {
	width: 5px;
	padding: 10px 15px;
	height: 35px;
	border: 4px solid #fff;
	border-radius: 25px;
	opacity: 0.75;
	box-sizing: content-box;
	z-index: 11;
}
.scroller {
	width: 4px;
	height: 10px;
	border-radius: 25%;
	background-color: #fff;
	animation-name: scroll;
	animation-duration: 2s;
	animation-timing-function: cubic-bezier(.15,.41,.69,.94);
	animation-iteration-count: infinite;
	z-index: 12;
}
@keyframes scroll {
	0% { opacity: 0; }
	50% { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(15px); opacity: 0;}
}