

/*********************************************************/
/*                    TOUT LE SITE                       */
/*********************************************************/

* {
	box-sizing: border-box;
}

html,
body {
	overflow-x: hidden;
	scroll-behavior: smooth;

}



body {
	font-family: 'Roboto', sans-serif;
}


/*********************************************************/
/*                    	  HEADER                         */
/*********************************************************/

#burger{
	display: none !important;
	
}

#boite_burger{
	background-image: url(../image/photo/background/CONCERT_naps_22_09_08-16.jpg);

}

.text-burger{
	text-decoration: none;
	font-size: 23px;
}


#icon-buger{
	width: 2em;
	height: 2em;
}




header {
	flex-direction: column;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

#logo_header {
	width: 50%;
	text-align: center;
	min-width: 170px;
}

h1,
.header_lien {
	font-family: 'Cormorant', serif;
	
}

#idvideo2 {
	height: 100vh;

}


.header_lien {
	color: white;
	font-size: xx-large;
	text-decoration: none;
	margin-bottom: 2%;
}

.header_lien:hover {
	color: whitesmoke;
}


p,
label {
	color: white;
}


#logo_cate {
	width: 30vh;

}

.logo_header {
	fill: white;
}



#header_show {
	background-image: url(../image/photo/background/CONCERT_naps_22_09_08-16.jpg);
	height: 100vh;


	/* Set a specific height */
	min-height: 500px;

	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 130%;




}

.div_cate:hover .categorie:not(:hover) {

	height: 8vh;
	transition: .6s;
	background-size: 120%;
}

.categorie span,
.prod_menu span {
	width: 100%;
	height: 100%;
	font-style: none;
	color: whitesmoke;

}

.prod_menu a {
	text-decoration: none;
}

.categorie:hover span {
	background-color: rgba(0, 0, 0, .6);
	transition: .4s;
	font-size: 20px;
}

.categorie a {
	color: white;
	font-weight: bold;
	text-decoration: none;
}






#portfolio {
	padding-top: 5rem;
	padding-bottom: 5rem;

	background-image: url(../image/photo/background/FAUCONNERIE_22_09_11-90.jpg);



	/* Set a specific height */
	min-height: 500px;

	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 100vw;



}



#carousel_video_photo>*>*>*,
#menu_prod_row {
	height: 100vh;
}


#prod_vers_photo {
	width: 5vw;
	background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 8));
}



#prod_vers_photo:hover {
	width: 10vw;
	background: linear-gradient(to right, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 8));
	transition: .6s
}


#prod_vers_video {
	width: 5vw;
	background: linear-gradient(to left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 8));
}



#prod_vers_video:hover {
	width: 10vw;
	background: linear-gradient(to left, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 8));
	transition: .6s
}





.projets_photo {
	height: 80vh;
	overflow-y: hidden;
	position: relative;

}

.projets_photo:after {
	position: absolute;
	content: "";
	left: 0px;
	top: 0px;
	height: 100%;
	width: 100%;
	background: linear-gradient(rgba(0, 0, 0, 0) 90%, #212529);
	pointer-events: none;
}




#prod_menu_video {
	background-image: url(../image/photo/home/port_menu/video.jpg);
	background-position: center;
	background-size: auto 100%;
	padding: 0 !important;
}


#prod_menu_video:hover {
	background-size: auto 150%;
	transition: .6s;
}

#prod_menu_photo {
	background-image: url(../image/photo/home/port_menu/photo.jpg);
	background-position: center;
	background-size: 150%;
	padding: 0 !important;
}

#prod_menu_photo:hover {
	background-size: 200%;
	transition: .6s;
}

.prod_menu span {
	font-size: 25px;
	font-weight: bold;
}


.prod_menu:hover span {
	background-color: rgba(0, 0, 0, .6);
	font-size: 35px;
	transition: .4s;
}



.vid_prod {
	width: 20rem;
	height: 12rem;
	position: relative;
}



.vid_prod span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	background-color: rgba(0, 0, 0, .6);
	transition: .6s;
	color: whitesmoke;
}

.vid_prod:hover span {
	opacity: 1;
}

.vid_prod img {
	height: 100%;
	width: 100%;
	object-fit: cover;

}






#div_vid_prin {
	height: 40vh;
	width: 100%
}



#div_vid_prin iframe {
	height: 100%;
}




#carou_photo {
	background-image: url(../image/photo/home/port_menu/video.jpg);
}




#parcours {
	padding-left: 3rem;
	padding-right: 3rem;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;

	background-image: url(../image/photo/home/presentation.jpg);



	/* Set a specific height */
	min-height: 500px;

	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: left bottom;
	background-repeat: no-repeat;

	background-position: left;
	background-size: 350%;


}





.img_confiance {
	height: 150px;
}












/*********************************************************/
/*                       GALLERIE                        */
/*********************************************************/
main {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#gallerie {
	width: 80vw;
}

.gallerie img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gallerie {
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
	gap: 20px;
}

.gallerie figure {
	height: 350px;
	position: relative;
	flex-grow: 1;
	margin: 0;
	cursor: pointer;
}

.gallerie figure figcaption {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	transition: opacity 150ms ease-in-out;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;

	overflow: hidden;
	/* white-space: nowrap; */
	text-overflow: ellipsis;
	/* text-transform: capitalize; */
}

.gallerie figure figcaption:hover {
	opacity: 1;
}

.gallerie::after {
	content: "";
	flex-grow: 999;
}

figcaption::first-letter {
	text-transform: uppercase;
}

.imageViewer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.95);
	z-index: 100;
	display: none;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	user-select: none;
	opacity: 0;
	transition: opacity 100ms ease-in-out;
}

.imageViewer.visible {
	display: flex;
	animation: fadeIn 150ms ease-in-out forwards;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.imageViewer img {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
	height: max-content;
}

.imageViewer figcaption {
	margin-top: 20px;
	color: white;
	max-width: 80%;
	text-align: center;
	/* text-transform: capitalize; */
}

.close {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
	width: 30px;
}

.gallerie_nav {
	width: 50px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	user-select: none;
}

.nav_back {
	left: 0;
	transform: rotate(-90deg);
}

.nav_next {
	right: 0;
	transform: rotate(90deg);
}






.fondAcceuil {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1;
	user-select: none;
	pointer-events: none;
	position: relative;
	z-index: -1;
}

.fondAcceuil>* {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


#bande{
	height:6vh;
	overflow:hidden;
}

#bande img{
	width:110vw;
	margin-top:-10vh;
}


#sous_liste_cate_voyage{
	opacity: 0;
}


.ouvrir_video{
	padding: 0;
	border: 0;
}

.ouvrir_video a{
	display: block;
	width: 100%;
}

.img_video{
	width: 900px;
	height: 500px;
}






.modal-taille{
	width: 90vw;
	height: 90vh;
	max-width: none;
	max-height: none;
}



#parcours_box{
	margin-left: 3rem;
	margin-right: 3rem;
}



#box_video p{
	font-size: 25px;
	text-align: justify;
}




















@media only screen and (max-width: 1367px) {
	#parcours_box{
		flex-direction: column !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

.parcours_box_partie{
	width: 100% !important;
	margin-top: 20px;
	margin-bottom: 20px;
}

#portfolio{
	background-size: 160vh;
	background-position: center;
}

#bande{
	height: 10vh;
}



#bande img{
	width:auto;
}



  }

#titre_parcours{
	font-size:35px;
}

#lien_logo_header{
	width: 20%;
}

#liste_menu{
	width: 100vw;
	z-index: 2;
}

#liste_reseaux_top{
	padding-right: 3rem;
	width: 100%;
}



.fond{
	background-image: url(../image/photo/background/CONCERT_naps_fond.jpg);
	background-repeat: repeat-y;
	background-size: 100% auto;
  }


  .white{
	color: whitesmoke;
	text-decoration: none;
  }

  .white:hover{
	color: whitesmoke;
  }

  .black{
	color: black;
  }
  .black:hover{
	color: black;
  }


  #div_portfolio_image{
	margin: 3rem;
	padding: 3rem;
  }

  #img_parcours{
		padding-right: 3rem;
		padding-left: 3rem;
  }


  
	.lead{
		text-align: justify;
	}

	#titre_page_photo{
		font-size: 50px;
		margin: 5rem;
	}


#Titrevideo{
	font-family: 'Roboto', sans-serif;
	text-align: center;
	font-size: 200%;
}

#boxTitreVideo{
	width: 70%;
}

#boite_video{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
  padding-top: 56.25%; /* 16:9 aspect ratio */
}


#boite_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80%;
  }


  @media screen and (max-width: 960px) {
	#lien_logo_header{
		position: absolute;
		top: 30px;
		width: fit-content;
	}

	#logo_header{
		text-align: center;
		width: 20%;
		margin-top: 30px;
	}

	#liste_menu{
		margin-top: 150px;
	}

	.header_lien{
		display: none;
	}




	header{
		padding-top: 0;
	}



.prod_menu{
	width: 100%;
}





	#parcours_box{
		margin: 20px;
	}


	#img_parcours{
		padding-right: 0;
		padding-left: 0;
		margin-left: 0;
		margin-right: 0;
	}

	#titre_page_photo{
		margin-top: 3rem;
	}



  }


  
  @media screen and (max-width: 759px) {
	#portfolio{
		background-size: 175vh;
		background-position: center;
	}

	#burger{
	display: flex !important;
}

#titre_parcours{
	padding-top: 30px;
}


	#liste_reseaux_top{
		display: none !important;
	}
	.portfolio-item{
		margin: auto !important;
	}


	#div_portfolio_image{
		margin: 0;
		padding: 0;
	}

	.img_confiance{
		height: auto;
		width: 150px;
	}


	#parcours{
		padding-left: 0;
		padding-right: 0;
	}

	#boite_cv{
		flex-direction: column;
	}








  }



  .video h2{
	font-size: 50px;
  }





  
.image-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
  }
  
  .image-list li {
	width: 33.33%; 
	padding: 10px;
	box-sizing: border-box;
  }
  
  .image-list img {
	width: 100%;
	height: auto;
  }

  .liste_4 li{
	width: 25%; 
	
  }

  @media (max-width: 768px) {
	.image-list li {
	  width: 50%; /* Pour afficher 2 images par ligne */
	}
  }
  
  @media (max-width: 480px) {
	.image-list li {
	  width: 100%; /* Pour afficher 1 image par ligne */
	}
  }