/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/************************************************************************/

/* Mise en forme des sections globales du site (sauf calendrier)*/

section{
	width: 300px;
	margin: auto;
}

/*FONTS*/
@font-face{
	font-family: "Minecraft";
	src: url(fonts/Minecraft.ttf);
}

@font-face{
	font-family: "VT323";
	src: url(fonts/VT323-Regular.ttf);
}

/*COULEURS*/

.couleur-0{
  color: var(--color-0);
}

.couleur-1{
  color: var(--color-1);
}

.couleur-2{
  color: var(--color-2);
}

.couleur-3{
  color: var(--color-3);
}

.couleur-4{
  color: var(--color-4);
}

.couleur-5{
  color: var(--color-5);
}

.couleur-6{
  color: var(--color-6);
}

.couleur-7{
	color: var(--color-7);
  }

.couleur-8{
	color: var(--color-8);
}

.couleur-9{
	color: var(--color-9);
}

.couleur-10{
	color: var(--color-10);
}

/*COULEURS SVG*/

.fill-0{
	fill: var(--color-0);
  }
  
  .fill-1{
	fill: var(--color-1);
  }
  
  .fill-2{
	fill: var(--color-2);
  }
  
  .fill-3{
	fill: var(--color-3);
  }
  
  .fill-4{
	fill: var(--color-4);
  }
  
  .fill-5{
	fill: var(--color-5);
  }
  
  .fill-6{
	fill: var(--color-6);
  }
  
  .fill-7{
	  fill: var(--color-7);
	}
  
  .fill-8{
	  fill: var(--color-8);
  }
  
  .fill-9{
	  fill: var(--color-9);
  }
  
  .fill-10{
	fill: var(--color-10);
}
.stroke-1{
	stroke: var(--color-4);
}

/*HUMEURS*/

.couleur-humeur-0{
	background-color: var(--color-0);
  }
  
  .couleur-humeur-1{
	background-color: var(--color-1);
  }
  
  .couleur-humeur-2{
	background-color: var(--color-2);
  }
  
  .couleur-humeur-3{
	background-color: var(--color-3);
  }
  
  .couleur-humeur-4{
	background-color: var(--color-4);
  }
  
  .couleur-humeur-5{
	background-color: var(--color-5);
  }
  
  .couleur-humeur-6{
	background-color: var(--color-6);
  }

  .couleur-humeur-7{
	background-color: var(--color-7);
  }

  .couleur-humeur-8{
	background-color: var(--color-8);
  }

  .couleur-humeur-9{
	background-color: var(--color-9);
  }

  .couleur-humeur-10{
	background-color: var(--color-10);
  }
.carre-couleur-humeur{
	width: 2em;
	height: 2em;
	display: inline-block;
	vertical-align: middle;
	margin: 10px;
}

/**/

html{
	height: 100%;
}

a, a:visited{
	color: #333333;
	text-decoration: none;
}

/*STYLES RÉUTILISABLES*/

.centrer-elmt{
	margin:auto;
}

.centrer-txt{
	text-align:center;
}

.largeur-icone{
	max-width:70px;
}

/*CORPS DE PAGE*/ /*Mobile First*/
body{
	background-color: var(--color-background);
	color: var(--color-text);
	font-family: VT323, 	sans-serif;
}

.conteneur{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
	grid-template-areas: "header"
						 "main"
						 "footer";
}

.conteneur{
	position: absolute;
	height: 100vh;
	width: 100vw;
   overflow-x: hidden;
}
/*HEADER*/
.header-principal{
	grid-area: header;
	height: 100px;
}

h1{
	font-family: Minecraft;
	font-size: 2em;
	max-width: 500px;
	margin: 20px auto;
	padding-left: 10px;
	padding-top: 5px;
	text-align: left;
}

h1 a{
	display: block;
	width: 100%;
	height: 100%;
}

/*FOOTER*/

footer{
	margin-top: 20px;
	grid-area: footer;
	width: 100vw;
	height: 50px;
	text-align: center;
	/*display: grid;
	grid-template-columns: auto 50px;*/
}

footer p{
	padding: 0px 10px;
}

/* Formulaires */

form{
	width: 300px;
	margin: auto;
}

/*MAIN*/
main{
	grid-area: main;
}
	/*Header du main*/
.header-main{
	margin-bottom: 30px;
	display:grid;
	grid-template-columns:20% auto 20%;
	align-content:center;
}

.header-main h2{
	margin-left: 10px;
	font-size: 1.7em;
	grid-column: 2;
	text-align: center;
}

.header-main h2 .sous-titre{
	display: block;
	font-size: 0.6em;
}

	/*Calendrier Affichage mois*/
.calendrier{
	width: auto;
}

.calendrier > ul > li{
	list-style-type: none;
	text-align:center;
	line-height: calc(3vh - 3px);
	position:relative;
	border: solid 1px black;
}

.calendrier ul{
	margin: 0;
	padding: 0;
}

.affichage-annee{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: "numero-jours nom-mois"
						 "numero-jours liste-jours";
}

.lien-modif-humeur{
	display:block;
	margin:0;
	padding:0;
	height:100%;
	width:100%;
}

.lien-modif-humeur:hover{
	background-color:black;
	opacity:0.1;
}
/* Numéro du jour en bas à droite dans l'affichage mois*/
.numero-jour{
	font-family: "Minecraft";
	position: absolute;
	bottom: 0;
	right: 5px;
	color: #888;
	margin-right:0px;
}

.mois-actuel{
	color: var(--color-text);
}
/* Emoji du jour si mis en place*/
.affichage-mois .emoji{
	display: block;
	padding-top: 20px;
	font-size: 1.3em;
}

.jour-inexistant{
	border: none !important;
}
/**/
/*Entete du calendrier qui varie en fonction de l'affichage mois-année*/

#nom-jours{
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

#nom-mois{
	grid-area: nom-mois;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

/*Liste des jours que l'on affiche en mode année et non en mode mois*/

#numero-jours{
	grid-area: numero-jours;
}

/*Case du calendrier*/

#liste-jours{
	grid-area: liste-jours;
	display: grid;
}

#liste-jours.mois{
	grid-template-columns: repeat(7, 1fr);
}

#liste-jours.mois >li{
	height: 10vh;
}

#liste-jours.annee{
	grid-template-columns: repeat(12, 1fr);
	grid-auto-flow: column;
	grid-template-rows: repeat(31, 1fr);
}

.jour-ulterieur{
	background-color: #DDD;
}

/*Cacher les parties que nous n'avons pas besoin*/

.hide{
	display: none !important; 
}

	/*Liste humeur*/
.humeur{
	width: 300px;
	margin: auto;
	margin-top: 30px;
	margin-bottom: 30px;
}

.liste-humeur li{
	font-size: 1.7em;
}

/* Formulaire page connexion et insciption */

.formulaire-compte{
	max-width: 800px;
	margin: auto;
}

/* Modification humeurs*/

.modification-humeur{
	margin: 10px;
}

.humeur-a-modifier{
	display: grid;
	grid-template-columns: 1fr 4fr;
	margin: 5px;
	margin-bottom: 20px;
}

.input-humeur{
	border: none;
	font-family: VT323, sans-serif;
	font-size: 2.5em;
	margin-left: 5px;
	min-width: 200px;
}

.input-couleur{
	width: 50px;
	height: 50px;
	border: none;
}

.bouton {
	display: block;
    text-transform: uppercase;
	min-width: 200px;
	margin: auto;
    padding: 7px;
	margin-top: 10px;
	border: solid 3px;
    border-image: conic-gradient(var(--color-1), var(--color-2), var(--color-3), var(--color-4), var(--color-5), var(--color-6)) 1;
    background-color: #fff8ed;
    font-family: VT323, sans-serif;
	font-size: 1.5em;
}

.bouton:active, .bouton:hover {
	background-color:#333333;
	color:white;
	cursor: pointer;
}

.bouton-reset-humeurs{
	width: 200px;
	text-align: center;
	font-size: 1em;
	margin-top: 100px;
}

.bouton-avatar{
	grid-column: 1 /span 4;
}

.bouton-humeur{
	margin-top: 35px;
}



/* Modification avatars */

.liste-avatars{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 30px;
}

.liste-avatars img{
	width: 60px;
	height: 60px;
}

/* HIDE RADIO */
.liste-avatars [type=radio] { 
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
  }

.selection-humeur-du-jour [type=radio] { 
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
  }
  
  /* IMAGE STYLES */
.liste-avatars  [type=radio] + img {
	cursor: pointer;
  }
  
  /* CHECKED STYLES */
.liste-avatars [type=radio]:checked + img {
	outline: 3px solid var(--color-1);
	outline-offset: 5px;
  }

  .selection-humeur-du-jour label{
	  display: block;
	  font-size: 1.5em;
  }

  .selection-humeur-du-jour [type=radio]:checked + label {
	outline: 3px solid var(--color-1);
	outline-offset: -5px;
  }

/*Mon compte*/

.info-compte{
	background: red;
}

.modification-info-compte{
	background: green;
}





/* Animations CSS*/

@keyframes rotationimage{
	0%{
		transform: rotate(0deg);
	}

	15%{
		transform: rotate(15deg);
	}

	30%{
		transform: rotate(0deg);
	}

	45%{
		transform: rotate(-15deg);
	}

	60%{
		transform: rotate(0deg);
	}

	75%{
		transform: rotate(15deg);
	}

	90%{
		transform: rotate(0deg);
	}
}

/* Burger Menu */

 #menuToggle a
 {
   text-decoration: none;
   color: #232323;
   
   transition: color 0.3s ease;
 }
 
 #menuToggle a:hover
 {
   color: var(--color-4);
 }

 #menuToggle
 {
   display: block;
   position: absolute;
   margin: auto;
   top: 0;
   right: 0;   
   -webkit-user-select: none;
   user-select: none;
 }
 
 #menuToggle input
 {
   display: none;
   -webkit-touch-callout: none;
 }

 #menuToggle img{
	width: 50px;
	height: 50px;
	padding: 5px;
	margin: 10px;
	position: relative;
	top: 7px;
	right: 7px;
	z-index: 1000;
	cursor: pointer;
	border: 3px solid;
  	border-image: conic-gradient(var(--color-1), var(--color-2), var(--color-3), var(--color-4), var(--color-5), var(--color-6)) 1;		
}

 #menu
 {
   position: absolute;
   width: calc(100vw - 100px);
   height: 100vh;
   margin: 0;
   padding: 50px;
   top: 0;
   right: 0;
   background: #ededed;
   list-style-type: none;
   -webkit-font-smoothing: antialiased;
   /* to stop flickering of text in safari */
   transform-origin: 0% 0%;
   transform: translate(100%, 0);
   transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
   z-index: 10;
 }
 
 #menu li
 {
   padding: 10px 0;
   font-size: 22px;
 }
 
 /*
  * And let's fade it in from the left
  */
 #menuToggle input:checked ~ ul
 {
   transform: scale(1.0, 1.0);
   opacity: 1;
 }
 

/*Emoji Picker*/

.emoji-picker #emoji-selectionne-affichage{
	max-width:75px;
	max-height:75px;
	font-size:4em;
	resize:none;
	text-align:center;
	border:0;
	overflow:hidden;
	background-color:#fff8ed;
	margin-top:20px;
  }
  
  .emoji-picker{
	text-align:center;
	margin:auto;
	width:300px;
	margin-top:40px;
	padding-top:10px;
	padding-left:5px;
	padding-right:5px;
  }

  .emoji-picker{
	  	display:grid;
	  	grid-template-columns: repeat(8, 1fr);
	  	grid-template-areas: "menu"
							 "emojis";
		position:relative;
  }
  .emoji-picker li span, .emoji-picker li a{
	display:grid;
	font-size:1.5em;
	text-align:center;
	grid-area: menu;
	padding:5px;
	margin-right:3px;
	background-color:white;
	border-radius:5px;
	width:30px;
}

.emoji-picker li ul{
	display:grid;
	grid-area: emojis;
}

.emoji-picker li ul{
	position:absolute;
	top:10px;
	left:0px;
	display:grid;
	grid-template-columns: repeat(9,1fr);
}
  
  .emoji-picker li ul li{
	font-size:1em;
	border: 0;
	padding:5px;
  }

  .emoji-picker h3{
	margin-left: 10px;
	text-align: center;
	margin-bottom:30px;
  }
  #emoji-selectionne-affichage{
	  margin-top:120px;
	  background-color:transparent;
	  border:0;
	  width:100%;
	  height:70px;
	  text-align:center;
	  font-size:3em;
  }

/* Bouton de séléction du mode Emojis ou non*/

#affichage-emoji[type="checkbox"]:not(:checked),
#affichage-emoji[type="checkbox"]:checked {
	display: none;
}
#affichage-emoji[type="checkbox"]:not(:checked) + label,
#affichage-emoji[type="checkbox"]:checked + label {
	margin: auto;
	position: relative;
	cursor: pointer;
	margin-left: 5px;
}
#affichage-emoji[type="checkbox"]:not(:checked) + label:before,
#affichage-emoji[type="checkbox"]:checked + label:before,
#affichage-emoji[type="checkbox"]:not(:checked) + label:after,
#affichage-emoji[type="checkbox"]:checked + label:after {
	content: '';
	position: absolute;
}
#affichage-emoji[type="checkbox"]:not(:checked) + label:before,
#affichage-emoji[type="checkbox"]:checked + label:before {
	left:0; top: -6px;
	width: 80px; height: 30px;
	background: #CCCCCC;
	border: solid 3px;
    border-image: conic-gradient(var(--color-1), var(--color-2), var(--color-3), var(--color-4), var(--color-5), var(--color-6)) 1;
	-webkit-transition: background-color .2s;
	-moz-transition: background-color .2s;
	-ms-transition: background-color .2s;
	transition: background-color .2s;
}
#affichage-emoji[type="checkbox"]:not(:checked) + label:after,
#affichage-emoji[type="checkbox"]:checked + label:after {
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	transition: all .2s;
	top: 6px; left: 5px;
	font-size: 0.75em;
	content: "🌈";
}

/* on checked */
#affichage-emoji[type="checkbox"]:checked + label:before {
	background: rgba(2, 159, 164, 0.534);
}
#affichage-emoji[type="checkbox"]:checked + label:after {
	top: 6px; left: 50px;
	content: "😎";
	font-size: 0.75em;
}

#affichage-emoji[type="checkbox"]:checked + label .ui,
#affichage-emoji[type="checkbox"]:not(:checked) + label .ui:before,
#affichage-emoji[type="checkbox"]:checked + label .ui:after {
	position: absolute;
	left: 6px;
	width: 100px;
	font-size: 14px;
	line-height: 25px;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	transition: all .2s;
}
#affichage-emoji[type="checkbox"]:not(:checked) + label .ui:before {
	content: "couleurs";
	left: 30px
}
#affichage-emoji[type="checkbox"]:checked + label .ui:after {
	content: "emojis";
	left: 6px;
	/*color: #FFF;*/
}

/* Media query pour le desktop */

@media screen and (min-width: 515px){
	
	h1{
		font-size: 3em;
		margin: 20px auto;
		text-align: center;
	}
	
}

@media screen and (min-width: 420px){
	
	h1{
		font-size: 3em;
		margin: 20px auto;
	}
	
}

@media screen and (min-width: 370px){
	
	h1{
		font-size: 2.5em;
		margin: 20px auto;
	}
	
}


@media screen and (min-width: 1200px){
	
	.numero-jour{
		margin-right:15px;
	}

}


/* Style Page d'accueil à modifier */

.titre-compte {
    height: 40px;
    text-align: center;
    margin-top: 70px;
    padding-top: 15px;
    z-index: 10;
    text-transform: uppercase;
    font-size: 1.6em;
    background: linear-gradient( 
        var(--color-4) 30%, var(--color-background) 30% 35%, var(--color-6) 35% 65%, var(--color-background) 65% 70%, var(--color-5) 70% 100%);
}

.main-compte {
    display: block;
}

.formulaire-compte {
    width: 300px;
    margin: auto;
    margin-top: 60px;
    text-transform: uppercase;
    font-size: 1.3em;
}

.formulaire-compte p {
    margin-bottom: 2px;
    margin-left: 4px;
}

.formulaire-compte input {
    display: block;
    margin: auto;
    margin-bottom: 30px;
    font-family: "VT323";
    font-size: 1em;
}


.formulaire-compte input[type = "text"],.formulaire-compte input[type = "password"]{
	outline: none;
	border:0;
	background: #FFFFFF;
	display: block;
	margin: 20px auto;
	text-align: center;
	border: 2px solid var(--color-text);
	/*border-image: conic-gradient(var(--color-1), var(--color-2), var(--color-3), var(--color-4), var(--color-5), var(--color-6)) 1;*/
	padding: 14px 10px;
	width: 200px;
	color: var(--color-text);
	transition: 0.25s;
  }
  .formulaire-compte input[type = "text"]:focus,.formulaire-compte input[type = "password"]:focus{
	width: 250px;
	border: 2px solid var(--color-text);
	border-image: conic-gradient(var(--color-1), var(--color-2), var(--color-3), var(--color-4), var(--color-5), var(--color-6)) 1;
  }

  .formulaire-compte input::placeholder{
	  font-size: 0.8em;
  }