:root {
	--main: #ffffff;
	--firstColor: #F5B82E;
	--secondColor: #F4AC32;
	--thirdColor: rgb(107, 39, 55);
	--fourthColor: #003049;
	--adaColor: #e74b33;
}

/* Nous cassons (reset) l'effet d'héritage pour toutes les balises susceptibles d'être concernées */
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, 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, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	text-decoration: none;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	box-sizing: border-box;
}

body {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	margin: 0;
}


body {
	 /* Nécessaire pour le positionnement absolu du footer */
	min-height: 100vh;
	margin: 0; /* Supprime les marges par défaut du body */
  }

/* HEADER */
header {
	display: flex;
	align-items: center;
	background-color: var(--firstColor);
	height: 15vh;
}
header #logo {
	width: auto;
	margin: 0.50em 1em 0 1em;
	padding: 0.5em;
	box-shadow: 7px 7px 6px rgba(0, 0, 0, 0.2);
	position: relative;
	top: 0.25em;
	margin-bottom: -10px;
	border-radius: 50px;
	/* width: auto;
	margin: 1.5em 0.5em 0 1em;
	padding: 1em;
	box-shadow: -5px -5px 5px var(--fourthColor); */
}
header #logo img {
	width: 5.5em;
	/* margin-left: 1em; */
}
header #titre {
	flex-grow: 1;
	/* Permet au titre de prendre l'espace disponible */
	text-align: left;
}
h1 {
	font-family: "Montserrat", sans-serif;
	font-size: 3em;
	margin-left:0.25em;
	color: var(--fourthColor);
	font-weight: bold;
}
header nav {
	margin-left: auto;
	margin-right: 3em;
}
header nav ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
header nav li {
	font-size:1.25em;
	margin-left: 3em;
	margin-right: 1em;
	transition: transform 0.3s ease;
}
header nav li:hover {
	transform: scale(1.1);
	font-weight: bold;
}
header nav a {
	text-decoration: none;
	color: var(--fourthColor);
}

/*  MAIN */
#main-container {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}
#intro {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	/* width: 100%; */
	margin: 1.5em 0.5em;
	padding-left : 6em;
	/* height: auto; */
}
#texteintro{
	width: 70%;
}
#intro p{
	font-size: 1.5em;
	line-height: 1.20em;
}
#imageintro{
	width: 30%;
	display: flex;
	justify-content: center;
	text-align: right;
}
#imageintro img{
	width: 40%;
}

/* CARROUSEL IMAGES */
#carrousel-images {
	border: solid 1px black;
	min-height: 300px;
	margin: 2%;
	border-radius: 10px;
}
.custom-slider {
	display: none;
}
.slide-container {
	max-width: 700px;
	position: relative;
	margin: auto;
}
.prev, .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: white;
	font-size: 30px;
	background-color: rgba(0, 0, 0, 0);
	transition: background-color 0.6s ease;
}
 .prev {
	left: 15px;
}
 .next {
	right: 15px;
}
.prev:hover, .next:hover {
	background-color: rgba(0, 0, 0, 0.5);
}
.slide-text {
	position: absolute;
	background-color: #003049;
	color: var(--main);
	font-size: 18px;
	bottom: 0px;
	width: 100%;
	padding: 10px 0;
	text-align: center;
}
.slide-img {
	margin-top: 20px;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.slide-dot {
	text-align: center;
}
.dot {
	cursor: pointer;
	height: 10px;
	width: 10px;
	margin: 0 2px;
	background-color: #999999;
	border-radius: 50%;
	display: inline-block;
	transition: background-color 0.6s ease;
	margin-bottom: 20px;
}
.active, .dot:hover {
	background-color: #111111;
}
.fade {
	animation-name: fade;
	animation-duration: 1s;
}

@keyframes fade {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

/* CARDS */
#cards-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 20px;
	height: 350px;
}

.card {
	border: 2px solid var(--secondColor);
	border-radius: 10px;
	margin: 8px;
	padding: 6px;
	background-color: var(--thirdColor);
	color: var(--main);
	text-align: center;
	padding-top: 5em;
	width: 30%;
	box-shadow: 4px 4px 7px rgba(244, 172, 50, 0.5);
	aspect-ratio: 3 / 2;
	/* Maintient un ratio largeur/hauteur constant */
	transition: transform 0.3s ease;
	position: relative;
}

.card a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
	z-index: 1;
}

.card p {
	font-size: 18px;
	margin: 15px;
}

.card:hover {
	transform: scale(1.05);
}

#lorem {
	height: 5vh;
	margin: 3vw;
	padding: 3vw;
}

.img-card {
	width: 85%;
	margin: 15px;
}

/* PAGE SEARCH */

#titrePageSearch, #titleMap, #titreMuseesRegions, #bienvenue{
	font-size: 2em;
	color: var(--fourthColor);
	font-weight: bold;
	margin: 0.50em 4em;
}
#titleandCount p{
	text-align: center;

}
#loader {
	border: 16px solid #f3f3f3;
	border-radius: 50%;
	border-top: 16px solid #3498db;
	width: 120px;
	height: 120px;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
  }
  
  /* Safari */
  @-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
  }
  
  @keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
  }

  #results{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
  }
#searchresults-container {
	border: 1px solid black;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 2em;
	padding: 1.5em;
}

#museumsList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* 2 colonnes de largeur égale */
	gap: 1em;
	/* Espace entre les éléments de la grille */
	/* border : 1px solid black;	 */
	padding: 1em 1.5em;
}

#menuderoulant {
	/* border : 1px solid black;	 */
	width: 25%;
	margin-top: 1em;
}

aside {
	border: 1px solid var(--secondColor);
	box-shadow: 7px 7px 5px var(--fourthColor);
	color: var(--fourthColor);
	padding: 0.25em;
}

aside h2 {
	font-weight: bold;
	font-size: 1.5em;
	margin: 0.50em 0.25em;
}
#reset-button {
	background-color: var(--secondColor);
	display: flex;
	width: 80%;
	justify-content: center;
	align-items: center;
	padding: 5px;
	border: solid 2px var(--fourthColor);
	border-radius: 10px;
	font-weight: bold;
	margin: 0 auto;
}
#reset-button a {
	color: var(--fourthColor);
}

/* STYLES RECHERCHE PAR REGION / THEMATIQUE */

/* #outputSearchByRegion{
	border : 1px solid black;	
	padding : 1em 1.5em;
} */

.compteurReponses {
	font-size: 2em;
	color: var(--fourthColor);
	margin-left: 0.5em;
}

/* style de la div réponses recherche Région / Thématique */
.museumDiv {
	display: flex;
	flex-direction: column;
	justify-content: left;
	border: 1px solid var(--fourthColor);
	border-radius: 8px;
	margin: 0.5em;
	padding: 0.5em;
	box-shadow: 5px 5px 9px var(--thirdColor);
	background-color: antiquewhite;
}

.subMuseumDiv1 {
	display: flex;
	flex-direction: column;
}

.subMuseumDiv2 {
	display: flex;
	flex-direction: row;
	margin-top: 0.75em;
}

.moreInfoButton {
	margin-left: auto;
	background-color: var(--fourthColor);
	color: var(--firstColor);
	border-radius: 0.25em;
}

.museumImage {
	width: 90px;
	align-self: right;
}

.museumName {
	font-weight: bold;
	color: var(--fourthColor);
	font-size: 1.25em;
	margin-top: 0.5em;
}

.museumAddress {
	margin-top: 0.5em;
}

.museumResume {
	font-size: 0.90em;
	margin-top: 0.5em;
	text-align: justify;
}

.themesMusees {
	font-size: 0.80em;
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-style: italic;
	text-align: justify;
}

/* Styles pour la modale */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid black;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	/* Assure que la modale est au-dessus des autres éléments */
}

/* modale bases Muséophile & ACR */
.modal-content {
	background-color: var(--secondColor);
	border: 1px solid var(--thirdColor);
	color: var(--fourthColor);
	font-size: 1.25em;
	padding: 20px;
	border-radius: 10px;
	max-width: 600px;
	max-height: 90%;
	overflow: scroll;
	position: relative;
}
/* barre de séparation "drapeau français" */
.separator {
	height: 8px;
	width: 80%;
	background-image: linear-gradient(
		to right,
		#0055A4 33.33%, /* Bleu */
		white 33.33%, white 66.66%, /* Blanc */
		#EF4135 66.66% /* Rouge */
	  );
	margin: 20px auto;
  }
.detailsACRModale{
	background-color: var(--fourthColor);
	border: 1px solid var(--thirdColor);
	color: var(--main);
	font-size: 0.75em;
	padding: 20px;
	border-radius: 10px 0 10px 0;
	max-width: 600px;
	max-height: 90%;
	overflow: scroll;
	position: relative;
}
.ACRTitle{
	text-align: center;
}
.ACRName{
	margin: 0.50em auto;
}
.descriptionACR{
	text-align: justify;
}
.close-button {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 20px;
	cursor: pointer;
}

/* FOOTER */

footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	display: flex;
	justify-content: space-around;
	align-items: center;
	background-color: var(--fourthColor);
	color: var(--main);
	height: 8vh;
}

footer #hautdepage a {
	color: var(--main);
	text-align: end;
}

/* BOUTONS */
#accueil {
	background-color: var(--fourthColor);
	color: var(--main);
	border-radius: 10px;
	border: solid 1px var(--firstColor);
}

/* PAGE A PROPOS (ABOUT) */

#main-container-welcome {
	margin: 1.5em;
	flex: 1; 
}

#main-container-about {
	margin: 0 1.5em;
	padding: 1em;
}

.about {
	padding: 1em;
}

.about span {
	color: var(--adaColor);
	font-weight: bold;
	font-size: larger;
}

.flex {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	padding: 0.50em;
}

.about p:first-of-type {
	font-weight: bold;
	margin-bottom: 1em;
}

#divImageAbout img {
	max-width: 300px;
	height: auto;
	object-fit: contain;
	/* Conserver les proportions */
	margin-top: -2em;
}

#merci {
	font-size: 1.25em;
	padding: 1em;
	margin-bottom : 3em;
}

#merci h2 {
	text-align: center;
	font-size: 1.75em;
	margin: 2em;
}

#git {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	padding: 0 1em;
	margin-left: 1em;
}

#icone-git {
	margin-right: 2em;
}

#icone-git img {
	margin-top: 0.75em;
}

#canvas{
	padding: 4em;
	margin: 3em;
}

#introMusee{
	font-size: 1.5em;
	color: var(--fourthColor);
	margin-left: 5em;
	margin-top: 2em;	
}

#introContainer {
	padding: 50px;
	border-radius: 30px;
  }

  #texteMap {
	padding: 20px;
	border: 3px solid rgb(0, 14, 75);
	box-shadow: 7px 7px 5px var(--fourthColor);
	font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  }

  #mapfilterContainer {
	display: flex;
	/* Utilisation de flexbox pour aligner la carte et le filtre côte à côte */
	justify-content: space-between;
	/* Ajout d'espace entre la carte et le filtre */
	align-items: flex-start;
	/* Aligner les éléments en haut */
	padding: 20px;
	margin: 10px;
	border: 3px solid #080053;
	border-radius: 30px;
	height: 600px;
	overflow: hidden;
	box-shadow: 7px 7px 5px var(--fourthColor);
  }

  #filterContainer {
	width: 260px;
	height: 90px;
	border: 3px solid rgb(0, 14, 75);
	box-shadow: 7px 7px 5px var(--fourthColor);
	font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  }

  #mapId {
	height: 500px;
	width: 80%;
	border-radius: 30px;
  }

  #Themes {
	height: 50px;
	width: 180px;
	border-color: #1b1ece;
	font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  }