html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	font-family: 'Inconsolata', monospace;
	font-size:18px;
	color:#000;
}
body {
	line-height: 1;
	background:#fff;
	margin:0 auto;
}
*, *:before, *:after{box-sizing:border-box;}
ol, ul {list-style: none;}
img{display:block;width:auto;height:auto;}

h1, h2, h3, h4, h5, h6 {
	margin:.5em 0;
	line-height:1.2em;
}
h1{font-size:2em;}
h2 {
	font-weight:900;
	text-transform: uppercase;
	letter-spacing:.2em;
	font-size:.8rem;
}
h3 {font-size:2em;font-weight:900;}
h4 {font-size:1.2em;}

p,li {line-height:1.2em;}
a{text-decoration:none;color:inherit;}
em {font-style: italic;}
strong, .bold {font-weight:600;}
.upper {text-transform: uppercase;}
.small {font-size:.8em;}
.big {font-size:1.2em;}

.txt a {text-decoration: underline;}

@media screen and (max-width: 1300px) { h1 {font-size:4em; } }
@media screen and (max-width: 980px) { body {font-size:13px;} }
@media screen and (max-width: 580px) { body {font-size:12px;} h1 {font-size:3.5em;}}

:root {
	--expoLeft : 3rem;
	--swiper-navigation-color: #000;
}
/*******************************************************************************************************/
/******* HEADER **********************************************************************************/
/*******************************************************************************************************/
/** Menu **/
#menu {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:#fff;
	z-index:99;
}
#menu ul {
	display:flex;
	align-items:center;
	justify-content:center;
}
#menu ul a {
	display:block;
	text-decoration:underline;
	padding:1em;
}
/** Home screen **/
#logoSlogan {
	text-align:center;
	font-size:3.5em;
	margin:10vh 2rem 0;
}
#logoSlogan img {
	max-width:500px;
	margin:.2em auto;
}

#catchPhrase {
	max-width:600px;
	margin:5vh auto;
	text-align:center;
}

/*******************************************************************************************************/
/******* PROGRAMMATION **********************************************************************************/
/*******************************************************************************************************/

/** Expos **/
.expo {
	padding-left: var(--expoLeft);
	margin: 2rem auto;
}
.expoTitleDate {
	display:flex;
	align-items:baseline;
}
.expo h3 {
	position:relative;
	margin-bottom:0;
}
.expo h3::before {
	content:'';
	border-bottom:2px solid;
	position:absolute;
	top:.7em;
	right:100%;
	margin-right: 1rem;
	width: calc(var(--expoLeft) - 1rem);
}

.expoDate {
	margin-left:1em;
	background: #e0dece;
	padding:0 .5em;
}


.expoUnderTitle {
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap: 1.5em;
}
.expoUnderTitle .expoShowMore {
	text-decoration: underline;
}
.expo.show .expoShowMore {
	display:none;
}

/** Expo pane **/
.expo:hover {
	cursor:pointer;
}
.expo .expoPane {
	display:none;
}
.expo.show:hover {
	cursor:initial;
}
.expo.show .expoPane {
	display:block;	
}

.expo .expoEvents {
	font-style: italic;
	margin: 1em 0;
}
.expoTxt {
	margin: 1em 0;
}
/** Expo links **/
.expoLinks {
	display:flex;
	margin:1em 0;
	flex-wrap: wrap;
	gap: 1em;
}
.expoLinkList {
	display:flex;
	flex-wrap: wrap;
	gap: 1em;
}
.expoLinkList li a {text-decoration: underline;}
/** Expo images **/
.expoImages {
	margin:1em auto;
}
.swiper-slide {
	width:auto;
}
.swiper-slide img {
	height: 250px;
	width:auto;
}
/** Prog **/
#progHeader {
	max-width:1200px;
	margin:10vh auto;
}
.progHeaderExpo {
	margin:5vh auto;
	padding: 3rem var(--expoLeft) 4rem;
	background: #c1c8ce;
}
.progHeaderExpo.expo:hover {
	cursor:initial;
}
.progHeaderExpo.expo .expoPane {
	display:block;
}

.progHeaderExpo .expoTitleDate h3,
.progHeaderExpo .expoUnderTitle h4 {
	margin:0;
}

#programmation {
	max-width: 1200px;
	margin:10vh auto;
	padding:.1em 0;
}

.saison > h2 {
	margin: 15vh auto .5em;
}

/** Saison end **/
.saisonListEnd {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	text-align: center;
}
@media screen and (max-width: 1200px) {
	.saison > h2 {
		margin-left: 2rem;
	}
	.saisonListEnd {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	.saisonListEnd img {
		width: 200px;
	}
}
@media screen and (max-width: 550px) {
	.saisonListEnd {
		gap: 2rem 1rem;
	}
	.saisonListEnd li {
		width: calc(50% - 0.5rem);
	}
	.saisonListEnd img {
		width: 100%;
	}
}
/*******************************************************************************************************/
/******* INFOS PRATIQUES *******************************************************************************/
/*******************************************************************************************************/
#infosPratique {
	background: #c1c8ce;
	padding:50px 0;
	margin:10vh auto 0;
}
.infoWrap {
	background:#fff;
	max-width:1200px;
	padding:var(--expoLeft);
	margin:0 auto;
	display:flex;
}
.infosLeft img {
	width:300px;
}
.infosRight {
	max-width:800px;
	padding-left:50px;
}
.infosRight p {
	margin: 1em 0;
}
.infosRight address {
	display:block;
	margin:-.5em 0 1em;
	font-style: italic;
}

@media screen and (max-width: 1000px) {
	.infoWrap {
		flex-wrap: wrap;
	}
	.infosRight {
		padding-left:0;
	}
}

/*******************************************************************************************************/
/******* EXPOSANTS *************************************************************************************/
/*******************************************************************************************************/
#exposants {
	padding:10vh 0;
	text-align:center;
	display:flex;
	justify-content:center;
}
#exposants .txt {
	border: 2px solid;
	padding: 2em 5em;
}
/*******************************************************************************************************/
/******* FOOTER *******************************************************************************/
/*******************************************************************************************************/
#footer {
	text-align:center;
	padding:1.5em 0;
	background: #e0dece;
}
#footer a {text-decoration: underline;}