
/*--------------------------------------- GENERAL ------------------------------------*/
/*--------------------------------------- HEADER & FOOTER ----------------------------*/
/*--------------------------------------- MENU ---------------------------------------*/
/*--------------------------------------- CONTENU PAGE -------------------------------*/
/*--------------------------------------- CARROUSEL ---------------------------------*/
/*--------------------------------------- CONNEXION & FORMULAIRE ---------------------*/





/*----------------------------------------------------------------------------------
--------------------------------------- GENERAL ------------------------------------
/*--------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@200;400&display=swap');

html, body {
	height: 100%;
	background: #ffffff;
}

html, body, header, nav, section, footer, div, h1, h2, h3, p, ul, li, hr, input {
	font-family: 'Noto Sans Mono', monospace;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	color: #333333;
	margin: 0;
	padding: 0;
}

div#conteneur {
	width: 100%;
	min-height: 100%;
	margin:0 auto;
	position: relative;
}

header a, header a:link, header a:visited, header a:active, header a:focus {
	color: #333333;
	text-decoration: none;
}
header a:hover {
	text-decoration: none;
	background-color: #333333;
	color: #ffffff;
}

a.texte, a.texte:link, a.texte:visited, a.texte:active, a.texte:focus {
	color: #333333;
	font-weight: bold;
}
a.texte:hover  {
	color: #333333;
	font-weight: bold;
	text-decoration: none;
}

.selected {
	background-color: #333333;
	color: #ffffff;
}


/*--------------------------------------------------------------------------------------------
--------------------------------------- HEADER & FOOTER -------------------------------------- 
/*------------------------------------------------------------------------------------------*/

header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	/*background: #ff0000;*/
}

header p {
	font-size: 11px;
	line-height: 12px;
	margin-top: 20px;
	margin-left: 79px;
	font-style: italic;
	color: #8B0000;
}

h1 {
	position: relative;
	font-size: 28px;
	font-weight: normal;
	top: 20px;
	margin-left: 79px;
}


h2 {
	position: relative;
	font-size: 22px;
	font-weight: normal;
	margin-top: 29px;
	margin-bottom: 19px;
	margin-left: 0;
}

h2.gallery_title {
	display: block;
	visibility: visible;
}

h2.chrono {
	position: relative;
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 5px;
	margin-left: 0;
}

h3 {
	position: relative;
	font-size: 18px;
	font-weight: normal;
	/*margin-top: 29px;*/
	margin-bottom: 19px;
	margin-left: 0;
}

div#back-to-top,
div#back-to-top:link,
div#back-to-top:visited,
div#back-to-top:active,
div#back-to-top:focus {
	display: inline-block;
	position: fixed;
	bottom: 55px;
	right: 40px;
	width: 50px;
	height: 50px;
	/*background: #333333;
	text-align: center;
	border-radius: 50%;*/
	cursor: pointer;
	z-index: 9999;
	background: url("/_images/top.png") 0 0 no-repeat;
}
div#back-to-top:hover {
	display: inline-block;
	position: fixed;
	bottom: 55px;
	right: 40px;
	width: 50px;
	height: 50px;
	/*background: #cccccc;
	text-align: center;
	border-radius: 50%;*/
	cursor: pointer;
	z-index: 9999;
	background: url("/_images/top.png") 0 -50px no-repeat;
}
/*#back-to-top img {
	margin-top: 5px;
}*/

div.calage{
	height: 70px;
	line-height: 0;
	clear: both;
	/*background: #ff00ff;*/
}

footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 40px;
	text-align: left;
	z-index: 999;
	/*background: #ff0000;*/
}

footer p {
	margin: 14px 0 0 82px;
	font-size: 12px;
	line-height: 12px;
}



/*---------------------------------------------------------------------------------
--------------------------------------- MENU -------------------------------------- 
/*-------------------------------------------------------------------------------*/

nav {
	position: sticky;
	float: left;
	width: 380px;
	height: auto;
	top: 20px;
	left: 83px;
}

nav li{
	list-style-type: none;
	margin-bottom: 5px;
}

.m30 {
	margin-bottom: 53px;
}
.m10 {
	margin-bottom: 29px;
}

nav li a {
	color: #333333;
	text-decoration: none;
	padding-right: 2px;
	padding-left: 2px;
}

nav li a:hover {
	background-color: #333333;
	color: #ffffff;
	text-decoration: none;
	padding-right: 2px;
	padding-left: 2px;
}

.nbr {
	font-size: 9px;
	font-style: italic;
}



/*-----------------------------------------------------------------------------------------
--------------------------------------- CONTENU PAGE -------------------------------------- 
/*---------------------------------------------------------------------------------------*/
main {
	position: relative;
	float: left;
}

main p {
	line-height: 24px;
}

main p.contact {
	line-height: 24px;
	margin-top: -3px;
}

.gallery {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    column-count: 4;
    column-gap: 10px;
}

.gallery img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 10px 0;
    transition: 0.2s ease-in-out;
	background-image: url("/_images/loading.gif");
	background-position: center;
	background-repeat: no-repeat;
}

.gallery img:hover {
    transform: scale(0.98);
	cursor: pointer;
    /*filter:grayscale(0);*/
}

.ps11 {
	font-size: 12px;
	font-style: italic;
}

.imgleft {
	float: left;
	margin: 0 18px 0 0;
}

p.code_error {
	position: relative;
	font-size: 416px;
	font-weight: bold;
	text-align: center;
	margin-top: 140px;
	color: #ed1d26;
	line-height: 0;
	z-index: 99;
}

p.error {
	position: relative;
	font-size: 209px;
	font-weight: bold;
	text-align: center;
	margin-top: 172px;
	z-index: 9;
	line-height: 0;
}

p.explication_error {
	position: relative;
	width: 735px;
	margin-top: 90px;
	margin-left: 52px;
}


/*---------------------------------------------------------------------------------------
--------------------------------------- CARROUSEL -------------------------------------- 
/*-------------------------------------------------------------------------------------*/

.carousel-container {
	position: relative;
	width: 1000px;
	height: 667px;
	overflow: hidden;
	position: relative;
	/*background-color: #74992e;
	background-image: url("/_images/loading.gif");
	background-position: 50% 25%;
	background-repeat: no-repeat;*/
}

.loading {
	position: absolute;
	width: 100%;
	line-height: 200px;
	text-align: center;
}

.carousel {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	background-color: #ffffff;
}

.carousel li {
	flex: 0 0 100%; /* Assurez-vous que chaque image occupe toute la largeur du carrousel */
	position: absolute;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.carousel img {
	width: 100%;
	height: auto;
}


/*---------------------------------------------------------------------------------------------------
--------------------------------------- CONNEXION & FORMULAIRE -------------------------------------- 
/*-------------------------------------------------------------------------------------------------*/

.box {
	position: relative;
	padding: 15px 25px;
	margin: 0 auto;
	width: 360px;
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 5px;
	text-align: center; 
}

h1.box-title {
	font-weight: 400;
	line-height: 30px;
	font-size: 25px;
	text-align:right;
	margin-top: 21px;
}

.box-input {
	font-size: 14px;
	background: #fff;
	border: 1px solid #cccccc;
	margin: 25px 0;
	padding-left:10px;
	width: 347px;
	height: 50px;
	border-radius: 5px;
}

.box-button {
	border: 1px solid #cccccc;
	background: #333333;
	text-align: center;
	cursor: pointer;
	font-size: 19px;
	width: 100%;
	height: 51px;
	padding: 0;
	color: #fff;
	outline:0;
	border-radius: 5px;
}

.box-button:hover {  
	border: 1px solid #cccccc; 
	background: #ffffff;
	text-align: center;
	cursor: pointer;
	font-size: 19px;
	width: 100%;
	height: 51px;
	padding: 0;
	color: #333333;
	outline:0;
}

div.label {
	position: relative;
	top: 0;
	left: 0;
	width: 210px;
	float: left;
	margin-bottom: 25px;
	line-height: 18px;
}

div.element {
	position: relative;
	top: 0;
	left: 0;
	width: 410px;
	float: left;
	margin-bottom: 25px;
	line-height: 18px;
}

div.gauche {
	position: relative;
	top: 0;
	left: 0;
	width: 50px;
	float: left;
	margin-bottom: 25px;
	line-height: 18px;
	text-align: center;
}

div.droite {
	position: relative;
	top: 0;
	left: 0;
	width: 484px;
	float: left;
	margin-top: -3px;
	margin-bottom: 25px;
	line-height: 24px;
}

div.clear{
	height: 0;
	line-height: 0;
	clear: both;
}

.coordo {
	width: 534px;
	margin-top: 34px;
	padding-top: 17px;
	border-top: 1px solid #333333;
}

.envoi {
	position: absolute;
	width: 534px;
	height: 18px;
	margin-top: -26px;
	padding-bottom: 4px;
	text-align: center;
	background: #333333;
	color: #ffffff;
}

.no_envoi {
	position: absolute;
	width: 534px;
	height: 18px;
	margin-top: 12px;
	padding-bottom: 4px;
	text-align: center;
	background: #ed1d26;
	color: #ffffff;
}

form.contact {
	margin-top: 67px;
	height: 440px;
}

.form-input {
	font-size: 12px;
	background: #ffffff;
	border: 1px solid #cccccc;
	margin: 0;
	padding-left: 2px;
	width: 320px;
	height: 18px;
	color: #000000;
}

.form-select {
  font-size: 12px;
  background: #ffffff;
  border: 1px solid #cccccc;
  padding-left:2px;
  width: 214px;
  height: 18px;
  color: #000000;  
}

.form-date {
	font-size: 12px;
	background: #ffffff;
	border: 1px solid #cccccc;
	margin: 0;
	padding-left: 2px;
	width: 322px;
	height: 20px;
	color: #000000;
}

.form-fichier {
	font-size: 14px;
	background: #ffffff;
	height: 22px;
	color: #000000;
}

.form-button {
	border: 1px solid #cccccc;
	border-radius: 5px;
	background: #333333;
	text-align: center;
	cursor: pointer;
	font-size: 16px;
	height: 26px;
	margin-top: 10px;
	padding: 0 5px;
	color: #ffffff;
	outline:0;
}
.form-button:hover {  
	border: 1px solid #cccccc;
	border-radius: 5px;
	background: #ffffff;
	text-align: center;
	cursor: pointer;
	font-size: 16px;
	height: 26px;
	margin-top: 10px;  
	padding: 0 5px;
	color: #333333;
	outline:0;
}

.form-area {
	font-size: 12px;
	background: #fff;
	border: 1px solid #cccccc;
	margin: 0;
	margin-bottom: -3px;
	padding-left: 2px;
	width: 318px;
	height: 260px;
	color: #000000;
	resize: none;
}

p.oblige {
	position: relative;
	color: #ed1d26;
	font-weight: bold;
	margin: -20px 294px 0 0;
	font-style: italic;
	font-weight: normal;
	font-size: 11px;
	line-height: 20px;
	text-align: right;  
}

span.oblige {
	color: #ed1d26;
	font-weight: bold;
	font-size: 12px;
	margin-right: 3px;
}



/*---------------------------------------------------------------------------------------
--------------------------------------- RESPONSIVE -------------------------------------- 
/*-------------------------------------------------------------------------------------*/
@media(max-width: 1279px){
	
	html, body, header, nav, section, footer, div, h1, h2, h3, p, ul, li, hr, input {
		font-size: 14px;
		width: 100%;
		max-width: 100%;
	}
	
	header {
		position:relative;
		height: 80px;
		top: 45px;
	}
	
	header p {
		font-size: 12px;
		line-height: 12px;
		margin-top: 20px;
		margin-left: 2%;
		font-style: italic;
		color: #8B0000;
	}
	
	div#conteneur {
		margin: 0;
		position: relative;
		width: 100%;
		max-width: 100%;
		min-height: 100%;
	}
	
	h1 {
		position: relative;
		font-size: 24px;
		top: 15px;
		margin-left: 2%;
		max-width: 98%;
	}
	
	h2 {
		position: relative;
		font-size: 16px;
		font-weight: bold;
		margin-top: 29px;
		margin-bottom: 19px;
		max-width: 100%;
	}
	
	h2.gallery_title {
		display: block;
		visibility: visible;
		position: relative;
		font-size: 18px;
		font-weight: normal;
		margin-top: 0;
		margin-bottom: 19px;
		max-width: 100%;
	}
	
	h3 {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		margin-top: 29px;
		margin-bottom: 19px;
		margin-left: 0;
	}
	
	a {color:inherit}

	#burger {
		width:30px;
		height:2px;
		background:#ffffff;
		display:inline-block;
		position:relative;
		text-align: left;
	}
	#burger::before,
	#burger::after {
		content:'';
		width:30px;
		height:2px;
		background:#ffffff;
		display:inline-block;
		position:absolute;
		transform-origin: center;
		transition: all 0.3s ease;
	}
	#burger::before {
		top:-7px;
	}
	#burger::after {
		top:7px;
	}
	#burger.open {
		background:transparent;
	}
	#burger.open::before {
		transform: rotate(45deg);
		top:0;
	}
	#burger.open::after {
		transform: rotate(-45deg);
		top:0;
	}

	ul#menu-link {
		background: #ffffff;
		position:absolute;
		width:100%;
		left:0;
		top:100%;
		padding:10px 0;
		transform:scaleY(0);
		transform-origin:center top;
		transition:all 0.3s ease;
		z-index: 9999;
	}
	ul#menu-link.open {
		transform:scaleY(1);
	}
	ul#menu-link li {
		padding:0;
		text-align:center;
		font-size: 18px;
		margin-bottom: 16px;
	}
	
	nav {
		position: relative;
		top: 0;
		left: 0;
		max-width: 100%;
		height: auto;
		margin-top: -80px;
		margin-bottom: 0;
		padding-top: 11px;
		padding-bottom: 20px;
		margin-left: 0;
		text-align: center;
		background: #333333;
		z-index: 9999;
		/*visibility: hidden; PENSER A ENLEVER POUR AFFICHER LE MENU "MOBILE"*/
	}
	
	.m30 {
		margin-bottom: 30px;
	}
	.m10 {
		margin-bottom: 20px;
	}
	
	main {
		position: relative;
		margin-top: 80px;
		margin-left: 2%;
		max-width: 96%;
	}
	
	main p {
		font-size: 15px;
		line-height: 24px;
	}
	
	main p.contact {
		font-size: 15px;
		line-height: 24px;
		margin-top: 0;
	}
	
	.carousel-container {
		width: 1000px;
		/*height: 667px;*/
		overflow: hidden;
		position: relative;
	}
		
	.gallery {
		width: 100%;
		max-width: 100%;
		margin: 30px auto 0 auto;
		column-count: 2;
		column-gap: 10px;
	}
	
	.gallery img {
		display: block;
		width: 100%;
		height: auto;
		margin: 10px 0;
		transition: 0.2s ease-in-out;
	}

	.gallery img:hover {
		transform: scale(1);
	}
	
	.ps11 {
		font-size: 13px;
		font-style: italic;
	}
	
	form.contact {
		margin-top: 64px;
	}
	
	p.oblige {
		position: relative;
		width: 98%;
		color: #ed1d26;
		font-weight: bold;
		margin: -20px 0 0 0;
		font-style: italic;
		font-weight: normal;
		font-size: 11px;
		line-height: 20px;
		text-align: right;  
	}
	
	div.label {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		margin-bottom: 5px;
		line-height: 18px;
	}

	div.element {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		margin-bottom: 25px;
		line-height: 18px;
	}
	
	.form-input {
		font-size: 12px;
		background: #ffffff;
		border: 1px solid #cccccc;
		margin: 0;
		padding-left: 2px;
		width: 98%;
		height: 18px;
		color: #000000;
	}
	
	.form-area {
		font-size: 12px;
		background: #fff;
		border: 1px solid #cccccc;
		margin: 0;
		margin-bottom: -3px;
		padding-left: 2px;
		width: 96.5%;
		height: 260px;
		color: #000000;
		resize: none;
	}
	
	.form-button {
		border: 1px solid #cccccc;
		border-radius: 5px;
		background: #333333;
		text-align: center;
		cursor: pointer;
		font-size: 20px;
		height: 36px;
		margin-top: 0;
		margin-bottom: 35px;
		padding: 0 5px;
		color: #ffffff;
		outline:0;
	}
	.form-button:hover {  
		border: 1px solid #cccccc;
		border-radius: 5px;
		background: #ffffff;
		text-align: center;
		cursor: pointer;
		font-size: 20px;
		height: 36px;
		margin-top: 0;
		margin-bottom: 35px;
		padding: 0 5px;
		color: #333333;
		outline:0;
	}
	
	div.gauche {
		visibility: hidden;
		display: none;
	}

	div.droite {
		width: 90%;
		margin-bottom: 25px;
		line-height: 24px;
		font-size: 14px;
	}	
	.coordo {
		width: 100%;
		margin-top: 0;
		border-top: none;
		padding-top: 0;
	}
	
	.imgleft {
		float: left;
		max-width: 40%;
		margin: 0 18px 0 0;
		text-align: center;
	}
	
	p.code_error {
		position: relative;
		font-size: 100px;
		font-weight: bold;
		text-align: center;
		color: #ed1d26;
		line-height: 0;
		z-index: 99;
		margin: 41px 0 0 0;
	}

	p.error {
		position: relative;
		font-size: 50px;
		font-weight: bold;
		text-align: center;
		z-index: 9;
		line-height: 0;
		margin: 41px 0 0 0;
	}

	p.explication_error {
		position: relative;
		max-width: 100%;
		margin: 41px 0 0 0;
	}
	
	div#back-to-top,
	div#back-to-top:link,
	div#back-to-top:visited,
	div#back-to-top:active,
	div#back-to-top:focus {
		display: none;
		visibility: hidden;
		position: fixed;
		bottom: 55px;
		right: 40px;
		width: 64px;
		height: 70px;
		/*background: #333333;
		text-align: center;
		border-radius: 50%;*/
		cursor: pointer;
		z-index: 9999;
		background: none;
	}
	div#back-to-top:hover {
		display: none;
		visibility: hidden;
		position: fixed;
		bottom: 55px;
		right: 40px;
		width: 64px;
		height: 70px;
		/*background: #cccccc;
		text-align: center;
		border-radius: 50%;*/
		cursor: pointer;
		z-index: 9999;
		background: none;
	}
	
	div.calage{
		position: relative;
		height: 40px;
		line-height: 0;
		clear: both;
	}
	
	footer {
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 40px;
		text-align: center;
		z-index: 999;
	}
	
	footer p {
		padding: 0;
		margin: 0;
		font-size: 12px;
		line-height: 40px;
	}

}