
.cache{
	display: none !important;
}

.erreur{
	color: red;
}

.avertissement{
	color: orange;
}

label{
	margin-right: 5px;
}

button{
	min-height: 38px;
}

.bouton:hover{
	cursor: pointer;
}

.boutonImage:hover{
	cursor: pointer;
}

.grise, .bouton:disabled{
	opacity: 60%;
	cursor: auto !important;	/* important obligatoire pour surcharger comportement par défaut du navigateur */
}

/*----------------------
	Liste
-----------------------*/
.liste .element{
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;	
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.liste .element:hover{
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	cursor: pointer;
}

.liste .element.elementAvecBoutonAction{
	display: flex;
}

.liste .element.elementAvecBoutonAction svg{
	margin: 0px 5px 0px 5px;
}

.liste .element.elementAvecBoutonAction .conteneurActionGauche{
	display: flex;
	align-items: center;
	justify-content: center;
}

.liste .element.elementAvecBoutonAction .conteneurLignes{
	display: flex;
	align-items: center;
}

/*----------------------
	Mosaique
-----------------------*/

.mosaique{
	flex: 1;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	overflow-y: auto;
	padding: 10px;
}

.mosaique .element{
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;	
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.mosaique .element:hover{
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
	cursor: pointer;
}

/*----------------------
	BarreProgression
-----------------------*/

progress[value] {
	/* je désactive les styles par défaut des navigateurs*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	border: none;
	
	background-color: white;	
	
	height: 4px;
}

progress{
	background-color: #E5E5E5;
}

progress::-webkit-progress-bar{
	background-color: #E5E5E5;
}

/* pour chrome */
progress[value]::-webkit-progress-value {
	background-color: #3498db;	
}

/* pour firefox */
progress[value]::-moz-progress-bar { 
	background-color: #3498db;
}

/* pour chrome */
.progressionRouge[value]::-webkit-progress-value {
	background-color: red;	
}

/* pour firefox */
.progressionRouge[value]::-moz-progress-bar { 
	background-color: red;	
}

/*----------------------
	ChampUpload
-----------------------*/

.champUpload input[type="file"]{
	/* comme chaque navigateur fait sa sauce, je supprime le champs, et je 
	laisse mettre un message dans le label correspondant qui dit de cliquer
	ici pour télécharger le fichier*/
	display:none;
}

.champUpload label{
	/* simulera un lien */ 
	text-decoration: none;
	cursor: pointer;
}

.champUpload label:hover{
	color: #3498db ;
}


.champUpload .liste .ligne{	
	display: flex;
	align-items: center;
	
	width: 100%;
	height: 40px;
}

.champUpload .liste .ligne svg{
	height: 25px;
	width: 25px;
	/*fill: <?php $this->imprimerVariable("couleurTextePrincipal");?>;*/
	cursor: pointer;
}

.champUpload .liste .ligne .boutonRelancer{
	margin-right: 10px;
}

.champUpload .liste .ligne .description{
	flex: 1;
	display: flex;
	flex-direction : column;
	margin-left: 10px;
	margin-right: 10px;
	height: 40px;
	
	justify-content: center;
}

.champUpload .liste .ligne img{
	width: 48px; 
	max-height: 40px;
	margin-left: 10px;
}

.champUpload .liste .ligne .description progress{
	margin-top : 2px;
	width: 100%;
}

.champUpload .liste .ligne .erreur progress[value]{
	background-color: red;	
}

.champUpload .liste .ligne .erreur progress[value]::-webkit-progress-bar {
	background-color: red;	
}

/*----------------------
	BarreProgression
-----------------------*/
.pointageImage{
	position: relative;
	overflow: hidden;
	border: solid 2px #e4e4e4;
}

.pointageImage .point{
	position: absolute;
}

/*----------------------
	Conteneur volant
-----------------------*/
.conteneurVolant{
	position: absolute; 
	background-color: #ffffff;	
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
	padding: 20px 20px 20px 20px;
	z-index: 9990;	/* pour s'afficher par dessus tout sauf certains éléments qui devront se répartir sur 10 valeurs restantes (div chargement, ...) */
	border: solid 2px #e4e4e4;
}

/*----------------------
	interrupteur bascule
----------------------*/

.interrupteurBascule label{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 34px;
	margin: 0px; /* label global à une margin right de 5 donc je la désactive */
}

.interrupteurBascule label input { 
	opacity: 0;
	width: 0;
	height: 0;
}

.interrupteurBascule label .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	transition: .4s;
	display: flex;
	align-items: center;
}

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

.interrupteurBascule label input:checked + .slider:before {
	transform: translateX(calc(100% - 8px));	/* largeur width - largeur before - left before x 2 */
}

.interrupteurBascule label .slider {
	border-radius: 34px;
}

.interrupteurBascule label .slider:before {
	border-radius: 34px;
}

.interrupteurBascule label .slider b{
	flex: 1;
	z-index: 99;
	position: relative;
	text-align: center;
	user-select: none;
}

.interrupteurBascule label .slider b:first-child{
	margin-left: 5px;
}

.interrupteurBascule label .slider b:not(:first-child){
	margin-right: 5px;
}

/*----------------------
	barreProgressionIndefinie
----------------------*/

.barreProgressionIndefinie{
	width:100%;
	height: 10px;
	overflow: hidden;
	position: relative;
}

.barreProgressionIndefinie > div > div {
	width: 6px;
	height: 6px;
	position: absolute;
	left: -20px;
	background-color: blue; 
	border-radius: 50%;
	animation: deplacementPointBarreProgressionIndefinie 4s infinite cubic-bezier(.2,.64,.81,.23);
}

.barreProgressionIndefinie > div > div:nth-child(2) {
	animation-delay: 150ms;
}

.barreProgressionIndefinie > div > div:nth-child(3) {
	animation-delay: 300ms;
}

.barreProgressionIndefinie > div > div:nth-child(4) {
	animation-delay: 450ms;
}

@keyframes deplacementPointBarreProgressionIndefinie {
	0% {left: 0%;}
	75% {left:100%;}
	100% {left:100%;}
}