:root {
    --couleurTexte : #000;
    --couleurLien : #ae2727;
    --couleurLienSurvol : rgb(224 108 0);

    --texteSurBoisClair : #715735;

    --brunTresClair : #f1e8e1;
    --brunClair : #d3c0ae;
    --brunTitre : #bd9765;

	--rougeDoux : #cb2c2c;
	--framboise : #ef0058;

    --feuille : url("/static/img/site/bg/feuille.jpg");
    --boisHClair : url("/static/img/site/bg/boisHorizontalSoft.jpg");
    --liege : url("/static/img/site/bg/liegeClair.webp");
}

html, body {	
	font-size: 17px;
	font-family: 'Times New Roman';
	color: var(--couleurTexte);
	margin: 0;
	padding: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: silver;
    background-image: var(--feuille);
}

* {
	box-sizing: border-box;
}

a, .aLike {
	color: var(--couleurLien);
	text-decoration: none;
    border-bottom: 1px dotted transparent;
}

a:hover, .aLike:hover {
	text-decoration: none;
	color: var(--couleurLienSurvol);
    border-bottom-color: #fff;
}

h1, footer {
    position: relative;
	font-size: 2em;
	margin: auto;
    padding: 10px 0;
    background-image: var(--boisHClair);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    margin-bottom: 10px;
    min-height: 40px;
}

.flexSimple {
    display: flex;
    justify-content: center;
    align-items: center;
}

footer {
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.6);
    font-size: 1em;
    margin: initial;
    padding-left: 10px;
    color: var(--texteSurBoisClair);
}

h1 img {
    width: 40px;
    margin-right: 10px;
}

h2 {
	font-size: 1.5em;
	margin: 0.4em auto;
}

h1, h2 {
	text-align: center;
	font-weight: 700;
	font-style: normal;
}

h3 {
	text-align: center;
	font-weight: 600;
	font-style: normal;
	margin: 2em auto;
	font-size: 1.2em;
}

h4 {
	font-size: 1.1em;
}

h5 {
	font-size: 1em;
}

p {
	margin: 0.8em auto;
}

input, select, textarea {
	outline: none;
}

select:focus, textarea:focus {
	outline: 1px ridge #e1e194;
}

span {
    display: inline-block;
}

form {
    text-align: center;
    background: rgba(255,255,255,0.6);
    padding: 10px;
    margin: 1em auto;
    width: fit-content;
    min-width: 40%;
    border: 1px solid #fff;
    border-radius: 2px;
}

form h3 {
    margin: 0 auto 0.5em;
    color: var(--brunTitre);
}

label:not(.sansCss) {
    display: block;
    font-weight: bold;
    color: green;
    margin-bottom: 0.2em;
}

input {
    border: 1px solid var(--brunClair);
}

input.grand {
    width: 15em;
}

input[type="number"].nb2 {
    width: 4em;
}
input[type="number"].nb4 {
    width: 6em;
}

button {
    cursor: pointer;
}

button[type="submit"] {
    color: var(--texteSurBoisClair);
    border: 1px solid var(--brunTitre);
    padding: 6px 10px;
    min-width: 6em;
    border-radius: 4px;
    background: var(--brunTresClair);
    box-shadow: inset 0 2px 2px#fff;
    transition: all linear 0.4ms;
}
button[type="submit"]:hover {
    box-shadow: inset 0 0 3px var(--brunTitre), inset 0 -1px 3px#00000038, 0 0 2px #fff;
    color: rgb(141 80 22);
    text-shadow: -1px 1px 0 #fff;
    border-color: #fff;
}

.marginHBMin {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.marginHGrand {
    margin-top: 1.5em;
}

.marginGD {
    margin-left: 0.5em;
    margin-right: 0.5em;
}

.marginGD:first-child {
    margin-left : 0;
}

.marginGD:last-child {
    margin-right : 0;
}

.marginG {
    margin-left : 0.4em;
}

.marginGGrand {
    margin-left : 0.8em;
}

.aligneGauche {
    text-align: left;
}

.aligneCentre {
    text-align: center;
}

.adapteGauche {
	text-align:left;
	display:inline-block;
	margin:auto;
}

.carreMini {
    width: 30px;
    height: 30px;
    border: 1px solid #919191;
}

.etiquette {
    background: rgba(255, 255, 255, 0.6);
    border: 2px dotted #fff;
    padding: 6px;
    cursor: pointer;
    margin: 0 0.5em;
}

#page {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
	width: 100%;
    min-height: 100%;
	color: #000;
	/*overflow: hidden;*/
	position: relative;
}
.contenant {
	flex: 1 0 auto;
    display: flex;
	justify-content: center;
	position: relative;
	flex-direction: column;
}

.noFlex .contenant {
	display: block;
}


nav {
    text-align: center;
}

#profil {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background-size: cover;
    box-shadow: 0 1px 4px #000;
    border: 1px dotted #fff;
}

#optionsProfil {    
    position: absolute;
    right: 45px;
    top: 45px;
    z-index: 20;
    border-radius: 10px 0 10px 10px;
    background: rgba(255, 255, 255, 0.9);
    padding: 10px;
    text-align: center;
    border: 2px solid var(--brunClair);
    box-shadow: 0 3px 5px rgba(0,0,0,0.5);
}

#optionsProfil ul {
    margin-top: 10px;
    list-style-type: none;
    padding: 0;
}

#optionsProfil li {
    margin-bottom: 10px;
}

#optionsProfil li:last-child {
    margin-bottom: 0;
}


#alerte {
    position: fixed;
    top : 50%;
    left : 50%;
    z-index: 30;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 2px solid var(--rougeDoux);
    padding: 20px;
    box-shadow: 0 0 8px #000;
    text-align: center;
}

#alerte h3 {
    margin: 0 auto 2em;
    color: var(--rougeDoux);
}

.msgGeneral {
	background: #fff;
	border: solid var(--rougeDoux);
	border-width: 4px 0;
	color: var(--framboise);
	font-weight: bold;
	text-align: center;
	padding: 10px 4px;
	margin-bottom: 1em;
}

#messageServeur {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background: rgba(0,0,0,0.9);
	color: #fff;
	text-align: center;
	display: flex;
}
#messageServeur div {
	margin: auto;
}
#messageServeur a {
	color: var(--couleurBleuClair);
	font-weight: bold;
}
#messageServeur a:hover {
	color: var(--framboise);
}

#messageSite {
	position: fixed; 
	top: 50%; 
	left: 50%; 
	transform: translate(-50%, -50%); 
	background: #fff; 
	border: 2px solid var(--rougeDoux); 
	padding: 10px; 
	z-index: 100; 
	text-align: center;
	box-shadow: 0 4px 10px #0000008a;
}

/*
<i class="bi bi-people"></i>
<i class="bi bi-person"></i>
<i class="bi bi-person-plus"></i>
<i class="bi bi-person-gear"></i>
*/


/**** Tableaux ****/
.tableauOrga {
	max-width: 90%;
	padding: 1em;
	background: var(--liege);
	border: 3px var(--brunClair) ridge;
	margin: auto;
	overflow: auto;
}

.tableauOrga > .explication {
	font-weight: bold;
    font-size: 1.2em;
    text-shadow: -1px 1px 1px #fff;
    color: #794b00;
}

.tableauOrga .tableaux {
	display: flex;
	margin: 1em auto;
	justify-content: center;
}

.tableauOrga:not(.adaptatif) .tableaux {
	width: max-content;
}
.adaptatif.tableauOrga .tableaux {
	flex-wrap: wrap;
}

.tableauOrga .tableaux h2 p {
	margin-top: 0;
}

.tableauOrga .tableaux form {
	text-align: center;
	background: rgba(2552,255,255,0.6);
	border: 1px dotted #fff;
}

.listeOrga {
	padding-bottom: 6px;
	margin: 1em;
	border-width: 3px 1px 2px;
	border-style: ridge dashed solid;
	box-shadow: 0 0 2px #fff, 0 2px 1px rgba(0,0,0,0.6);
	min-width: 250px;
	position: relative;
	border-radius: 0 0 8px 8px;
	background: #d9d9d9;
	border-color: silver;
	background: linear-gradient(180deg, rgb(196 225 206 / 63%) 0%, rgb(208 225 220 / 53%) 60%, rgba(66, 66, 66, 0.3) 100%);
}

.listeOrga.termine {
	height: fit-content;
}

.listeOrga h3 {
    background: linear-gradient(180deg, rgb(247 247 247) 0%, rgb(219 219 219 / 86%) 60%, rgb(66 66 66 / 28%) 100%);
    margin: 0 0 1em;
    padding: 6px 4px;
    color: #000000d2;
    text-shadow: -1px 1px 0 #ffffff83;
    font-size: 1.4em;
}

.emplacementTaches {
	min-height: 50px;
    width: 90%;
    margin: auto;
}

.listeOrga.vide .emplacementTaches {
	border: 1px dashed #fff;
	margin-bottom: 1em;
}
.listeOrga.vide.deplacementActif .emplacementTaches {
	min-height: 150px;
}

.carteTableauOrga {
	border: 1px solid #fff;
	padding: 4px;
	width: 250px;
	overflow: auto;
	margin: 1em 0;
	border-radius: 6px;
	background: rgba(255,255,255,0.7);
	position: relative;
	cursor: default;
}
.modifiable .carteTableauOrga {
	cursor: pointer;
}

.carteTableauOrga:hover {
	box-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

.carteTableauOrga .cible {
	position: absolute;
	left: 4px;
	top: 4px;
	font-size: 0.8em;
	opacity: 0.7;
}

.carteTableauOrga h3 {
	font-size: 1.1em;
}

.carteTableauOrga .explication {
	margin-bottom: 1.5em;
}

.carteTableauOrga button.submitLike {
	position: absolute;
	right: 2px;
	top: 2px;
}
.listeOrga h2 button {
	position: absolute;
	right: 4px;
	top: 4px;
}

.boutonsTache {
	margin-top: 1em;
	padding-top: 6px;
	border-top: 1px dotted silver;
}

.tableauOrgaSupprCateg {
	margin-top: 2em;
}
.tableauOrgaSupprCateg i {
	font-size: 1.2em;
}

.carteTableauOrga h3 span {	
	display: inline-block;
	margin-right: 8px;
    font-size: 0.9em;
	font-style: normal;
    font-weight: normal;
}
.carteTableauOrga h3 span .bi-star-fill, .listeOrga .bi-check {
	color: rgb(11 255 11);
}
.carteTableauOrga h3 span .bi-arrow-up {
	color: rgb(35, 146, 197);
}
.carteTableauOrga h3 span .bi-gear {
	color: rgb(128, 94, 0);
}
.carteTableauOrga h3 span .bi-bug {
	color: rgb(221, 117, 31);
}
.carteTableauOrga h3 span .bi-clipboard-data {
	color: rgb(102 0 191);
}

.carteTableauOrga h3 span .bi-star-fill {
	text-shadow: -1px 1px 1px rgba(0,0,0,0.6), 1px -1px 1px rgb(193, 255, 193);
}


.naturel {
	white-space: pre-line;
}

.invisible {display: none !important;}