@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Oswald:wght@200..700&family=Outfit:wght@100..900&display=swap');

/*****************************/

*:focus {
	outline: none !important
}
* {
	padding: 0;
	margin: 0;
}

html, body {
	height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	width: 100%;
    font-family: 'Oufit', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
    color: #fff;
	background-color: #323232;
	background-image: url("images/bg_damier_noir.png");
	background-attachment: fixed;
	background-position: top center;
	overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    border: none;
	vertical-align: bottom;
}
a {
    text-decoration: none;
}

sup.typo_exposants {
	vertical-align: text-top;
	font-size: .8em;
}

ul.spip li {
	list-style: disc;
	margin-left: 2em;
}

hr {
	display: block;
	clear: both;
	height: 1px;
	width: 50%;
	margin: 1em auto;
	padding: 0;
	color: #ccc;
	background-color: #ccc;
	border: none;
}

strong {
	font-weight: 600;
}

#top {
	position: fixed;
	bottom: 30px;
	right: 40px;
	font-size: 42px;
    color: #000;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	display: none;
	cursor: pointer;
	z-index: 1000;
}
#top:hover{
	color: #444;
}

/* cache-cache ********************/
#menu-wrapper #hamburger-menu {
	display: none;
	visibility: hidden;
	opacity: 0;
}
/* fin ***********************/

/* fin ***********************/

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 84px;
	color: #fff;
	background-image: url("images/bg_damier_noir.png");
	background-attachment: fixed;
	background-position: top center;
	z-index: 10;
}

nav {
	width: 60%;
	height: 84px;
	margin: 0 20%;
	line-height: 84px;
	text-align: center;
	font-size: .85em;
	animation: fadeInDown;
	animation-duration: .5s;
}
nav a {
	color: #fff;
	padding: 6px 12px;
	background: linear-gradient(to right, transparent 50%, #8766aa 50%, #4f67ff 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	transition: background-position .3s ease-in-out;
}

nav a:hover, nav a.on {
	background-position: 100% 0%;
}

/***************** contenus **********/

main {
	display: inline-block;
	width: 90%;
	margin: 160px 5% 0;
	flex: 1;
}

.intro {
	display: inline-block;
	width: 70%;
	margin: 0 15%;
	animation: fadeIn;
	animation-delay: .5s;
	animation-duration: 3s;
}
.intro h1 {
	font-family: 'Instrument Serif';
	font-size: 6vw;
	line-height: .8;
	font-variant-ligatures: none;
  	font-feature-settings: "liga" 0;
  	letter-spacing: -1px;
	text-transform: uppercase;
	margin: 0!important;
}
.intro h1 strong {
	font-family: 'Oswald';
}
.intro h3 {
	font-family: 'Outfit';
	font-size: 1vw;
	font-weight: 300;
	margin: 1.5em 0;
	line-height: 1.3;
}

.image-accueil {
	text-align: right;
}

a.bouton {
	display: inline-block;
	position: relative;
	padding: 6px 46px 6px 12px;
	margin-right: 20px;
	background: #fff linear-gradient(to right, transparent 50%, #8766aa 50%, #4f67ff 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	transition: background-position .3s ease-in-out;
	font-size: 1em;
	font-weight: 400;
	color: #000;
}
a:hover.bouton {
	background-position: 100% 0%;
	color: #fff;
}
a.bouton span.hover-off {
	position: absolute;
	top: 4px;
	right: 12px;
	height: 16px;
	z-index: 3;
	transition: opacity .3s ease-in-out;
}
a.bouton span.hover-on {
	position: absolute;
	top: 4px;
	right: 12px;
	height: 16px;
	z-index: 2;
}
a.bouton span.hover-off img, a.bouton span.hover-on img {
	height: 16px;
	width: auto;
}
a:hover.bouton span.hover-off {
	opacity: 0;
}

.inter {
	width: 100%;
	margin: 4em 0;
	text-align: center;
	animation: fadeIn;
	animation-duration: 3s;
}
.inter img {
	width: 10%;
}

.items {
	text-align: center;
	display: inline-block;
	width: 100%;
	color: #fff;
	animation: fadeIn;
	animation-delay: .5s;
	animation-duration: 4s;
}
a .item h1 {
	font-family: 'Instrument Serif';
	font-size: 5.5vw;
	line-height: .8;
	text-transform: uppercase;
	color: #fff;
	margin: 0!important;
	transition: .3s ease-in-out;
}
a .item h1 strong {
	font-family: 'Oswald';
}
a .item h3 {
	font-family: 'Outfit';
	font-size: 1vw;
	font-weight: 300;
	margin: 1.5em 20px;
	line-height: 1.3;
	color: #fff;
	transition: .3s ease-in-out;
}
a:hover .item h1, a:hover .item h3 {
	color: #d4dcfc;
}

footer {
	margin: auto;
	width: 100%;
	padding: 30px 0;
	background: linear-gradient(to right, #8766aa, #4f67ff);
}
.form {
	display: inline-block;
	width: 70%;
	margin: 0 15%;
}
.form h1 {
	font-family: 'Instrument Serif';
	font-size: 4vw;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	margin: 0 !important;
}
.form h1 strong {
	font-family: 'Oswald';
	font-size: 3.6vw;
}
.form h3 {
	font-family: 'Outfit';
	font-size: 1em;
	font-weight: 300;
	margin: .5em 0 1.5em;
	line-height: 1.3;
	text-align: center;
}

.rappel {
	display: inline-block;
	width: 80%;
	margin: 2em 10%;
	padding-top: 2em;
	border-top: 1px solid #fff;
	text-align: center;
}
.rappel a h2, .rappel-int a h2 {
	font-family: 'Instrument Serif';
	font-size: 3.5vw;
	color: #fff;
	text-transform: uppercase;
	transition: .3s ease-in-out;
	margin: 0 0 .5em;
}
.rappel a h2 strong, .rappel-int a h2 strong {
	font-family: 'Oswald';
	font-size: 3.1vw;
}
.rappel a:hover h2, .rappel-int a:hover h2 {
	color: #d4dcfc;
}
.rappel a i.fab, .rappel-int a i.fab {
	font-size: 2em;
	color: #fff;
	margin: 0 10px;
	transition: .3s ease-in-out;
}
.rappel a:hover i.fab, .rappel-int a:hover i.fab {
	color: #d4dcfc;
}

/* formulaire *********************************************/

.form .formulaire_spip {
	display: inline-block;
	width: 70%;
	margin: 0 15%;
}

.form .formulaire_spip .editer_input_1, .form .formulaire_spip .saisie_email {
	display: inline-block;
	width: 40%;
	margin: 0 4.5% 1.5em;
	text-align: left;
}
.form .formulaire_spip label {
	display: inline-block;
	width: 100%;
	margin: 0 0 .4em;
	text-transform: uppercase;
	font-weight: 400;
	text-align: center;
}
.form .formulaire_spip .editer_input_1 input, .form .formulaire_spip .saisie_email input {
	width: 90%;
	border-width: 0 0 2px 2px;
	border-color: #fff;
	border-style: dotted;
	padding: 8px 5%;
	color: #fff;
	font-weight: 400;
	background-color: transparent;
	transition: .3s ease-in-out;
}
.form .formulaire_spip .editer_input_1 input:hover, .form .formulaire_spip .saisie_email input:hover, .form .formulaire_spip .editer_input_1 input:focus, .form .formulaire_spip .saisie_email input:focus, .form .formulaire_spip .saisie_textarea textarea:hover, .form .formulaire_spip .saisie_textarea textarea:focus {
	background-color: rgba(0,0,0,0.2);
	border-radius: .3em 0 0 .3em;
}
.form .formulaire_spip .saisie_textarea {
	display: inline-block;
	width: 90%;
	margin: 0 5% 1.5em;
	text-align: left;
}
.form .formulaire_spip .saisie_textarea textarea {
	width: 94%;
	border-width: 0 0 2px 2px;
	border-color: #fff;
	border-style: dotted;
	padding: 8px 3%;
	color: #fff;
	font-weight: 400;
	background-color: transparent;
	transition: .3s ease-in-out;
}
.form p.boutons {
	text-align: center;
}
.form button.submit {
	padding: 6px 12px 5px;
	margin: 0 auto;
	background: #fff linear-gradient(to right, transparent 50%, #8766aa 50%, #4f67ff 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	transition: background-position .3s ease-in-out;
	font-size: 1em;
	font-weight: 500;
	color: #000;
	text-transform: uppercase;
	cursor: pointer;
	border: none;
}
.form button.submit:hover {
	background-position: 100% 0%;
	color: #fff;
	box-shadow: 2px 2px 6px #000;
}


/* pages intérieures **************************************/

body.interieur {
	animation: fadeIn;
	animation-duration: 3s;
}

nav.interieur {
	animation: none !important;
}

main.interieur {
	display: inline-block;
	width: 100%;
	margin: 84px 0 0;
	padding-top: 63px;
	background-image: url("images/bg_damier_gris.png");
	background-attachment: fixed;
	background-position: top center;
	flex: 1;
}

.titre-rub {
	display: inline-block;
	width: 70%;
	margin: 0 15%;
}
.titre-rub h1 {
	font-family: 'Instrument Serif';
	font-size: 6vw;
	color: #222;
	line-height: .8;
	text-transform: uppercase;
	margin: 0!important;
}
.titre-rub h1 strong {
	font-family: 'Oswald';
	padding-right: 4vw;
}
.titre-rub h1 img {
	width: 5vw;
	padding-bottom: .6vh;
}

.items-article {
	display: inline-block;
	width: 70%;
	margin: 2em 15%;
	color: #000;
}
a .item-art {
	background-color: rgba(255,255,255,0.7);
	box-shadow: 1px 1px 3px rgba(0,0,0,0.6);
	transition: .3s ease-in-out;
}
a:hover .item-art {
	background-color: #fff;
	box-shadow: 1px 1px 3px #000;
	transition: .3s ease-in-out;
}
a .item-art img {
	opacity: 1;
	transition: .3s ease-in-out;
}
a:hover .item-art img {
	opacity: .9;
}
a .item-art h2 {
	font-family: 'Instrument Serif';
	font-size: 1.6vw;
	font-weight: 400;
	color: #000;
	margin: 0;
	line-height: 1.2;
	padding: 10px 10px 0;
}
a .item-art h2 span.complement, .realisations h2 span.complement {
	font-style: italic;
	font-weight: 300;
}
a .item-art h3 {
	font-family: 'Oswald';
	font-size: 1.2vw;
	font-weight: 600;
	color: #8766aa;
	margin: 0;
	padding: 0 10px 10px;
}

.rappel-int {
	display: inline-block;
	width: 80%;
	margin: 1.5em 10%;
	text-align: center;
}

p.haut {
	width: 100%;
	margin: 0 0 2em;
	text-align: center;
}
p.haut img {
	width: 10%;
}

.realisations {
	padding-left: 20px;
	border-left: 3px solid #8766aa;
}
.realisations h2 {
	font-family: 'Instrument Serif';
	font-size: 3vw;
	font-weight: 400;
	color: #000;
	margin: 0;
	line-height: 1;
	padding: 10px 10px 0 0;
}
.realisations h3 {
	font-family: 'Oswald';
	font-size: 2.25vw;
	font-weight: 600;
	color: #8766aa;
	margin: 0 0 .25em;
	padding: 0 10px 10px 0;
}
.realisations h4 {
	font-size: .9em;
	font-weight: 600;
	color: #000;
	text-transform: uppercase;
	margin: 2em 0 .25em;
	padding: 20px 10px 10px 0;
	border-top: 2px dotted #8766aa;
}
.realisations .texte p {
	margin: 0 0 .4em;
}
.realisations .album a div img {
	opacity: 1;
	transition: .3s ease-in-out;
}
.realisations .album a:hover div img {
	opacity: .85;
}

.items-prestas {
	text-align: center;
	display: inline-block;
	width: 90%;
	color: #000;
	margin: 0 auto;
}
.items-prestas a div h1 {
	font-family: 'Instrument Serif';
	font-size: 4.5vw;
	line-height: .8;
	text-transform: uppercase;
	color: #000;
	margin: 1.5em 0 0;
	transition: .3s ease-in-out;
}
.items-prestas a div h1 strong {
	font-family: 'Oswald';
}
.items-prestas a div h3 {
	font-family: 'Outfit';
	font-size: 1vw;
	font-weight: 300;
	margin: 1.5em 20px;
	line-height: 1.3;
	color: #000;
	transition: .3s ease-in-out;
}
.items-prestas a:hover div h1 {
	color: #8766aa;
}
.items-prestas a:hover div h3 {
	color: #222;
}

.texte .formulaire_spip {
	display: inline-block;
	width: 80%;
	margin: 1.5em 10% 0;
}

.texte .formulaire_spip .editer_input_1, .texte .formulaire_spip .saisie_email {
	display: inline-block;
	width: 40%;
	margin: 0 4.5% 1.5em;
	text-align: left;
}
.texte .formulaire_spip label {
	display: inline-block;
	width: 100%;
	margin: 0 0 .4em;
	text-transform: uppercase;
	font-weight: 400;
	text-align: center;
}
.texte .formulaire_spip .editer_input_1 input, .texte .formulaire_spip .saisie_email input {
	width: 90%;
	border-width: 0 0 2px 2px;
	border-color: #000;
	border-style: dotted;
	padding: 8px 5%;
	color: #000;
	font-weight: 400;
	background-color: transparent;
	transition: .3s ease-in-out;
}
.texte .formulaire_spip .editer_input_1 input:hover, .texte .formulaire_spip .saisie_email input:hover, .texte .formulaire_spip .editer_input_1 input:focus, .texte .formulaire_spip .saisie_email input:focus, .texte .formulaire_spip .saisie_textarea textarea:hover, .texte .formulaire_spip .saisie_textarea textarea:focus {
	background-color: rgba(255,255,255,0.5);
	border-radius: .3em 0 0 .3em;
}
.texte .formulaire_spip .saisie_textarea {
	display: inline-block;
	width: 90%;
	margin: 0 5% 1.5em;
	text-align: left;
}
.texte .formulaire_spip .saisie_textarea textarea {
	width: 94%;
	border-width: 0 0 2px 2px;
	border-color: #000;
	border-style: dotted;
	padding: 8px 3%;
	color: #000;
	font-weight: 400;
	background-color: transparent;
	transition: .3s ease-in-out;
}
.texte p.boutons {
	text-align: center;
}
.texte button.submit {
	padding: 6px 12px 5px;
	margin: 0 auto;
	background: #fff linear-gradient(to right, transparent 50%, #8766aa 50%, #4f67ff 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	transition: background-position .3s ease-in-out;
	font-size: 1em;
	font-weight: 500;
	color: #000;
	text-transform: uppercase;
	cursor: pointer;
	border: none;
}
.texte button.submit:hover {
	background-position: 100% 0%;
	color: #fff;
	box-shadow: 2px 2px 6px #000;
}

/* du responsive sinon rien *******************************/

@media screen and (max-width: 1052px){
	
	nav {
		width: 80%;
		margin: 0 10%;
	}
	.intro {
		width: 90%;
		margin: 0 5%;
	}
	.intro h3, a .item h3 {
		font-size: .85em;
		line-height: 1.25;
	}
	a.bouton {
		margin: 0 20px 20px 0;
	}
	.form {
		width: 90%;
		margin: 0 5%;
	}
	.form h1 {
		font-size: 5vw;
	}
	.form h1 strong {
		font-size: 4.6vw;
	}
	.formulaire_spip {
		width: 100%;
		margin: 0 !important;
	}
	a .item-art h2 {
		font-size: 2.5vw;
	}
	a .item-art h3 {
		font-size: 2vw;
	}
	
}

@media screen and (max-width: 741px){
	
	nav {
		display: none;
		visibility: hidden;
		opacity: 0;
	}
	#menu-wrapper #hamburger-menu {
		display: block;
		visibility: visible;
		opacity: 1;
		width: 100%;
	}
	main {
		margin: 100px 5% 0;
	}
	.image-accueil {
		text-align: center;
	}
	.intro h1, a .item h1 {
		font-size: 9vw;
	}
	a .item {
		margin-bottom: 3.5em;
	}
	.inter {
		margin: 2em 0;
	}
	.form h3 {
		font-size: .9em;
	}
	.titre-rub {
		width: 80%;
		margin: 0 10%;
	}
	.items-article {
		width: 80%;
		margin: 2em 10% 4em;
	}
	a .item-art {
		margin-bottom: 20px;
	}
	a .item-art h2 {
		font-size: 5vw;
	}
	a .item-art h3 {
		font-size: 4.4vw;
	}
	
}

@media screen and (max-width: 560px){
	
	.intro h1, a .item h1 {
		font-size: 12vw;
	}
	.inter img {
		width: 20%;
	}
	.form h1 {
		font-size: 8vw;
	}
	.form h1 strong {
		font-size: 7vw;
	}
	.form h3 {
		font-size: .85em;
	}
	.rappel a h2, .rappel-int a h2 {
		font-size: 5vw;
	}
	.rappel a h2 strong, .rappel-int a h2 strong {
		font-size: 4.5vw;
	}
	.titre-rub {
		width: 86%;
		margin: 0 7%;
	}
	.titre-rub h1 {
		font-size: 11vw;
	}
	.titre-rub h1 img {
		width: 9vw;
	}
	.items-article {
		width: 86%;
		margin: 2em 7% 4em;
	}
	a .item-art h2 {
		font-size: 6vw;
	}
	a .item-art h3 {
		font-size: 5vw;
	}
	p.haut img {
		width: 20%;
	}
	.rappel-int {
		margin: 1em 10%;
	}
	.realisations h2 {
		font-size: 6vw;
	}
	.realisations h3 {
		font-size: 4.5vw;
	}
	
}
