/* ----------------------------------- generalites ----------------------------------- */
* {margin: 0; padding: 0}
body {background-color: #FFF; position: relative; min-height: 100vh;}

a {text-decoration: none; outline: none;}
a:link, a:visited {color: #aa8c81;}
a:hover, a:active {color: #000;}

a:link.inverse, a:visited.inverse {color: #333;}
a:hover.inverse, a:active.inverse {color: #aa8c81;}

/* img {border: 0; vertical-align: bottom;}*/
img {border: 0;}

.normal {font-style: normal; font-weight: normal;}
.gras {font-family: inherit; font-size: inherit; font-weight: bold;}
.italique {font-style: italic;}
.grisClair {color: #888;}
.alignGauche {text-align: left}
.alignCentre {text-align: center}
.alignDroite {text-align: right}
.valignHaut {vertical-align: top}
.valignCentre {vertical-align: middle}
.valignBas {vertical-align: bottom}

.erreur {
	font-family: inherit;
	font-size: inherit;
	font-weight: bold;
	color: #914725;
}

/* ---------------------------------- media queries ---------------------------------- */

/* ---------------------- tablette < 970 -------------------------- */
@media screen and (max-width: 970px) {
	.is-hidden-tablet {display: none;}
	.container {width: 720px;}
	.colMenu {
		border-right: 1px solid #bbb;
		background-color: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		top: 45px;
		padding-right: 16px;
		z-index: 10;
		min-width: 200px;
		width: calc((( 100vw - 720px ) / 2) + 200px - 16px - 8px);
	}
	.grid[data-webplanche="4"] { /* si 'web-planche' (DB) = 4, on réduit l'affichage à 3 colonnes */
		grid-template-columns: repeat(3, max-content);
	}
	/* -------- planche series --------- */
	.thumbnailMedia {
			margin-bottom: 20px;
		}
		.thumbnailMedia img {
			max-width: 75%;
			height: auto;
		}
	.thumbnailMediaTxt img {max-width: 80%;} /* pour "icone" lien texte */
	/* #visioZone {width: 700px;}*/
}

/* -------------------- ordi petit < 1270 ------------------------- */
@media screen and (min-width: 970px) and (max-width: 1269px) {
	.is-hidden-tablet {display: none;}
	.container {width: 950px;}
	.colMenu {
		border-right: 1px solid #bbb;
		background-color: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		top: 45px;
		padding-right: 16px;
		z-index: 10;
		min-width: 200px;
		width: calc((( 100vw - 970px ) / 2) + 200px - 16px - 8px);
	}
	/* -------- planche series --------- */
	.thumbnailMedia {
			margin-bottom: 30px;
		}
		.thumbnailMedia img {
			max-width: 90%;
			height: auto;
		}
	.thumbnailMediaTxt img {max-width: 90%;} /* pour "icone" lien texte */
	/*	#visioZone {width: 920px;}*/
}

/* -------------------- ordi grand > 1270 ------------------------- */
@media screen and (min-width: 1270px) {
	.is-hidden-laptop {
		display: none;
	}
	.container {
		width: 1270px;
	}
	.colMenu {
		margin-right: 140px;
		width: 200px;
	}
	/* -------- planche series --------- */
	.thumbnailMedia {
			margin-bottom: 40px;
		}
		.thumbnailMedia img {
			max-width: 100%;
			height: auto;
		}
	.thumbnailMediaTxt img {max-width: 100%;} /* pour "icone" lien texte */
}

/* ------------------------------------ structure ------------------------------------ */
.container {
	font-family: "Source Sans Pro", sans-serif;
	font-size: 13px;
	padding-top: 10px;
	margin: 0 auto;
}

.spacerH {
	margin-top: 50px;
}

.top-row {
	height: 30px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.row {
	display: flex;
	flex-direction: row;
}
.row > * {
	flex: auto;
}

.wrap {
	flex-wrap: wrap;
}

.is-narrow {
	flex: 0 0 auto;
}

.column {
	display: flex;
	flex-direction: column;
}

.justify-space-between {
	justify-content: space-between;
}

.align-end {
	align-items: flex-end;
	height: 30px;
	line-height: 28px;
}

.logo {
	width: 200px;
	text-align: right;
	position: relative;
}

.logo a:link, .logo a:visited {
		font-family: "Roboto", sans-serif;
		font-size: 18px;
		font-weight: 400;
		color: #000;
	}
	.logo a:hover, .logo a:active {
		color: #aa8c81;
	}

.langue {
	width: 30px;
	text-align: center;
	background-color: #eee;
	line-height: 28px;
}

.bandeauPage {
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #777;
	height: 30px;
	margin-left: 85px; /* 140 - 55 */
}

table.titres {
		border-collapse: collapse;
		white-space: nowrap;
		width: 100%;
	}
	table.titres td {
		text-align: left;
		width: 33%;
		vertical-align: top;
		line-height: 29px;
	}
	table.titres td.bandeauPageHome {
			font-family: "Source Sans Pro", sans-serif;
			font-size: 18px;
			font-weight: 300;
			line-height: 28px;
			color: #aa8c81;	
		}

#sousTitre {
	text-align: center;
	font-weight: 300;
	font-size: 12px;
	padding-top: 1px;
	padding-left: 55px;
}

.colMenu {
	text-align: right;
}

.show-menu {
		margin-left: 10px;
		margin-top: 5px;
		cursor: pointer;
		width: 26px;
		height: 16px;
		background: url("../_pix/hamburger.gif") no-repeat 0 0;
	}
	.show-menu:hover {
		background-position: -26px 0;
	}
	.show-menu:active {
		background-position: -52px 0;
	}
	
.menu {
		margin-top: 15px;
		margin-bottom: 30px;
	}
.menu a {
		font-family: "Source Sans Pro", sans-serif;
		font-size: 14px;
		font-weight: 300;
		line-height: 22px;
		display: block;
		color: #aa8c81;
		text-transform: uppercase;
	}
	.menu a:hover {
		color: black;
	}
	.menu a.current {
		font-weight: 400;
		color: #555555;
	}

.menuSeries a {
		font-size: 12px;
		font-family: "Source Sans Pro", sans-serif;
		font-weight: 300;
		line-height: 22px;
		color: black;
		display: block;
	}
	.menuSeries a:hover {
		color: #aa8c81;
	}
	.menuSeries a.current {
		font-weight: 600;
		color: #913306;
	}

/* ------------------------------------- index ------------------------------------- */
.homePhoto {
		border: 1px solid #ddd;
		padding: 6px;
	}
	.homePhoto:hover {
		border-color: #c1977c;
	}

.homeTexte {
	display: inline-block;
	width: 550px;
	margin-top: 40px;
	font-size: 13px;
	line-height: 21px;
	text-align: justify;
}

/* ----------------------------------- bibliography ---------------------------------- */
.biblioIntro {
	line-height: 20px;
}

.biblioTitre {
	font-size: 16px;
	color: #999;
	margin-top: 35px;
	margin-bottom: 10px;
	word-spacing: 4px;
	letter-spacing: 4px;
	text-transform: uppercase;
}

.biblioMarge {
	padding-left: 60px;
	line-height: 20px;
}

table.biblioData {
		border-collapse: collapse;
		width: 100%;
		margin-bottom: 10px;
	}
	.biblioData td {
		vertical-align: top;
		text-align: left;
		line-height: 20px;
	}

td.annee {
	width: 60px;
}

.photoTH {
		border: 1px solid #ddd;
		padding: 6px;
	}
	.photoTH img {
		vertical-align : bottom;
		width: 100%;
	}

/* -------------------------------------- texte -------------------------------------- */
.texte_nav {
	vertical-align: middle;
	text-align: center;
}

#texte_nav_g:hover #texte_fleche_g {opacity: 1;}
#texte_nav_d:hover #texte_fleche_d {opacity: 1;}

.texte_fleche {
	opacity: 0;
	display: inline-block;
	cursor: pointer;
	width: 22px;
	height: 40px;
	background-image: url("../_pix/fleches_gd.gif");
	background-repeat: no-repeat;
}

#texte_fleche_g {background-position: 0 0;}
	#texte_fleche_g:hover {background-position: -22px 0;}
	#texte_fleche_g:active {background-position: -44px 0;}
	
#texte_fleche_d {background-position: 0 -40px;}
	#texte_fleche_d:hover {background-position: -22px -40px;}
	#texte_fleche_d:active {background-position: -44px -40px;}

.texte {
	font-size: 13px;
	line-height: 22px;
	text-align: justify;
}

.auteur {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	line-height: 22px;
	text-align: right;
	margin-top: 35px;
}

.lienSerie {
	margin-top: 30px;
	margin-bottom: 15px;
}

/* ---------------------------------- bandeau actus ---------------------------------- */
table.actuBandeau {
		margin-top: 30px;
		margin-bottom: 30px;
		border-collapse: collapse;
		width: 100%;
		border: 1px solid #aa8c81;
		text-align: left;
	}

	table.actuBandeau td.newsTitre {
		text-align: center;
		background-color: #aa8c81;
		color: #FFF;
		padding: 6px 4px;
	}

.actuBandeau ul {
	list-style-type: none;
	font-style: italic;
}

.actuBandeau li {
	border-bottom: 1px solid #aa8c81;
	line-height: 18px;
	padding: 6px 2px 6px 40px;
	text-indent: -30px;
}