/* CSS SITE FJ */


/* raleway-300 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/raleway-v14-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Raleway Light'), local('Raleway-Light'),
       url('../fonts/raleway-v14-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/raleway-v14-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/raleway-v14-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/raleway-v14-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/raleway-v14-latin-300.svg#Raleway') format('svg'); /* Legacy iOS */
}

html, body {
	font-family: 'Raleway', Helvetica, Arial;
    background-color:#fff;
    width: 100%; 
	margin: 0;		/* pour retirer marges blanches autour vidéo */
	padding: 0;		/* pour retirer marges blanches autour vidéo */
	scroll-behavior: smooth;
}

a {
font-family: 'Raleway', Helvetica, Arial;
color: #555; 	/* couleurs liens navigation #555 */
}
a:hover {
color: #F30;
}
a:active {
color: #F00;
} 

/* Titre nom, page home */
.home-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px; /* espace entre prénom et nom */
  font-family: 'Raleway', Helvetica, Arial;
  color: #555;
  font-size: 1.4em;
  font-weight: 300;
  padding: 20px 0;
  background-color: rgba(255, 255, 255, 0.0); /* ✅ fond blanc semi-transparent */
  z-index: 1; /* Placer le titre sous le hamburger */
  position: relative;
  text-align: center;
}



.container {
    width: 100%; 
    overflow-x: hidden;
	overflow-y: scroll;
	scroll-behavior: smooth;
	margin:0;
	padding: 0;
		
	
}
.gallery {
    float: left;
    width: 100%;
	height: 100%;
    display: block;
    position: relative;
}

.gallery img {					
 	width: auto;
	padding-right: 8px;     /* espace entre images */ 
}

/* video & controls */

video {	
	padding-right: 8px;     /* espace entre images */ 
}


/* header */

.header {
    background-color: #fff;
    width: 100%;
    z-index: 3;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
		
		
  }
  
.header ul {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    background-color: #fff;
	
  }
  
  
.header li a {	
    display: block;  
	padding-top: 4px;
	margin-bottom:4px;   /* espace entre ligne menu format hauteur */
    text-decoration: none;

  }
  
.header li a:hover,
.header .menu-btn:hover {
  	color: #F30;	 /* couleur survol menu */
  }

  
  
  /* menu hamburger mobile version */

  .header .menu {
    clear: both;
  	max-height: 0;
  	transition: max-height .2s ease-out;
	background: #FFF;  				
	opacity: 0.8;
	filter: alpha(opacity=80);
	/* réglage opacité sous menu pour Mozilla, Moz/Safari... , IE */
	
  }

  
  
  /* menu icon */
  
  .header .menu-icon {
    cursor: pointer;
    display: inline-block;
    float: inherit;
    padding: 30px;									/* placement traits icône menu */
    position: relative;   
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-icon .navicon {
    background: #222;
    display: block;
    height: 2px;										/* épaisseur traits icône menu */
    position: relative;
    transition: background .2s ease-out;
    width: 60px;										/* largeur traits icône menu */
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-icon .navicon:before,
  .header .menu-icon .navicon:after {
    background: #222;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
	
  .header .menu-icon .navicon:before {
    top: 14px;
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-icon .navicon:after {
    top: -14px;
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  /* menu btn */
  
  .header .menu-btn {
    display: none;
  }
  
  .header .menu-btn:checked ~ .menu {
    max-height: 1000px;  						/* HAUTEUR MENU (grands écrans) */
		  }
  
  .header .menu-btn:checked ~ .menu-icon .navicon {
    background: transparent;
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-btn:checked ~ .menu-icon .navicon:before {
    transform: rotate(-45deg);
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-btn:checked ~ .menu-icon .navicon:after {
    transform: rotate(45deg);	
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
  
  .header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
  .header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
    top: 0;
      z-index: 10; /* Assurer que le hamburger soit au-dessus du titre */
  }
	
	
/* CONTACT PAYSAGE*/
#Content {
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align : left;
	font : normal 1.1em Arial, sans-serif;
	list-style-type : none;
	color : #666;
	letter-spacing : .12em;
	margin: 0 auto;

}

/* CONTACT Nicolas */
#Content2 {
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align : left;
	font : normal 1.1em Arial, sans-serif;
	list-style-type : none;
	color : #666;
	letter-spacing : .12em;
	margin: 0 auto;
}

h1 {
	color : #555;
	font-family : Arial, sans-serif;
	font-size : 24px;
	font-weight : bold;
	padding : 0px 0px 14px 0px;
}
h2 {
	color : #999;
	font-family : Arial, Helvetica, sans-serif;
	font-size : 18px;
	margin : 0px 0px 25px 0px;
}
ul {
	list-style-type : none;
	text-align : left;
	font-weight : normal;
	margin : 0;
	padding : 0;
}
	
  
/* ----------- MOBILE STYLES -----------*/
/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
/* Small devices (tablets, 1000px and up) */
@media (max-width: 1000px) {  


html,body {
	font-family: 'Raleway', Helvetica, Arial;
 	background-color:#fff;
  width: 100%; 
	margin: 0;		/* pour retirer marges blanches autour vidéo */
	padding: 0;		/* pour retirer marges blanches autour vidéo */
					/* Ne pas mettre de scroll behavior dans mobile */
}
.container {
  width: 100%; 
  height: 100%;
  overflow-y:auto;
  overflow-x:hidden;	
}
.gallery {
  float: left;
  width: 100%;
  display: block;
  position: relative;
}
.gallery img {
  	height: 100%;
  	width: 100%;
  	max-width: 100%;
}
video {					
 	width:100%;			
	margin: 0;
	padding-bottom: 2px; /* espace entre vidéos portrait */	
}
.header{
 	 position: fixed;
  	top: 0;
  	display: block;
	z-index:4;
	background-color: #ffffff00; 
/* ffffff00 pour hamburger sur fond transparent */	
}
.header .menu-btn:checked ~ .menu {
  	max-height: 1400px;  /* HAUTEUR MENU petits écrans verticaux */
}

.header li a {
	font-size: 20px; 	/* TAILLE FONT MENU PETITS ECRANS à copier dans style_for_contact et ajuster en fonction du nombre de mots dans le menu */
	font-weight:400;
	color: black;    	/* couleur du texte du menu sur mobile */
	padding-bottom:0px; /* pour masquer représenté par */
}
	
.header li a:active,
.header .menu-btn:active {
  	background: #CCC;	/* couleur clic menu #CCC */
}

.header .menu-icon .navicon:before {
  	top: 12px;				/* espace entre traits du hamburger */
}
  
.header .menu-icon .navicon:after {
    top: -12px;			/* espace entre traits du hamburger */
}
.header .menu {
  	clear: both;
  	max-height: 0;
  	transition: max-height .2s ease-out;
		background: #FFF;  				
		opacity: 0.9;
		filter: alpha(opacity=80);
/* réglage opacité sous menu pour Mozilla, Moz/Safari... , IE */
/* POUR PAGE CONTACT MOBILE */
}
	
	/* CONTACT PORTRAIT MOBILE */

	
	/* CONTACT PORTRAIT */
#Content {
	display: table;
	justify-content: center;
	text-align :center;
	flex-direction: column;
	margin-top: 9em;
	letter-spacing : .14em;
	list-style-type: none;
}

/* CONTACT Nicolas */
#Content2 {

	display: table;
	justify-content: center;
	text-align :center;
	flex-direction: column;
	margin-top: 7em;
	letter-spacing : .14em;
	list-style-type: none;
}
h1 {
color : #555;
font-family : Arial, sans-serif;
font-size : 24px;
font-weight : bold;
padding : 0px 0px 14px 0px;

}
h2 {
color : #999;
font-family : Arial, Helvetica, sans-serif;
font-size : 18px;
margin : 0px 0px 25px 0px;
}
ul {
list-style-type : none;
text-align : center;
font-weight : normal;
margin : 0;
padding : 0;

}
}

/* NEW HOME with 2 IMAGES Photography / Illustration */
.hero-link {
  position: relative;
  text-align: center;
  display: block;
}

.hero-img-wrapper {
  position: relative;
  overflow: hidden;
}

.hero-caption {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.0); /* fond blanc semi-transparent */
  padding: 10px 20px;
  font-size: 1.6em;
  font-weight: 300;
  color: #b6b6b6;
  border-radius: 4px;
  letter-spacing: 0.04em;
  pointer-events: none; /* clic passe à travers */
}


/* --- MOBILE V1
.hero-gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 40px 0;
}

.hero-link img {
  width: 100%;
  height: auto;
  max-width: 100%;
  transition: transform 0.3s ease, opacity 0.3s ease;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.hero-link:hover img {
  transform: scale(1.02);
  opacity: 0.9;
}

--- */

/* --- MOBILE V2--- */
@media (max-width: 768px) {
  .hero-gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
  }

  .hero-link img {
    height: 38vh;       /* ✅ hauteur réduite = ~76vh pour les deux */
    width: auto;        /* conserver la largeur naturelle */
    max-width: 100%;    /* pas de débordement */
    object-fit: contain;
  }

  .hero-caption {
  position: absolute;
  top: 10px;           /* ↓ réduit pour rapprocher du haut */
  padding: 2px 12px;   /* ↓ réduit en haut/bas */
  font-size: 1.2em;
}
}



/* --- VERSION ORDINATEUR --- */
@media screen and (min-width: 768px) {
  .hero-gallery {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;           /* espace entre les images */
    padding: 60px 0;
    flex-wrap: wrap;
  }

  .hero-link img {
    height: 70vh;        /* hauteur = 70% de la hauteur de l'écran */
    width: auto;         /* largeur automatique = proportions conservées */
    max-height: 800px;   /* sécurité pour très grands écrans */
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .hero-link:hover img {
    transform: scale(1.02);
    opacity: 0.9;
  }
}


/* Laptop & large screen */
@media (min-width: 1000px) {  

html, body {
	font-family: 'Raleway', Helvetica, Arial;
    background-color:#fff;	/* fond d'écran, blanc */
    width: 100%; 
	margin: 0;		/* pour retirer marges blanches autour vidéo */
	padding: 0;		/* pour retirer marges blanches autour vidéo */
	scroll-behavior: smooth;
}

.container {
	/*position:absolute; pour placer le MENU EN HAUT */
    width: 100%;
    height: 91.5vh;	
    overflow-y:hidden;
    overflow-x:auto;
	margin:auto;	/* pour enlever marge à gauche */
	scroll-behavior: smooth;
}
.gallery {
  	float: left;
  	width: 100%;
	height: 90vh;	
  	display: flex;
  	position: inherit;
		
}
.gallery img {
	height: 90vh;		/* HAUTEUR DE LA GALLERIE ! */
	padding-right: 8px; /* espace entre images */ 
}

.header {
  position: relative;
  display: inline-flex;
  align-content: center;
  justify-content: center;
}
.header li {
  float: left;
}
.header li a {
  	padding: 15px 32px 0px 0px; /* marge en haut, espace, - , - */
	font-size: 1.098em;			/* TAILLE FONT MENU GRANDS ECRANS */
}
.header .menu {
  clear: none;
  float: right;
  max-height: none;
  height: 100%;
}
.header .menu-icon {
  display: none;
} 
	
}



