@charset "UTF-8";
/* CSS Document */

@font-face {
    font-family: 'suisse_intlbold';
    src: url('fonts/suisseintl-bold-webfont.woff2') format('woff2'),
         url('fonts/suisseintl-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'joyride';
    src: url('fonts/joyride.woff') format('woff'),
         url('fonts/joyride.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'joyrideout';
    src: url('fonts/joyrideextoutline-webfont.woff') format('woff'),
         url('fonts/joyrideextoutline-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'suisse_intlbook';
    src: url("fonts/suisseintl-book-webfont.woff2") format('woff2'),
         url("fonts/suisseintl-book-webfont.woff") format('woff');
    font-weight: normal;
    font-style: normal;
}
h1 {font-family: 'joyride';
    font-size: 2.5rem; /* Exemple de taille en format desktop */
	  text-align: left; 
}

/* Ajustement du H1 en format mobile */
@media (max-width: 767.98px) {
    h1 {
        font-size: 1.75rem; /* Taille réduite de 30% en format mobile */
		  text-align:center; 
    }
	
}

.out{
	font-family: 'joyrideout'}



.outw{
	
	color: white}
h3 {
    font-family: 'joyride';
    font-size: 20px;
    margin-right: 20px;
	margin-left: 5px;
    
}
hr{
	border: solid black 1px;
	width: 20px;
}

/* Positionnement de la vidéo */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-y: hidden;
    overflow-x: auto; /* Permet le défilement horizontal */
}

header {
    position: relative;
    width: 100%;
    height: 90vh;
    overflow: hidden;
}
.head-about  {
    position: relative;
    width: 100%;
    height: auto; /* Ajuste la hauteur au contenu */
    overflow: hidden;
}

header video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: -1;
}



/* Navigation */

.navbar-nav {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px 0px;
    border-radius: 50px;
}
.navbar {
    position: fixed;
    bottom: 3%;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    z-index: 10;
}

.logo {
	background-color: rgba(255, 255, 255, 0.9);
    padding: 10px 50px;
    border-radius: 50px;
    position: absolute;
    left: 20px;
}

.logo img {
    width: 60px;
}

.navbar-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.nav-item {
    margin: 0px 20px; /* Espace entre les boutons */
}

.nav-link {
    border-radius: 50px;
    padding: 5px 20px;
    color: #000;
    text-transform: uppercase;
    font-weight: bold;
    border: 1px solid black;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
}

.nav-link:hover {
    width: 300px;
    justify-content: center;
    transition: all 0.4s ease;
    color: white;
    background-color: black;
}

.nav-link i {
    margin-left: 10px;
    opacity: 0;
    transition: opacity ease;
}

.nav-link:hover i {
    opacity: 1;
    color: white;
    background-color: black;
}

/* Styles pour mobile */
@media (max-width: 768px) {
    .navbar {
		
        display: none; /* Cache la nav desktop pour mobile */
    }
	.nav-item{
		margin-bottom: 5px;
	}
    .mobile-menu-btn {
		margin-left: 2.5%;
        position: fixed;
        bottom: 10px;
        width: 95%;
        text-align: center;
        padding: 10px;
        background-color: rgba(0, 0, 0, 0.6);
        color: white;
        font-weight: bold;
        cursor: pointer;
        z-index: 100;
		border-radius: 50px;
		margin-top: 100px;
	
    }

 .navbar-mobile {
    display: none; /* Cache le menu par défaut */
    position: fixed;
    bottom: 80px; /* Positionne le menu au-dessus du bouton */
    width: 100%;
    z-index: 99;
    opacity: 0; /* Commence avec une opacité de 0 */
    transition: opacity 0.5s ease, transform 0.8s ease; /* Transition douce */
    transform: translateY(50px); /* Position initiale légèrement en bas */
	 margin-bottom: 15px;
	
}

.navbar-mobile.show {
    display: block; /* Affiche le menu */
    opacity: 1; /* Rends le menu visible */
    transform: translateY(0); /* Remets le menu à sa position normale */
}

    .navbar-mobile .navbar-nav {
        flex-direction: column; /* Modifie la disposition en colonne pour mobile */
        align-items: center;
        width: 100%; /* Chaque élément occupe 100% de la largeur */
		background-color: rgba(0, 0, 0, 0.0);
	
		
    }

    .navbar-mobile .nav-item {
        width: 95%; /* Chaque bouton prend toute la largeur */
        text-align: center; /* Centre le texte */
			background-color: rgba(255, 255, 255, 1.0);
		border-radius: 20px;
		
		
    }

    .navbar-mobile .nav-link {
        width: 100%; /* Chaque lien occupe 100% de la largeur */
        padding: 5px 0; /* Ajuste le padding pour les liens */
        border-bottom: 1px solid black; /* Ajoute une séparation entre les éléments */
    }
	.navbar-mobile .logo{
	
		border: solid black 1px;
		width: 95vw;
		border-radius: 20px;
		margin: auto;
		margin-top: -10px;
		text-align: center;
		padding: 5px;
		left: 10px;
		background-color: white;
		margin-bottom: 100px;;
		
		
		
	}
	  .navbar-mobile .logo img {
        width: 38px; /* Réduit la taille de 20% de 60px à 48px */
		  
    }
}


/* Pour la navigation desktop */
@media (min-width: 769px) {
    .navbar {
        display: flex; /* Affiche la nav desktop */
    }

    .navbar-mobile, .mobile-menu-btn {
        display: none;
    }
	

}
	

/* ------------works------- */
.container-fluid {
    top: 0;
}

.container {
    display: flex; /* Utilise Flexbox pour disposition horizontale */
    width: 100%; /* Assure que la largeur de la page est la largeur de la fenêtre */
    height: 100vh; /* Assure que le conteneur occupe toute la hauteur de la fenêtre */
    margin-top: 0px;
}

.page {
    display: flex;
    flex-direction: column;
    flex: 0 0 50%; /* Chaque page occupe 50% de la largeur du conteneur */
    height: 100%; /* Assure que chaque page occupe toute la hauteur du conteneur */
    margin-right: 10px;
}

.page img {
	object-fit: cover;
    border-radius: 20px;
}


.able {
    background-color: black !important;
}

.legend {
    display: flex;
	justify-content: space-between!important;
	width: 80%;
	margin-top: 15px;
}

.active {
    background-color: black;
    color: white;
    border-radius: 20px;
}

/* progress bar */
.progress-bar {
    margin: auto;
    width: 95vw;
    height: 20px;
    background-color: white;
    border: 1px solid black;
    border-radius: 20px;
    z-index: 100; /* Assure que la barre soit toujours visible */
    opacity: 100%;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background-color: #000;
    border-radius: 20px;
}

/* Masque la barre de défilement dans les navigateurs WebKit (Chrome, Safari) */
.container-fluid::-webkit-scrollbar {
    display: none;
}

/* Masque la barre de défilement dans Firefox */
.container-fluid {
    scrollbar-width: none;
}




/*-------------------About--------------------*/
.about-page {
    overflow-y: auto!important; /* Active le défilement vertical */
    overflow-x: hidden!important; /* Désactive le défilement horizontal sur la page about */
}

/* Ajout d'une règle pour éviter de cacher le contenu */
.about-page #about { background-color: #DBD7D3!important
     /* Assure que le contenu peut s'étendre */
}
/* Pour centrer l'image et ajuster sa taille sur mobile */
.img-mobile {
    max-width: 80%; /* L'image sera plus petite en format mobile */
    max-height: 80vh; /* L'image ne dépassera jamais 80% de la hauteur de l'écran */
    object-fit: contain; /* L'image sera contenue dans son espace sans être déformée */
}

/* Sur les écrans plus grands (desktop) */
@media (min-width: 768px) {
    .img-mobile {
        max-width: 100%; /* L'image prend la taille normale sur desktop */
        max-height: none; /* On retire la limite de hauteur sur desktop */
    }
	

}

.head-about img{
max-height: 80vh;
}
.video-background {
    position: fixed; /* La vidéo reste fixe lors du défilement */
    top: 50%; /* Centre verticalement */
    left: 50%; /* Centre horizontalement */
    transform: translate(-50%, -50%); /* Ajuste pour centrer exactement */
    max-width: 90%; /* Limite la largeur de la vidéo à 80% du conteneur */
    max-height: 90%; /* Limite la hauteur de la vidéo à 80% du conteneur */
    width: auto; /* Permet à la largeur de s'ajuster automatiquement */
    height: auto; /* Permet à la hauteur de s'ajuster automatiquement */
    z-index: -1; /* Assure que la vidéo est en dessous des autres éléments */
	 pointer-events: none; /* Permet de passer à travers l'élément */
}
.responsive-video {
  max-width: 50%;           /* Réduit la taille à 50% en version desktop */
  height: auto;         /* Maintient les proportions de la vidéo */
	object-fit: contain;
}

/* Média query pour mobile */
@media (max-width: 768px) {
    .responsive-video {
        width: 100%;      /* Utilise toute la largeur disponible */
        height: auto;     /* Maintient les proportions */
        max-width: 100%;  /* Évite que la vidéo dépasse les bords */
        border-radius: 10px; /* Ajoute un petit arrondi si besoin */
    }
}


.sectionab2 img{
	
	max-width: 70%;
	
}
.sectionab2{
	position: relative;
	z-index: 2;
	background-color: black;
	height: auto;
	color: #DBD7D3;
	margin-top: 100vh;
	padding: 20px;
}
.sectionab3{
	margin: auto;
	left: 0px;
	position: relative;
	z-index: 2;
	padding-top: 10%; 
	background-color: #DBD7D3;
	padding-bottom: 10%; 
}
.sectionab3 img{
	max-width: 70%;
	
}

.dotted {
    border: none; /* Supprime les bordures par défaut */
    border-top: 2px dotted black; /* Définit la bordure supérieure pointillée */
    max-width: 100%; /* Définit la longueur de l'hr */
    margin: 20px auto; /* Centre l'hr horizontalement avec une marge verticale */
}






.button{
	background-color: black;
	color: #DBD7D3;
	border-radius: 50px;
	max-width: 100px;
	padding: 3px;
	justify-content: center;
	display: flex;
	align-content: center;}
	
.buttonz a{
	background-color: black;
	color: white!important;
	border-radius: 50px;
	max-width: 100px;
	padding: 3px;
	justify-content: center;
	display: flex;
	align-content: center;
	text-decoration: none!important;
}



.buttons{
	background-color: #DBD7D3;
	color: black;
	border-radius: 20px;
	padding: 5px 20px;
	
	margin-bottom: 30vh;
	margin-top: 30px;
}

.buttons a:link, a:active,a:visited, a:hover{
	text-decoration: none!important;
}



.boutton {
    position: relative;
    background-color: white;
    color: black;
    border-radius: 20px;
    padding: 5px 20px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    transition: color 0.4s ease;
}

/* Effet de remplissage noir au survol */
.boutton::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: black;
    transition: width 0.4s ease;
    z-index: 1;
}

/* Remplissage noir et texte blanc au survol */
.boutton:hover::before {
    width: 100%;
}

.boutton:hover {
    color: white;
}
.boutton:hover i {
    color: white;
}

/* Assure que le contenu du bouton reste visible */
.boutton i,
.boutton span {
    position: relative;
    z-index: 2;
	color: black;
}


.txt{
	margin-top:10vh;
	margin-bottom: 10vh; 
	right: 0vh;
}
@media (max-width: 768px) { /* Ajuster la taille selon la largeur de l'écran */
    .video-background {
        max-width: 170%; /* La vidéo peut atteindre 150% de la largeur du conteneur */
        max-height: auto; /* Ajuster la hauteur automatiquement */
    }
	.sectionab2 img{
		max-width: 150%;
		margin-left: 50px;
		

}
	.sectionab3{
		max-width: 150%;
		margin-left: 50px;
		
	}
}


  .boutton {
    margin-bottom: 100px;
  }


/*---------------------------------------contact------------------------------*/
.hero-changing-text-div h1{
	font-family: 'suisse_intlbold';
	font-size: 120px;
	margin-top: 100px
	
}
@media (max-width: 768px) {
    .hero-changing-text-div h1 {
        font-size: 70px; /* Réduit la taille pour les petits écrans */
        text-align: center;
		margin-top: 50px
		
    }
}

.contact{
	position: absolute;
	top:50%
}
.hero-changing-text-div, a:link{
	color: black
}

.nav-link.active {
    color: white;
    background-color: black;
}




/*---------------------------------------detailt------------------------------*/
li{
	list-style-type: none;
}

.detail{
	overflow-y: auto!important;
	overflow-x: hidden!important;
	
}

.detail img{
	margin: auto;
	
}
/* Section styling */
.carousel {
   
    width: 50vh;
    max-width: 50vh;
    overflow: hidden;
    margin: auto;
    height: 80vh; /* Ajuster selon la hauteur souhaitée */
	border: black dashed 1px;
	border-radius: 20px;
	margin-bottom: 20%;
	margin-top: 10%;

	
}

.slides {
    display: flex;
    width: 100%; /* 100% * nombre d'images */
    animation: slide 12s infinite;
}

.slide {
    width: 100%;
    flex: 1 0 100%;
}

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

/* Animation pour le carousel */
@keyframes slide {
    0% { transform: translateX(0); }
    33.33% { transform: translateX(-100%); }
    66.66% { transform: translateX(-200%); }
    100% { transform: translateX(0); }
}

footer{
	width: 80vw;
	justify-content: space-between;
	margin: auto;
	margin-bottom: 10%;
}


.black{
	
	border-top: black dashed 1px;

}

.rounded-image {
  border-radius: 20px;
}

/* Style de la galerie */
/* Styles pour la galerie en desktop */
.gallery {
	background-color: white;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Deux colonnes */
  gap: 10px; /* Espace entre les images */
}

.gallery img {
	background-color: white;
  width: 100%;               /* Prend toute la largeur de la colonne */
  height: 600px;             /* Hauteur fixe pour uniformiser la taille */
  object-fit: cover;         /* Conserve l'aspect et recadre si nécessaire */
  border-radius: 8px;        /* Coins arrondis (facultatif) */
  top: 0;
}

/* Styles pour la galerie en mobile */
@media (max-width: 768px) {
  .gallery {
    grid-template-columns: 1fr; /* Une seule colonne en mobile */
  }

  .gallery img {
    width: 100%;              /* Prend toute la largeur en mobile */
    height: auto;             /* Ajuste la hauteur automatiquement */
  }
}


.headerfull img.desktop-only {
	position: fixed;
	z-index: -1;
	
  display: block;
	width: 80vw;
}

.headerfull video.mobile-only {
  display: none;
}

@media (max-width: 767px) { /* Ajuste la taille si nécessaire */
  .headerfull img.desktop-only {
    display: none;
	}
	.rip{
		margin-top: -50px;
		width: 100vw;
		
	
	}
	
	.bord{
	border-bottom: dashed 1px black;
	padding: 10px;
}
	
	
	header.mck{

	margin-top: -10%;
		margin-bottom: -80%
	
}
	
	
}


header.mck{

	margin-top: -10%;
	
}
.rip{

	padding-top: 0px;
}

section a:link, a:hover, a:active, a:visited {
	color: black;
	text-decoration: underline;
}

/* Ajuste la taille uniquement en version desktop */
@media (min-width: 769px) {
    .desktop-video {
        max-width: 40%!important; /* Réduit la taille de cette vidéo en desktop */
        height: auto; /* Maintient les proportions */
		border-radius: 20px;
    }
}


.bg-dark{
	color: white;
	background-color: black!important;
}

.affiche{
	
    width: 100%; /* Prend toute la largeur du conteneur */
    height: 80vh; /* Prend 50% de la hauteur de l'écran */
    object-fit: contain; /* Ajuste le contenu pour remplir le conteneur sans déformer */
	

}	

.rond{
	border-radius: 20px!important;
}
.bg-info{
	background-color: #DCE3EE!important;
}

.bord{
	border-right: dashed 1px black;
	padding: 10px;
}
		