/*********************************************************** GOOGLE FONTS *****/
/******************************************************************************/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playwrite+NZ:wght@100..400&display=swap");

/********************************************************** VARIABLES CSS *****/
/******************************************************************************/
:root {
	/* --header-height: 3rem; */
	/* ---- header height ---- */
	--header-height: calc(100svh - 88px);
	--sticky-height: calc(-100svh + 88px);
	

	/* ---- Subnav top ---- */
	--subnav-top-small: 3rem;
	--subnav-top-large: 4rem;
	--subsub-top-large: 6rem;
	
	/*  ---- Colors ---- */
	/*---- Navigation ---- */
	/* Color mode HSL(hue, saturation, lightness) */
	--body-color: hsl(220, 100%, 97%); /* Body */
	--nav-bg-color: gray; /* Fond Menu */
	--bg-nav-color: hsl(220, 24%, 12%); /* #35313f; Fond barre Menu et pied de page */
	--bg-nav-color-index: hsla(220, 24%, 12%, 0.75);
	--nav-bg-color-light: hsl(220, 24%, 15%); /* Fond menu petit écran */
	--nav-bg-color-lighten: hsl(220, 20%, 18%); /* Fond sousmenu petit écran */
	--bg-nav-color-hover: hsla(192, 100%, 50%, 0.15); /* Survol liens barre menu */
	--top-border-nav-color: hsl(192, 100%, 50%); /* Bordure haute survol liens barre menu */
	--top-border-nav-color-prive: hsl(135, 100%, 50%); /* Bordure haute survol liens barre menu privé */
	--bg-nav-color-drop: hsla(192, 100%, 50%, 0.9); /* Fond menus déroulants */
	--bg-nav-color-drop-prive: hsla(135, 100%, 50%, 0.9); /* Fond menus déroulants privé*/
	--bg-nav-Color-drop-hover: hsla(192, 93%, 22%, 0.8); /* Fond survol menus déroulants*/
	--nav-color: hsl(43, 95%, 58%); /* Liens barre menu et pied de page */
	--nav-color-drop: black; /* Liens menus déroulants */
	--nav-select-color: white; /* Liens Menus selectionnés */
	/* ---- Spectacle ---- Dépêches ----*/
	--text-spec-titre: hsl(0, 100%, 30%); /* Titre du spectacle, Titre dans Dépêches */
	--text-spec-gener: black; /* Générique du spectacle * Texte Dépêches */
	--text-spec-a: hsl(192, 93%, 22%);
	--text-spec-ah: black;
	--text-deco-a: underline dotted;


	/* ---- Font and typography ---- */
	/* .5rem = 8px | 1rem = 16px ... */
	--body-font: "Montserrat", sans-serif;
	--welcome-font: "Playwrite FR Trad", cursive;
	--normal-font-size: 0.938rem;

	/* ---- Font weight --- */
	--font-regular: 400;
	--font-semi-bold: 600;

	/* ---- z index ---- */
	--z-tolltip: 10;
	--z-fixed: 100;
}

/************************************************** RESPONSIVE TYPOGRAPHY *****/
/******************************************************************************/
@media screen and (min-width: 1024px) {
	:root {
		--normal-font-size: 1rem;
	}
}

/******************************************************************* BASE *****/
/******************************************************************************/
* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

body {
	overflow-x: hidden;
	font-family: var(--body-font);
	font-size: var(--normal-font-size);
	background-color: var(--body-color);
}

#background-video {
	position: absolute;
	left: 0;
	z-index: -1000;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

ul {
	list-style: none;
}

a {
	text-decoration: none;
}

/****************************************************************** INDEX *****/
/******************************************************************************/

#Error {
	margin: 0;
	padding: 0;
	font-size: 20px;
	color: #ffbf00;
	text-align: center;
	background-color: #000;
}

#Error a {
	color: var(--nav-select-color);
}

#Error a:hover {
	color: var(--nav-color);
}

#Index .banniere {
	display: flex;
    justify-content: center;
}

.logosBox {
	display: flex;
    justify-content: center;
	z-index: -900;
}

.logosBox .welcome {
	color: white;
	text-align: center;
	text-shadow: 2px 2px 2px black;
    font-size: x-large;
	font-family: var(--welcome-font);
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
    position: relative;
    top: 22%;
	max-width: 280px;
}

.welcome {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	max-height: 700px;
}

.scroll-welcome {
	padding-top: 9rem;
	font-family: var(--body-font);
}

.logosBox .logoBox {
	min-width: 270px;
}

.titre-accueil {
	width: 100%;
	height: 8rem;
	text-align: center;
	font-size: 1.2rem;
}

.sous-titre-accueil {
	height: 3rem;
	text-align: center;
	font-size: 1.2rem;
}

.titre-accueil img:hover {
	scale: 1.15;
	transition: scale 0.15s ease-in-out;
}

.reseau-contact-accueil,
.cie-accueil,
.image-accueil {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
}

.reseau-contact-accueil,
.cie-accueil {
	padding: 30px 0 0 0;
}

.cie-accueil img,
.image-accueil img {
	max-width: 300px;
}

.reseau-accueil,
.contact-accueil,
.arobase-accueil {
	height: 3rem;
	/* display: flex;
	justify-content: center; */
}

.reseau-accueil img,
.contact-accueil img {
	height: 100%;
	margin: 0 10px;
}

.text-accueil {
	padding: 20px;
	line-height: 150%;
}

.text-accueil p {
	font-size: 1rem;
	font-weight: 700;
	color: var(--text-spec-gener);
}

.text-accueil i {
	font-size: 0.9em;
	font-weight: bold;
	line-height: 3rem;
}

.text-accueil u {
	color: var(--text-spec-a);
	font-size: 0.9em;
	font-weight: bold;
}

.date-depeche-accueil {
	font-size: 0.8em;
	font-style: italic;
	padding-bottom: 20px;
}

.btn-accueil {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: auto;
}

.btn-accueil img {
	max-width: 200px;
}

/*************************************************** REUSABLE CSS CLASSES *****/
/******************************************************************************/

.container {
	/* max-width: 1200px; */
	background-color: var(--bg-nav-color);
	/* margin-inline: 1.5rem; */
}

/*************************************************************** Bannière *****/
/******************************************************************************/
.banniere {
	top: 0px;
	left: 0px;
	width: 100%;
	height: var(--header-height);
}

/******************************************************************************/

.ban-diapo {
	position: absolute;
	top: 0px;
	left: 429px;
	width: 785px;
	height: var(--header-height);
}

/******************************************************************************/

.ban-reseau-soc {
	position: absolute;
	top: 0px;
	left: 180px;
	height: var(--header-height);
	width: 277px;
}

.ban-reseau-soc img {
	position: absolute;
	top: 20px;
	width: 115px;
}

/*********************************************************** Fin Banniere *****/
/******************************************************************************/


/***************************************************************** HEADER *****/
/******************************************************************************/
.header {
	position: sticky;
	top: var(--sticky-height);
	left: 0;
	width: 100%;
	box-shadow: 0 2px 16px hsla(220, 32%, 8%, 0.3);;
	z-index: var(--z-fixed);
}

.logo-taille01 {
	margin-right: 10px;
	width: 200px;
}

.header.fixed {
	top: 0;
}

/***************************************************************** Contenu ****/
/******************************************************************************/

.contenu-fixe {
	overflow-x: hidden;
	overflow-y: auto;
	padding: 20px 10px 0 10px;
	background-color: rgb(182, 182, 182);
	background-image: url(../Deco/Brick.png);
}

.contenu-mobile {
	max-width: 1024px;
	margin: 0 auto;
	/* background-color: white; */
}

.img-max {
	width: 100%;
}

/* :is(.affiche-spectacle, .tab-spectacle,
.article-sepectacle, .tab-archives,
.cadre-depeches, .page-decors,
.histo-presentation, .page-activite,
.Jean-LG, .page-histo) img:hover {
	scale: 0.95;
	transition: scale 0.2s ease-in-out
} */

.cadre-image img:hover,
img.cadre-image:hover {
	scale: 0.95;
	transition: scale 0.2s ease-in-out
}

.cadre-depeches a,
.text-spectacle a,
.page-decors a,
.histo-presentation a,
.gallo-cours a,
.page-activite a,
.calendar a {
	color: var(--text-spec-a);
	text-decoration: var(--text-deco-a);
}

.cadre-depeches a:hover,
.text-spectacle a:hover,
.page-decors a:hover,
.histo-presentation a:hover,
.gallo-cours a:hover,
.page-activite a:hover,
.calendar a:hover {
	color: var(--text-spec-ah);
	text-decoration: none;
}

/************************************************************** Début Old *****/
/******************************************************************************/

.flottant-gauche {
	position: relative;
	float: left;
}

.flottant-droite {
	position: relative;
	float: right;
}

.disFlex {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
    margin: 30px auto;
}

.imgBloc {
	margin: 0 auto;
}

/**** Images ****/

.cadre-image {
	display: inline-block;
	padding: 7px;
	margin: 10px;
	border: 2px solid #000000;
	border-radius: 0.5rem;
}

.image-gauche {
	float: left;
}

.chargement {
	background: url("http://www.ciejeanlegallo.fr/Pages/Deco/ajax-loader.gif")
		no-repeat center;
}

/**** Index ****/

.index-100 {
	z-index: 100;
}

.index-50 {
	z-index: 50;
}

/**** Texte ****/

.text-image {
	font-size: small;
    font-style: italic;
	text-align: right;
}

.text-image01 {
	padding: 5px;
	font-size: 1.1em;
	font-weight: normal;
}

.text-image02 {
	padding: 5px;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

.text-image03 {
	padding: 5px;
	font-size: 0.9em;
	font-weight: normal;
}

.text-centre {
	text-align: center;
}

/**** Survole liens ****/

a.survole-min {
	position: relative;
}
a.survole-min span {
	display: none;
}
a.survole-min:hover {
	background: none; /*** Pour IE ***/
	z-index: 100;
}
a.survole-min:hover span {
	position: absolute;
	top: 5px;
	left: 150px;
	display: block;
}

/**** Dimensions images****/

.image640-large {
	width: 640px;
}

.image400-large {
	width: 400px;
}

.image350-large {
	width: 350px;
}

.image322-large {
	max-width: 322px;
}

.image310-large {
	width: 310px;
}
.image301-large {
	width: 301px;
}

.image300-large {
	width: 300px;
}

.image280-large {
	width: 280px;
}

.image250-large {
	width: 250px;
}

.image230-large {
	width: 230px;
}

.image220-large {
	width: 220px;
}

.image200-large {
	width: 200px;
}

.image195-large {
	width: 195px;
}

.image180-large {
	width: 180px;
}

.image170-large {
	width: 170px;
}

.image150-large {
	width: 150px;
}

.image135-large {
	width: 135px;
}

.image130-large {
	width: 130px;
}

.image125-large {
	width: 125px;
}

.image120-large {
	width: 120px;
}

.image115-large {
	width: 115px;
}

.image100-large {
	width: 100px;
}

.image80-large {
	width: 80px;
}

.image70-large {
	width: 70px;
}

.image50-large {
	width: 50px;
}

.image99-haute {
	height: 99px;
}

.image59-haute {
	height: 59px;
}

/**** Cadres ****/

.cadre-fort {
	border: 2px solid #000;
	border-radius: 10px;
	background-color: rgb(221, 221, 221);
}

.cadre-fin {
	border: 1px solid #000;
	border-radius: 10px;
	background-color: #ffffff;
}

/****************************************************************** Ombres ****/
/* 
#Contenu img {
  -webkit-box-shadow: 5px 5px 15px 5px #000000;
  box-shadow: 5px 5px 15px 5px #000000;
}
 */
/**** Glyph, by Harry Roberts ****/

hr {
	overflow: visible; /* For IE */
	padding: 0px;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 20px;
	border: none;
	border-bottom: medium double #333;
	color: #000000;
	text-align: center;
	clear: both;
}

hr:after {
	content: "#";
	display: inline-block;
	position: relative;
	top: 0.6em;
	font-size: 1.5em;
	padding: 0 0.25em;
	background: #ffffff;
}

/**************************************************************** Dépêches ****/
/******************************************************************************/

.date-depeches {
	overflow: hidden;
	max-width: 800px;
	margin: 10px auto 20px auto;
	padding: 5px 10px 5px 10px;
	font-weight: bold;
	text-align: center;
}

.cadre-depeches {
	overflow: hidden;
	max-width: 800px;
	margin: 10px auto 40px auto;
	padding: 10px 10px 10px 10px;
}

.cadre-depeches h2 {
	color: var(--text-spec-titre);
}

.cadre-depeches p {
	margin: 10px 15px 10px 15px;
	font-size: 1.2em;
	font-weight: bold;
	text-align: left;
	color: var(--text-spec-gener);
}

.cadre-depeches img {
	max-width: 200px;
}

.texte-vert-depeches {
	font-weight: bold;
	color: #32a81f;
}

.texte-centre-depeches {
	text-align: center;
}

.audio-depeches {
	width: 200px;
	height: 25px;
}

.video-40ans-depeches {
	max-width: 512px;
	margin-right: auto;
	margin-left: auto;
}

.video-40ans-depeches img {
	width: 100%;
	height: 100%;
}

.frame-facebook-depeches {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

.video-Steve,
.BiMedailles,
.video-40ans,
.Medaille,
.MakingOfTPD {
	display: none;
}

/**************************************************************** Contacts ****/
/******************************************************************************/

.aligne-logos-boite {
	display: flex;
	margin: 0px auto 0px auto;
	max-width: 810px;
	justify-content: space-around;
}

.aligne-logos-image {
	min-width: 80px;
	margin: 0px 10px;
}

.aligne-logos-image:first-child {
	order: 2;
	max-width: 120px;
}

.aligne-logos-image:nth-child(2) {
	order: 1;
	max-width: 115px;
}

.aligne-logos-image:nth-child(3) {
	order: 3;
	max-width: 115px;
}

.nom-adresse {
	font-style: italic;
	font-weight: bold;
	text-align: center;
	color: #000;
}

.adresse-cie {
	font-weight: bold;
	text-align: center;
	color: #990000;
}

.boite-contacts {
	display: inline-block;
	max-width: 200px;
}

.aligne-contacts {
	margin: 5px 0px;
	text-align: center;
	font-weight: bold;
}

.nom-contacts {
	font-size: 1.1em;
	color: blue;
}

.fonction-contacts {
	font-size: 0.9em;
	font-style: italic;
}

.tel-contacts {
	font-size: 1.1em;
	font-weight: bold;
	margin-bottom: 20px;
}

.distri-contacts {
	display: flex;
	width: 100%;
	margin: 30px auto 30px auto;
	max-width: 500px;
	max-height: 300px;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
	gap: 10px;
}

/************************************************************* Partenaires ****/
/******************************************************************************/

.liens-partenaires {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.logos-partenaires {
	margin: 20px;
	max-width: 350px;
	max-height: 200px;
}

/************************************************************** Livre d'or ****/
/******************************************************************************/

.date-livredor {
	overflow: hidden;
	max-width: 510px;
	margin: 10px auto 10px auto;
	padding: 5px;
	font-weight: bold;
	text-align: center;
}

.cadre-livredor {
	overflow: hidden;
	max-width: 510px;
	margin: 5px auto 35px auto;
	padding: 5px;
}

.cadre-livredor p {
	margin: 10px;
	font-size: 1.1em;
	color: #000;
}

.casse3-livredor {
	font-size: 1.3em;
}

.cadre-livredor img {
	margin: 10px;
}

.nav-barre {
	color: var(--nav-select-color);
}

.nav-barre a {
	color: var(--nav-color);
}

/******************************************************************************/
/************************************************************* Formulaire *****/
/******************************************************************************/

.form-block {
	display: flex;
	margin: 0px auto;
	max-width: 590px;
	flex-flow: row wrap;
	justify-content: space-around;
}

.form-auteur,
.form-email,
.form-password {
	min-width: 280px;
	height: 80px;
	margin-bottom: 10px;
}

.form-message {
	display: flex;
    width: 100%;
    height: 280px;
    flex-direction: column;
	margin: 0 10px 0 10px;
}

.form-text {
	min-width: 280px;
	height: 30px;
	font-family: Arial, Helvetica, sans-serif;
	color: #3a3a3a;
	background: #efefef;
	border-radius: 8px;
	padding: 1px 10px 1px 10px;
}

.form-textarea {
	height: 200px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: larger;
	color: #3a3a3a;
	background: #efefef;
	resize: none;
	border-radius: 10px;
	padding: 10px;
}

.form-code {
	display: flex;
    max-width: 580px;
    gap: 0.5rem;
    height: 100px;
    flex-direction: column;
    align-items: center;

}

.form-code-input {
	max-width: 280px;
	max-height: 45px;
}

.form-code img {
	padding: 5px;
}

.form-erreur,
.form-success {
	max-width: 280px;
	padding: 0.5rem;
	font-size: 1.1em;
	text-align: center;
}

.form-erreur {
	color: #ff0000;
}

.form-success {
	color: #057017;
}

.form-label {
	display: block;
	margin-left: 3px;
	margin-top: 5px;
	letter-spacing: 2px;
}

.form-block p {
	padding: 0px;
	margin: 0px;
	top: 0px;
	text-align: center;
	color: #990000;
}

.form-btn {
	width: 280px;
	font-size: 1.2rem;
	text-shadow: black 1px 1px;
	border-radius: 10px;
	align-self: center;
	align-items: end;
	padding: 5px 10px 5px 10px;
	box-shadow: 2px 2px #000;
	color: white;
	background-color: #F37C20;
	cursor: pointer;
}

.form-btn:hover {
	background-color: #F3C521;
	transition: background-color 0.2s  ease-in-out;
}

.form-btn:active {
	color: #000000;
	text-shadow: 1px 1px white;
	box-shadow: 0px 0px;
}

.box-prive {
	position: absolute;
	bottom: 70px;
	padding: 0.5rem;
	font-size: 1.1em;
}

.box-prive a {
	color: #000000;
}

/******************************************************************************/
/***************************************************************** Agenda *****/
/******************************************************************************/

.calendar-titre {
	display: flex;
	margin: 0px 0px 10px 0px;
	height: 50px;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.calendar-btn {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 5px 10px 5px 0px;
	text-indent: 0px;
	font-size: 1.5em;
	text-align: center;
	color: var(--nav-color-drop);
	background-color: var(--bg-nav-color-drop-prive);
	border: 1px solid;
	border-radius: 20%;
	cursor: pointer;
	text-decoration: none;
}

.calendar-btn:hover {
	color: #fff;
	background-color: hsla(192, 93%, 22%);
}

.calendar-month-year {
	padding: 5px 10px;
}

.calendar {
	width: 100%;
	height: calc(100svh - 390px);
}

.calendar td {
	padding: 10px;
	width: 14.29%;
	height: 20%;
	vertical-align: top;
}

.calendar-6weeks td {
	height: 16.66%;
}

.calendar-weekday {
	font-size: 1.2em;
	font-weight: bold;
	color: #000;
}

.calendar-dim {
	color: #990000;
}

.short-day {
	display: none;
}

.calendar-day {
	font-size: 1.3rem;
}

.cadre-vert {
	border: 1px solid #000;
	border-radius: 10px;
	background-color: #b1fa8d42;
}

.calendar-outmonth .calendar-day {
	opacity: 0.3;
}

.cadre-jour {
	border: 2px solid #000;
	border-radius: 10px;
	background-color: var(--bg-nav-color-drop-prive);

}

.cadre-jour-outmonth {
	border: 2px solid #000;
}

.calendar-event {
	display: inline-block;
	font-size: 0.7rem;
}

.calendar-time {
	display: inline-block;
}

.fancybox__slide.has-iframe .fancybox__content {
	width: 600px;
	height: 400px !important;
	padding: 5px;
}

#idEvent {
	display: none;
}

/****************************************************************** Event *****/

.event-body {
	color: #000;
	background-color: #bbbbbb;
}

.event-div {
	width: 100vw;
	height: 90%;
	padding: 20px 20px;
	overflow-y: auto;
	font-size: 1.2em;
	font-weight: bold;	

}

.event-div h2 {
	padding-bottom: 20px;
}

.event-description {
	width: 100%;
}

.event-description p {
	padding-bottom: 20px;
}

.event-div p {
	display: inline;
	color: #990000;
}

.event-div li {
	padding-left: 20px;
}

/******************************************************************************/
/************************************************************* Bottin *****/
/******************************************************************************/

.tab-bottin {
	margin: 5px auto;
	padding: 0 10px;
	max-width: 1100px;
}

.coor-bottin {
	display: flex;
	margin: 5px auto;
	flex-flow: row nowrap;
	justify-content: space-around;
}

.titre-tab-bottin {
	padding: 0px 5px 0px 5px;
	margin-bottom: 5px;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
}

.coor-tab-bottin {
	padding: 0px 5px 0px 5px;
	font-size: 1em;
	font-weight: bold;
	min-width: 65px;
}

.nom-tab-bottin {
	width: 280px;
}

.adr-tab-bottin {
	width: 300px;
}

.tel-tab-bottin {
	width: 180px;
	text-align: center;
}

.mel-tab-bottin {
	overflow-wrap: break-word;
	width: 280px;
	text-align: center;
}

/******************************************************************************/
/*************************************************************** Musiques *****/
/******************************************************************************/

.tab-musiques {
	margin: 5px auto;
	max-width: 740px;
}

.tab-lec-musiques {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	margin: 0 5px;
}

.contenu-fixe .lec-musiques-check,
.contenu-fixe .lec-musiques-liste {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin-bottom: 5px;
	width: 360px;
	height: 50px;
	text-align: center;
	order: 1;
}

.audio-lec {
	width: 270px;
	height: 25px;
}

.contenu-fixe .titre-piece,
.contenu-fixe .titre-musiques {
	margin-bottom: 5px;
	width: 360px;
	min-height: 22px;
	text-align: center;
}

.titre-piece {
	order: 2;
}

.titre-musiques {
	order: 3;
}

.affiche-musique {
	width: 360px;
	text-align: center;
	order: 4;
}

.liste-musiques {
	padding: 0 0 0 35px;
	width: 360px;
	height: 100%;
	text-align: left;
	order: 5;
}

audio {
	border-radius: 0%;
	padding: 0px;
	height: 25px;
	width: 300px;
}



#playlist .active a {
	color: #000000;
	background-color: #00ccff;
	border: 1px #00ccff;
	border-radius: 10px;
	text-decoration: none;
}

#playlist li {
	padding: 3px 5px;
}

#playlist li a {
	padding: 3px 5px 3px 5px;
	color: var(--text-spec-a);
	display: block;
}

#playlist li a:hover {
	color: #000000;
	background-color: #00ff00;
	border: 1px #00ff00;
	border-radius: 10px;
	text-decoration: none;
}

/******************************************************************************/
/************************************************************** Spectacle *****/
/******************************************************************************/

.page-spectacle {
	width: 100%;
}

.page-spectacle h3 {
	text-align: center;
}

.generique-spectacle {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.affiche-spectacle {
	max-width: 340px;
}

.text-spectacle h2 {
	font-size: 1.5em;
	font-weight: bold;
	color: var(--text-spec-titre);
	text-align: center;
	line-height: 3rem;
}

.text-spectacle {
	margin: 10px;
	max-width: 460px;
	text-align: center;
	line-height: 150%;
}

.text-spectacle p {
	font-size: 1.1rem;
	font-weight: bold;
	color: var(--text-spec-gener);
}

.text-spectacle p::first-line {
	line-height: 2rem;
}

.text-spectacle i {
	font-size: 0.9em;
	font-weight: bold;
	line-height: 3rem;
}

.text-spectacle u {
	color: var(--text-spec-a);
	font-size: 0.9em;
	font-weight: bold;
}

.article-sepectacle {
	margin-left: auto;
	margin-right: auto;
	max-width: 350px;
}

.img-spectacle {
	width: 100%;
}

.img-annule {
	position: absolute;
	top: 130px;
}

.img-annule img {
	width: 90%;
	max-width: 240px;
}

.section-spectacle {
	position: relative;
	margin: 0px auto 0px auto;
}

.tab-spectacle {
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	margin: 10px;
}

.tab-spectacle div {
	display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: wrap;
}

.tab-spectacle div span {
	margin: 0 2px;
}

.marge-cadre {
	width: 150px;
	margin: 0px;
}

.img-90pc {
	max-width: 90%;
	margin: 10px;
}

/******************************************************************************/
/*************************************************************** Archives *****/
/******************************************************************************/

.tab-archives {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	margin: 10px;
}

.tab-archives .text-image02 {
	max-width: 250px;
}

.tab-archives a {
	color: var(--text-spec-a);
}

.tab-archives img {
	max-width: 150px;
	max-height: 212px;
}

/******************************************************************************/
/*********************************************************** Réservations *****/
/******************************************************************************/

.text-reservation {
	text-align: center;
}

.text-reservation h3 {
	font-size: 1.2em;
	font-weight: bold;
	color: var(--text-spec-gener);
	text-align: center;
}

.text-reservation i {
	font-size: 0.9em;
	font-weight: bold;
	line-height: 3rem;

}

.tab-resa tr th {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}

.tab-resa {
	display: flex;
	justify-content: center;
	margin: 20px auto;
	max-width: 890px;
}

.adr-capellia {
	width: 300px;
	margin: 10px;
}

.map-capellia {
	min-width: 300px;
	margin: 10px;
}

#plans-salles {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	padding: 10px 10px 10px 10px;
	background-color: #d4d0c8;
	border: solid 1px;
}

.resa-sieges13 {
	position: relative;
	width: 300px;
	height: 350px;
}

.resa-sieges2 {
	position: relative;
	width: 180px;
	height: 350px;
	z-index: 10;
}

#plans-salles input {
	position: absolute;
	font-family: arial;
	font-size: 8px;
	color: #fff;
	background-color: #990000;
	padding: 0px;
	min-width: 15px;
	height: 15px;
}

#plans-salles a {
	text-decoration: none;
}

#plans-salles a:hover {
	background: none; /*** Pour IE ***/
}

.zoom {
	display: none;
}

#plans-salles a:hover .zoom {
	position: relative;
	top: -30px;
	display: block;
}

.container-ebillets-Titre {
	max-width: 600px;
	margin: auto;
}

.container-ebillet {
	display: flex;
	padding: 10px;
	margin-bottom: 20px;
	justify-content: space-around;
	flex-wrap: wrap;
	border: solid #000 2px;
	border-radius: 20px;
	max-width: 600px;

}

.ebillet-affiche-titre {
	display: flex;
}

.container-ebillet .titre-horaires {
	text-align: left;
	padding: 10px;
	font-size: large;
}

.container-ebillet h2.titre {
	font-size: large;
	font-style: italic;
}

.container-ebillet button, .complet {
	width: 130px;
	height: 50px;
	font-size: 1.2rem;
	text-shadow: black 1px 1px;
	border-radius: 10px;
	align-self: center;
	align-items: end;
	margin-top: 10px;
	box-shadow: 2px 2px #000;
}

.container-ebillet button {
	color: white;
	background-color: #F37C20;
	cursor: pointer;
}

.container-ebillet button:hover {
	background-color: #F3C521;
	transition: background-color 0.2s  ease-in-out;
}

.container-ebillet button:active  {
	color: #000000;
	text-shadow: 1px 1px white;
	box-shadow: 0px 0px;
}

.container-ebillet .complet {
	color:#990000;
	background-color: white;
	border: solid 1px black;
	padding: 10px;
}

/************************************************************ Historique ****/
/******************************************************************************/

.page-histo,
.page-histo-anim {
	display: flex;
	justify-content: center;
	max-width: 800px;
	margin: 0 auto;
}

.Jean-LG {
	max-width: 150px;
}

.texte-Jean-LG p {
	color: #000;
	font-style: italic;
	font-weight: bold;
	text-align: left;
}

.histo-presentation {
	grid-gap: 20px;	column-rule: 2px solid rgb(75, 70, 74);
	column-width: 20rem;
	max-width: 800px;
	margin: 0 auto;
}

.histo-min {
	min-width: 310px;
}

.histo-texte {
	position: relative;
	margin: 0px 10px 30px 10px;
	font-size: 1rem;
	font-weight: bold;
	text-align: justify;
	color: var(--text-spec-gener);
}

.no-logo {
	clear: left;
}

.histo-logo {
	width: 80px;
	margin: 10px 10px 0 10px;
	position: relative;
	float: left;
	clear: left;
}

.img-cie-presentation {
	width: 595px;
}

.img-cie-1617 {
	width: 120px;
}

.img-cie-1213,
.img-cie-0910 {
	display: none;
}

.img-cie-1213 {
	max-width: 600px;
	max-height: 400px;
}

.img-cie-0910 {		
	max-width: 600px;
	max-height: 450px;
}

.ani-cie-1213 {
	width: 600px;
	height: 400px;
}

.ani-cie-0910 {
	width: 600px;
	height: 450px;
}

.fancybox-hidden {
	display: none;
}

/******************************************************************************/
/*************************************************************** Activité *****/
/******************************************************************************/

.histo-gallo-texte {
	position: relative;
	margin: 0px 10px 40px 10px;
	padding: 0px;
	top: 10px;
	font-size: 1.2em;
	font-weight: bold;
	text-align: justify;
	color: #990000;
}

.titre-gallo-cours {
	font-size: 1.5rem;
	font-weight: bold;
}

.gallo-cours {
	max-width: 800px;
	margin: 0 auto 40px auto;
	padding: 0 10px 0 10px;
	font-size: 1.2em;
	font-weight: bold;
}

.gallo-cours ul {
	padding-left: 3rem;
}

.lst-saisons {
	display: flex;
	flex-flow: row wrap;
    justify-content: center;
}

.lst-saisons li {
	width: 125px;
    text-align: center;
    padding: 0 10px;
}

.gallo-bonus {
	color: #0047ff;
}

.gallo-photo {
	margin: 30px auto 40px auto;
}

.tab-gallo-photo {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	padding-bottom: 2rem;
}

.tab-gallo-photo span {
	padding: 2px;
}

.span-col-right {
	display: flex;
    flex-direction: column;
}

.page-activite {
	margin: 5px auto;
	max-width: 800px;
}

.logo-kdanse-activite {
	position: absolute;
	top: 170px;
	left: 0px;
}

.centre-article {
	margin-left: auto;
	margin-right: auto;
}

.tab-gallo-photo span a {
	text-decoration: none;
}

.tab-gallo-photo span.img-col-left span {
	margin: 0 2px;
}

.img-pad img {
	width: 300px;
}

/******************************************************************************/
/************************************************************* Calendrier *****/
/******************************************************************************/

.page-calendrier {
	margin: 0 auto;
	max-width: 800px;
}

.saison-calendrier {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}

.mois-calendrier {
	width: 380px;
}

.titre-mois {
	margin: 10px;
	padding: 5px;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

.rdv-mois {
	height: 140px;
	margin: 10px;
	padding: 5px;
}

.titre-calendrier {
	font-size: 0.9rem;
	font-weight: bold;
	max-width: 780px;
	text-align: justify;
	margin: 0 auto;
	padding: 0 20px;
}

/******************************************************************************/
/***************************************************************** Décors *****/
/******************************************************************************/

.page-decors {
	margin: 5px auto;
	max-width: 800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: self-start;
}

.decors-photo {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	margin: 10px;
}

.tab-decors-photo .cadre-image {
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	justify-content: center;
	margin: 10px;
}

.tab-decors-photo img,
.tab-decors-photo .text-image02 {
	max-width: 280px;
}

.img-decors-max {
	width: 100%;
}

.decors-texte {
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	color: var(--text-spec-gener);
}

.img-decors-texte {
	width: 118px;
	margin: 5px auto;
}

.titre-decors-texte {
	font-size: 1.5em;
	font-weight: bold;
}

.btn-up {
	position: fixed;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	right: 30px;
	bottom: 70px;
	cursor: pointer;
	opacity: 0.7;
}

.icone {
	width: 70px;
}

/*********************************************************************************************** Fin Old *****/

/***************************************************************** FOOTER *****/
/******************************************************************************/

footer {
	position: sticky;
	overflow: hidden;
	bottom: 0px;
	width: 100%;
	height: 65px;
	color: var(--nav-color);
	background-color: var(--bg-nav-color);
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	z-index: var(--z-fixed);
}

/************************************************************** Barre Nav *****/
/******************************************************************************/

.bar-nav-container {
	width: 300px;
	height: 30px;
	display: none;
	justify-content: flex-end;
	align-items: center;
}

.barre-nav {
	width: 100%;
	display: flex;
	justify-content: center;
}

.btn-box {
	display: block;
	margin: 0 1% 0 1%;
	width: 50px;
}

.barre-nav .btn-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 25px;
	border: 1px solid var(--nav-color);
	background-color: var(--bg-nav-color);
	font-size: small;
	border-radius: 20px;
	cursor: pointer;
}

.barre-nav .btn-box a {
	color: var(--nav-color);
}

.barre-nav .btn-nav:hover {
	scale: 0.8;
	transition: scale 0.15s ease-in-out;
}

.barre-nav .btn-nav.unable {
	color: var(--nav-bg-color);
	border: 1px solid var(--nav-bg-color);
}

.barre-nav .btn-nav.unable:hover {
	cursor: default;
	scale: 1;
}

.barre-nav .btn-nav.btn-saison.select {
	color: var(--nav-select-color);
	border: 1px solid var(--nav-select-color);
}

.btn-left,
.btn-right {
	padding: 0 0.5%;
	font-size: 1rem;
}

.btn-saison {
	padding: 0 1%;
	font-size: 1rem;	
}

/**************************************************************** Mention *****/
/******************************************************************************/
#cookie-container {
	display: block;
}

.mention-container {
	height: 30px;
	display: none;
	justify-content: flex-end;
	align-items: center;
}

.mention, .mention-cookie {
	position: relative;
	display: inline-block;
	margin: 0 10px 0 10px;
	font-size: 0.8rem;
}

.mention {
	max-width: 400px;
}

.mention-cookie {
	max-width: 800px;
	display: flex;
	gap: 5px;
}

.mention-cookie p {
	max-width: 460px;
}

.mention-cookie a {
	color: white;
}

.mention-cookie button {
	border-radius: 8px;
	padding: 5px;
	height: 30px;
	color: white;
	background-color: #F37C20;
	cursor: pointer;
}

.mention-cookie button:hover {
	background-color: #F3C521;
	transition: background-color 0.2s  ease-in-out;
}

.mention-cookie button:active  {
	color: #000000;
	text-shadow: 1px 1px white;
	box-shadow: 0px 0px;
}

.logo-facebook-footer {
	position: relative;
	display: inline-block;
}

.logo-facebook-footer a {
	padding: 0px;
	margin: 0px;
}

.logo-facebook-footer img {
	margin: 0 10px 0 10px;
	width: 20px;
	height: 20px;
}

.cadenas-ferme img,
.cadenas-ouvert img {
	margin: 0 10px 0 10px;
	width: 20px;
	height: 20px;
}

.logo-facebook-footer:hover,
.cadenas-ferme img:hover,
.cadenas-ouvert img:hover {
	scale: 1.2;
	transition: scale 0.15s ease-in-out;
}

/******************************************************************** NAV *****/
/******************************************************************************/
.nav {
	height: 4rem;
}

.nav__burger,
.nav__close {
	color: var(--nav-color);
}

.nav__data {
	width: 74px;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.nav__titre {
	color: var(--nav-color);
	font-size: 0.7rem;
}

.nav__logo {
	position: relative;
	width: 70px;
	height: 56px;
	display: flex;
}

.nav__toggle {
	position: relative;
	width: 32px;
	height: 32px;
}

.nav__burger,
.nav__close {
	position: absolute;
	width: max-content;
	height: max-content;
	inset: 0;
	margin: auto;
	font-size: 1.25rem;
	cursor: pointer;
	transition: opacity 0.1s, transform 0.4s;
}

.nav__close {
	opacity: 0;
}

/****************************************** Navigation for mobile devices *****/
/******************************************************************************/
@media screen and (max-width: 1200px) {
	#Index .header {
		top: -848px;
		height: 100svh;
	}

	.header {
		top:0;
	}

	.banniere {
		display: none;
	}
	
	#Index .nav.container {
		position: fixed;
		top: 0;
		bottom: calc(100svh - 64px);
		width: 100%;
		background-color: var(--bg-nav-color-index);
	}

	.nav__data {
		width: 100%;
		padding: 0 15px;

	}

	.nav__menu {
		position: absolute;
		left: 0;
		top: 2.5rem;
		width: 100%;
		background-color: var(--nav-bg-color);
		height: calc(100svh - 3.5rem);
		overflow: auto;
		pointer-events: none;
		opacity: 0;
		transition: top 0.4s, opacity 0.3s;
	}

	.calendar {
		height: calc(100svh - 290px);
	}

	.btn-up {
		width: 50px;
		height: 50px;
		right: 20px;
		bottom: 75px;
	}

	.icone {
		width: 50px;
	}

	#Index .footer {
		height: 65px;
		background-color: var(--bg-nav-color-index);
	}
}

/******************************************************************** Nav *****/
/******************************************************************************/
.nav__link {
	color: var(--nav-color);
	border-top: 0.3rem solid var(--bg-nav-color);
	background-color: var(--bg-nav-color);
	font-weight: var(--font-semi-bold);
	padding: 0.7rem 1.5rem; /* 1.25rem 1.5rem */
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background-color 0.3s, border-top 0.3s;
}

.nav__link.nav__select {
	color: var(--nav-select-color);
}

.nav__link:hover {
	border-top: 0.3rem solid var(--top-border-nav-color);
	color: var(--nav-select-color);
	background-color: var(--bg-nav-color-hover);
}

.menu-prive .nav__link:hover{
	border-top: 0.3rem solid var(--top-border-nav-color-prive);
}

/************************************************************** Show menu *****/
/******************************************************************************/
.show-menu {
	opacity: 1;
	top: 4rem;
	pointer-events: initial;
}

/************************************************************** Show icon *****/
/******************************************************************************/
.show-icon .nav__burger {
	opacity: 0;
	transform: rotate(90deg);
}

.show-icon .nav__close {
	opacity: 1;
	transform: rotate(90deg);
}

/*************************************************************** DROPDOWN *****/
/******************************************************************************/
.dropdown__item {
	cursor: pointer;
}

.dropdown__arrow,
.dropdown__add {
	font-size: 1.25rem;
	font-weight: initial;
	transition: transform 0.4s;
}

.dropdown__link {
	padding: 0.7rem 0.7rem 0.7rem 2.5rem;
}

.dropdown__sublink {
	padding: 0.7rem 0.7rem 0.7rem 4.5rem;
}

.dropdown__link,
.dropdown__sublink {
	color: var(--nav-color);
	background-color: var(--nav-bg-color-light);
	display: flex;
	align-items: center;
	column-gap: 0.5rem;
	font-weight: var(--font-semi-bold);
	transition: background-color 0.3s;
}

.dropdown__link i,
.dropdown__sublink i {
	font-size: 1.25rem;
	font-weight: initial;
}

.dropdown__link:hover,
.dropdown__sublink:hover {
	color: var(--nav-select-color);
	background-color: var(--bg-nav-color-hover);
}

.dropdown__menu,
.dropdown__menu1,
.dropdown__submenu,
.dropdown__submenu1 {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease-out;
}

/******************************************* Show dropdown menu & submenu *****/
/******************************************************************************/
.dropdown__item:hover .dropdown__menu,
.dropdown__item:hover .dropdown__menu1,
.dropdown__subitem:hover .dropdown__submenu,
.dropdown__subitem:hover .dropdown__submenu1 {
	max-height: 2000px;
	transition: max-height 0.4s ease-in;	
}

/*************************************************** Rotate dropdown icon *****/
/******************************************************************************/
.dropdown__item:hover .dropdown__arrow,
.dropdown__subitem:hover .dropdown__add {
	transform: rotate(180deg);
}

/******************************************************* DROPDOWN SUBMENU *****/
/******************************************************************************/
.dropdown__add {
	margin-left: auto;
}

.dropdown__sublink {
	background-color: var(--nav-bg-color-lighten);
}

/************************************************************ BREAKPOINTS *****/
/******************************************************************************/

/****************************************************** For small devices *****/
/******************************************************************************/

@media (min-width: 650px) and (max-height: 450px) and (orientation: landscape) {

	.nav.container,
	.footer {
		display: none;
	}

	.logosBox .welcome {
		top: 0;
		height: 150%;
	}

}

/**** Calendrier ****/

@media screen and (max-width: 820px) {
	.calendar td {
		padding: 5px;
	}
	.calendar-weekday {
		font-size: 0.7em;
		font-weight: bold;
		color: #000;
	}

	.calendar-day {
		font-size: 0.8em;
	}

	.calendar-dim {
		color: #990000;
	}

	.cadre-depeches p {
		text-align: left;
	}
}

/**** Musiques ****/

@media screen and (max-width: 760px) {

	.tab-lecteurs,
	.tab-titres {
		max-width: 360px;
	}

	.contenu-fixe .lec-musiques-check {
		display: none;
	}

	.affiche-musique {
		order: 2;
	}

	.affiche-musique img {
		width: 150px;
	}
}

/**** eAnim ****/

@media screen and (max-width: 680px) {

	.ani-cie-1213,
	.ani-cie-0910 {
		display: none;
	}

	.img-cie-1213,
	.img-cie-0910 {
		display: block;
	}
}

/**** Calendrier ***/

@media screen and (max-width: 620px) {
	.calendar-event {
		font-size: 0.5em;
	}

	.calendar-time {
		display: none;
	}
}

@media screen and (max-width: 585px) {
	.mention {
		font-size: 0.7rem;
	}
}

@media screen and (max-width: 499px) {
	.long-day {
		display: none;
	}

	.short-day {
		display: block;
	}
}

/**** Small ****/

@media screen and (max-width: 390px) {
	/* .container {
		margin-inline: 1rem;
	}

	.nav__link {
		padding-inline: 1rem;
	} */
}

/******************************************************* For large device *****/
/******************************************************************************/
@media screen and (min-width: 1200px) {

/***************************************************************** Header *****/
	.header > .nav {
		height: var(--subnav-top-small);
	}

	.header > .nav.scroll {
		height: var(--subnav-top-large);
		transition: height 0.3s ease-in-out;
	}	

/************************************************************** Container *****/
	.container {
		margin-inline: auto;
		font-size: small;
	}

/******************************************************************** Nav *****/
	.nav {
		height: var(--header-height);
		display: flex;
		justify-content: space-around;
	}

	.nav__logo,
	.nav__toggle,
	.nav__titre {
		display: none;
	}

	.nav__logo.logo__on {	
		display: flex;
	}
	
	.nav__list {
		height: 100%;
		display: flex;
		column-gap: 1rem;
		align-items: center;
	}

	.nav__link {
		height: var(--subnav-top-small);
		padding: 0.5rem;
		justify-content: initial;
		column-gap: 0.25rem;
		white-space: nowrap;
	}

	.nav__link.scroll {
		height: var(--subnav-top-large);
		transition: height 0.3s ease-in-out;
	}

	.dropdown__item,
	.dropdown__subitem {
		position: relative;
	}

	.dropdown__link,
	.dropdown__sublink {
		width: 200px;
		height: 40px;
		background-color: var(--bg-nav-color-drop);
		color: var(--nav-color-drop);
		padding-inline: 1rem 3.5rem;
	}

	.nav__prive {
		background-color: var(--bg-nav-color-drop-prive);
	}

	.dropdown__link:hover,
	.dropdown__sublink:hover {
		color: var(--nav-select-color);
		background-color: var(--bg-nav-Color-drop-hover);
	}

	.dropdown__link:hover .dropdown__sublink:hover {
		color: var(--nav-select-color);
	}

	.dropdown__menu,
	.dropdown__menu1,
	.dropdown__submenu,
	.dropdown__submenu1 {
		max-height: initial;
		overflow: initial;
		position: absolute;
		left: 0;
		top: var(--subnav-top-large);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s, top 0.3s;
	}

	.dropdown__menu.scroll {
		top: var(--subsub-top-large);
	}				

	.dropdown__subitem .dropdown__link {
		padding-inline: 1rem;
	}

	.dropdown__submenu {
		left: 100%;
	}

	.dropdown__submenu1 {
		left: 100%;
		top: 0rem;
	}

/***************************************************** Show dropdown menu *****/
	.dropdown__item:hover > .dropdown__menu,
	.dropdown__item:hover > .dropdown__menu1 {
		opacity: 1;
		top: 3rem;
		pointer-events: initial;
		transition: top 0.3s;
	}

	.dropdown__item:hover > .dropdown__menu.scroll,
	.dropdown__item:hover > .dropdown__menu1.scroll {
		top: var(--subnav-top-large);
	}

/************************************************** Show dropdown submenu *****/
	.dropdown__subitem:hover > .dropdown__submenu {
		opacity: 1;
		top: 0;
		pointer-events: initial;
		transition: top 0.3s;
	}

	.dropdown__item:hover > .dropdown__menu1 {
		opacity: 1;
		left: 200px;
		pointer-events: initial;
		transition: left 0.3s;
	}

	.dropdown__subitem:hover > .dropdown__submenu1 {
		opacity: 1;
		left: 200%;
		pointer-events: initial;
		transition: left 0.3s;
	}

/***************************************************************** Footer *****/
	.footer {
		height: 40px;
	}
}