/***************************************************************
*																					*
*		GESTION DES MODIFICATIONS ET SUPPRESSIONS DE TRAINS		*
*									GSMT v2										*
*						FEUILLE DE STYLE PRINCIPALE						*
*																					*
****************************************************************/

/************************/
/* Définitions communes */
/************************/

a {
	color:var(--texte-principal);
	text-decoration:none;
}
a:hover {
	text-decoration:none;
}

strong {
	font-weight:bold;
}

.rien {
	font-size:2rem;
	font-weight:bold;
	text-align:center;
	color:var(--texte-fade);
}

.npa {
	display:none;
}

/**************/
/* Conteneurs */
/**************/

body {
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	align-content:stretch;
	margin:0;
	padding:0;
	font-family:'Avenir', sans-serif;
	min-height:100vh;
}

header {
	order:1;
	flex:0 0 auto;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	align-content:center;
	margin:0;
	padding:0;
	width:100vw;
	background-color:var(--fond-entete);
	color:var(--texte-entete);
}
header h2 img {
	display:inline-block;
	margin:0 0.2rem;
	height:16px; width:auto;
	vertical-align:middle;
}

footer {
	order:3;
	flex:0 0 auto;
	align-self:flex-end;
	display:block;
	padding:0.2rem 0.4rem;
	background-color:var(--fond-principal);
	color:var(--texte-principal);
	border-top:1px solid var(--bord-principal);
	font-size:0.8rem;
	text-align:right;
	width:100vw;
	border-top:1px dotted var(--bord-principal);
}
footer p { margin:0; }

main {
	order:2;
	flex-grow:2;
	flex-shrink:0;
	flex-basis:auto;
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	align-items:stretch;
	align-content:stretch;
	margin:0;
	padding:0;
	background-color:var(--fond-principal);
	color:var(--texte-principal);
	width:100vw;
}

/* En-tête */

h1 {
	order:2;
	flex-grow:2;
	flex-shrink:2;
	flex-basis:auto;
	display:block;
	text-align:left;
	font-size:1.2rem;
	font-weight:bold;
	vertical-align:middle;
}
h1 span.version {
	display:inline-block;
	margin:0 0.6rem;
	font-weight:normal;
	font-size:1rem;
}
h2 {
	order:3;
	flex-grow:2;
	flex-shrink:2;
	flex-basis:auto;
	display:block;
	text-align:left;
	font-size:1.2rem;
	font-weight:normal;
}

header picture {
	order:1;
	display:block;
	margin:0.2rem 1rem;
}
header picture > img {
	width:auto;
	height:42px;
	vertical-align:middle;
}

#heure {
	order:5;
	flex-grow:0;
	flex-shrink:0;
	flex-basis:auto;
	display:block;
	margin:0.6rem 1rem;
	font-size:2rem;
	font-weight:bold;
}
#heure small {
	font-size:1.4rem;
}

#date {
	order:4;
	flex-grow:0;
	flex-shrink:1;
	flex-basis:auto;
	display:block;
	margin:1rem 1rem 1rem 0.2rem;
	font-size:1rem;
	font-weight:normal;
}

/* Menu */
nav {
	order:6;
	flex-grow:0;
	flex-shrink:0;
	flex-basis:100%;
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:stretch;
	align-content:stretch;
	margin:0;
	padding:0;
	border-top:1px solid var(--bord-menu);
}
nav ul {
	flex-grow:1;
	flex-shrink:1;
	flex-basis:auto;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	align-content:stretch;
	list-style-type:none;
	margin:0;
	padding:0;
}
nav ul:last-child {
	justify-content:flex-end;
}
nav ul li {
	list-style-type:none;
	margin:0;
	padding:0.5rem 1rem;
}
nav ul:first-child li {
	border-right:1px solid var(--bord-menu);
}
nav ul:last-child li {
	border-left:1px solid var(--bord-menu);
}
nav ul:first-child li:last-child {
	border-right:none;
}

nav ul li#marquer {
	padding:0.4rem 1.6rem;
	font-size:1.2rem;
	font-weight:bold;
}

nav a {
	color:var(--texte-menu);
}

/* Temporaire */
nav .menu-actif {
	background-color:var(--fond-menu-actif);
}

nav ul li picture {
	display:inline-block;
	margin:0 0.4rem 0 0;
	vertical-align:sub;
}
nav ul li picture img {
	height:20px; width:auto;
	vertical-align:middle;
}

/* Bandeau */
#bandeau {
	order:7;
	flex-grow:1;
	flex-shrink:0;
	flex-basis:100%;
	margin:0 auto;
	padding:0.4rem 1rem;
	background-color:var(--fond-bandeau);
	color:var(--texte-bandeau);
}
#bandeau p {
	margin:0;
}
#bandeau a {
	text-decoration:underline;
	color:var(--texte-bandeau);
}


/* Pour l'affichage généralisé */
.affichage .numero {
	padding:2rem !important;
	font-size:4.4rem !important;
	min-width:fit-content !important;
	max-width:fit-content !important;
}

.affichage .numero span {
	font-size:2rem !important;
}

.affichage .repere {
	font-size:1.6rem !important;
	font-weight:bold !important;
}

.affichage .rien {
	font-size:4rem !important;
}


/* Nouveautés */

#nouveautes {
	flex-grow:1;
	flex-shrink:1;
	flex-basis:auto;
	display:block;
	font-size:1.2rem;
	text-align:justify;
	width:100%;
}

#nouveautes h2 {
	margin:2rem;
	font-size:2rem;
	font-weight:bold;
}

#nouveautes p {
	margin:1rem auto 1rem 3rem;
}

#nouveautes ul {
	margin:1rem auto 1rem 5rem;
	max-width:50%;
}
#nouveautes ul li {
	margin:1rem auto;
}
