@font-face {
	font-family: Montserrat;
	src: url(../fonts/Montserrat-Regular.ttf);
	font-weight: normal;
}

@font-face {
	font-family: Montserrat;
	src: url(../fonts/Montserrat-Light.ttf);
	font-weight: 200;
}

@font-face {
	font-family: Montserrat;
	src: url(../fonts/Montserrat-SemiBold.ttf);
	font-weight: 600;
}

@font-face {
	font-family: Montserrat;
	src: url(../fonts/Montserrat-Bold.ttf);
	font-weight: 800;
}

.white{
	color:white;
}


html{
	font-family: Montserrat;
	font-size: 1rem;
}

.grecaptcha-badge{
  display: none;
}

img{
	max-width: 100%;
}

.btn:focus ,button:focus,.navbar-toggler:focus {
  border-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;

}

.toggler-icon{
    position: relative;
    width: 27px;
    height: 23px;
}

/* Barres du menu (3 lignes) */
.collapsed .toggler-icon span,.toggler-icon span {
    border-bottom: 3px solid #D60057;
    width: 27px;
    height: 3px;
    display: block;
    transition: 0.5s ease;
}



/* Nouvelle classe pour l'état "croix" */
.toggler-icon span.line2 {
     opacity: 0;
}

.toggler-icon span.line1 {
    transform: rotate(-30deg) translate(-4px,8px);
    margin: 0;
}

.toggler-icon span.line3 {
	 
    transform: rotate(30deg) translate(3px,2px);
    margin: 0;
}

.collapsed .toggler-icon span.line1 {
    transform: none;
     
}

.collapsed .toggler-icon span.line2 {
    margin-top: 7px;
    display: block;
     opacity: 1;
}

.collapsed .toggler-icon span.line3 {
    margin-top: 7px;
    transform: none;
}

.m-section{
	margin-bottom: 5rem;
	margin-top: 5rem;
}

.mb-section{
	margin-bottom: 5rem;
}

.mt-section{
	margin-top: 5rem;
}

.f-15{
	font-size: 1.5rem!important;
}

h1{
	color: white;
	font-weight: 800;
	font-size: 3.625rem;
	line-height: 80px;
	text-align: center;
	letter-spacing: 0.2px;
}

.h2{
	font-size: 2.5rem;
	font-weight: 800;
}

.h3{
	font-size: 1.875rem;
	font-weight: 600;
}

.h4{
	font-size: 1.25rem;
	font-weight: 600;
}

.bold{
	font-weight: 600;
}

.light{
	color: #737373;
}

.w-60{
	width: 75%;
}

.mainColor{
	color:#D60057!important;
}

.secondColor{
	color: #646569!important;
}

.partenaireColor{
	color: #0058B2!important;
}

.whiteColor{
	color: white;
}


.backMainColor{
	background-color:#D60057 ;
}

.backSecondColor{
	background-color: #646569;
}

.backWhiteColor{
	background-color: white;
}

.backPartenaireColor{
	background-color: #FFDB00;
}

.btn{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 0.7rem 1.5rem;
	gap: 1rem;
	color:white;
	border-radius: 0.3rem;
	width: fit-content;
	font-size: 0.875rem;
	font-weight: 600;
}


.btn-main-color{
	background: #D60057;
	transition: 1s ease;
}


.btn-main-color:hover{
	background: #646569;
	transition: 1s ease;
	color:white;
}

.btn-partenaire-color{
	background: #252B42;
}

.btn-partenaire-color:hover{
	background: #FFDB00;
	transition: 1s ease;
	color:black;
}

ul{
	padding: 0;
	list-style: none;
	margin: 0;
}

a{
	color: black;
	text-decoration: none;
}

a:hover{
	color: black;
}

html, body, main{
	overflow-x: hidden;
}

header{
	background-color: white;
	padding: 1rem 0;
	position: fixed;
	z-index: 9999;
	width: 100%;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	top: 0;
	left: 0;
}

header .logo{
	width: 10rem;
}

header nav ul{
	display: flex;
}



nav a{
	font-size: 0.875rem;
	font-weight: 600;
}


.BackFullImg{
	background-image: url('../img/header/header-2000.webp');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100vh;
	margin:0;
	padding: 0;
	overflow-x: hidden;
}

#BackImg{
	position: relative;
	height:60vh;
	width: 100%;
	padding: 8rem 0 4rem;
	
}

.BackFullImg::before {
	content: ''; /* Nécessaire pour créer le pseudo-élément */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5); /* Noir avec 30% d'opacité */
	z-index: 1; /* S'assurer que le calque soit devant */
	pointer-events: none; /* Permet de ne pas interférer avec les interactions sur l'élément sous-jacent */
	margin:0;
	padding: 0;
	overflow-x: hidden;
}

#BackImg div{
	position: relative;
	z-index: 3;
}

#BackImg p{
	font-size: 1.25rem;
	color: white;
	text-align: center;
}

#about{
	background-color: transparent;
	position: relative;
	z-index: 2;
	color: white;
}

#services,#partenaires,#clients{
	position: relative;
	z-index: 2;
	background-color: white;
	padding: 6rem 0;
}

.carousel-indicators{
	bottom: -3rem;
}

.carousel-indicators [data-bs-target] {
	background-color: #D60057;
}

#partenaires{
	padding-bottom:0 ;
}


#services h3{
	font-size: 1rem;
}

.circle{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: white;
	margin: 1rem 0;
}


.circle p{
	font-weight: 600;
	margin-bottom: 0.5rem;
	font-size: 1.5rem;
}

.circle span{
	font-weight: 600;
	font-size: 2rem;
	line-height: 1;
}

.description{
	padding: 1rem;
}

.description h3{
	font-size: 1.25rem;
}

.description li{
	font-size: 0.875rem;
}

.description span{
	text-decoration: underline;
}

.backPartenaireColor{
	position: relative;
	z-index: 2;
	padding: 4rem 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.backPartenaireColor div{
	background-color: white;
	padding: 2rem 3rem;
}

.backPartenaireColor div img{
	width: 50%;
}

#contact{
	position: relative;
	padding-top:10vh;
}

/*#contact .backMainColor{
	position: absolute;
	top: 0;
	left: 0;
	height: 50vh;
	width: 100%;
}
*/
#contact .d-flex.justify-content-center{
	position: relative;
	z-index: 3;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

#clients{
	position: relative;
	z-index: 2;
}

#clients img{
	height: fit-content;
}

form input,form textarea{
	box-sizing: border-box;
	background: #F9F9F9;
	border: 1px solid #E6E6E6;
	border-radius: 5px;
	width: 100%;
	padding: 0.5rem 0.5rem;
	margin-top: 0.5rem;
}

form label{
	font-size: 0.875rem;
	font-weight: 600;
}

footer img{
	width: 22rem;
}
footer,#fun-fact{
	position: relative;
	z-index: 2;
}

footer,footer a{
	color: white;

}

footer .info{
	font-size: 0.875rem;
}

footer h2{
	font-size: 1.5rem;
}

footer h3{
	font-size: 1rem;
}

#contact .backGreyColor{
	color: white;
}

.modal-dialog{
	top: 50%;
    transform: translateY(-50%)!important;
}

@media (max-width: 1200px) {


	.m-section {
		margin-bottom: 4rem;
		margin-top: 4rem;
	}

	.mb-section{
		margin-bottom: 4rem;
	}

	.mt-section{
		margin-top: 4rem;
	}

	header .btn{
		display: none;
	}

	.navbar{
		width: 100%;
	}

	.BackFullImg{
		background-image: url('../img/header/header-1400.webp');
	}

	#BackImg{
		
		padding: 6rem 0 3rem;
	}


	h1 {
        font-size: 3rem;
		line-height:3.7rem;
    }

	#partenaires .col-lg-4.me-5{
		margin-right: 0!important;
		margin-bottom: 2rem;
	}

	#partenaires .col-lg-4.ms-5{
		margin-left: 0!important;
	}

	#clients .justify-content-between{
		justify-content: center!important;
	}

	#clients .justify-content-between img{
		margin-bottom: 2rem;
	}

}

@media (max-width: 900px) {


	header .container{
		--bs-gutter-x: 0rem;
		max-width: 100%!important;
	}

	header nav ul{
		display: block;
	}

	header img{
		margin-left: 1rem;
	}

	#mainNav{
		position: absolute;
		left: 0;
		top:100%;
		width: 100%;
		background-color: white;
		padding: 1rem;
		z-index: 4;
	}

	#mainNav .ms-3{
		margin-left: 0!important;
	}

	#mainNav .me-3{
		margin-right: 0!important;
	}


	.m-section {
		margin-bottom: 3.5rem;
		margin-top: 3.5rem;
	}

	.mb-section{
	  	margin-top: 250px;
		margin-bottom: 250px;
	}

	.mt-section{
		margin-top: 3.5rem;
	}

	.BackFullImg{
		background-image: url('../img/header/header-900.webp');
	}


	#BackImg{
		padding: 4rem 0 2rem;
	}

	h1 {
		margin-top: 2rem;
		font-size: 2rem;
		line-height:3.5rem;
	}

	#partenaires .col-lg-4.me-5{
		margin-right: 0!important;
		margin-bottom: 2rem;
	}

	#partenaires .col-lg-4.ms-5{
		margin-left: 0!important;
	}

	#clients .justify-content-between{
		justify-content: center!important;
	}

	#clients .justify-content-between img{
		margin-bottom: 2rem;
	}

}

@media (max-width: 400px) {

	header .container{
		--bs-gutter-x: 0rem;
	}

	header nav ul{
		display: block;
	}

	header img{
		margin-left: 1rem;
	}

	.mt-mobil-2{
		margin-top: 2rem;
	}

	.h3 {
    font-size: 1.6rem;
   }

	#mainNav{
		position: absolute;
		left: 0;
		top:100%;
		width: 100%;
		background-color: white;
		padding: 1rem;
		z-index: 4;
	}

	#mainNav .ms-3{
		margin-left: 0!important;
	}

	#mainNav .me-3{
		margin-right: 0!important;
	}


	.m-section {
		margin-bottom: 3rem;
		margin-top: 3rem;
	}

	.mb-section{
		margin-top: 250px;
		margin-bottom: 250px;
	}

	.mt-section{
		margin-top: 3rem;
	}

	.BackFullImg{
		background-image: url('../img/header/header-400.webp');
	}


	#BackImg{
		padding: 2rem 0 1rem;
	}

	#BackImg .mt-5{
		margin-top: 1rem!important;
	}

	h1 {
			margin-top: 4rem;
		font-size: 1.7rem;
		line-height: 2.7rem;

	}

	#about .h3.mb-5{
		margin-bottom: 1rem!important;
	}

	#about .col-lg-6{
		margin-top: 2rem!important;
	}

	.w-60{
		width: 100%;
	}

	#partenaires .col-lg-4.me-5{
		margin-right: 0!important;
		margin-bottom: 2rem;
	}

	#partenaires .col-lg-4.ms-5{
		margin-left: 0!important;
	}

	.backPartenaireColor div img {
    width:100%;
}

	#clients .justify-content-between{
		justify-content: center!important;
	}

	#clients .justify-content-between img{
		margin-bottom: 2rem;
	}

}
