/**********************************
  structure globale du site
***********************************/
html{
    height: 100%;
}
body{
    height: 100%;
    display: flex;
    flex-direction: column;
    user-select: none; /* Empêche la sélection de texte */
    -webkit-user-select: none; /* Support pour Safari */
    -moz-user-select: none; /* Support pour Firefox */
    -ms-user-select: none; /* Support pour IE */
}
/* Permettre la sélection et les interactions sur les boutons et liens */
button, a, input, textarea, select {
    user-select: text; /* Autoriser la sélection sur ces éléments */
    cursor: pointer; /* Rendre le curseur interactif */
    z-index: 1;
}
.margeTop{
    margin-top: 100px;
}
.paddingText{
    width: 80%;
    margin: 0 auto 1rem auto;
}
.borderBloc{
    background: #1A1A1A;
    border-radius: 20px;
    padding: 18px;
    transition: all .3s ease;
}
.borderBloc:hover {
    box-shadow: 0px 0px 8px rgba(255, 255, 255, 0.15);
}
.borderBloc .financementInnerImg{
    border: 1px solid var(--color04);
    border-radius: 14px;
    width: 100%;
    height: 100%;
}
.borderBloc .financementInnerVideo iframe{
    border: 1px solid var(--color04);
    border-radius: 14px;
    width: 100%;
}

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-thumb {
    background: var(--color02);
}
::-webkit-scrollbar-track {
    background: var(--color01);
}

/* ------------
HEADER (EN-TETE)
--------------*/
header{
    padding: 20px 0;
}
header .hdr-logo img{
    max-width: 120px;
}
header.header nav {
    height: fit-content;
}
header.header nav ul.listMenu li{
    font-family: 'sr';
    font-size: 16px;
    position: relative;
}
header.header nav ul.listMenu li:not(:first-child) {
    margin: 0 0 0 45px;
}
header.header nav ul.listMenu li.mobilContact{
    display: none;
}
header nav ul li.current-menu-item a{
    color: var(--color02);
}

header .headerBorder{
    background: rgba(30, 30, 30, 0.2);
    border: 1px solid var(--color04);
    backdrop-filter: blur(22px);
    border-radius: 20px;
    padding: 20px 22px;
}
header .headerContact{
    padding: 12px 22px;
    background: linear-gradient(180deg, #1A1A1A 0%, rgba(26, 26, 26, 0.25) 100%);
    border: 1px solid var(--color04);
    border-radius: 50px;
    transition: all .3s !important;
}
header .headerContact:hover{
    border: 1px solid var(--color02);
    box-shadow: 0px 2px 10px rgba(245, 175, 25, 0.25);
}
header .menuLine{
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background-image: url(../img/menu-line.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
    opacity: 0;
    transform: translateX(-50%);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
header nav ul.listMenu li:hover .menuLine, header nav ul li.current-menu-item .menuLine{
    opacity: 1;
    transform: translateX(0);
}

/* ------------
HEADER SUB MENU (EN-TETE SOUS-MENU)
--------------*/
header nav ul li.menu-item-has-children div.subMenu{
    position: absolute;
    background-color: var(--color03);
    border-top: 3px solid var(--color02);
    opacity: 0;
    transform: scaleY(0);
    min-width: 150px;
    transition: all .3s;
}
header nav ul li.menu-item-has-children:hover div.subMenu{
    opacity: 1;
    transform: scaleY(1);
}
    header nav ul li.menu-item-has-children div.subMenu ul{
        flex-direction: column;
    }
        header nav ul li.menu-item-has-children div.subMenu ul li{
            margin: 0px !important;
        }
            header nav ul li.menu-item-has-children div.subMenu ul li a{
                display: block;
                width: 100%;
                height: 100%;
                padding: 10px 14px !important;
                background-color: inherit !important;
            }

header nav ul li.menu-item-has-children:hover div.subMenu ul li.menu-item-has-children div.subMenu{
    left: 100%;
    top: 0;
    opacity: 0;
    transform: scaleY(0);
}
    header nav ul li.menu-item-has-children div.subMenu ul li.menu-item-has-children:hover div.subMenu{
        opacity: 1;
        transform: scaleY(1);
    }


/* ------------
FOOTER (PIED DE PAGE)
--------------*/
footer{
    margin-top: auto;
}
footer .footerBloc{
    padding: 30px 40px 0px 40px;
    background: rgba(30, 30, 30, 0.2);
    border: 1px solid #262626;
    backdrop-filter: blur(22px);
    border-radius: 20px 20px 0 0;
}
footer .footerLink {
    margin-bottom: 8px;
}
footer .hdr-logo img{
    width: 160px;
}
footer .blocMentionDuBas{
    border-top: 1px solid var(--color00);
    padding: 20px 0;
    margin-top: 30px;
}
footer nav ul.listMenu li:not(:first-child) {
    margin: 0 0 0 45px;
}
    footer .blocMentionDuBas p{
        margin: 0 auto;
        color: var(--color00);
        font-family: 'sl';
    }
    footer a.footerLinkMention:hover{
        color: var(--color00) !important;
    }
    footer a.footermentions{
        color: var(--color00) !important;
        text-decoration: underline;
        margin-left: 30px;
    }
    footer a.footermentions:hover{
        color: var(--color02) !important;
    }
    footer a.headerWA{
        width: 46px;
        height: 46px;
        display: block;
        display: flex;
        justify-content: center;
        align-items: center;
        background: linear-gradient(180deg, #1A1A1A 0%, rgba(26, 26, 26, 0.25) 100%);
        border: 1px solid var(--color04);
        border-radius: 50px;
        transition: all .25s ease-in-out;
    }
    footer a.headerWA:hover{
        border: 1px solid var(--color02);
        box-shadow: 0px 2px 10px rgba(245, 175, 25, 0.4);
    }
    footer a.headerWA svg{
        margin: -1px 0px 0 0;
    }
    footer a.headerWA:hover svg{
        color: var(--color02);
    }
    footer nav ul.listMenu li.mobilContact{
        display: none;
    }



/* ------------
NAV MOBILE (MENU HAMBURGER)
--------------*/
header div.menu-mobil{
    display: none;
}

header .hamburger{
    position: relative;
    z-index: 9;
    padding: 5px;
    background: var(--color01);
    border: 1px solid var(--color02);
    border-radius: 50px;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    display: flex
;
    flex-direction: column;
}
header .hamburger .line{
    width: 30px;
    height: 3px;
    background-color: var(--color02);
    display: block;
    margin: 3px auto;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border-radius: 10px;
}
header div.menu-mobil.open #hamburger-6{
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    border: inherit;
  }
  
  header div.menu-mobil.open #hamburger-6 .line:nth-child(2){
    width: 0px;
  }
  
  header div.menu-mobil.open #hamburger-6 .line:nth-child(1),
  header div.menu-mobil.open #hamburger-6 .line:nth-child(3){
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
    background-color: var(--color02);
  }
  
  header div.menu-mobil.open #hamburger-6 .line:nth-child(1){
    -webkit-transform: translateY(9px);
    -ms-transform: translateY(9px);
    -o-transform: translateY(9px);
    transform: translateY(9px);
  }
  
  header div.menu-mobil.open #hamburger-6 .line:nth-child(3){
    -webkit-transform: translateY(-9px) rotate(90deg);
    -ms-transform: translateY(-9px) rotate(90deg);
    -o-transform: translateY(-9px) rotate(90deg);
    transform: translateY(-9px) rotate(90deg);
  }


header div.menu-mobil ul.list {
	background: var(--color01);
    border: 1px solid var(--color04);
    border-radius: 20px;
	position: absolute;
	width: 100%;
	height: 100vh;
	left: 0;
	top:0 ;
	transform: scaleY(0);
	transform-origin:center top;
	transition: all 0.4s ease;
	z-index: 5;
	padding: 0px;
	margin: 0px;
  }

	header div.menu-mobil ul.list ul{
		padding: 0px;
		top: 50%;
		position: relative;
		transform: translateY(-50%);
		align-items: center;
    	display: flex;
    	flex-direction: column;
	}

		header div.menu-mobil ul.list ul li{
			margin: 0 0 15px 0px !important;
		}

			header div.menu-mobil ul.list ul li a{
				font-family: "sb", sans-serif;
				color: var(--color00);
                font-size: 1.6rem;
			}
            header div.menu-mobil ul.list ul li.current-menu-item a{
                color: var(--color02);
			}

			header div.menu-mobil ul.list ul li a:hover{
				color: var(--color02);
			}

header div.menu-mobil.open ul {
	transform:scaleY(1);
}




/* ------------
RESPONSIVE
--------------*/
/*02 TABLETTE*/
@media screen and (max-width: 1200px), screen and (max-device-width: 1200px) {
    footer nav ul.listMenu li:not(:first-child) {
        margin: 0 0 0 25px;
    }
    h2, .like-h2 {
        font-size: 2.3rem !important;
    }
}

@media screen and (max-width: 992px), screen and (max-device-width: 992px) {
    header nav#nav-main, header .headerContact{
        display: none;
    }
    header div.menu-mobil {
        display: flex;
        margin-left: 25px;
    }
    footer .footerTextBloc{
        margin-bottom: 30px;
    }
    footer .footerTextBloc img.logo{
        margin: 0 auto 16px auto;
        width: 75%;
    }
    footer .footerTextBloc p, footer .blocFooterLink{
        text-align: center;
    }
    footer .blocFooterLink .btnContact a{
        width: 75%;
        margin: 10px auto;
    }
    header.header nav ul.listMenu li.mobilContact{
        display: block;
    }
}

@media screen and (max-width: 767px), screen and (max-device-width: 767px) {
    footer .blocFooterLink:not(:last-child){
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 500px), screen and (max-device-width: 500px) {
    footer .blocFooterLink .btnContact a, footer .footerTextBloc img.logo{
        width: 100%;
    }
    footer .blocFooterLink .footerLink .footerLinkTitle {
        font-size: 1.5rem;
    }
    body{
        font-size: 1.15rem;
    }
    footer .blocMentionDuBas p {
        font-size: 15px;
    }
}