/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600&family=Poppins:wght@300;400;600&family=Cinzel:wght@400&display=swap');

/*****************************/


*:focus {
	outline: none !important
}
* {
	padding: 0;
	margin: 0;
}

html, body {
	height: 100%;
}
body {
	width: 100%;
	background-color: #1D1D1B;
	display: flex;
	flex-direction: column;
    font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
    color: #ddd;
	text-align: 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;
	text-transform: none !important;
}

hr {
	display: block;
	clear: both;
	height: 2px;
	width: 100%;
	margin: 1em 0;
	padding: 0;
	color: #a3bac0;
	background-color: #a3bac0;
	border: none;
}

#top {
	position: fixed;
	bottom: 60px;
	right: 0px;
	display: none;
	cursor: pointer;
	font-size: 36px;
	color: #fff;
	background-color: #CDA938;
	width: 50px;
	height: 50px;
	line-height: 45px;
	transition: .3s ease-in-out;
	z-index: 1000;
}
#top:hover {
	background-color: #70570e;
}

ul.spip, ol.spip {
	margin: 0 0 .5em 2em;
}
ul.spip li, ol.spip li {
	padding: .25em 0;
}

.wow {
	animation-delay: .25s;
	animation-duration: 1s;
}

/* cache-cache ***********************************************/

#menu-wrapper #hamburger-menu {
	display: none;
	visibility: hidden;
	opacity: 0;
}

/* fin des généralités générales *****************************/

header {
	display: block;
	width: 100%;
	padding: 20px 0;
	text-align: center !important;
	background-color: #1D1D1B;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
}
header img {
	width: auto !important;
	height: 140px !important;
	margin: 0 auto;
	text-align: center;
	animation-duration: .5s;
	transition: .3s ease-in-out;
}
header.scrolled img {
	height: 80px !important;
	transition: .3s ease-in-out;
}
header nav {
	display: block;
	width: 100%;
	text-align: center;
	background-color: #1D1D1B;
	padding: 30px 0;
	font-family: 'Roboto Condensed';
	font-size: 1.5em;
	font-weight: 300;
	transition: .3s ease-in-out;
}
header.scrolled nav {
	padding: 15px 0 5px;
	transition: .3s ease-in-out;
}
.menu {
	width: 1200px;
	margin: 0 auto;
}
nav a p {
	margin: 6px 0 0;
	color: #bbb;
	transition: .25s linear;
}
nav a p.color-3 strong, nav a p.color-4 strong, nav a p.color-5 strong, nav a p.color-6 strong, nav a p.color-7 strong {
	color: #fff;
	font-weight: 400;
	transition: .3s ease-in-out;
}
nav a:hover p, nav a.on p {
	color: #fff;
}
nav a:hover p.color-3 strong, nav a.on p.color-3 strong, .titre-3 strong {
	color: #f59c00;
}
nav a:hover p.color-4 strong, nav a.on p.color-4 strong, .titre-4 strong {
	color: #4d95c4;
}
nav a:hover p.color-5 strong, nav a.on p.color-5 strong, .titre-5 strong {
	color: #10d900;
}
nav a:hover p.color-6 strong, nav a.on p.color-6 strong, .titre-6 strong {
	color: #af92d8;
}
nav a:hover p.color-7 strong, nav a.on p.color-7 strong, .titre-7 strong {
	color: #fe0303;
}
nav span.color-3 {
	display: block;
	text-align: center;
	background-color: #f59c00;
	width: 100%;
	height: 2px;
}
nav span.color-4 {
	display: block;
	text-align: center;
	background-color: #4d95c4;
	width: 100%;
	height: 2px;
}
nav span.color-5 {
	display: block;
	text-align: center;
	background-color: #10d900;
	width: 100%;
	height: 2px;
}
nav span.color-6 {
	display: block;
	text-align: center;
	background-color: #af92d8;
	width: 100%;
	height: 2px;
}
nav span.color-7 {
	display: block;
	text-align: center;
	background-color: #fe0303;
	width: 100%;
	height: 2px;
}

.lang {
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	text-align: center;
	z-index: 50;
	animation-delay: 1s;
	animation-duration: .5s;
}
.lang a {
	display: inline-block;
	width: 100%;
	background-color: #CDA938;
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	padding: 8px 0;
	text-transform: uppercase;
	transition: .3s ease;
}
.lang a:hover.off, .lang a.on {
	background-color: #70570e;
}

a .devis {
	position: fixed;
	top: 10px;
	left: 10px;
	font: 400 1.2em 'Roboto Condensed';
	color: #fff;
	background-color: #70570e;
	padding: 8px 12px;
	transition: .25s linear;
	z-index: 500;
}
a:hover .devis {
	background-color: #000;
}

.accueil {
	display: inline-block;
	width: 1200px;
	margin: 280px auto 20px;
	animation-duration: 3s;
}

.wow {
	animation-delay: .5s;
	animation-duration: 1.5s;
}
section p {
	margin: 0 0 1em;
}
h2 {
	margin: 2em 0 .5em;
	color: #fff;
	font-family: 'Cinzel';
	font-weight: 400;
	font-size: 1.8em;
	border-top: 2px dotted #CDA938;
	padding-top: 6px;
	letter-spacing: 1px;
	text-align: left;
}
h2::first-letter {
	color: #CDA938;
}
h2.interieur small {
	display: inline-block;
	margin: .25em 0 .5em;
	background-color: #70570E;
	color: #fff;
	font: 500 .75em 'Roboto Condensed';
	letter-spacing: normal;
	padding: 5px 10px;
}

a .item {
	background-color: #CDA938;
}
a .item h4, a .item-3 h4, a .item-4 h4 {
	background-color: #444;
	color: #fff;
	padding: 10px;
	margin: 0;
	text-align: left;
	font-size: 1.2em;
	font-weight: 400;
	border-bottom: 1px solid #1D1D1B;
	transition: .25s linear;
}
a .item h6, a .item-3 h6, a .item-4 h6 {
	background-color: #444;
	color: #fff;
	padding: 10px;
	font-size: 1em;
	text-align: right;
	margin: 0;
	transition: .25s linear;
}
a:hover .item h4 , a:hover .item h6 {
	background-color: #70570E;
}
a .item .resume, a .item-3 .resume, a .item-4 .resume {
	display: block;
	background-color: #ddd;
	padding: 10px 15px;
	color: #000;
	border-top: 1px solid #1D1D1B;
	line-height: 1.3;
	font-size: .9em;
	text-align: left;
	transition: .25s linear;
}
a:hover .item .resume, a:hover .item-3 .resume, a:hover .item-4 .resume {
	background-color: #CDA938;
}
a .item .logo-item, a .item-3 .logo-item, a .item-4 .logo-item, a .item-5 .logo-item, a .item-6 .logo-item, a .item-7 .logo-item {
	display: block;
	background-color: #fff;
}
a .item .logo-item img, a .item-3 .logo-item img, a .item-4 .logo-item img, a .item-5 .logo-item img, a .item-6 .logo-item img, a .item-7 .logo-item img {
	opacity: .85;
	transition: .2s linear;
}
a:hover .item .logo-item img, a:hover .item-3 .logo-item img, a:hover .item-4 .logo-item img, a:hover .item-5 .logo-item img, a:hover .item-6 .logo-item img, a:hover .item-7 .logo-item img {
	opacity: 1;
}

.txt-home {
	margin: 60px 0 40px;
	text-align: left;
}
.txt-home strong {
	color: #CDA938;
}
.txt-home .puce-3, .txt-home .puce-4, .txt-home .puce-5, .txt-home .puce-6, .txt-home .puce-7 {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 8px 0 1em;
	border-radius: 6px;
}
.txt-home .puce-3 {
	background-color: #f59c00;
}
.txt-home .puce-4 {
	background-color: #fe0303;
}
.txt-home .puce-5 {
	background-color: #10d900;
}
.txt-home .puce-6 {
	background-color: #af92d8;
}
.txt-home .puce-7 {
	background-color: #4d95c4;
}
.txt-home a {
	font-weight: 600;
	color: #bbb;
	transition: .25s ease;
}
.txt-home a:hover {
	color: #fff;
}

footer {
	position: relative;
	display: inline-block;
	width: 1200px;
	margin: 80px auto 0;
	border-top: 1px solid #fff;
	padding: 20px 0;
	color: #ccc;
}
footer .deco {
	position: absolute;
	top: -59px;
	left: 50%;
	transform: translateX(-50%);
	width: 250px;
}
footer .deco img {
	width: 250px;
}
footer a.rappel {
	color: #ccc;
	margin: 0 4px;
	font-family: 'Roboto Condensed';
	font-size: 1.15em;
	transition: .25s linear;
}
footer a:hover.rappel {
	color: #fff;
}
footer a.rappel.on {
	color: #CDA938;
}

footer span.color-3 {
	display: block;
	text-align: center;
	background-color: #f59c00;
	width: 100%;
	height: 1px;
	margin-bottom: 5px
}
footer span.color-4 {
	display: block;
	text-align: center;
	background-color: #4d95c4;
	width: 100%;
	height: 1px;
	margin-bottom: 5px
}
footer span.color-5 {
	display: block;
	text-align: center;
	background-color: #10d900;
	width: 100%;
	height: 1px;
	margin-bottom: 5px
}
footer span.color-6 {
	display: block;
	text-align: center;
	background-color: #af92d8;
	width: 100%;
	height: 1px;
	margin-bottom: 5px
}
footer span.color-7 {
	display: block;
	text-align: center;
	background-color: #fe0303;
	width: 100%;
	height: 1px;
	margin-bottom: 5px
}
footer a .rub-3, footer a .rub-4, footer a .rub-5, footer a .rub-6, footer a .rub-7 {
	font-family: 'Roboto Condensed';
	font-size: 1.15em;
	color: #fff;
	font-weight: 400;
	transition: .3s linear;
}
footer a .rub-3 strong, footer a .rub-4 strong, footer a .rub-5 strong, footer a .rub-6 strong, footer a .rub-7 strong {
	font-weight: 500;
}
footer a:hover .rub-3 strong, footer a.on .rub-3 strong {
	color: #f59c00;
}
footer a:hover .rub-4 strong, footer a.on .rub-4 strong {
	color: #4d95c4;
}
footer a:hover .rub-5 strong, footer a.on .rub-5 strong {
	color: #10d900;
}
footer a:hover .rub-6 strong, footer a.on .rub-6 strong {
	color: #af92d8;
}
footer a:hover .rub-7 strong, footer a.on .rub-7 strong {
	color: #fe0303;
}
footer p {
	margin: .5em 0 0;
}
footer .signature {
	display: inline-block;
	width: 100%;
	margin: .8em 0 0;
	font-size: .9em;
	letter-spacing: 1px;
}
footer .signature a {
	color: #ccc;
	border-bottom: 1px solid #ccc;
}
footer .signature a:hover {
	color: #fff;
}

.contacts {
	position: fixed;
	top: 100px;
	left: 0;
	width: 32px;
	color: #ccc;
	padding: 20px 15px 10px 15px;
	text-align: center;
	animation-delay: 1s;
	animation-duration: .5s;
	z-index: 5000;
}
.contacts a {
	position: relative;
}
.contacts a i {
	font-size: 32px;
	color: #ccc;
	margin: 5px 0;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.contacts a:hover i {
	color: #CDA938;
}

.contacts a:hover:after,
.contacts a:focus:after {
	content: attr(aria-label);
	position: absolute;
	top: -10px;
	left: 36px;
	z-index: 1;
	width: auto;
	height: 24px;
	white-space: nowrap;
	background-color: #70570e;
	border-radius: 0 16px 16px 0;
	color: #fff;
	padding: 4px 15px 0 15px;
	font: normal .9em 'Roboto Condensed';
}


/* intérieur ************************************/

h3 {
	margin: 2em 0 .5em;
	color: #fff;
	font-weight: 400;
	font-size: 1.4em;
	text-align: left;
}
h3 a {
	color: #ccc;
	transition: .25s linear;
}
h3 a:hover {
	color: #fff;
}

.logo-article {
	float: right;
	width: 35%;
	margin: 0 0 0 30px;
}
.article h4 {
	font-weight: 500;
	color: #CDA938;
	margin: -.5em 0 1em;
}
.article {
	text-align: left;
}
.article a {
	color: #CDA938;
	transition: .25s linear;
}
.article a:hover {
	color: #ccc;
}

a .item-3 {
	background-color: #ddd;
}

a:hover .item-3 h4 , a:hover .item-3 h6 {
	background-color: #f59c00;
}
a .item-3 .resume, a .item-4 .resume {
	display: block;
	background-color: #ddd;
	padding: 10px 15px;
	color: #000;
	border-top: 1px solid #1D1D1B;
	line-height: 1.3;
	font-size: .9em;
	text-align: left;
	transition: .25s linear;
}
a:hover .item-3 .resume {
	background-color: #f59c00;
}
a:hover .item-4 .resume {
	background-color: #4d95c4;
}
a:hover .item-4 h4 , a:hover .item-4 h6 {
	background-color: #4d95c4;
}

a .box {
	transition: all .4s ease;
	color: #ccc;
}
a:hover .box {
	color: #fff;
}
a .box img, a .box img {
	opacity: .8;
    width: 100%;
    height: auto;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}
a .box:hover img, a:hover .box img {
	opacity: 1;
}

/* formulaire ****************************/
.formulaire_spip {
	display: block;
	width: 100%;
	margin-top: 1em;
	font-size: 1.2em;
}
.formulaire_spip label {
	display: block;
	width: 100%;
	margin: .8em 0 5px;
	font-weight: 400;
	color: #fff;
}
.formulaire_spip .obligatoire label {
	font-weight: 600;
	color: #CDA938;
}
.formulaire_spip input, .formulaire_spip textarea {
	display: block;
	width: 94%;
	padding: 15px 3%;
	border-radius: 6px;
	border: 0;
	font: 400 1em Arial, Helvetica, sans-serif;
	color: #000;
	background-color: #bbb;
	transition: .3s linear;
}
/*.formulaire_spip .obligatoire input {
	background-color: #CDA938;
}*/
.formulaire_spip input:focus, .formulaire_spip fieldset input.field:focus, .formulaire_spip textarea:focus {
	background-color: #fff;
}
.formulaire_spip fieldset {
	display: inline-block;
	margin-top: 1em;
	background-color: #333;
	padding: 5%;
	width: 90%;
	border-radius: 6px;
	border: 0;
}
.formulaire_spip fieldset legend, .formulaire_spip fieldset.editer legend {
	font-weight: 400;
	color: #fff;
	background-color: #333;
	padding: 10px 20px 0;
	border-radius: 6px 6px 0 0;
}
.formulaire_spip fieldset.editer {
	padding: 0 0 15px 20px;
	margin: 0 !important;
}
.formulaire_spip fieldset .choix {
	display: inline-block;
	width: 24%;
	margin: 0 !important;
	padding: 0;
	text-align: left;
	transition: .25s linear;
}
.formulaire_spip fieldset .choix input.checkbox {
	float: left;
	width: 50px;
	margin: .9em 5px 0 0;
}
.formulaire_spip fieldset .choix label {
	font-weight: 400;
	font-size: .85em;
	color: #fff;
	transition: .25s linear;
}
.formulaire_spip fieldset .choix:hover label {
	color: #CDA938;
}
p.explication {
	margin: .25em 0 0;
	font-size: .8em;
}
p.boutons {
	margin: 1em 0 2em;
}
button {
	cursor: pointer;
	background-color: #70570E;
	padding: 10px 20px;
	border-radius: 6px;
	border: 0;
	color: #fff;
	font: 600 1.2em 'Poppins';
	text-transform: uppercase;
	transition: .3s linear;
}
button:hover {
	background-color: #000;
}

.message_retour_defaut {
	font-weight: 600;
	color: #E20613;
}


@media (max-width: 1220px){
	
	.menu {
		width: 86%;
		margin: 0 7%;
	}
	header nav {
		font-size: 1.2em;
	}
	.accueil {
		width: 86%;
		margin: 280px 7% 20px;
	}
	footer {
		width: 86%;
		margin: 80px 7% 0;
	}
	
}

@media (max-width: 860px){
	
	.menu {
		width: 82%;
		margin: 0 9%;
	}
	header nav {
		font-size: 1em;
		font-weight: 400;
	}
	.accueil {
		width: 82%;
		margin: 280px 9% 20px;
	}
	footer {
		width: 82%;
		margin: 80px 9% 0;
	}
	
}

@media (max-width: 682px){
	
	header img {
		height: 70px !important;
	}
	header.scrolled img {
		height: 50px !important;
	}
	
}

@media (max-width: 580px){
	
	header {
		padding: 70px 0 20px;
	}
	header.scrolled img {
		height: 70px !important;
	}
	
	.lang {
		width: 100px;
		height: 50px;
	}
	.lang a {
		width: 50px;
	}
	
	a .devis {
		top: 0px;
		left: 0px;
		font: 600 1.2em 'Roboto Condensed';
		padding: 11px 14px;
	}
	
	header nav {
		display: none;
		opacity: 0;
		visibility: hidden;
	}
	#menu-wrapper #hamburger-menu {
		display: block;
		visibility: visible;
		opacity: 1;
	}
	.accueil {
		width: 78%;
		margin: 170px 8% 20px 14%;
	}
	.contacts {
		top: 50px;
		padding: 20px 15px 10px 10px;
	}
	footer {
		width: 78%;
		margin: 80px 8% 0 14%;
	}
	
	.formulaire_spip fieldset .choix {
		width: 95%;
	}
	
}
