*{
    hyphens: none !important;
    -webkit-hyphens: none !important;
    font-family: "Fira sans" !important;
}

:root{
--gradient-txt: linear-gradient(30deg,#b8b9ff, #ffffff, #e4caff);
	--duration-slide-intro: 10s;
	--duration-slide-intro-details: 15s;
}


/* DEV 
#export {
    top: 80vh !important;
    z-index: 500;
    left: 2vw !important;
}  
#export #LaPhoto #edit-fond #image-photo {
    background-color: red !important;
}
*/



#fond-interface{
    display: block;
    min-width: 100%;
    z-index: 0;
    position: fixed;
    top: 50%;
    left: 50%;
    min-height: 100%;
    transform: translateX(-50%) translateY(-50%);
}



html {
    background-color: #dad8d8;
    background-size: cover;
    background-position: center;
}

#legal-info-btn{
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 11000;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    border: none;
    background: #ffffffdd;
    color: #373CF5;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
}

#legal-info-btn:hover{
    background: #373CF5;
    color: #ffffff;
}

#legal-info-modal[hidden]{
    display:none;
}

#legal-info-modal{
    position: fixed;
    inset: 0;
    z-index: 12000;
    background: rgba(0,0,0,0.55);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

#legal-info-modal .legal-info-content{
    margin: 1rem;
    max-width: 420px;
    background: #ffffff;
    color: #000000;
    padding: 1.25rem 1.5rem 1.25rem 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    font-size: 0.9rem;
}

.legal-info-close{
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    border: none;
    background: transparent;
    font-size: 1.2rem;
    cursor: pointer;
}

#legal-info-modal h2{
    font-size: 1.1rem;
    margin-top: 0;
}

#legal-info-modal p{
    margin-bottom: 0.6rem;
}



#export div, #export p, #export span {
    margin: 0;
    padding: 0;
    font-kerning: normal;
    font-feature-settings: normal;
}
#export{
    position: fixed;
    display: inline-block;
    line-height: 0;
    margin: 0;
    padding: 0;
    margin-top: 4em;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
}
html body #screen {
    display: block;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #373CF5;
    height: 874px;
    width: 700px;
    max-width: 700px;
    overflow: hidden;
    text-align: left;
    line-height: 0;
    display: inline-block;
    font-size:12px;
    transform-origin: center;
}

@keyframes AnimationName {
    0%{background-position:91% 0%}
    50%{background-position:10% 100%}
    100%{background-position:91% 0%}
  }
  
 body.generation-en-cours::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    backdrop-filter: blur(4px);
    background: linear-gradient(218deg, rgba(55, 61, 245, 0.7), rgba(0, 172, 224, 0.7), rgba(7, 201, 194, 0.7), rgba(73, 165, 40, 0.7), rgba(155, 186, 0, 0.7), rgba(255, 186, 49, 0.7), rgba(255, 121, 31, 0.7), rgba(227, 50, 50, 0.7), rgba(229, 46, 150, 0.7), rgba(165, 24, 226, 0.7), rgba(55, 61, 245, 0.7));
    background-size: 900% 900%;
    animation: AnimationName 5s ease-in-out infinite;
  }
  body.generation-en-cours::after{
    content: "Génération du visuel en cours";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 99999;
    color: white;
    font-size: var(--font-size-7);
    font-weight: 100;
    text-align: center;
    transform: translateY(-50%);
  }


/* OUTILS 
___________________________________________________________________________
___________________________________________________________________________
________________________________________________________________________ */

html .btn-group>.btn-outline-light{
    font-size: var(--font-size-2);
    font-weight: bold;
    color: white;
    background-color: transparent;
    border-color: white;
    cursor:pointer;
}
html .btn-group>.btn-outline-light:hover{
    color: var(--gris-f2);
    background-color: var(--bleu-l2);
    border-color: white;
}
html .btn-group>.btn-outline-light.active{
    color: var(--gris-f2);
    background-color: white !important
	;
    border-color: white;
}

.alertie{
	display: block;
	position: absolute;
	top:0;
	bottom: 0;
	right:0;
	left:0;
	background-color: rgba(224,0,3,0.67);
	color: white;
	font-size: 20px;
	font-weight: 800;
	text-align: center;
	padding: 2em;
}

#outils {
    transform: translateX(calc(50vw - 50%));
    position: fixed;
    margin: 0;
    padding: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: left;
    background-color: rgb(255, 255, 255);
    overflow: auto;
    max-width: 700px;
}

#outils .nav{
  background-color: var(--gris-l1) ;
  z-index: 50;
  position: relative;
}

#outils .tab-content{
	margin: auto;
    max-height: calc(100vh - 500px);
    overflow-y: auto;
}

#outils .tab-content .container{
    padding: var(--space-4) var(--space-4) !important;
}

#outils .input-minus-plus input {
    width: calc( 3rem + ( var(--space-2) * 2 ));
    flex:0 1 auto;
    text-align: center;
}








#telechargement {
    position: absolute;
    bottom: 2%;
    width: 96%;
    max-width: 800px;
    z-index: 1;
    right: 2%;
    left: 50%;
    padding: 0.2em 0;
    transform: translateX(-50%);
    border-radius: 20rem;
    font-size: 23px;
    text-transform: uppercase;
    background: linear-gradient(30deg, #ffffff, #37aff5, #cce0ff, #dcddff, #c7c4ff);
    transition: var(--transition);
    color:#373CF5;
    text-align:center;
    text-decoration:none!important;
    font-weight:800;
	text-shadow: 2px 2px 3px #ffffff8f;
}
#telechargement:hover{
    color:white;    
	text-shadow: 2px 2px 3px #0000008f;
    background: linear-gradient(239deg,#373CF5, #37aff5, #3780f5, #373CF5, #37d2f5);
    transform: translateX(-50%) scale(1.01) translateY(-8px);
}
    

[id*='zone-']{
    padding: 0 1rem; 
	max-width: 900px;
	margin: 0 auto
}







#outils button {
    display: inline-block;
    margin: 0;
    padding: 0.5em 1em;
    text-align: left;
    background-color: white;
    font-size: 12px;
    border-radius: 2em;
}
canvas {
    display: none;
    position: fixed;
    top: 0em;
    right: 0;
    z-index: 999999;
}





@media screen and (min-width: 800px){
  #export {
      top: 32%;
      transform: translateY(-57%);
      width: 700px;
      left: auto;
  }
  #outils {
    transform: none;
    right: auto;
    height: calc(100vh - 3.5em);
    max-width: calc(100vw - 500px);
    width:600px
  }
  #outils .tab-content {
    margin: auto;
    overflow-y: auto;
    max-height: none !important;
  }
  #telechargement {
    position: fixed;
    bottom: 0;
    z-index: 10;
    bottom: 3%;
  }
}


@media screen and (min-width: 1000px){
  #outils {
    max-width: calc(100vw - 600px);
  }
  #export {
      left: auto;
  }
  #telechargement {
  }
}

@media screen and (min-width: 1100px){
  #outils {
    max-width: calc(100vw - 700px);
  }
  #telechargement {
  }
}

@media screen and (min-width: 1300px){
  #export {
      width: calc(100vw - 600px);
  }
}





/* EDIT 
___________________________________________________________________________
___________________________________________________________________________
________________________________________________________________________ */


#editeur::before{
    content:"";
    right: 0;
    bottom: 0px;
    position: fixed;
    top: 0;
    left:0;
    z-index:-1;
}
#editeur{
    right: 0;
    bottom: 64px;
    position: fixed;
    padding: 1em 0;
    top: 0;
    left:0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    overflow: auto;
    opacity: 1;
    justify-content: center;
}
#editeur-contient{
    aspect-ratio: 1 / 1.59;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 450px;
    max-width: 100%;
    position: relative;
    max-height: 97%;
}

#edit-fond{
    position: relative;
    max-width: 100%;
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    text-align: center;
}

#edit-fond #image-photo{
	--taille-bordure : 0px;
	position: absolute;
	top: calc(8.2% - var(--taille-bordure));
	left: calc(10.1% - var(--taille-bordure));
	right: calc(10.1% - var(--taille-bordure));
	bottom: calc(32.39% - var(--taille-bordure));
	border-radius: 5px;
	overflow: hidden;
	/* background-color: #dddddd; */
	text-align: center;
	cursor: grab;
	/* opacity: 0.15; */
	border: var(--bleu) var(--taille-bordure) solid;
}

#editeur #edit-fond #image-photo{
	--taille-bordure : 2px;
}

#edit-fond #image-photo img{
    max-width: none !important;
    max-height: 100%;
    display: inline-block;
}

#edit-fond #edit-photo{
    position: absolute;
    left: 17%;
    right: 17%;
    bottom: 31%;
    border-radius: 6px;
    overflow: hidden;
    opacity: 0.65;
    background: white;
    transition: var(--transition);
}
#edit-fond #edit-photo:hover, 
#edit-fond #edit-photo.demarre{
    opacity: 0.9;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 15px;
}

#edit-fond #edit-photo.demarre{
    bottom: 39%;
    top: 23%;
}

#edit-fond #edit-photo #charger{
    position: relative;
    cursor: pointer;
    transition: var(--transition);
    height: 100% !important;
    min-height: 100% !important;
    display: flex;
    gap: 5px;
}
#edit-fond #edit-photo #charger:hover{
    background-color: #4d4d4d;  
    color: white;  
}
#edit-fond #edit-photo #charger input{
    display: none;
}
#edit-fond #edit-photo #charger > div{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    text-align: center;
    font-size: 14px;
    font-family: 'Fira Sans';
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    background-color: transparent;
    border-radius: 5px;
    gap: 5px;
    position:relative;
}
#edit-fond #edit-photo #charger > div input{
    display: block;
	position:absolute;
	top: 0;
	bottom:0;
	left:0;
	right:0;
}
#edit-fond #edit-photo #charger > div label{
    text-align: center;
    font-size: 1em;
    line-height: 1.3em;
    font-family: 'Fira Sans';
    font-weight: 700;
    margin: 0;
    padding: 0.25em 0;
}
#edit-fond #edit-photo #charger > div:hover label{
    background-color: black;
    transform: scale(1.02);
}
#edit-fond #edit-photo #charger label i{
    font-size: 16px;
}
#edit-fond #edit-photo.demarre #charger{
    flex-direction: column;
}
#edit-fond #edit-photo.demarre #charger div{
    font-size: 20px;
    height: auto;
    padding: 15px;
}

#edit-fond #edit-photo #zoom{
    border-top: #4d4d4d 1px solid;
    position: relative;
}
#edit-fond #edit-photo.demarre #zoom{
    display: none;
}
#edit-fond #edit-photo #zoom input{
    display: none;
}
#edit-fond #edit-photo #zoom p{
    display: block; 
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0;
    text-align: center;
    font-size: 16px; 
    font-weight: 700;
    padding: 5px 
}
#edit-fond #edit-photo #zoom span{
    border-radius: 0;
    border: none;
    font-size: 30px; 
    line-height: 20px;
    background-color: #aaaaaa;
    transition: var(--transition); 
}
#edit-fond #edit-photo #zoom span:hover{
    background-color: #494949;
}


#edit-fond #image-texte,
#edit-fond #edit-texte{
    position: absolute;
    top: 72%;
    left: 10%;
    right: 10%;
    bottom: 8%;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}

#edit-fond #image-texte #leNom,
#edit-fond #edit-texte #edit-leNom {
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    text-align: center;
    font-size: 33px;
    line-height: 1.1em;
    font-family: 'Fira Sans';
    font-weight: 800;
    margin: 0 !important;
    padding: 0 !important;
    color: #4d4d4d;
    resize: none;
    border: none;
    opacity: 1;
}

#edit-fond #edit-texte #edit-leNom {
    top: 2px;
    position: relative;
}
.edit-type{
	display:flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	align-items: center;
	justify-content: space-evenly;
	width: 100%;
	max-width: 100%;
	margin: -0.5rem 0 1rem 0;
	padding: 0 7%;
}



#LaPhoto{
    position: absolute;
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0;
}

#export .candidat #LaPhoto #edit-fond{
    position: absolute;
    left: -1%;
    top: 10.5%;
    bottom: 6.15%;
    right: 24.14%;
    max-width: inherit;
    transform: rotate(-8.2deg);
    transform-origin: center;
    /* z-index: 16; */
    background: #ff7f504d;
    /* opacity: .4; */
}
#export .laureat #LaPhoto #edit-fond{
    position: absolute;
    left: 7.05%;
    top: 14.53%;
    bottom: -6.8%;
    right: 6.02%;
    max-width: inherit;
    transform: scale(1);
    transform-origin: center;
    z-index: 7;
    background: #ff7f504d;
}/*
#export .laureat #LaPhoto #edit-fond #image-photo{
    left: 0%;
    top: 0%;
    height: 100%;
    width: 100%;
    max-width: inherit;
    bottom: 28.85%;
    transform: scale(1);
    transform-origin: center;
    z-index: 7;
    background: #ff7f504d;
}*/

#LaPhoto #edit-fond #fond
#LaPhoto #edit-texte,
#LaPhoto #edit-photo,
#LaPhoto textarea, 
#LaPhoto #edit-contient-texte-cci-1,
#LaPhoto #edit-contient-texte-cci-2{
    display: none;
}

#edit-contient-texte-cci-1,
#edit-contient-texte-cci-2{
	display: flex;
	position: absolute;
	top: 68.5%;
	height: 14%;
	left: 9%;
	right: 10%;
	text-align: center;
	vertical-align: middle;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1.1rem;
	border: none;
	resize: none;
	padding: 0;
	border: none;
	align-content: center;
	align-items: center;
}

#edit-contient-texte-cci-2{
	top: 81.5%;
	height: 12%;
}


#edit-texte-cci-1,
#edit-texte-cci-2{
	display: flex;
	flex: 0 0 auto;
	width: calc(100% - 3.75rem);
	text-align: center;
	align-items: center;
	vertical-align: middle;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1.53rem;
	border: none;
	border-left: 2px solid var(--gris);
	resize: none;
	--textarea-height: 2.5em;
	height: var(--textarea-height);
	padding: calc(var(--textarea-height) / 2.1) 0;
	overflow: hidden;
	box-sizing: border-box;
}


#edit-texte-cci-1{
	--textarea-height: 3em;
}

#edit-contient-texte-cci-1:before,
#edit-contient-texte-cci-2:before{
	content: "";
	display: inline-block;
	width: 3rem;
	margin-right:0.75rem;
	height: 90%;
	top: 0;
	left: 0;
	background: url('img_src/marche%20bleu%20sombre.svg') no-repeat center;
	background-size: contain;
}
#edit-contient-texte-cci-2:before{
	background-image: url('img_src/localisation%20bleu%20sombre.svg');
}


#edit-cci{
    display:flex;
    background: #373CF5;
    width: 100%;
    max-width: 90%;
    margin: 0.5rem 5% 1rem 5%;
    padding: 0.15rem 0.4rem 0.15rem 1.5rem;
    border-radius: 8em;
    overflow: hidden;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    min-height: 4.35rem!important;
  }
  
  #edit-cci svg{
    display: inline-block;
    width: 3.25rem;
    flex: 0 0 auto;
  }
  
  #edit-cci-texte{
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    flex: 1 1 auto;
    overflow: visible;
  }
  
  #edit-cci-texte textarea{
      order: 0;
      flex: 0 1 auto;
      text-align: left;
      font-size: 1.1rem;
      appearance: none;
      height: 1.9rem;
      border: 1px solid white;
      line-height: 21px;
      font-family: "Fira Sans" !important;
      font-weight: 800;
      margin: 0 !important;
      padding: 0.21rem 5.5px !important;
      background: transparent;
      color: white;
      resize: none;
      text-transform: uppercase;
      opacity: 1;
      width: 100%;
      overflow: hidden !important;
      border-radius: 0 113px 0 0;
  }
  
  #edit-cci-texte textarea:nth-child(2){
      border-radius: 0 0 113px 0;
  }



  #ligne-logo-cci{
    display:flex;
    background: transparent;
    width: auto;
    max-width: none;
    padding: 0px !important;
    overflow: hidden;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 5.5%;
    left: 5%;
    right: 3.7%;
    z-index: 10;
    opacity: 1;
    flex-direction: row;
  }


 .laureat #ligne-logo-cci{
    bottom: 3%;
  }

  #ligne-logo-cci:before{
    display:block;
    content:"";
    width: 316px !important;
    height: 55px;
    margin-right: 0.8em;
    background-color: transparent;
    background-image: url("img_src/logo-partenaires.png");
    background-size:contain;
    background-repeat:no-repeat;
    background-position: center;
    width: auto;
    max-width: none;
    padding: 0px !important;
    overflow: hidden;
    position: relative;
    z-index: 10;
    opacity: 1;
  }
  

  #logo-cci{
    display:flex;
    background: white;
    width: auto;
    max-width: none;
    padding: 8.5px 26px 8.5px 21px !important;
    border-radius: 8em;
    overflow: hidden;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    position: relative;
    bottom:0;
    right: 0;
    z-index: 10;
    opacity: 1;
  }
  
  #logo-cci img{
    display: inline-block;
    width: 2.6em;
    margin-right: 0.5em;
  }
  
  #logo-cci-texte{
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
  }
  
  #logo-cci-texte div{
      order: 0;
      flex: 0 1 auto;
      text-align: left;
      font-size: 16.62px;
      letter-spacing: -0.05px;
      appearance: none;
      height: auto;
      line-height: 17.35px;
      font-family: "Fira Sans" !important;
      font-weight: 800;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent;
      color: #373CF5;
      resize: none;
      text-transform: uppercase;
      opacity: 1;
      width: auto;
  }
    

  #export #LaPhoto img#fond {
    display: none;
}

.input-group-append, .input-group-text{
    user-select: none;
}




/* EXPORT 
___________________________________________________________________________
___________________________________________________________________________
________________________________________________________________________ */


#export #fond{
    z-index: 10;
    position: relative;
}

#export #edit-fond {
    max-width: 100%;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    align-self: unset;
}
#export #LaPhoto #edit-fond #image-photo {
    background-color: #ffffff;
}
#export .candidat #texte-cci-1-conteneur{
	display: flex;
	position: absolute;
	top: 66%;
	left: 10%;
	width: 63.58%;
	height: 18%;
	z-index: 11;
	transform: rotate(-7.9deg);
	transform-origin: center;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

#export .candidat #texte-cci-1{
    font-size: 3.1em;
    line-height: 1.15em;
    text-align: center;
    font-weight: 800 !important;
    color: #2540ff;
}

#export .candidat #texte-cci-2-conteneur{
	display: flex;
	position: absolute;
	top: 59.42%;
	left: 9.25%;
	width: 62.58%;
	height: 17%;
	z-index: 11;
	transform: rotate(-7.9deg);
	transform-origin: center;
	flex-direction: row;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
}
#export .candidat #texte-cci-2-conteneur img{
	width: 4.58%;
		margin-right: 1.5%;
}
#export .candidat #texte-cci-2-conteneur  #texte-cci-2{
    font-size: 1.9em;
    line-height: 1.15em;
    text-align: center;
    font-weight: 800 !important;
    color: #6d7fff;
	letter-spacing:.03rem;
}

#export .laureat #texte-cci-1-conteneur{
	display: flex;
	position: absolute;
	top: 74.42%;
	left: 6.25%;
	right: 5.25%;
	height: 15%;
	z-index: 11;
	transform: scale(0.75);
	transform-origin: center;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

#export .laureat #texte-cci-1{
    font-size: 3.6em;
    line-height: 1.15em;
    text-align: center;
    font-weight: 800 !important;
    color: white;
}
#export .laureat #texte-cci-2-conteneur{
	display: flex;
	position: absolute;
	left: 15.85%;
	width: 71.58%;
	bottom: 23.15%;
	z-index: 11;
	flex-direction: row;
	align-content: center;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: nowrap;
}
#export .laureat #texte-cci-2-conteneur img{
	position: absolute;
	width: 4.18%;
	margin-right: 1.5%;
	left: .75rem;
	top: 50%;
	transform: translateY(-50%);
}
#export .laureat #texte-cci-2-conteneur  #texte-cci-2{
    font-size: 1.4rem;
    line-height: 1.35rem;
    text-align: center;
    font-weight: 800 !important;
    color: #5266f7;
    letter-spacing:.03rem;
    background: rgba(255,255,255,.7);
    display: inline-block;
    padding: .43rem .75rem .43rem 2.64rem;
    border-radius: 10px 10px 10px 20px;
}




/* INTRO FIN 
___________________________________________________________________________
___________________________________________________________________________
________________________________________________________________________ */


#INTRO,#FIN{
  font-size: calc(0.9em + 2vw);
}

@media screen and (max-width: 700px){
#INTRO,#FIN{
  font-size: calc(1.3em + 3vw);
}
}



#INTRO{
    right: 0;
    z-index:50;
    bottom: 100%;
    position: fixed;
    top: 0;
    left:0;
    transition: var(--transition);
    animation: etape var(--duration-slide-intro) var(--transition-mode);
    overflow: hidden;
    background-color: #3411c0;
    background-image: url('img_src/fond_interface.svg');
    background-size: cover;
    background-position: center;
}

#INTRO .etape{
    position: absolute;
    top: 0;
    z-index:5;
    left:2%;
    right: 2%;
    bottom: 100%;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    overflow: hidden;
}


#INTRO .etape p{
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    text-align: center;
    font-size: 1em;
    line-height: 1.1em;
    font-weight: 700;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #c095f0;
    background: var(--gradient-txt);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    max-width: 600px;
    width: 100%;
    margin-bottom: 0.5em !important;
}

#INTRO .etape sup{
    color: #c095f0;
    background: var(--gradient-txt);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


#INTRO .etape em{
    font-size: 0.75em;
    color: white;
}

#INTRO .etape p strong{
    box-shadow: inset 0 -10px 0 rgba(255, 255, 255, 0.8);
    padding: 0 10px;
}

#INTRO .etape .lesimages{
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    font-size: 0;
    padding-top: 40px;
    max-width: 600px;
}

#INTRO .etape .lesimages img{
    display: inline-block;
    width: 50% !important;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 15px;
}
#INTRO .etape .lesimages img:nth-child(1){
    transform: rotate(-5deg);
}
#INTRO .etape .lesimages img:nth-child(2){
    transform: rotate(7deg) translate(-6px, 7px);
}

#INTRO .etape:nth-child(1){
    animation: etape1 var(--duration-slide-intro-details) var(--transition-mode);
}

#INTRO .etape:nth-child(2){
    animation: etape2 var(--duration-slide-intro-details) var(--transition-mode);
}

#INTRO .etape:nth-child(3){
    animation: etape3 var(--duration-slide-intro-details) var(--transition-mode);
}



@keyframes etape{
    0% {top: 0%; bottom: 0%;}
    90% {top: 0%; bottom: 0%;}
    100% {top: 0%; bottom: 100%;}
}

@keyframes etape1{
    0% {top: 100%; bottom: 0%;}
    5% {top: 0%; bottom: 0%;}
    20% {top: 0%; bottom: 0%;}
    23% {top: 0%; bottom: 0%;}
    33% {top: 0%; bottom: 100%;}
    60% {top: 0%; bottom: 100%;}
    80% {top: 0%; bottom: 100%;}
    100% {top: 0%; bottom: 100%;}
}

@keyframes etape2{
    0% {top: 100%; bottom: 0%;}
    22% {top: 100%; bottom: 0%;}
    32% {top: 0%; bottom: 0%;}
    40% {top: 0%; bottom: 0%;}
    43% {top: 0%; bottom: 0%;}
    53% {top: 0%; bottom: 100%;}
    80% {top: 0%; bottom: 100%;}
    100% {top: 0%; bottom: 100%;}
}

@keyframes etape3{
    0% {top: 100%; bottom: 0%;}
    20% {top: 100%; bottom: 0%;}
    42% {top: 100%; bottom: 0%;}
    52% {top: 0%; bottom: 0%;}
    60% {top: 0%; bottom: 0%;}
    65% {top: 0%; bottom: 0%;}
    75% {top: 0%; bottom: 100%;}
    100% {top: 0%; bottom: 100%;}
}

@keyframes etape4{
    0% {top: 100%; bottom: 0%;}
    20% {top: 100%; bottom: 0%;}
    40% {top: 100%; bottom: 0%;}
    64% {top: 100%; bottom: 0%;}
    74% {top: 0%; bottom: 0%;}
    80% {top: 0%; bottom: 0%;}
    87% {top: 0%; bottom: 0%;}
    100% {top: 0%; bottom: 100%;}
}


#INTRO-passe, #FIN-passe{
    position: absolute;
    font-family: "Fira Sans" !important;
    z-index:35;
    bottom: 15px;
    right: 35px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1em;
    border-radius: 999px;
    border: none;
    background: #ffffffdd;
    color: #373CF5;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    transition: var(--transition);
    padding: 0.35rem 0.65rem;
}

#INTRO-passe:hover, #FIN-passe:hover{
    background: #373CF5;
    color: #ffffff;
}



/* ------------------------------------- */

#FIN{
    right: 0;
    bottom: 0%;
    position: fixed;
    top: 100%;
    left:0;
    background-image: url('img_src/fond_interface.svg');
    background-size: cover;
    background-position: center;
    transition: var(--transition);
    overflow: hidden;
    z-index:50;
    font-size: calc(1em + 1.8vw);
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: column;
}

#FIN div{
    width: 100%;
    transition: var(--transition);
	overflow: auto;
}
#FIN div.partage{
    display: flex;
    margin: auto;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 600px;
    max-width:100%;
    overflow: visible;
}

#FIN div p{
    width: 100%;
    max-width: 700px;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center;
    text-align: center;
    font-size: 0.9em;
    line-height: 1.2em;
    font-family: 'Fira Sans';
    font-weight: 700;
    padding: 0 !important;
    color: #37aff5;
    background: var(--gradient-txt);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
}
#FIN a{
    text-align: center;
    display: flex;
    width: calc(30px + 11vw);
    max-width: 5.5rem;
    border: solid white 1px;
    font-size: 0.9em;
    line-height: 1.15em;
    font-family: 'Fira Sans';
    font-weight: 700;
    margin: 0.2em auto !important;
    color: var(--bleu);
    background: white;
    padding: 0.2em 0.3em;
    border-radius: 98px;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}
#FIN img{
    border: solid white 2px;
    border-radius: 6px;
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#FIN p strong{
    box-shadow: inset 0 -10px 0 rgba(255, 255, 255, 0.8);
    padding: 0 10px;
    margin: 10px 0;
    display: inline-block
}

#FIN p em, #INTRO p em{
    padding: 0 10px;
    display: inline-block;
    line-height: 1.2em;
    margin: 10px 0;
    font-size: 0.7em;
    font-weight: 300;
    font-style:normal;
}
























.social {
  display: flex;
  justify-content: center;
  flex-flow: nowrap;
  gap: 1rem;
  list-style: none;
  overflow: visible;
  padding: 0;
}

.social li {
  position: relative;
  flex-basis: 4.5rem;
  overflow: visible;
}

.social li::after {
  position: absolute;
  /* content: "Tooltip"; */
  content: attr(data-tooltip);
  inset: -45% auto auto 50%;
  z-index: -1;
  translate: -50%;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  color: #fff;
  /* background: #070707; */
  background: var(--bg, #070707);
  border-radius: 0.25rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* transition: all 0.3s ease-in-out; */
  transition: inset 0.4s cubic-bezier(0.47, 2, 0.41, 1.5),
    visibility 0.3s ease-in-out, opacity 0.2s ease-in-out;
}

.social li:has(a:hover, a:focus-visible)::after {
  opacity: 1;
  visibility: visible;
  inset-block-start: -24px;
  z-index: 100;
}

.social a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  font-size: 1.75rem;
  color: #070707;
  border: 1px solid;
  border-radius: 100%;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
}

.social a > i {
  position: relative;
  z-index: 1;
}

.social a::after {
  position: absolute;
  content: "";
  inset: 100% 0 0;
  /* background: #070707; */
  background: var(--bg, #070707);
  pointer-events: none;
  transition: inset 0.3s ease-in-out;
}

.social a:hover,
.social a:focus-visible {
  color: #fff;
}

.social a:hover::after,
.social a:focus-visible::after {
  inset-block-start: 0;
}


.svg-inline--fa {
    display: var(--fa-display, inline-block);
    height: 1em;
    overflow: visible;
    vertical-align: -.125em;
    z-index: 10;
}


.social a:hover .svg-inline--fa ,
.social a:focus-visible .svg-inline--fa{
    filter:brightness(5);
}



.social a svg {
	width: 2rem;
	height: 2rem;
}





