/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@font-face {
	font-family: 'Montserrat-Bold';
	src: url('/fonts/Montserrat-Bold.otf') format('opentype');
}
@font-face {
	font-family: 'Montserrat-Medium';
	src: url('/fonts/Montserrat-Medium.otf') format('opentype');
}
@font-face {
	font-family: 'Montserrat-Regular';
	src: url('/fonts/Montserrat-Regular.otf') format('opentype');
}

@font-face {
	font-family: 'Montserrat-black';
	src: url('/fonts/Montserrat-black.otf') format('opentype');
}

body{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 10pt;
	line-height: 20pt!important;
}

p {
	line-height: 22px!important;
	text-align: justify!important;
}

.min-h-500px {
	min-height:570px!important
}

.pattern-bg {
	background-image: repeating-linear-gradient(45deg, #eff0f3 0, #eff0f3 1.5px, transparent 0, transparent 50%)!important;
background-size: 05px 05px!important;
background-color: #f3f4f6!important;
}

.h1-special {
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 16pt!important;
	font-weight: 700!important;
	padding-top: 09px!important;
}

.font-r-14{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 10pt;
}
.font-r-16{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 12pt;
}
.font-r-18{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 14pt;
}
.font-r-14-i-14{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 10pt;
	line-height: 10pt;
}
.font-r-24{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 20pt!important;
}
.font-r-20-i-24{
	font-family: 'Montserrat-Regular', sans-serif!important;
	font-size: 14pt!important;
	line-height: 20pt;
}
.font-b-14{
	font-family: 'Montserrat-Bold', sans-serif!important;
	font-size: 10pt;
}
.font-b-16{
	font-family: 'Montserrat-Bold', sans-serif!important;
	font-size: 12pt;
}
h3{
	font-family: 'Montserrat', sans-serif!important;
	font-size: 14pt!important;
	font-weight: 700!important;
}

h4{
	font-family: 'Montserrat', sans-serif!important;
	font-size: 22pt!important;
	font-weight: 600!important;
}
.font-b-18{
	font-family: 'Montserrat-Bold', sans-serif!important;
	font-size: 16pt;
}
.font-b-24{
	font-family: 'Montserrat-Bold', sans-serif!important;
	font-size: 20pt;
}
.font-b-20{
	font-family: 'Montserrat-Bold', sans-serif!important;
	font-size: 22pt!important;
}
.font-b{
	font-family: 'Montserrat-Bold', sans-serif!important;
}
.font-m{
	font-family: 'Montserrat-Medium', sans-serif!important;
}
.font-m-24{
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 20pt;
}
.font-m-18{
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 18pt;
}
.font-m-16{
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 12pt;
}
.font-m-14{
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 10pt;
}
h2 {
	font-family: 'Montserrat-Medium', sans-serif!important;
	font-size: 16pt!important;
	font-weight: 700!important;
	padding-top: 09px!important;
}
.font-alternates-b-59{
	font-family: "Montserrat Alternates", sans-serif;
	font-weight: 700;
	font-size: 50pt;
}
.font-alternates-b-59-mobile{
	font-family: "Montserrat Alternates", sans-serif;
	font-weight: 600;
	font-size: 40pt;
}
.font-a-16{
	font-family: "Montserrat Alternates", sans-serif;
	font-size: 16pt;
}
.grid-item {
    transition: transform 0.3s ease, margin 0.3s ease;
}
.grid-item:hover,
.grid-item.active {
    transform: scale(1.2);
}

.selected {
	transform: scale(1.2);
}
.arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}
.left-arrow {
	left: -40px; /* Adjust this value as needed */
}
.right-arrow {
	right: -40px; /* Adjust this value as needed */
}
.dropdown-content {
	display: none;
	position: fixed;
	top: 110px; /* Adjust based on header + navbar height */
	width: 100%;
	z-index: 9;
}

.nav-item {
	height: 100%;
	position: relative;
}

.nav-item a {
	position: relative;
	z-index: 11;
	margin-bottom: -4px;
}

.nav-item a.active {
	background-color: #f3f4f6;
	border-bottom: 4px solid #00bcd4;
}

.nav-item a.active::after {
	content: '';
	position: absolute;
	top: -5px; /* Adjust based on the desired position */
	left: 50%;
	transform: translateX(-50%) rotate(180deg);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #37532C; /* Adjust based on your desired color */
	z-index: 30; /* Ensure it is above the header and navbar */
}

.green-bt {
	background-color: #a1b196!important;
}
.grey-bar {
	background-color: #DFDFDF;
	height: 4px;
	width: 100%;
}

.breadcrumb-container {
	display: flex;
	align-items: center;
	gap: 0.5rem; /* Adjust the gap as needed */
}
.breadcrumb-buttons {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb-buttons a {
	padding: 0.5rem 1rem;
	border-radius: 0.25rem;
	text-decoration: none;
}

.gradient-button {
	background: linear-gradient(to top, #0096A5, #00A8AD); /* Adjust the colors as needed */
	color: white;
	border: none;
	padding: 6px 9px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 14px;
	cursor: pointer;
}



.footer {
	background-color: #839872;
	color: #ffffff;
}


.footer-bottom {
	background-color: #37532C;
	color: #ffffff;
}

.footer-bottom a {
	color: #ffffff;
	text-decoration: none;
}

.footer a {
	color: #ffffff;
	text-decoration: none;
}

.footer a:hover {
	text-decoration: underline;
}
html {
	scroll-behavior: smooth;
}

.show-mobile {
		display: none!important;
	}

.titre-mobile2 {
	text-align: left!important;
}

@media (max-width: 992px) {
	.pt-slide-mobile {
		padding-top: 3rem!important;
	}
	.mt-slide-mobile {
		margin-top: 6.5rem!important;
	}
	.mb-slide-mobile {
		margin-bottom: 6.5rem!important;
	}
	.hide-mobile {
		display: none!important;
	}
	
	.show-mobile {
		display: block!important;
	}
	
	.titre-mobile {
		font-size: 16px!important;
	}
	
	.titre-mobile2 {
		font-size: 14px!important;
		text-align: center!important;
	}
}

#scroll-wrapper {
    display: flex;
    flex-direction: row;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto; /* This allows vertical scrolling */
	margin: 0;
	padding: 0;
}

.section {
    flex: 0 0 100vw; /* Each section takes the full width of the viewport */
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
	margin-top: 5rem;
}

.cardes {
  display: inline-block;
  perspective: 1800px;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transform: rotateX(11deg) rotateY(16.5deg);
}
.carde {   
    opacity: 0;
    transform: translateY(20px); /* Start slightly below */
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; /* Smooth transition */
    display: flex;
    align-items: center; /* Center vertically */
    gap: 1rem; /* Space between image and text */
    padding: 1rem;
    flex-direction: row; /* Ensures image is on the left */
}

.gradient-button-2 {
	background: linear-gradient(to top, #0096A5, #00A8AD); /* Adjust the colors as needed */
	color: white;
	border: none;
	padding: 4px 12px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 20px;
	cursor: pointer;
}

.bouncing-element {
	display: inline-block;
	animation: bounce 2s infinite; /* 2s duration and infinite repetition */
}

@keyframes bounce {
	0%, 100% {
	  transform: translateY(0); /* Start and end at the original position */
	}
	50% {
	  transform: translateY(-20px); /* Move up by 20px */
	}
}

.side-to-side-element {
	display: inline-block;
	animation: sideToSide 2s infinite; /* 2s duration and infinite repetition */
}

@keyframes sideToSide {
	0%, 100% {
	  transform: translateX(0); /* Start and end at the original position */
	}
	50% {
	  transform: translateX(20px); /* Move right by 20px */
	}
}

.smooth-rocking-element {
    display: inline-block;
    animation: smooth-rocking 3s infinite ease-in-out; /* Duration and easing for smooth transition */
}

@keyframes smooth-rocking {
    0% {
      transform: rotate(20deg); /* Start at 30° */
    }
    50% {
      transform: rotate(-30deg); /* Rotate to -30° */
    }
    100% {
      transform: rotate(20deg); /* Back to 30° */
    }
}

.grow-shrink {
    display: inline-block;
    animation: growShrink 1s infinite alternate, moveUpDown 2s infinite alternate ease-in-out, moveLeftRight 2s infinite alternate ease-in-out;
}

@keyframes growShrink {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.2);
    }
}

.rotating-element {
    display: inline-block;
    animation: continuousRotate 4s infinite linear; /* 4s duration, infinite repetition with linear motion */
}

@keyframes continuousRotate {
    0% {
        transform: rotate(0deg); /* Initial position */
    }
    100% {
        transform: rotate(360deg); /* Complete rotation */
    }
}


  .image-container {
    position: relative;
    display: inline-block;
  }

  .image-container img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
  }
  .image-container img:hover {
    cursor: none;
  }

  .custom-cursor {
    position: absolute;
    pointer-events: none; /* Pour éviter d'interférer avec d'autres interactions */
    transform: translate(-50%, -50%);
    font-size: 16px;
    font-weight: bold;
    color: #37532C;
    display: none; /* Masqué par défaut */
    z-index: 1000;
  }

  .image-container:hover .custom-cursor {
    display: block; /* Affiche le texte lorsqu'on survole l'image */
  }


