:root {
	--theme1_Color: #ecc800;
	--theme1_BackgroundColor: #000000;
	--theme2_Color: #ecc800;
	--theme2_BackgroundColor: #404040;
	--theme3_Color: #000000;
	--theme3_BackgroundColor: #ecc800;
	font-size: 14px;
}

.theme1{ color : var(--theme1_Color); background-color : var(--theme1_BackgroundColor); }
.theme2{ color : var(--theme2_Color); background-color : var(--theme2_BackgroundColor); }
.theme3{ color : var(--theme3_Color); background-color : var(--theme3_BackgroundColor); }

.borduresTheme1 { border : 1px solid var(--theme1_Color); }
.borduresTopTheme1 { border-top : 1px solid var(--theme1_Color); }
.borduresBottomTheme1 { border-bottom : 1px solid var(--theme1_Color); }
.borduresLeftTheme1 { border-left : 1px solid var(--theme1_Color); }
.borduresRightTheme1 { border-right : 1px solid var(--theme1_Color); }
.borduresTheme1Dashed { border : 1px dashed var(--theme1_Color); }
.borduresTopTheme1Dashed { border-top : 1px dashed var(--theme1_Color); }
.borduresBottomTheme1Dashed { border-bottom : 1px dashed var(--theme1_Color); }
.borduresLeftTheme1Dashed { border-left : 1px dashed var(--theme1_Color); }
.borduresRightTheme1Dashed { border-right : 1px dashed var(--theme1_Color); }

.borduresTheme2 { border : 1px solid var(--theme2_Color); }
.borduresTopTheme2 { border-top : 1px solid var(--theme2_Color); }
.borduresBottomTheme2 { border-bottom : 1px solid var(--theme2_Color); }
.borduresLeftTheme2 { border-left : 1px solid var(--theme2_Color); }
.borduresRightTheme2 { border-right : 1px solid var(--theme2_Color); }

.borduresTheme3 { border : 1px solid var(--theme3_Color); }
.borduresTopTheme3 { border-top : 1px solid var(--theme3_Color); }
.borduresBottomTheme3 { border-bottom : 1px solid var(--theme3_Color); }
.borduresLeftTheme3 { border-left : 1px solid var(--theme3_Color); }
.borduresRightTheme3 { border-right : 1px solid var(--theme3_Color); }

.survolable, .survolable *:not(.noImpactSurvol), .survolable :not(.noImpactSurvol) * 
{
	border: 2px solid transparent;
}

.survolable:hover, .survolable:hover *:not(.noImpactSurvol), .survolable:hover :not(.noImpactSurvol) * 
{
	border: 2px solid var(--theme3_Color);
	color: var(--theme3_Color);
	background-color: var(--theme3_BackgroundColor); /* #5C5D61 */
}

.siteBouton
{
	border : 2px solid var(--theme1_Color);
	background-color: var(--theme1_BackgroundColor);
	border-style: outset;
	box-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black ;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media (hover: hover) 
{
	.siteBouton:hover 
	{
		background-color: var(--theme2_BackgroundColor);
	}
}
@media (max-width: 360px)
{
	.siteBouton
	{
		padding : 2px;
		border-radius : 4px;
	}
}
@media (min-width: 360px)
{
	.siteBouton
	{
		padding : 4px;
		border-radius : 8px;
	}
}
.siteBouton:active
{
	border-style: inset;
}

.siteCaseCocher
{
	width : 22px;
	height : 22px;
}
.siteCaseCocherErreur
{
	width : 22px;
	height : 22px;
	border-color : #FF0000;
}

.divVisuelContainer
{
	display: inline-flex;
	height : calc(100vh - 5rem - 5rem - 5rem);
	justify-content: center;
	align-items: center;
	background-color : black;
}

/*--------------------------- MESSAGES ------------------------------*/
#message
{
	position : absolute;
	left: 50%;
	top: 5rem;
	transform: translate(-50%, -50%);
	max-width : 50%;
	line-height : 21px;
	text-align : center;
	vertical-align : middle;
	z-index:3;
}

#message .info
{
	display : block;
	padding-left : 10px;
	padding-right : 10px;
	font-weight : bold;
	color : #008000;
	background-color : #FFFFFF;
	border : 1px solid #008000;
	border-radius : 4px;
	opacity : 0;
	animation-name : disparition;
	animation-duration : 6s;
	animation-iteration-count : 1;
}

#message .attention
{
	display : block;
	padding-left : 10px;
	padding-right : 10px;
	font-weight : bold;
	color : #FF4023;
	background-color : #FFFFFF;
	border : 1px solid #FF4023;
	border-radius : 4px;
	opacity : 0;
	animation-name : disparition;
	animation-duration : 10s;
	animation-iteration-count : 1;
}

#message .erreur
{
	display : block;
	padding-left : 10px;
	padding-right : 10px;
	font-weight : bold;
	color : #FF0000;
	background-color : #FFFFFF;
	border : 1px solid #FF0000;
	border-radius : 4px;
	opacity : 0;
	animation-name : disparition;
	animation-duration : 10s;
	animation-iteration-count : 1;
}

/*--------------------------- LAYOUT ------------------------------*/
/*
.page {
	display: grid;
	grid-template-rows: 25px calc(100dvh - 25px); // attention, les espaces sont importants.
}
*/
body
{
	display : grid;
	grid-template-rows : auto 1fr auto;
	grid-template-columns : 100%;
	height : 100dvh;
	overflow: hidden;
}

a:link
{
	color : var(--theme2_Color);
	text-decoration : none;
}

a:visited
{
	color : var(--theme2_Color);
	text-decoration : none;
}

a:hover
{
	text-decoration : underline;
}

#header
{
	height : 5rem;
	display : grid;
	grid-template-columns : auto 1fr;
	align-items : center;
}

#logoSite
{
	height : 4rem;
	width : 4rem;
	margin : 0.5rem;
	justify-self : start;
	align-self : center;
	display : block;
	background-image: url('../images/logos/logo114x114_1716550693396824145.png');
	background-size: cover; /* Autres valeurs possibles : contain, auto */
	background-position: center; /* Centrer l'image */
	background-repeat: no-repeat; /* Empêcher la répétition de l'image */
}

@media (max-width: 768px)
{
	#btnMenu
	{
		height : 4rem;
		width : 4rem;
		margin : 0.5rem;
		justify-self : end;
		align-self : center;
		display : block;
	}
	#menu
	{
		height : 100%;
		display : none;
		grid-template-columns : 1fr;
		justify-items : stretch;
		align-items : stretch;
		justify-self: stretch;
		align-self: stretch;
	}
	#listeMenu
	{
		list-style : none;
		display : grid;
		justify-items : stretch;
		align-items : stretch;
	}
	#listeMenu li
	{
		padding : 10px;
	}
	.itemMenuBorder
	{
		border-bottom : 1px solid var(--theme2_Color);
	}
	.itemMenuDernierBorder
	{
		border-bottom : 1px solid var(--BackgroundColor);
	}
}
@media (min-width: 769px)
{
	#btnMenu
	{
		display : none;
	}
	#menu
	{
		height : 4rem;
		display : grid;
		grid-template-columns : 1fr;
		justify-items : stretch;
		align-items : stretch;
		justify-self: stretch;
	}
	#listeMenu
	{
		list-style : none;
		display : grid;
		grid-auto-flow : column;
		grid-auto-columns : auto;
		justify-items : center;
		align-items : center;
	}
	#listeMenu li
	{
		padding : 10px;
	}
	.itemMenuBorder
	{
		border : 1px solid var(--theme2_Color);
	}
	.itemMenuDernierBorder
	{
		border : 1px solid var(--theme2_Color);
	}
}
#listeMenu li:hover
{
	color : var(--theme3_Color);
	background-color : var(--theme3_BackgroundColor);
}
.imageCliquableMenu
{
	height : 3rem;
	width : 3rem;
	margin : 1rem;
	display: block;
}

#main
{
	overflow-y : auto;
}
.miniSvgMain
{
	width:2.5em;
	height:2.5em;
	padding:0.25em;
	border-radius : 0.25rem;
	color : var(--theme2_Color);
	background-color : var(--theme2_BackgroundColor);
}
.miniSvgMain:hover
{
	color : var(--theme1_Color);
	background-color : var(--theme1_BackgroundColor);
}
.svgGrilleBouton
{
	border-radius : 25px;
	color : var(--theme1_Color);
	background-color : var(--theme1_BackgroundColor);
}
.svgGrilleBouton:hover
{
	color : var(--theme3_Color); 
	background-color : var(--theme3_BackgroundColor);
}
.svgGrilleBouton p
{
	padding-top : 5px;
	padding-bottom : 5px;
}
#content
{
	width : 100%;
	/*height : calc(100vh - 5rem - 3rem);*/
	height : 100%;
}

#footer
{
	height : 3rem;
	display : grid;
	grid-template-columns : 1fr auto;
	align-items : center;
}
.imageCliquableFooter
{
	height : 2rem;
	width : 2rem;
	margin : 0.5rem;
	display : block;
}
@media (max-width: 360px)
{
	.texteCliquableFooter
	{
		height : 2rem;
		line-height : 2rem;
		margin : 0.5rem;
		display : block;
		font-size : 0.85rem;
	}
}
@media (min-width: 360px)
{
	.texteCliquableFooter
	{
		height : 2rem;
		line-height : 2rem;
		margin : 0.5rem;
		display : block;
		font-size : 1rem;
	}
}

.boiteLienBadge
{
	display: inline-block;
}
.boiteLienBadge b
{
	position: relative;
}
.badge
{
	line-height : 1rem;
	background-color: red;
	border-radius: 4px;
	padding-left: 0.2em;
	padding-right: 0.2em;
	font-size: 0.8em;
	position: absolute;
	top : -0.8em;
	right : -1.5em;
}

.dimensionIconeInline
{
	width : 1.5em;
	height : 1.5em;
	padding : 0.05em;
}

/* petit ecran */
@media screen and (max-width: 768px)
{
	.dimensionTexteMenu
	{
		font-size:2rem;
	}

	.dimensionTexteGrand
	{
		font-size:1.6rem;
	}
	
	.dimensionTexte
	{
		font-size:1rem;
	}
	
	.dimensionTextePetit
	{
		font-size:0.7rem;
	}
}

/* grand ecran */
@media screen and (min-width: 769px)
{
	.dimensionTexteMenu
	{
		font-size:1.4rem;
	}

	.dimensionTexteGrand
	{
		font-size:1.8rem;
	}

	.dimensionTexte
	{
		font-size:1.2rem;
	}
	
	.dimensionTextePetit
	{
		font-size:0.8rem;
	}
}

.blocArticle
{
	border : 1px solid black;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.8);
}

.elementBlocArticleTitre
{
	text-align:center;
	width : 100%;
}
.elementBlocArticleTexte
{
	width : 100%;
	min-width : 100%;
	white-space : pre-wrap;
	overflow-wrap : break-word;
	overflow-y : auto;
}

.texteMiseEnForme
{
	padding:12px;
	white-space: pre-wrap;
	overflow-wrap: break-word;
	overflow-y : auto;
}