*{
    hyphens: none !important;
    -webkit-hyphens: none !important;
    font-family: "Lora" !important;
}

html {
    background-color: #dad8d8;
    background-size: cover;
    background-position: center;
}
#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: 700px;
    width: 700px;
    max-width: 700px;
    overflow: hidden;
    text-align: left;
    line-height: 0;
    display: inline-block;
    font-size:12px;
    transform-origin: center;
}


/* OUTILS --------------------------------------------------------------------------------------------------------------------------------- */
.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{
    background: #373CF5;
    color: white;
    transition: var(--transition);
    padding-left: 0%;
    padding-right: 0%;
    text-align: center;
    display: inline-block;
    font-weight: 700;
    text-decoration: none;
    line-height: 1em;
    font-size: var(--font-size-2);
	position: relative;
    padding: 0.75rem 0.25rem;
	width: 100%;
}
#telechargement:hover{
    background: linear-gradient(239deg,#E4BB5C, #ECD976, #DFA94C, #94652B, #C99542);
    transform: 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: 50%;
      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:0;
    max-width: calc(100vw - 502px);
    width:598px
  }
}


@media screen and (min-width: 1000px){
  #outils {
    max-width: calc(100vw - 600px);
  }
  #export {
      left: auto;
  }
  #telechargement {
    max-width: calc(100vw - 602px);
  }
}

@media screen and (min-width: 1100px){
  #outils {
    max-width: calc(100vw - 700px);
  }
  #telechargement {
    max-width: calc(100vw - 702px);
  }
}

@media screen and (min-width: 1300px){
  #export {
      width: calc(100vw - 600px);
  }
}


#editeur::before{
    content:"";
    right: 0;
    bottom: 0px;
    position: fixed;
    top: 0;
    left:0;
    background-color: #f2f2f2;
  z-index:-1;
}
#editeur{
    right: 0;
    bottom: 64px;
    position: fixed;
    padding: 1em 0;
    top: 0;
    left:0;
    background-color: #f2f2f2;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    overflow: auto;
    opacity: 1;
    justify-content: center;
}

#edit-fond{
    position: relative;
    width: 100%;
    max-width: 450px;
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    text-align: center;
}
#export #edit-fond{
    max-width: 100%;
}

#edit-fond #image-photo{
    position: absolute;
    top: 10.71%;
    left: 13.1%;
    right: 12.05%;
    bottom: 26.7%;
    border-radius: 0px;
    overflow: hidden;
    background-color: #dddddd;
    text-align: center;
    cursor: grab;
}

#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;
}
#edit-fond #edit-photo #charger:hover{
    background-color: #4d4d4d;  
    color: white;  
}
#edit-fond #edit-photo #charger input{
    width:100%;
    height: 37px;
    cursor: pointer;
    transition: var(--transition); 
}
#edit-fond #edit-photo #charger label{
    position: absolute;
    width:100%;
    height: 30px;
    top: 8px;
    left: 0;
    text-align: center;
    font-size: 16px;
    font-family: 'Fira Sans';
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition); 
}
#edit-fond #edit-photo.demarre #charger input{
    height: 100% !important;
}
#edit-fond #edit-photo.demarre #charger label{
    top: 50%;
    font-size: 26px;
    transform: translateY(-50%);
    height: auto;
}

#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;
}



#LaPhoto{
    position: absolute;
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0;
}

#LaPhoto #edit-fond{
    position: relative;
    left: -4%;
    top: -13%;
    transform: scale(0.78) rotate(-11deg);
    transform-origin: center;
    width: 98%;
}

#LaPhoto #edit-texte,
#LaPhoto #edit-photo{
    display: none;
}


#telechargement{
    position: absolute;
    bottom: 2%;
    width: 96%;
    max-width: 96%;
    z-index:1;
    right: 2%;
    left: 2%;
    border-radius: 20rem;
    font-size: 22px;
    text-transform: uppercase;
    background: linear-gradient(30deg,#E4BB5C, #ECD976, #DFA94C, #94652B, #C99542);
    transition: var(--transition);
    text-shadow: 2px 2px 2px #0000008f;
}


#edit-cci{
    display:flex;
    background: #373CF5;
    width: 100%;
    max-width: 420px;
    margin: 0.5rem auto;
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
    border-radius: 8em;
    overflow: hidden;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    min-height: 5rem!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;
  }
  
  #edit-cci-texte textarea{
      order: 0;
      flex: 0 1 auto;
      text-align: left;
      font-size: 1.1em;
      appearance: none;
      height: 34px;
      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%;
      border-radius: 0 113px 0 0;
  }
  
  #edit-cci-texte textarea:nth-child(2){
      border-radius: 0 0 113px 0;
  }



  #logo-cci{
    display:flex;
    background: #373CF5;
    width: auto;
    max-width: none;
    padding: 11px 33px 11px 32px !important;
    border-radius: 8em;
    overflow: hidden;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 3.5%;
    right: 3%;
  }
  
  #logo-cci img{
    display: inline-block;
    width: 3em;
    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: 20px;
      appearance: none;
      height: auto;
      line-height: 21px;
      font-family: "Fira Sans" !important;
      font-weight: 800;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent;
      color: white;
      resize: none;
      text-transform: uppercase;
      opacity: 1;
      width: auto;
  }
    




/* ------------------------------------- */


#INTRO,#FIN{
  font-size: calc(0.8em + 3vw)
}

@media screen and (max-width: 700px){
#INTRO,#FIN{
  font-size: calc(1.3em + 3vw)
}
}


#INTRO{
    right: 0;
    z-index:5;
    bottom: 100%;
    position: fixed;
    top: 0;
    left:0;
    transition: var(--transition);
    animation: etape 15s var(--transition-mode);
    overflow: hidden;
    background: linear-gradient(130deg, #ad90c1 0%, rgb(3, 0, 84) 100%), linear-gradient(130deg, #09007b 0%, rgba(15, 0, 66, 0) 30%), linear-gradient(129.96deg, rgb(255, 47, 47) 10.43%, rgb(0, 4, 96) 92.78%), radial-gradient(100% 246.94% at 100% 0%, rgb(255, 255, 255) 0%, rgba(37, 0, 66, 0.8) 100%), linear-gradient(121.18deg, rgb(20, 0, 255) 0.45%, rgb(27, 0, 62) 100%), linear-gradient(154.03deg, rgb(206, 0, 0) 0%, rgb(1, 61, 130) 74.04%), linear-gradient(341.1deg, rgb(178, 91, 186) 7.52%, rgb(16, 0, 119) 77.98%), linear-gradient(222.34deg, rgb(169, 0, 0) 12.99%, rgb(0, 255, 224) 87.21%), linear-gradient(150.76deg, rgb(183, 213, 0) 15.35%, rgb(34, 0, 170) 89.57%);
background-blend-mode: overlay, normal, overlay, color-burn, screen, overlay, difference, difference, normal;
}

#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.25em;
    font-weight: 700;
    margin: 0 !important;
    padding: 0 !important;
    color: #EEDF7B;
    background: -webkit-linear-gradient(30deg,#E4BB5C, #ECD976, #DFA94C, #94652B, #C99542);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    display: inline-block;
}


#INTRO .etape em{
    font-size: 0.75em;
}

#INTRO .etape p strong{
    box-shadow: inset 0 -10px 0 rgba(63, 132, 244, 0.584);
    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 15s var(--transition-mode);
}

#INTRO .etape:nth-child(2){
    animation: etape2 15s var(--transition-mode);
}

#INTRO .etape:nth-child(3){
    animation: etape3 15s var(--transition-mode);
}

#INTRO .etape:nth-child(4){
    animation: etape4 15s 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;
    color: white;
    font-family: "Fira Sans" !important;
    z-index:35;
    bottom: 15px;
    right: 35px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1em;
    cursor: pointer;
}



/* ------------------------------------- */

#FIN{
    right: 0;
    bottom: 0%;
    position: fixed;
    top: 100%;
    left:0;
    background: linear-gradient(130deg, #ad90c1 0%, rgb(3, 0, 84) 100%), linear-gradient(130deg, #09007b 0%, rgba(15, 0, 66, 0) 30%), linear-gradient(129.96deg, rgb(255, 47, 47) 10.43%, rgb(0, 4, 96) 92.78%), radial-gradient(100% 246.94% at 100% 0%, rgb(255, 255, 255) 0%, rgba(37, 0, 66, 0.8) 100%), linear-gradient(121.18deg, rgb(20, 0, 255) 0.45%, rgb(27, 0, 62) 100%), linear-gradient(154.03deg, rgb(206, 0, 0) 0%, rgb(1, 61, 130) 74.04%), linear-gradient(341.1deg, rgb(178, 91, 186) 7.52%, rgb(16, 0, 119) 77.98%), linear-gradient(222.34deg, rgb(169, 0, 0) 12.99%, rgb(0, 255, 224) 87.21%), linear-gradient(150.76deg, rgb(183, 213, 0) 15.35%, rgb(34, 0, 170) 89.57%);
background-blend-mode: overlay, normal, overlay, color-burn, screen, overlay, difference, difference, normal;
    transition: var(--transition);
    overflow: hidden;
    z-index:3;
}

#FIN div{
    position: absolute;
    top: 0;
    left:2%;
    right: 2%;
    bottom: 0%;
    transition: var(--transition);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    overflow: hidden;
}

#FIN div p{
    order: 0;
    flex: 1 1 auto;
    width: 100%;
    align-self: center;
    text-align: center;
    font-size: 1em;
    line-height: 1.2em;
    font-family: 'Fira Sans';
    font-weight: 700;
    margin: 0 !important;
    padding: 0 !important;
    color: #EEDF7B;
    background: -webkit-linear-gradient(30deg,#E4BB5C, #ECD976, #DFA94C, #94652B, #C99542);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    display: inline-block;
}
#FIN a{
    order: 0;
    flex: 0 1 auto;
    align-self: center;
    text-align: center;
    display: inline-block;
    font-size: 1.4em;
    line-height: 1.25em;
    font-family: 'Fira Sans';
    font-weight: 700;
    margin: 0 !important;
    color: white;
    padding: 18px 0.3em 2px 0.3em;
}

#FIN p strong{
    box-shadow: inset 0 -10px 0 rgba(63, 132, 244, 0.584);
    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;
}