/**** FEUILLE DE STYLE COMMUNE ****/
/* GENERAL */
html {
	font-size: 100%; /* pour donner une base de départ à IE */
}	

@font-face {
	font-family: Titres;
	src: url(../Styles/Algerian.ttf);
	font-display: swap;
}
@font-face {
	font-family: Generique;
	src: url(../Styles/Bell-r.ttf);
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: Generique;
	src: url(../Styles/Bell-i.ttf);
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: Generique;
	src: url(../Styles/Bell-b.ttf);
	font-weight: bold;
	font-display: swap;
}

body {
	font-family: Generique, "Times New Roman", "Times", "Liberation Serif", Georgia, FreeSerif, serif;
	margin: 0;
}

h1, h2, caption {
	font-family: Titres, Ubuntu, "Liberation Sans", Arial, FreeSans, sans-serif;
	font-weight: normal;
}
h3, h4, h5 {
	font-style: italic;
	font-weight: normal;
}
.corps > h3 {
	text-align: left;
	text-indent: 35px;
	font-weight: bold;	
}

h1 {
	font-size: 2.5em;	
	margin: 0 auto;
}
h2, caption {
	font-size: 2em;
	text-align: center;
}
h3 {
	font-size: 1.4em;	
}
h4 {
	font-size: 1.3em;
	text-align: center;
}
h5 {
	text-align: center;
	font-size: 1.2em;
}

body > h2 {
	margin: 20px auto 0 auto;	
}

p, .corps ul {
	font-size: 1em;
}
.corps > ul {
	text-align: left;
}
ul li {
	padding: 3px 0;
}

p {
	text-align: justify;
	text-indent: 15px;
}

ul {
	list-style-type: none;
}
/* Points */
li::before {
	content: ' ';
	display: inline-block;
	height: 5px;
	width: 7px;
	background-color: black;
	-moz-border-radius: 50%;
	border-radius: 50%;
	vertical-align: middle;
	margin-right: 5px;
	-webkit-box-shadow: 0 0 1px black;
	-moz-box-shadow: 0 0 1px black;
	box-shadow: 0 0 1px black;
}

nav li a {
	vertical-align: middle;
}

a {
	text-decoration: none;
	color: #0e6013;
}

/* Icône chargement */
@-webkit-keyframes loadeRotation {
	0% { 
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% { 
		-webkit-transform: rotate(360deg);
		transform:  rotate(360deg);
	}	
}
@-moz-keyframes loadeRotation {
	0% { 
		-moz-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% { 
		-moz-transform: rotate(360deg);
		transform:  rotate(360deg);
	}	
}
@-o-keyframes loadeRotation {
	0% { 
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% { 
		-o-transform: rotate(360deg);
		transform:  rotate(360deg);
	}	
}
@keyframes loadeRotation {
	0% { 
		transform: rotate(0deg);
	}
	100% { 
		transform:  rotate(360deg);
	}	
}
#chargement {
	-webkit-visibility: hidden;
	-moz-visibility: hidden;
	visibility: hidden;
	opacity: 0.75;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 64px;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 100;
	-webkit-animation: loadeRotation 2s linear infinite;
	-moz-animation: loadeRotation 2s linear infinite;
	-o-animation: loadeRotation 2s linear infinite;
	animation: loadeRotation 2s linear infinite;
}
table #chargement {
	position: absolute;
}

/* Bandeau d'alerte exceptionnelle */
@-webkit-keyframes arriveeBandeau {
	0% {
		-webkit-transform: translatey(-100%);
		transform: translatey(-100%);
	}
	50% {
		-webkit-transform: translatey(0%);
		transform: translatey(0%);
	}
	100% {
		-webkit-transform: translatey(0%);
		transform: translatey(0%);
	}
}
@-moz-keyframes arriveeBandeau {
	0% {
		-moz-transform: translatey(-100%);
		transform: translatey(-100%);
	}
	50% {
		-moz-transform: translatey(0%);
		transform: translatey(0%);
	}
	100% {
		-moz-transform: translatey(0%);
		transform: translatey(0%);
	}
}
@-o-keyframes arriveeBandeau {
	0% {
		-o-transform: translatey(-100%);
		transform: translatey(-100%);
	}
	50% {
		-o-transform: translatey(0%);
		transform: translatey(0%);
	}
	100% {
		-o-transform: translatey(0%);
		transform: translatey(0%);
	}
}
@keyframes arriveeBandeau {
	0% {
		transform: translatey(-100%);
	}
	50% {
		transform: translatey(0%);
	}
	100% {
		transform: translatey(0%);
	}
}
#bandeau {
	background-color: rgba(213, 205, 192, 0.95);
	border-bottom: 1px solid #90132b;
	position: fixed;
	top: 0;
	width: 100%;
	min-height: 50%;
	padding: 15px;
	z-index: 100;
	-webkit-animation: arriveeBandeau 1s ease-in-out;
	-moz-animation: arriveeBandeau 1s ease-in-out;
	-o-animation: arriveeBandeau 1s ease-in-out;
	animation: arriveeBandeau 1s ease-in-out;
    transition: all 1s ease-in-out;
}
#bandeau h1 {
	color: black;
}
#bandeau div {
	width: 60%;
	margin: auto;
	height: 100%;
}
#bandeau form {
	border: none;
	background-color: rgba(0, 0, 0, 0);
	box-shadow: none;
	border-radius: 0;
	position: absolute;
	right: 15%;
	bottom: 0;
	margin: 15px;
}

/* En-tête */
header {
	text-align: center;
	margin: 16px auto 10px auto;
}
header a, header a:hover {
	color: black;	
}

header address {
	font-style: italic;
	font-size: 1.5em;
}
header::before, #bandeau h1::before {
	content: url(../Commun/fioriture1.png);
	display: block;
}
header::after, #bandeau h1::after {
	content: url(../Commun/fioriture2.png);
	display: block;
}

/* Corps principal */
.corps {
	margin: 0 15px;
	position: relative;
	text-align: center;
}

.centered {
	text-align: center;
	margin: auto;
}

.alert {
	color: #90132b;
	text-align: center !important;
	text-indent: 0;
}
/* Par sécu on masque l'alerte IE (normalement, elle ne s'affiche que pour IE < 9) */
.alerteIE {
	display: none;
}

.reduit {
	font-size: 0.7em;	
}

/* Pied */
footer {
	clear: both;
	padding-top: 30px;
	text-align: center;
	font-size: 0.8em;
	position: relative;
}

footer > :first-child {
	padding-top: 10px;
	border-top: 2px groove black;
}

/* conteneur générique pour positionner en absolu son contenu */
.container {
	position: relative;
}

/* Lien vers administration (petit engrenage) */
#admin {
	position: absolute;
	right: 0;
	bottom: 0;
}
#admin img {
	width: 30px;
}

/* Images dans le texte */
.illustration {
	float: left;
	width: 30%;
	margin: 5px;
}
iframe {
	border: none;
	margin: 5px;
}

/* ANIMATIONS */
/* Coloration des liens */
a {
    transition: color 0.3s ease;
}
a:hover {
    color: #90132b;
}
/* Clignotement */
.blink {
	animation: blinker 1.3s cubic-bezier(.88,-0.01,.87,-0.18) infinite;
}
@keyframes blinker {
	100% { opacity: 0; }
}


/* CORRECTIONS petits écrans */
@media screen and (max-width: 380px) {
    body {
    	font-size: 0.9em;
    }
    header::before, header::after, #bandeau h1::before, #bandeau h1::after {
    	display: none;
    }
    footer > :first-child {
    	border: none;
    }
    .corps {
    	margin-top: 50px;
    }
}
@media screen and (max-width: 620px) {
	/* rangement du gros menu */
    header, .fullScreen header {
    	margin: 40px auto 0 auto !important;
    	text-align: center;
    	font-size: 0.8em;
    }
	#bandeau div {
		width: 100%;
	}
	#bandeau input {
		right: 5px;
	}
    body > h2, .fullScreen > h2 {
    	font-size: 1.7em;
    }
    #pageContact header {
    	margin: 410px auto 0 auto !important;
    }
}

@media screen and (max-width: 650px) {
    .iframe {
		display: none;
    }
}

@media screen and (max-width: 950px) {
	/* Retrait de la tapisserie */
	body {
		background: url(../Styles/fond-repete.png) repeat;
	}
}

/* Fioriture */
@media screen and (max-width: 1200px) {
	h2 + .corps::before, nav.sousMenu + .corps::before {
		content: ' ';
		display: block;
		width: 50%;
		height: 3px;
		background-color: black;
		margin: 20px auto;
		-moz-border-radius: 6px;
		border-radius: 6px;
		-webkit-box-shadow: 0 0 1px black;
		-moz-box-shadow: 0 0 1px black;
		box-shadow: 0 0 1px black;
	}
}
@media screen and (min-width: 1200px) {
	h2 + .corps::before, nav.sousMenu + .corps::before {
		content: '';
		content: url(../Commun/fioriture3.png);
		display: block;
		margin: 15px auto;
	}
}

/**** MENU ****/
/* BASE MENU */
/* La classe openMenu permet de déployer le menu courant en vue verticale
L'id curMenu est le menu actuel */

nav.main {
    position: fixed;
    z-index: 1;
}

nav a, .sousMenu a {
    color: black;
}
nav.main > a {
	position: absolute;
	z-index: 3;	
}

nav.main ul {
	font-family: Titres, Ubuntu, "Liberation Sans", Arial, FreeSans, sans-serif;
	font-size: 1.2em;
}

nav ul {
	padding : 5px;
}

/* Image fond */
nav.main #logo {
	position: absolute;
}

/* Ombre page d'accueil */
#ombre {
	position: absolute;
	opacity: 0.25;
}

/* carte sous-menu et sousMenus (dans le corps) */
nav.main li ul, nav.sousMenu ul {
	font-family: Generique, "Times New Roman", "Times", "Liberation Serif", Georgia, FreeSerif, serif;
	font-style: italic;
}
nav.main li ul, nav.sousMenu li ul {
	font-size: 0.9em;
}
nav li {
	padding: 0;
}

/* point */
nav.main > ul > li:not(.curMenu)::before {
	-webkit-transform: scale(0.1);
	-moz-transform: scale(0.1);
	-ms-transform: scale(0.1);
	-o-transform: scale(0.1);
	transform: scale(0.1);
	opacity: 0;
}

nav li::before {
	-webkit-transform: scale(0.7);
	-moz-transform: scale(0.7);
	-ms-transform: scale(0.7);
	-o-transform: scale(0.7);
	transform: scale(0.7);
	opacity: 0.7;	
    transition: opacity 1s ease, transform 0.5s ease, background-color 0.3s ease;
}
aside li::before {
	display: none;
}

nav.main > ul > .curMenu {
    margin-left: 20px;
}
.curMenu > a {
	color: #90132b;
}

/* Suppresion définitive du menu albums photos du menu principal */
nav.main ul ul ul {
	display: none;	
}

/* ANIMATION */
/* apparition point */
nav li:hover::before, nav.main > ul > li:hover::before, .curMenu::before {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

nav > ul .curMenu::before, nav li:hover::before {
    background-color: #90132b;
    -webkit-box-shadow: 0 0 1px #90132b;	
    -moz-box-shadow: 0 0 1px #90132b;	
    box-shadow: 0 0 1px #90132b;	
}
/* déplacement */
nav li {
    transition: margin-left 1s ease;
}
nav li:hover {
    z-index: 10;
}
nav.main > ul > .curMenu, nav.main > ul > li:hover {
    margin-left: 20px;
}

/* coloration du lien, reste active quand on va vers les sous-menus */
li:hover > a {
    color: #90132b;
}

/**** SIDE ****/
/* Propriété générales cartes side, les adaptations sont gérées dans les menus */

aside {
	text-align : center;
}
nav aside {
	position: absolute;
}

nav aside > a {
	display: none;
}
aside a {
	color: #0e6013;
}

aside ul {
	font-family: Generique, "Times New Roman", "Times", "Liberation Serif", Georgia, FreeSerif, serif !important;
	font-size: 1.0em !important;
	text-align: left;
}
nav aside li {
	font-size: 1em;
}
nav aside li:hover {
	/* on supprime les effet des menus */
	transition: none;
	margin: 0 !important;
}

.corps aside {
	margin: 15px;
	overflow: auto;
}
.corps #news, #bbTest {
	display: none;
}

/*nav aside > div, nav aside > form, aside > figure, #screen figure, #photoFull figcaption, .corps aside#news {*/
nav aside > div, nav aside > form, aside > figure, #screen figure, #photoFull figcaption, .corps figure {
	width: 220px;
	height: 320px;
	position: relative;
}	
nav aside > div, form, aside > figure, #photoFull figcaption, .corps > figure, .corps > :not(.cards) figure {
	border: 15px solid white;
	-webkit-border-image: url(../Commun/bordercard.png) 25 stretch;
	-moz-border-image: url(../Commun/bordercard.png) 25 stretch;
	-o-border-image: url(../Commun/bordercard.png) 25 stretch;
	border-image: url(../Commun/bordercard.png) 25 stretch;
	-webkit-border-image-outset: 2px;
	-moz-border-image-outset: 2px;
	-o-border-image-outset: 2px;
	border-image-outset: 2px;
	-moz-border-radius: 25px;
	border-radius: 25px;
	-webkit-box-shadow: 0 0 8px black;
	-moz-box-shadow: 0 0 8px black;
	box-shadow: 0 0 8px black;
	background-color: white;
	padding-bottom: 10px;
}
:not(.fullScreen) > :not(.cards) > figure {
	float: right;
}

nav aside > div, nav aside > form fieldset, #photoFull figcaption div {
	overflow-y: auto;
	overflow-x: hidden;
}
nav aside > form fieldset {
	height: 100%;
}
#photoFull figcaption div {
	max-height: 85%;
}


/* div cliquable */
nav aside div div, nav aside fieldset {
	position: relative;
	z-index: 2;
}

/* Photos, Titres */
aside h3 {
	margin-top: 0;
}

aside > figure, #screen figure {
	overflow: hidden;
	margin: 0;
}

aside:not(#news) h3, .cards h3, aside figcaption, form legend, #screen > :not(#photoFull) figcaption, #photoFull figcaption h3, .corps figcaption {
	font-family: Titres, Ubuntu, "Liberation Sans", Arial, FreeSans, sans-serif;
	font-size: 1.3em;
	font-style: normal;
	line-height: 0.9em;
	margin: 0 auto;
	text-align: center;
}

aside h3, .cards h3, aside figcaption, #screen > :not(#photoFull) figcaption, #photoFull figcaption h3, .corps figcaption {
	padding-top: 2px;
}
aside:not(#news) h3::before, aside:not(#news) h3::after, .cards h3::before, .cards h3::after, aside figcaption::before, aside figcaption::after, form legend::before, form legend::after, #screen > :not(#photoFull) figcaption::before, #screen > :not(#photoFull) figcaption::after, #photoFull figcaption h3::before, #photoFull figcaption h3::after, .corps figcaption::before, .corps figcaption::after {
	content: url(../Commun/fioriture2.png);
	height: 18px;
	display: block;
	-webkit-transform: scale(0.45) translatex(-22%) translatey(-7px);
	-moz-transform: scale(0.45) translatex(-22%) translatey(-7px);
	-ms-transform: scale(0.45) translatex(-22%) translatey(-7px);
	-o-transform: scale(0.45) translatex(-22%) translatey(-7px);
	transform: scale(0.45) translatex(-22%) translatey(-7px);
	margin: 0 auto;
	width: 190px;
}

aside > figure > img, #screen figure img, .corps figure img {
	max-width: 100%;
	max-height: 78%;
	margin-top: 15px;
}

/* Cartes chapitre */
div .cards dt {
	margin-top: 10px;
}
.cards {
	margin-top: 20px;
}
.cards dd {
	margin-bottom: 5px;
	margin-left: 0;
}
.cards ul, .cards dd {
	padding-left: 0px;
}

/* Liens titre */
.cards > div > a h3 {
	color: black;
}

@media screen and (max-width: 450px) {
	.cards div {
		margin-bottom: 20px;
	}
	.cards h3::before, .cards h3::after {
		display: none;
	}
	.corps figure {
		float: none;
		margin: auto
	}
}
@media screen and (max-width: 340px) {
	.corps figure {
		display: none;
	}
}
@media screen and (min-width: 450px) {
	.cards {
		text-align: center;
	}

	.cards > div, .cards > li, .cards > figure {
		width: 220px;
		height: 350px;
		background: url('../Commun/fond-menu.png') no-repeat;
		background-size: 100% 100%;
		-webkit-box-shadow: 0 0 5px #636363;
		-moz-box-shadow: 0 0 5px #636363;
		box-shadow: 0 0 5px #636363;
		-moz-border-radius: 24px;
		border-radius: 24px;
		display: inline-block;
		vertical-align: top;
		overflow: hidden;
		padding: 18px;
		margin: 5px;
		position: relative;
	}
	.cards > div, .cards > li {
		text-align: left;
	}
	
	.cards > div > div, .cards > ul {
		overflow-y: auto;
		height: 90%;
		padding: 0 5px;
	}
	
	.cards h4 {
		text-align: center;
		margin: 5px 0;
	}
	.cards h5 {
		margin: 5px 0;
	}
	
	/* Lien assos bas de carte */
	.cards > div > a:last-child {
		position: absolute;
		bottom: 20px;
		left: 50%;
		-webkit-transform: translatex(-50%);
		-moz-transform: translatex(-50%);
		-ms-transform: translatex(-50%);
		-o-transform: translatex(-50%);
		transform: translatex(-50%);
	}	
}

/* Navigation listes en mode administration */
.navEntries {
	font-size: 0.7em;
	padding: 0;
	margin: 0;
	position: absolute;
	width: 100%;
	bottom: 5px;
}
.navEntries img {
	width: 16px;
}

/* Ouverture du corps quand il a un aside */
@media screen and (max-width: 1380px) {
	.corps {
		width: auto;
	}
}
