h2,h3,p {
    margin: 0;
}

h1 {
    text-align: center;
    color: var(--cv-color);
}

.partie h2 {
    margin-top: 3px;
    margin-bottom: 7px;
    text-align: center;
    position: relative;
    display: block;
    box-shadow: 0px 0px 3px 1px var(--cv-color);
    border-radius: 7px;
    padding: 17px 0px;
    cursor: pointer;
    border-bottom: solid 3px var(--cv-color);
    border-bottom-right-radius: 7px;
    border-bottom-left-radius: 7px ;
    background-color: #1a1919;
    z-index: 2;
    color: #f5f6fa;
}

h3 {
    font-size: medium;
}

div#diplomes, 
div#certification,
div#competences,
div#formations,
div#expertiences {
    padding: 10px 15px 15px;
}

.content {
    transform: translateY(-100%);
    position: relative;
    visibility: collapse;
    transition: transform 0.4s ease-out, height 0.4s ease-out;
    z-index: 1;
}

.partie.active .content {
    transform: translateY(0);
    visibility: visible;
    transition: 
        transform 0.4s ease-out, 
        height 0.4s ease-out,
        visibility 0s linear;
}

.partie h2::before {
    content: "👇";
    /* content: "🔽"; */
    /* content: "⬇️"; */
    /* content: "🔳"; */
    /* content: "➕"; */
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.partie.active h2::before {
    content: "👆";
    /* content: "🔼"; */
    /* content: "⬆️"; */
    /* content: "🔲"; */
    /* content: "➖"; */
}

p {
    margin-bottom: 5px;
}

.partie.active {
    height: auto;
}

.partie {
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
    padding: 0px 10px;
    overflow: hidden;
    height: 88px;
    color: gainsboro;
}

.jauge_cont {
    text-align: center;
    width: 150px;
    height: 24px;
    background-color: #050505;
    padding: 2px;
}

.jauge {
    margin: 2px 2px;
    height: 20px;
    width: 1px;
    transition: all 2.2s ease-in;
}

.jauge_cont.web .jauge {
    background: #faba0a;
}
.jauge_cont.inf .jauge {
    background: #00a2ff;
}

#competences {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    place-items: center;
}

.cardComp {
    display: grid;
    grid-template-areas: 
    "a b"
    "c c";
    margin-bottom: 15px;
    position: relative;
}

.cardComp.inf {
    border-bottom: solid 3px #faba0a;
}

.cardComp.web {
    border-bottom: solid 3px #00a2ff;
}

.cardComp.os {
    border-bottom: solid 3px #600883;
}
.cardComp.dim {
    border-bottom: solid 3px #fa0ab2;
}


.cardComp h3 {
    grid-area: a;
    min-width: 160px;
}

.cardComp div.jauge_cont {
    grid-area: b;
}

.cardComp p {
    grid-area: c;
    font-size: small;
}

/* .apuce::before {
    content: "\00a0\00a0\00a0\00a0•\00a0\00a0\00a0\00a0";
    display: inline;
    position: relative;
} */

.cardExp {
    margin-top: 10px;
    width: 791px;
    margin: auto;
}

.cardExp .titre {
    font-weight: bold;
    border-bottom: solid 3px var(--cv-color);
    text-align: center;
}

.realisations {
    margin-top: 10px;
}


#diplomes.content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    place-items: center;
    place-self: center;
}

#certification.content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    place-items: center;
    place-self: center;

}

.cardDipl {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    text-align: center;
    box-shadow: 0px 0px 3px 1px #050505;
}

.cardDipl .titre {
    border-bottom: solid 5px var(--cv-color);
    padding: 10px;
}

.cardDipl .ecole {
    margin-top: 5px;
}

.cardDipl .obt {
    font-size: small;
}


.cardCert {
    display: grid;
    grid-template-rows: 1fr 1fr;
    text-align: center;
    box-shadow: 0px 0px 3px 1px var(--cv-color);
    background-color: var(--cv-color);
    border: 2px solid white;
    color: whitesmoke;
    padding: 10px;
}

.cardCert .titre {
    font-weight: bold;
}

.cardCert .periode {
    font-size: small;
    color: #122829;
    margin-top: 5px;
}


#formations {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    place-items: center;
}

.cardForm {
    text-align: center;
    border: 2px solid var(--cv-color);
    padding: 10px;
    width: 191px;
    position: relative;
    height: 65px;
    display: grid;
    margin-bottom: 10px;
}

.cardForm .titre {
    vertical-align: middle;
    display: inline-block;
    height: 20px;

}

.cardForm .periode {
    position: absolute;
    background-color: var(--cv-color);
    color: white;
    bottom: 0;
    width: 100%;
}


.cardExp .titre { padding-bottom: 5px; }

.cardExp .annee {
    color: var(--cv-color);
}


.cardExp { display: none; }

svg {
    display: block;
    margin: auto;
}



@media not all and (min-width: 640px){
    #competences {
        grid-template-columns: 1fr;
        place-items: initial;
    }

    .partie { width: calc(100% - 14px); }

    .cardComp {
        display: grid;
        grid-template-areas:
      "a" 
      "b"
      "c";
        margin-bottom: 15px;
        position: relative;
    }

    
    #diplomes.content {
        grid-template-columns: 1fr;
        row-gap: 20px;
    }

    .cardDipl {
        grid-template-rows: 1fr 1fr 0.5fr;
        width: 100%;
    }

    #certification.content {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }

    .cardCert { width: 100%; }

    #formations { grid-template-columns: 1fr; }

    svg { width: 100%; }

    .cardExp { width: 100%; }
}