.background{
    background-color: #000000;
}

.black-background{
    background-image: url(/public/images/black-bg.png.webp);
    background-color: #0a0a0a;
    background-position: center;
    color: #FFFEFD;
}
.grey-background{
    background-image: url(/public/images/black-bg.png.webp);
    background-color: #1F2122;
    background-position: center;
    color: #FFFEFD;
}
.white-background {
    background-image: url(/public/images/bg.png.webp);
    background-color: #FFFEFD;
    background-position: center;
    color: #1F2122;
}
.faded-background{
    background: linear-gradient(to bottom right, #232227, #000000);
    color: #FFFEFD;
}


h1{
    font-size: 5.6rem!important;
    font-weight: 700;
    letter-spacing: unset;
    /* font-family: poppins; */
    font-family: 'Syne', sans-serif;
    font-feature-settings: 'pnum' on, 'lnum' on;
    line-height: 85%;
}
h2{
    font-size: 4rem!important;
    font-weight: 700;
    letter-spacing: unset;
    font-family: 'Syne', sans-serif;
    font-feature-settings: 'pnum' on, 'lnum' on;
    line-height: 1;
}
h3{
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 125%;
    letter-spacing: unset;
    font-family: 'Syne', sans-serif;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
h4{
    font-size: 1.8rem!important;
    font-weight: 100;
    line-height: 134%;
    letter-spacing: unset;
    font-family: 'Syne', sans-serif;
    font-feature-settings: 'pnum' on, 'lnum' on;
}
/*
p{
    color: #ffffff;
	font-size: 1.1rem!important;
}*/
p{
    font-size: 1.1rem;
    letter-spacing: -0.02em;
    /* color: #1F2122; */
    margin-top: 12px;
    line-height: 134%;
    font-weight: 100;
    /* font-family: 'Syne', sans-serif; */
    font-family: 'Poppins', sans-serif;
}
.lg-text{
    color: #e4e4e4;
}
b{
    font-weight: 1000;
}
a{
    font-family: poppins!important;
}
li{
    font-family: poppins!important;
}

.navbar{
    position: absolute;
    width: 100%;
    z-index: 99;
    padding-left: 3rem;
    padding-right: 3rem;
    font-size: 1.2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: all 0.3s ease-in-out;
    /* Annuler transition sur la box-shadow */
    transition-property: background, padding-top, padding-bottom, font-size;
}
.navbar-brand{
    font-family: poppins;
	font-weight: unset;
    font-size: 2.5rem;
    padding: 0;
}
nav.scrolled {
    /* Modifier les propriétés CSS lorsque la classe "scrolled" est ajoutée */
    background: linear-gradient(to right, #433533, #1c1716);
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    font-size: .875rem;
    /* Ajouter une transition pour la hauteur de la barre de navigation et la boîte d'ombre */
    transition: all 0.3s ease-in-out;
}
.navbar-brand.scrolled{
    font-size: 1.8rem;
    transition: all 0.3s ease-in-out;
}
.navbar-nav.scrolled{
	padding-top: unset;
	padding-bottom: unset;
}

.navbar-nav .nav-link {
    padding-top: 0.5rem;
    padding-bottom: unset;
}
.nav-link{
    color: #ffffff;
    --bs-navbar-nav-link-padding-x: 0.3rem;
    margin-left: 1.6rem;
    margin-right: 1.6rem;
}
.nav-link:hover{
    color: white;
}

.nav-item:hover{
    transition: all 0.3s ease-in-out;
}
.hover-underline-animation {
    position: relative;
}
.hover-underline-animation:after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 3px;
    border-radius: 3px;
    bottom: 0;
    left: 0;
    background-color: #ffffff;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}
.nav-item:hover .hover-underline-animation:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}





/* android navbar */
.android-navbar{
    opacity: 0;
    pointer-events: none;
    position: fixed;
    bottom: 0;
    /* placer au milieu */
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 1%;
    background: linear-gradient(to top left, #232227, #000000);
    z-index: 99;
    border-radius: 25px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.8);
    padding: 0.8rem 1.6rem;
    transition: opacity 0.3s ease-out;
}
.active{
    opacity: 1;
    pointer-events: auto;
}
.nav-container{
    flex-direction: row!important;
}
.a-container{
    display: flex;
    padding-left: 8px;
    padding-right: 8px;
}
.navbar-logo{
    width: auto;
    height: 50px;
}
/* === Img menu And Text hover === */
.img-menu-1{
	display: block;
}
.img-menu-2{
	display: none;
	/* transition: display 0.3s ease-in-out; */
}
.a-container:hover .img-menu-1{
	transition: all 0.3s ease-in-out;
	display: none;
}
.a-container:hover .img-menu-2{
	transition: all 0.3s ease-in-out;
	display: block;
}

/* si a-container a aussi la classe active */
.a-container.active .img-menu-1{
    display: none;
}
.a-container.active .img-menu-2{
    display: block;
}




/* buttons */

.btn{
    border: none;
    /* border-radius: 12px;*/
    border-radius: 23px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.8);
	color: #000000;
    padding: 0.8rem 1.6rem;
}
.btn:hover{
	color: #000000;
	transition: 0.2s ease all;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.8);
	transform: scale(1.05);
}
.btn-light-blue{
    /* background: linear-gradient(to bottom right, #b3eaf1, #7da5aa); */
    background: linear-gradient(to bottom right, #c5f5fc, #7ab6be);
    --bs-btn-active-color: #ffffff;
    color: #ffffff;
}
.btn-light-blue:hover{
    background: linear-gradient(to bottom right, #cff9ff, #91d3db);
    color: #ffffff;
}
.btn-faded{
    /* dégradé en diagonale */
    background: linear-gradient(to top left, #232227, #000000);
    color: #ffffff;
	--bs-btn-active-color: #ffffff;
    border: none;
}
.btn-faded:hover{
    background: linear-gradient(to top left, #38373d, #000000);
    color: #ffffff;
}
.on-white-bg{
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
}
.on-white-bg:hover{
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2)
}
footer{
    /* background-color: #0a0a0a;
    color: #fff; */
    padding: 100px 0;
}




/* === Menu mobile list === */
.navbar-toggler{
	border: none;
	color: #ffffff;
	padding-right: unset;
}
.navbar-toggler:focus{
	outline: none;
	box-shadow: none;
}

/* === Burger Menu Icon mobile === */
.burger {
	margin: 5px;
	position: relative;
	width: 35px;
	height: 26.25px;
	background: transparent;
	cursor: pointer;
	justify-content: right;
}
.burger input {
	display: none;
}
.burger span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: white;
	opacity: 1;
	left: 0;
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}
.burger span:nth-of-type(1) {
	width: 35px;
	top: 0px;
	transform-origin: left center;
}
  
.burger span:nth-of-type(2) {
	width: 25px;
	top: 50%;
	transform: translateY(-50%);
	transform-origin: left center;
} 
.burger span:nth-of-type(3) {
	width: 15px;
	top: 100%;
	transform-origin: left center;
	transform: translateY(-100%);
}
.burger input:checked ~ span:nth-of-type(1) {
	width: 35px;
	transform: rotate(45deg);
	top: 0px;
	left: 5px;
}
.burger input:checked ~ span:nth-of-type(2) {
	width: 0%;
	opacity: 0;
}
.burger input:checked ~ span:nth-of-type(3) {
	width: 35px;
	transform: rotate(-45deg);
	top: 24.72px;
	left: 5px;
}

/* ====== Emojis ====== */
.emoji{
    font-size: 2rem;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}



/* ===== Contact form ===== */
.input-container {
	align-items: center;
	width: 100%;
	padding: 0px;
	margin: 0px;
	margin-bottom: 40px;
	margin-top: 3%;
	border: none;
	border-bottom: 1px solid #ffffff;
}
.wave-group {
	position: relative;
	width: 100%;
}
.input-form {
	font-size: 16px;
	padding: 10px 10px 10px 5px;
	display: block;
	width: 100%;
	border: none;
    background-color: transparent!important;
    color: #ffffff!important;
}
.textarea-form{
    font-size: 16px;
    padding: 10px 10px 10px 5px;
    display: block;
    width: 100%;
    border: none;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 10px;
}
.input-container .input-form:focus {
	outline: none;
}
.input-container .label {
	color: #ffffff;
	font-size: 18px;
	font-weight: normal;
	position: absolute;
	pointer-events: none;
	left: 5px;
	top: 10px;
	display: flex;
}
.input-container .label-char {
	transition: 0.2s ease all;
	transition-delay: calc(var(--index) * .05s);
}
.input-container .input-form:focus ~ label .label-char,
.input-container .input-form:valid ~ label .label-char {
	transform: translateY(-20px);
	font-size: 14px;
	color: #ffffff;
}
.input-container .bar {
	display: block;
	width: 100%;
}
.bar:before, .bar:after {
	content: '';
	height: 1px;
	width: 0;
	bottom: 0px;
	position: absolute;
	background: #ffffff;
	transition: 0.2s ease all;
	-moz-transition: 0.2s ease all;
	-webkit-transition: 0.2s ease all;
}
.bar:before {
	left: 50%;
}  
.bar:after {
	right: 50%;
} 
.input-form:focus ~ .bar:before,
.input-form:focus ~ .bar:after {
	width: 50%;
}

.form-img{
	vertical-align: middle;
	padding: 1%;
}






/* === Alerts === */
.alert-container{
    justify-content: center;
}
.alert{
    border-radius: 25px;
}
.alert-success{
    background-color: #b3eaf1;
    border: 2px solid #7ab6be;
    color: #000000;
}
.alert-danger{
    background-color: #ec616d;
    border: 2px solid #a82835;
    color: #ffffff;
}


@media screen and (min-width: 1024px) {
    body {
        cursor: none !important;
    }
    .custom-cursor {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #b3eaf1;
        position: fixed;
        transform: translate(-50%, -50%);
        pointer-events: none;
        transition: width 0.3s,height 0.3s, border-color 0.3s, opacity 0.3s;
        z-index: 999;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        top: 0;
        left: 0;
        /* rendre plus visible */
        /*background-color: #b3eaf127;*/
        filter: drop-shadow(0 0 4px #b3eaf1);
        mix-blend-mode: difference; /* Appliquer un mélange de différences */
        /*filter: grayscale(1);*/ /* Inversion et passage en noir et blanc */
    }
    .select-cursor{
        width: 50px;
        height: 50px;
        border: 3px solid #b3eaf1;
        transition: width 0.3s,height 0.3s, border-color 0.3s, opacity 0.3s;
        cursor: none!important;
    }
    /* Ajout de cette ligne pour masquer le curseur de base */
    button:hover, a:hover, input, textarea, [type=submit]:not(:disabled), a:-webkit-any-link {
        cursor: none!important;
    }
    .custom-cursor.large-cursor {
        display: none;
    }
}
@media screen and (max-width: 992px) {
    h1{
        font-size: 3.2rem!important;
    }
    h2{
        font-size: 3rem!important;
    }
    h3{
        font-size: 2rem!important;
    }
    .nav-link{
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

@media screen and (max-width: 768px) {
	h1{
        font-size: 2.2rem!important;
    }
    h2{
        font-size: 2rem!important;
    }
    h3{
        font-size: 1.5rem!important;
    }
    .navbar{
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		padding-left: 1rem;
		padding-right: 1rem;
        background-color: #0a0a0a;
	}
    .android-navbar{
        margin-bottom: 2%;
    }
    .a-container{
        padding-left: 8px;
        padding-right: 8px;
    }
    .navbar-logo{
        width: auto;
        height: 40px;
    }
}
*::selection {
    background: #b3eaf1;
    color: #FFFEFD;
}


/* ========== Scroll Bar ========== */
/*
::-webkit-scrollbar {
	width: 12px;
}
::-webkit-scrollbar-track {
	background: #202020;
}
::-webkit-scrollbar-thumb {
	background: #373737;
	border-radius: 10px;
}
*/
/* ========== Scroll Bar ========== */
/* Style de la barre de défilement principale */
::-webkit-scrollbar {
    width: 16px; /* Largeur de la barre de défilement */    
}

/* Style de la poignée (thumb) de la barre de défilement */
::-webkit-scrollbar-thumb {
    background-color: #c2c2c2; /* Couleur de la poignée */
    /* border-radius: 10px; */ /* Bordures arrondies de la poignée */
    width: 5px; /* Largeur de la poignée de défilement */
    box-shadow: inset 0 0 0 7px #0a0a0a; /* Utilisation de box-shadow pour masquer une partie de la poignée */
}
::-webkit-scrollbar-thumb:hover{
    background-color: #b3eaf1;
    transition: all 0.3s ease-in-out;
    box-shadow: inset 0 0 0 5px #0a0a0a;
}  
/* Style de la piste (track) de la barre de défilement */
::-webkit-scrollbar-track {
    background-color: #0a0a0a; /* Couleur de la piste */
}
/* Style de la poignée (thumb) de la barre de défilement au survol */
::-webkit-scrollbar-thumb:hover {
    background-color: #b3eaf1; /* Couleur de la poignée au survol */
}