
section{
    /*94vw*/
    max-width: 96vw;
    margin-left : 0 !important;
}
section#formation, section#experience_professionnel{
    max-width: 94vw;
}

#presentation{
    /*overflow-x: hidden;*/
}

/**********/
 /* Custom scrollbar for WebKit browsers */
 ::-webkit-scrollbar {
    width: 12px; /* Largeur de la scrollbar */
}

::-webkit-scrollbar-track {
    background: transparent
}
::-webkit-scrollbar-thumb {
    background: #888; /* Couleur du pouce de la scrollbar */
    border-radius: 6px; /* Arrondir les coins du pouce */
}

::-webkit-scrollbar-thumb:hover {
    background: #555; /* Couleur du pouce lors du survol */
}

/* Custom scrollbar for Firefox */
html {
    scrollbar-width: thin; /* Largeur de la scrollbar */
    scrollbar-color: #888 transparent /* Couleur du pouce et de la piste */;
    max-width: 100% !important;
    width: 100% !important;
}

html {
    margin: 0;
    padding: 0;
    height : 100%;
    scroll-snap-type: y mandatory; /* Activer le snap scrolling */
}

:root {
    --paddingresponsive: 2vw;
}
/* color : var(--paddingresponsive);*/

.section_p{
    height: 100vh;
    width: calc(100vw - var(--paddingresponsive));
    scroll-snap-align: start;
    padding-top : 70px;
    /*overflow-y: hidden;*/
}
footer{
    scroll-snap-align: end;
}
.section_p.delimit_section{
    height:fit-content;
    padding-bottom : 50vh
}
.section_p.delimit_section#formation{
    padding-bottom : 50px !important
}

#navigation{
    position : fixed;
    z-index : 10;
    width: 100%;
    height: 60px;
    bottom : 0;
    display: flex;
    /*background-image: url(../trame.svg);
    background-size: 200px;*/
    background-position: bottom;
    pointer-events: none;
    z-index : 10
}

#englob_corner_radius{
    display: block;
    position : absolute;
    width: 20px;
    height: 20px;
    overflow: hidden;
    bottom : -2px;
    left : -20px;
    z-index : -1;
}
#corner_radius{
    display: block;
    width: 40px;
    height: 40px;
    background: linear-gradient(0deg, rgba(202, 89, 143, 1),rgba(240, 149, 90, 1),rgba(186, 230, 125, 1));
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    background-attachment: fixed;
    -webkit-mask: radial-gradient(20px,#0000 98%,#000) -10px -10px;
    mask-repeat: no-repeat;
    position : absolute;
    bottom: -10px;
    right: -10px;
}

#navigation ul{
    padding : 11px 30px 10px 20px ;
    position : absolute;
    right : 0;
    bottom : 0;
    z-index : 8;
    background: linear-gradient(0deg, rgba(202, 89, 143, 1),rgba(240, 149, 90, 1),rgba(186, 230, 125, 1));
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    background-attachment: fixed;
    border-top-left-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
#navigation ul li{
    background : white;
    border-radius: 20px;
    /*box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;*/
    border : 1.5px solid black;
    display: block;
    height: fit-content;
}
#navigation ul li a{
    padding : 10px 20px;
    pointer-events: auto !important;
}
#avatar{
    height : fit-content;
    margin-top : 25px;
    width : 30%;
    top : 35px;
    z-index : 19;
    position: fixed;
    font-size : 4em;
    letter-spacing: -4px;
}

#avatar img{
    width: 95%;
    margin: auto;
    height: auto;
    margin-left : 50%;
    transform : translateX(-50%)
}

#content_deco_fleche div{
    width : 100%;
    height: 70px;
    background-color: #555558;
    opacity :0
}

#content_deco_fleche div:nth-child(2n) {
    background-color: #FFF;
}

.place_texte{
    width : calc(calc(100% - 30vw) - var(--paddingresponsive));
    height : 100%;
    margin-left : calc(30vw + var(--paddingresponsive));
}

.bg_plein{
    padding-bottom : 25px;
    border-radius : 8px;
    position: relative;
    z-index : 3;
    background-image: url(../motif_hashure_noir.svg);
    background-size: 8px;
    margin-top : 20px;
    border : 0.5px solid black;
    color : #242424;
    width: calc(100% - 2px);
}

.bg_plein:before{
    content: '';
    position : absolute;
    border-radius : 8px;
    width:100%;
    height: 100%;
    z-index : -1;
    left : -1.5vw;
    top : -20px;
    background-color: #f9f9f9;
    z-index: -1;
    border : 1px solid #000;
    box-shadow: rgba(50, 50, 93, 0.1) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.15) 0px 18px 36px -18px inset;
}

.bg_plein p, .bg_plein h1{
    width: calc(100% - 3vw);
}
.bg_plein p, .details{
    line-height: 1.5em;
    font-size : 1.05em;
    margin-bottom : 20px;
    margin-bottom : 0 !important;
    color : #555558
}

#premier_texte{
    color : #242427;
    text-align: justify;
    max-width : 678px;
    padding-bottom : 20px;
    /*word-spacing: -0.05em; */
    font-family: "Rokkitt", serif !important;
    line-height: 1.3em;
    font-size: 1.3em;
}
.element_cv{
    margin-bottom : 24px;
    border-radius: 50px;
    background: #f9f9f9;
    box-shadow:  10px 10px 10px #d4d4d468,
                -5px -5px 10px #ffffff;
    width : calc(calc(100% - 3vw) - 5px);
    padding : 5px;
    padding-top : 8px;
    padding-left : 0;
    border-radius : 4px;
    overflow: hidden;
}


#experience_professionnel .element_cv{
    padding-bottom : 8px;
}

.element_cv h2{
    padding-left : 8px;
    padding-right : 8px;
    border-left : 1px dashed rgb(49, 49, 75);
    border-bottom : 2px solid white;
    width : calc(100% - 16px);
}
.element_cv .details p{
    border-left : 2px solid rgb(49, 49, 75);
    width : calc(100% - 16px);
    padding-left : 8px;
    padding-right : 8px;
}
.afficheplus{
    border-left : 2px solid rgb(49, 49, 75);
    padding-left : 12px;
    width : fit-content;
    padding-right : 10px;
    /*display: none;*/
    overflow: hidden;
    transition: 0.3s;
}
.afficheplus u{
    padding-bottom : 8px;
    padding-left : 8px;
}
.afficheplus ul, .afficheplus u{
    border-left : 2px solid rgb(49, 49, 75);
    display: block;
    color : #363639
}
.afficheplus ul{
    font-size: 0.85em;
    padding-top: 3px;
    padding-bottom: 6px;
    font-style: italic;
    padding-left: 8px !important;
    position : relative
}
.afficheplus ul li{
    margin-bottom : 0 !important;
    padding-bottom : 4px;
}

.afficheplus >*{
    opacity : 0;
    transition : 0.5s
}
.element_cv .details:first-of-type p{
    border-top : 1px solid #EAEAEA;
}

#formation .element_cv .details p, #experience_professionnel .element_cv .details p{
    padding-bottom : 8px;
    padding-top : 4px;
}
.custom_bouton_voir_mission{
    border-left : 2px solid rgb(49, 49, 75);
    padding : 5px 8px;
    padding-right : 15px;
    display: inline-block;
    color : rgb(83, 83, 127) !important;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    background-color: #00000019;
    cursor: pointer;
    background: linear-gradient(180deg, rgb(255, 255, 255), rgb(224, 224, 224));
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
    text-decoration: underline;
    max-height : 16px;
    min-height : 16px !important;
    position: relative;
}
.custom_bouton_voir_mission span{
    pointer-events: none;
    min-height : 16px;
    min-width : 16px;
    display: block;
    background-repeat: no-repeat;
    background-image: none;
    background-position: -2px 3px;
}

.custom_bouton_voir_mission:hover{
    background: linear-gradient(180deg, rgb(224, 224, 224), rgb(255, 255, 255));
}

.details p{
    font-size : 0.92em;
    padding-bottom : 1px;
}

.place_texte h1{
    font-size: 2.5em;
    margin-top : -8px;
    margin-bottom : 8px;
}
.place_texte h2{
    font-size: 1.8em;
    margin-bottom : 9px;
}
select{
    width: fit-content;
    padding: 4px 14px;
    padding-right : 1.5em;
    font-size: 16px;
    border : none;
    /*border: 1px solid #e3e3e3;*/
    position: relative;
    border-radius: 4px;
    background-color: #f9f9f9;
    appearance: none; 
    -webkit-appearance: none;
    -moz-appearance: none; 
    border-radius : 20px;
    background: #f9f9f9;
    background: #f9f9f9;
    box-shadow: inset 5px 5px 10px #e0e0e0,
                inset -5px -5px 2px #ffffff;
    color :rgb(83, 83, 127);
    max-width: 100%;
    font-style: italic;
    border-bottom : 2.5px solid white
}

.select-wrapper {
    position: relative;
    display: inline-block;
    max-width: 100%;
}
.select-wrapper:first-of-type{
    margin-right : 8px;
}

.select-wrapper::after {
    content: '▼';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none;
    font-size : 0.6em;
}
#formation .place_texte h2, #experience_professionnel .place_texte h2{
    font-size: 1.12em;
    background-image: none;
    font-style: italic;
    font-family: "ABeeZee", sans-serif !important;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.4em;
    margin-bottom : 0;
    margin-right : 0;
    color :rgb(49, 49, 75);
    padding-bottom : 2px;
}

.place_texte ul{
    list-style: none;
    padding-left : 0
}

.place_texte ul li{
    font-size : 1.1em;
    margin-bottom : 10px;
}
.place_texte ul li:before {
    content : "\2022  ";
}

.barre{
    text-decoration:line-through;
}

.flex{
    display: flex;
    gap : 30px;
    margin-top : 16px;
    width : calc(calc(100% - 2vw) - 8px)
}

#mes_qualites, #mes_defauts{
    flex : 1;
}

.flex div{
    padding-bottom : 8px;
    
}
.flex ul li i{
    line-height : 1.35em;
    padding-top : 0;
    padding : 0 10px 0 6px;
    margin : 4px 0 8px 16px;
    font-size : 0.9em;
    display: block;
    color: #555558;
    font-style: italic;
    text-decoration: none !important;
    overflow: hidden;
    transition: 0.3s;
}

.bouton_detail_personal{
    position : relative;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-top : -15px;
    background: linear-gradient(180deg, rgb(255, 255, 255), rgb(224, 224, 224));
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
    border-radius : 4px;
    cursor : pointer !important;
    z-index: 1;
}
.bouton_detail_personal:hover{
    background: linear-gradient(0deg, rgb(255, 255, 255), rgb(224, 224, 224));
}
.bouton_detail_personal span{
    content : '';
    position : absolute;
    width: 100%;
    height: 100%;
    top : 1px;
    left : 0;
    background-image: url(../flecheli.svg);
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center -5px;
    transition : 0.2s linear;
    pointer-events: none;
}
/*******************SKILLS*********************/
#flex_competences{
    width: calc(100% - 3vw);
    display : flex;
    flex-wrap: wrap;
    position: relative;
}
#englob_pentagone_skills{
    min-width: 320px;
    padding-left: 1.25rem;
    margin-right: 5.25rem;
    flex: 1;
    padding-bottom: 80px;
}
#sticky_titre_et_pentagone{
    /*min-width: calc(320px + 4vw);*/
    height: fit-content;
    position : relative;
    top : -5px;
    border-radius : 10px;
    /*background-color: beige;*/
}
#positionne_pentagone{
    width: 220px;
    /*min-width : 131px;*/
    aspect-ratio: 1/1;
    position: relative;
    transform : translate(0.45rem , 22px);
    margin : auto
    /*margin : auto */
}
#positionne_pentagone .name_skill{
    display: block;
    position : absolute;
    width: max-content;
    /*max-width: 131px;*/
    line-height : 1.25em;
}

#positionne_pentagone .name_skill .btn_info{
    background-color: rgb(83, 83, 195);
    line-height: 1em;
    display: inline-block;
    height : 16px;
    width: 16px;
    color: #FFF;
    margin-left : 3px;
    border-radius: 10px;
    text-align: center;
    cursor: pointer !important;
    transition: 0.3s;
    position : relative;
    transform: translateY(-2px)
}
#positionne_pentagone .name_skill .btn_info.popover_active{
    z-index : 1;
    display: inline-block !important;
}

.name_skill span{
    position: relative;
}
#positionne_pentagone span .info:hover{
    background-color: rgba(66, 66, 180, 1);
}
.anchor_popover{
    width: 12px;
    height: 12px;
    position: absolute;
    display: block;
    top : 0;
    left : 0;
    transform: translate(0.5px, 4.5px) scaleX(0.7);
    display : none;
}
:root{
    --couleur_info_popover : rgba(252, 244, 205, 0.7);
    --couleur_border_popover : #448bff;
}
.anchor_popover span{
    background-color: rgb(255, 250, 219);;
    border: 1.5px solid var(--couleur_border_popover);
    width: 100%;
    height: 100%;
    display: block;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    transform: rotate(-135deg);
    position: relative;
}
.popover{
    position : absolute;
    overflow: hidden;
    background-color: var(--couleur_info_popover);
    border: 1px solid var(--couleur_border_popover);
    width : max-content;
    height : max-content;
    font-style: italic;
    padding-right : 1.6em;
    top : calc(1.5em + 3px);
    color : #101214;
    left : 0;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    border-radius : 4px;
    display: none;
    opacity: 0;
    text-shadow: 1px 1px 0px #FFFFFF;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.popover_active, .popover_active .anchor_popover{
    display: block !important;
    margin-top : -5px;
    animation : anime_popover 0.5s forwards;
}
@keyframes anime_popover{
    to {
        opacity: 1;
        margin-top : 0;
    }
}

.popover ul{
    padding : 8px;
    padding-bottom : 0.5em;
    font-size : 0.95em;
    list-style-type: none;
}
.popover ul li{
    margin : 0;
    line-height: 1.25em;
    padding-top : 0.3em;
    padding-bottom : 0.3em;
    border-bottom : 1px solid rgba(35, 39, 43, 0.5);
    border-top : 1px solid #fff;
    letter-spacing: -0.25px;
}
.popover ul li:first-child{
    border-top : none
}
.popover ul li:last-child{
    border-bottom : none
}
.popover ul li::before{
    content: "✓ ";
    margin-right : 0.2em
}

.close_popover{
    position : absolute;
    right : 0.2em;
    top : 0.2em;
    width: 1.2em;
    aspect-ratio: 1/1;
    background-color: white;
    border-radius : 1.25em;
    background-image: url(../btn_close.svg);
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    opacity : 0.9
}

.puce_pentagone{
    width: 6px;
    height: 6px;
    background-color: #2b5aa6;
    border-radius: 6px;
    display: block;
    position : absolute;
    transform: translate(-50%) scale(0.8);
    left : 50%; top : 50%;
    z-index : -1
}
:root{
    --transition_pentagone : 1.2s;
}
#ppn_design_graphique{
    animation : anime_ppn_design_graphique var(--transition_pentagone) forwards;
}
@keyframes anime_ppn_design_graphique{
    to {
        left : 50%; top : 5%;
    }
}

#ppn_interface_web{
    animation : anime_ppn_interface_web var(--transition_pentagone) forwards;
}
@keyframes anime_ppn_interface_web{
    to {
        left : 84.5%; top : 39.5%;
    }
}

#ppn_content_management{
    animation : anime_ppn_content_management var(--transition_pentagone) forwards;
}
@keyframes anime_ppn_content_management{
    to {
        left : 64%; top : 70%;
    }
}

#ppn_branding{
    animation : anime_ppn_branding var(--transition_pentagone) forwards;
}
@keyframes anime_ppn_branding{
    to {
        left : 29%; top : 79%;
    }
}

#ppn_relation{
    animation : anime_ppn_relation var(--transition_pentagone) forwards;
}
@keyframes anime_ppn_relation{
    to {
        left : 6%; top : 36.5%;
    }
}

.pentagon{
    width: 100%;
    aspect-ratio: 1/1;
    background-image : url(../pentagone.svg);
    background-size: calc(100% - 8px);
    background-position: 50% 24%;
    background-repeat: no-repeat;
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    position: absolute;
    top : 50%;
    left : 50%;
    transform: translate(-50%, -50%);
    z-index: -2;
}
.pentagon_skill{
    width: 100%;
    aspect-ratio: 1/1;
    background-color: rgba(103, 161, 255, 0.729);
    /* x y */
    clip-path: polygon(
        /*Design graphique*/50% 50%, 
        /*Interface Web*/50% 50%, 
        /*Rédaction web*/50% 50%, 
        /*Branding*/50% 50%, 
        /*Relationnel*/50% 50%);
    position: absolute;
    top : 50%;
    left : 50%;
    transform: translate(-50%, -50%);
    animation : anime_skills var(--transition_pentagone) forwards cubic-bezier(0.83, 0, 0.17, 1);
}
@keyframes anime_skills{
    to {
        clip-path: polygon(
            /*Design graphique*/50% 6%,
            /*Interface web*/85% 40.5%,
            /*Rédaction Web*/64% 72%,
            /*Branding*/29% 81%,
            /*Relationnel*/6% 38%)
    }
}
#flex_techno{
    height : auto;
    display: flex;
    gap : 16px;
    margin-bottom : 34px;
    flex-wrap: wrap;
    flex : 2;
    justify-content: center;
    min-width: 192px;
    opacity : 0;
    animation : anime_flex_techno var(--transition_skills_techno) forwards var(--jauge_delay) cubic-bezier(0.45, 0, 0.55, 1);
    pointer-events: none;
    z-index: -1;
    padding-top : 40px
}
@keyframes anime_flex_techno{
    to {
        opacity : 1;
    }
}
.skills_card{
    width : 72px;
    height: 102px;
    padding : 4px 8px;
    background: rgb(249, 249, 249);
    box-shadow: 10px 10px 10px #d4d4d468,
    -5px -5px 10px #ffffff;
    border-radius : 15px;
    display: flex;
    text-align : center;
    flex-direction : column;
    gap : 4px;
    position: relative;
    outline: 0px dashed var(--couleur_border_popover); /* Contour de 5px de largeur et de couleur rouge */
    outline-offset: 0px; /* Déplace le contour vers l'intérieur de 5px */
}
.skills_card.sc_mea{
    background-color: rgb(251, 245, 218);
    outline: 1px dashed var(--couleur_border_popover); /* Contour de 5px de largeur et de couleur rouge */
    outline-offset: -1px; /* Déplace le contour vers l'intérieur de 5px */
}
.skills_card > *{
    pointer-events: auto !important;
}
.t_name{
    font-size : 0.9em
}
svg.englob_circle{
    width: 77px;
    height: 79px;
}
.place_icone_et_cercle{
    width: fit-content;
    height: fit-content;
    position : relative;
    margin-left : -3px
}

svg circle{
    cx : 35px;
    cy : 35px; 
    r : 35px;
    fill : none;
    stroke : #448bff; 
    stroke-width: 5px;
    transform: translate(4%, 5px);
    stroke-linecap: round;
    stroke-dasharray: 220;
    stroke-dashoffset: 220
}

svg circle:nth-child(1){
    stroke : #d4d4d4a6; 
    stroke-dashoffset: 0;
}

.englob_img_skill{
    width : 40px;
    height : 40px;
    position: absolute;
    top : 50%;
    left : 50%;
    transform: translate(-50%, -50%);
}
.englob_img_skill img{
    position : absolute;
    top : 50%;
    left :50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
:root{
    --jauge_delay : 0.4s;
    --jauge_transition : 2s ; 
    --transition_skills_techno : 1s;
}
#t_photoshop svg circle:nth-child(2){
    animation : circle_t_photoshop var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_photoshop{
    to {
        stroke-dashoffset: calc(220 - 220 * 75 / 100);
        stroke-dashoffset: 55;
    }
}

#t_illustrator svg circle:nth-child(2){
    animation : circle_t_illustrator var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_illustrator{
    to {
        stroke-dashoffset: calc(220 - 220 * 90 / 100);
        stroke-dashoffset: 22;
    }
}
#t_indesign svg circle:nth-child(2){
    animation : circle_t_indesign var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_indesign{
    to {
        stroke-dashoffset: calc(220 - 220 * 60 / 100);
        stroke-dashoffset: 88;
    }
}
#t_procreate svg circle:nth-child(2){
    animation : circle_t_procreate var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_procreate{
    to {
        stroke-dashoffset: calc(220 - 220 * 100 / 100);
        stroke-dashoffset: 0;
    }
}
#t_html svg circle:nth-child(2){
    animation : circle_t_html var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_html{
    to {
        stroke-dashoffset: calc(220 - 220 * 85 / 100);
        stroke-dashoffset: 33;
    }
}
#t_css svg circle:nth-child(2){
    animation : circle_t_css var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_css{
    to {
        stroke-dashoffset: calc(220 - 220 * 90 / 100);
        stroke-dashoffset: 22;
    }
}
#t_js svg circle:nth-child(2){
    animation : circle_t_js var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_js{
    to {
        stroke-dashoffset: calc(220 - 220 * 70 / 100);
        stroke-dashoffset: 66;
    }
}
#t_wordpress svg circle:nth-child(2){
    animation : circle_t_wordpress var(--jauge_transition) forwards var(--jauge_delay);
}
@keyframes circle_t_wordpress{
    to {
        stroke-dashoffset: calc(220 - 220 * 90 / 100);
        stroke-dashoffset: 22;
    }
}

/*******************SKILLS*********************/

#trame_bas{
    position : fixed;
    width : 100%;
    height: 60%;
    bottom : 0;
    background-size: 20px;
    background-image: url(../point_moderne_motif.svg);
    clip-path: polygon(0 80%, 100% 57%, 100% 100%, 0% 100%);
    z-index : 3;
    pointer-events: none;
}

.filtre{
    /*max-width: calc(calc(100% - 3vw) - 16px);*/
    width: max-content;
    padding : 4px 2px;
    display: flex;
    align-items: start;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom : 12px;

}
.filtre span:first-child{
    transform: translateY(0.35em);
    margin-right : 8px;
    display : inline-block;
}
.filtre span:not(span:first-child){
    display : inline-block;
    width: max-content;
}

