/* ********************************************************************************
***************************************************************Les couleurs du site 
******************************************************************************** */

 :root{
    --backgroundSite : #ffffff;
    --backgroundArticle : radial-gradient(farthest-corner at 0px 0px, #e7f3f5, #d2dce3);
    --firstColor : #0a64a3;
    --secondColor : #101524;
    --contrastColor : #d2dce3;
    --boxBackground :  #fffdfd;
    --urlIconSchool : url("/assets/images/icons/school_forlight.svg");
}

@media (prefers-color-scheme : dark){
    :root{  
        --backgroundSite : #101524;
        --backgroundArticle : radial-gradient(farthest-corner at 0px 0px, #272e4e, #232a47, #1c253f);
        --firstColor : #54afc9;
        --secondColor : #ffffffc2;
        --contrastColor : #003e64;
        --boxBackground :  #1a2031;
        --urlIconSchool : url("/assets/images/icons/school_fordark.svg");
    } 
    img {
    filter: grayscale(20%);
    }
}

/* ********************************************************************************
***************************************************************************** FONTS 
******************************************************************************** */
@font-face {
    font-family: "AmsterdamFour";
    src: url(/assets/fonts/AmsterdamFour/Amsterdam\ Four_ttf\ 400.ttf);
}
@font-face {
    font-family: "Garet";
    src: url(/assets/fonts/Garet/Garet-Book.ttf);
}
@font-face {
    font-family: "HelloParis" ;
    src: url(/assets/fonts/Hello-Paris/HelloParisScript.ttf);
}
@font-face {
    font-family: "Raleway" ;
    src: url(/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf);
}

/* ********************************************************************************
****************************************************************************** BODY 
******************************************************************************** */
*{
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
}
body{
    background-color: var(--backgroundSite);
    font-family: "Garet";
    color: var(--secondColor);
}

/* ********************************************************************************
**************************************************************************** HEADER 
******************************************************************************** */
header{
    font-size: 14px;
    font-family: "Raleway";
    align-content: center;
    text-align: center;
    display: flex;
    flex-direction: row;
    position: sticky;
    top: 0;
    z-index: 5;
    transition: all 0.5s;
    height: 80px;
    background: var(--backgroundArticle);
    color: var(--secondColor);
}
#logoKarineMaillet{
    width: 70px;
    height: 70px;
    margin: 5px 0 5px 0;
}
header h1{    
    display : flex;
    font-family : "AmsterdamFour" ;
    font-size: 25px;
    flex: 1 1 30%;
    padding: 0 15px;
    margin: 0px 10px;
}
#logoNav{
    font-size: 25px;
    position: absolute;
    margin-right: 25px;
    top: 25px;
    right: 0;
    z-index: -1;
    display: none;
}
.header__nav{
    display: flex;
    flex : 1 1 25%;
    flex-direction: row;
    position: sticky;
    top: 0;
}
.header__link.cursor-pointer.linkActive{
    background: var(--backgroundSite);
    color: var(--contrastColor);
}
.cursor-pointer{
    cursor: pointer;
}
.header__link{
    color: var(--secondColor);
    text-decoration: none;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex : 1;
}
.header__link:hover{
    background-color: var(--backgroundSite);
}
.header__link>h2{
    width: 125px;
    height: 35px;
    font-weight: lighter;
    font-size: 14px;
    font-family: "Garet";
    padding: 5px;
    align-content: center;
    font-weight:600;
}
.header__link>h2:hover{
    transition: all 0.5s;
    align-content: center;
}

@media screen and (max-width: 1370px){
    header{
        flex: 0 0 80px;
    }
    header h1{
        justify-content: center;
        align-items: center;
    }
    .name{
        margin-right: 50px;
    }
    .header__nav, .navActive{
        background: var(--backgroundArticle);
        flex-direction: column;
        width: 20vw;
        position: absolute;
        top: 80px;
        right: 0;
        height: 100vh;
    }
    .header__link{
        border-left: solid 3px var(--firstColor);
    }
    .header__link:hover{
        border-left: none;
        border-top: solid 3px var(--firstColor);
        border-bottom: solid 3px var(--firstColor);
    }
    .linkActive{
        border-left: none;
        border-top: solid 3px var(--firstColor);
        border-bottom: solid 3px var(--firstColor);
    }
    #link1{
        border-top: solid 3px var(--firstColor);
    }
    #link7{
        border-bottom: solid 3px var(--firstColor);
    }
    .header__nav{
        display: none;
    }
    .navActive{
        display: flex;
        height: 84vh;
    }
    #logoNav{
        display: block;
    }
}
@media screen and (max-width: 700px){
    .header__nav, .navActive{
        width: 40vw;
    }
}
@media screen and (max-width: 341px){
    header h1{
        font-size: 20px;
    }
    .header__link>h2{
        font-size: 12px;
    }
}
@media screen and (max-width: 294px){
    header{
        height: 60px;
    }
    #logoKarineMaillet{
        height: 50px;
        width: auto;
    }
    header h1{
        font-size: 14px;
    }
    .header__link>h2{
        font-size: 10px;
    }
    #logoNav{
        top: 15px;
    }
}

/* ********************************************************************************
****************************************************************************** MAIN
******************************************************************************** */

main{
    display: flex;
    flex: 1 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100vw;
    background: var(--backgroundSite);
}
/* ********************************************************************************
******************************************************Slide : Page d'acceuil - HOME
******************************************************************************** */

.home{
    display: flex;
    text-align: center;
    flex-direction: column;
    padding: 0px;
    background: var(--backgroundArticle);
    color: var(--firstColor);
    box-shadow: -8px 5px 5px 11px rgba(0,0,0,0.22);
    margin: 30px 0 30px 0;
    width: 80%;
    height: 85vh;
}
#home_container{
    flex-direction: row;
    display: flex;
    height: 100%;
    display: flex;
    align-content: center;
}
#textWelcome{
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1 1 60%;
    padding: 5vw;
}
#line1,#line3{
    display: flex;
    flex-direction: row;
    align-items: baseline;
}
#l1-1{
    margin-top: 0px;
    font-size: clamp(2.5vw,40px,20px);
    font-weight: bolder;
}
#l1-2{
    font-size: clamp(1.25vw,20px,14px);    
    padding-left: 8px;
}
#l2{
    font-family: "AmsterdamFour";
    font-size: clamp(5.3vw,85px,45px);
    color: var(--secondColor);
}
#l3-1{
    font-size: clamp(1.25vw,20px,14px);
    padding-right: 8px;
}
#l3-2{
    font-family: "Garet";
    font-size: clamp(2vw,32px,18px);
    font-weight: bold;
    color: var(--secondColor);
}
#imageWelcome{
    display: flex;
    justify-content: center;
    flex: 1 1 40%;
    flex-direction: column;
    margin: 0;
    flex-wrap: wrap;
}
#pictureKM{
    height: clamp(18.5vw,300px,230px);
    width: auto;
    border-radius: 71% 29% 26% 74% / 37% 45% 55% 63%;
    box-shadow: 0px 10px 13px -7px #000000, 15px 15px 23px 2px rgba(0,0,0,0.5);
    align-self: center;
    justify-self:center;
}
#imageWelcome > a{
    margin: 27px 30px 0px 30px;
    text-decoration: none;
    color: var(--firstColor);
}
#buttonPlus{
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bolder;
    padding: 20px;
    border: solid 1px var(--firstColor) ;
    border-radius: 40px;
    align-content: center;
    color: var(--firstColor);
}
@media screen and (max-width:1350px){
    .home{
        height: 85vh;
        margin: 3vh 0;
    }
    #home_container{
        flex-direction: column;
        justify-content: space-evenly;
    }
    #textWelcome{
        padding: 0 10vw;
    }
    #line3{
        display: flex;
        flex-direction: row;
        justify-content: end;
    }
    #imageWelcome{
        padding: 5vh 0;
    }
    #pictureKM{
        height: 220px;
    }
    #buttonPlus{
        margin: 0 150px;
    }
}
@media screen and (max-width:650px){
    .home{
        height: 70vh;
        margin: 10vh 0;
    }
    #buttonPlus{
        margin: 0;
    }
}
@media screen and (max-width:588px){
    #home_container{
        flex-direction: column;
    }
    #textWelcome{
        padding: 25px 10vw 0 10vw;
    }
    #line3{
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    #l3-1{
        text-align: end;
    }
    #l3-2{
        text-align: center;
    }
    #buttonPlus{
        margin: 0;
    }
}
@media screen and (max-width:512px){
    #l2{
        font-size: 30px;
    }
}
@media screen and (max-width:360px){
    #l1-1{
        font-size: 14px;
    }
    #l1-2{
        font-size: 12px;
    }
    #l3-1{
        font-size: 12px;
    }
    #l3-2{
        font-size: 14px;
    }
}
@media screen and (max-width: 341px){
    .home{
        margin: 5vh 0;    
    }
    #textWelcome{
        padding-top: 15px;
    }
    #l2{
        font-size: 25px;
    }
    #imageWelcome{
        padding: 2vh 0;
    }
    #pictureKM{
        height: 150px;
    }
    #imageWelcome a{
        margin-top: 10px;
    }
    #buttonPlus{
        padding: 0;
        margin: 0;
    }
}
@media screen and (max-width:286px){
    .home{
        margin: 5vh 0;    
        height: 77vh;
    }
    #textWelcome{
        padding-top: 11px;
        flex: 1 1 25%;
    }
    #l1-1{
        font-size: 12px;
    }
    #l1-2{
        font-size: 11px;
    }
    #l2{
        font-size: 25px;
    }
    #l3-1{
        font-size: 11px;
    }
    #l3-2{
        font-size: 11px;
    }
    #pictureKM{
        height: 125px;
    }
    #imageWelcome {
        padding: 0;
    }
    #buttonPlus{
        font-size: 12px;
    }
}
/* ********************************************************************************
**********************************************************Article 1 : Qui suis-je ?
******************************************************************************** */
#pc{
    background: var(--backgroundSite);
    padding: 0 15vw 0 15vw;
    display: flex;
    text-align: justify;
    flex-direction: column;
}
#pc article{
    display: flex;
    width: 60vw;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    margin: 100px 0;
    scroll-margin: 95px;
}
@media screen and (max-width:915px){
    #pc article{
        width: 90vw;
        scroll-margin: 0;
    }
}
@media screen and (max-width:286px){
    #pc article{
        margin: 25px 0;
    }
}
.adjs{
    font-family : "HelloParis";
    opacity: 0.25;
    font-size: 120px;
    text-align: center;
}
h2{
    text-align: center;
    font-family: "AmsterdamFour";
    font-size: 3em;
    color: var(--secondColor);
    padding-bottom: 50px;
    padding-top: 70px;
    flex-basis: 100%;
    line-height: 60px;
}
@media screen and (max-width:286px){
    h2{
        font-size: 2.5em;
        padding-left: 15px;
        padding-right: 15px;
    }
}
#adj1{
    flex-grow: 1;
    transform: rotate(12deg);
} 

#adj2{
    flex-grow: 2;
    transform: rotate(-15deg);
}
#adj3{
    flex-grow: 1;
    transform: rotate(24deg);
}
#adj4{
    flex-grow: 3;
    transform: rotate(-32deg);
}
#adj5{
    flex-grow: 1;
    transform: rotate(36deg);
}
#adj6{
    flex-grow: 5;
    transform: rotate(-24deg);
}
#howami_contain{
    display: flex;
    flex-direction: column;
}
.howami_contain{
    color: var(--secondColor);
    font-size: larger;
    letter-spacing: 1.68;
    padding-top: 32px ;
    font-weight:bolder;
}
@media screen and (max-width:650px){
    .adjs{
        font-family : "HelloParis";
        opacity: 0.25;
        font-size: 80px;
        text-align: center;
    }
    #adj1{
        flex-grow: 0;
        transform: rotate(0deg);
    } 
    #adj2{
        flex-grow: 0;
        transform: rotate(0deg);
        margin-top: -60px;
    }
    #adj3{
        flex-grow: 0;
        transform: rotate(0deg);
    }
    #adj4{
        flex-grow: 0;
        transform: rotate(0deg);
    }
    #adj5{
        flex-grow: 0;
        transform: rotate(0deg);
        margin-top: 60px;
    }
    #adj6{
        flex-grow: 0;
        transform: rotate(0deg);
    }
    .howami_contain{
        color: var(--secondColor);
        font-size: 16px;
        letter-spacing: 1.68;
        padding: 32px 10vw 0 10vw;
        font-weight:bolder;
    }
}
/***************************************** SKILLS *************************************************/
#boxKnowledge{
    padding: 50px;
    background-color: var(--boxBackground);
    border-radius: 20px 20px 20px 20px;
    box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.1);
    width: 100%;
}
#skills p{
    text-align : center;
    padding: 10px;
    flex-basis: 100%;
}
.knowledges-title{
    padding-top: 15px;
    text-decoration: underline;
    color: var(--secondColor);
    font-weight: bolder;
    font-size: 17px;
}
strong{
    color: var(--firstColor);
    font-weight: bolder;
    font-size: 17px;
    padding: 0 2.5px;
}
#hardskills{
    display: flex;
}
.hardskills{
    border : 1px solid var(--firstColor);
    border-radius: 50px;
    padding: 30px;
    margin: 20px;
    text-align: justify;
}
#logoProg{
    text-align: center;
    padding: 50px;
    flex-basis: 100%;
}
#logoProg img{
    height: 100px;
    padding-right: 30px;
}
h4{
    font-size: 18px;
    text-align: center;
    padding-bottom: 10px ;
    padding-top: 10px ;
}
h4>strong{
    font-size: 20px;
}
#light{
    font-weight: lighter;
    text-decoration: underline;
}    

@media screen and (max-width: 1370px){
    .knowledges{
        padding: 0 10vw;
    }
    .hardskills{
        text-align: center;
    }
    #logoProg img{
        height: 68px;
        padding: 0 10px;
    }
    h4{
        padding-bottom: 25px ;
    }
    #hardskills{
        flex-direction: column;
    }
}
@media screen and (max-width:286px){
    #boxKnowledge{
        padding: 50px;
        margin-right: 5px;
        margin-left: 5px;
        width: 95%;
        padding: 5px;
    }
    #logoProg{
        padding: 5px;
    }
    .hardskills{
        padding: 10px;
        margin: 5px;
    }
}
/***************************************** EXPERIENCES *************************************************/
#experiences{
    justify-content: center;
}
#jobs{
    display: flex;
    flex: 1 1 50%;
    flex-direction: column-reverse;
}
.jobs{
    padding: 50px;
    background-color: var(--boxBackground);
    border-radius: 20px 20px 20px 20px;
    box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.1);
    margin: 20px 0;
}
.jobs p{
    padding: 15px;
}
.positionsTeacher li{
    list-style-position: inside;
    list-style-image:var(--urlIconSchool);
    text-align: left;
    padding: 2px 5px;
}
h3{
    font-size: 20px;
    text-align: center;
}
.positionsTeacher{
    padding: 25px 0;
}
h5{
    font-size: 18px;
    text-align: center;
    padding-bottom: 10px ;
    padding-top: 10px ;
}
h5>strong{
    font-size: 20px;
}
.logoCompany{
    display: flex;
    justify-content: center;
    padding-top: 70px ;
}
@media screen and (max-width: 1370px){
    h5{
        padding-bottom: 25px ;
    }
    .jobs{
        padding: 100px 0 0 0;
    }
}
@media screen and (max-width:286px){
    .jobs{
        padding: 50px 10px 0 10px;
        margin: 15px 5px;
    }
}

/***************************************** FORMATIONS *************************************************/
#grid-contain{
    display: grid;
    grid-template-rows: repeat(5,1fr);
    align-content: stretch;
    justify-content: stretch;
}
.formations{
    display: grid;
    grid-template-columns: 2fr 1fr 9fr;
    grid-template-areas: "title date contain";
    align-items: center;
    justify-items: center;
    align-content: stretch;
    justify-content: stretch;
}
.title{
    padding-right: 10px;
    grid-area: title;
    display: grid;
    justify-self: start;
    min-width: 135px;
}
.date{
    align-items: stretch;
    justify-items: stretch;
    grid-area: date;
    background-color: var(--firstColor);
    border-radius: 100px;
    display: grid;
    height: 50px ;
    width : 50px ;
    z-index: 1;
    text-align: center;
    align-items: center;
    color: var(--backgroundSite);
    font-weight: bolder;
}
#afstart{
    border-radius: 2px 2px 0 0;
}
.arrowFormation{
    align-items: center;
    justify-items: center;
    background-color: var(--secondColor);
    grid-area: date;
    display: grid;
    height: 100%;
    width: 5px;
    z-index: 0;
    min-height: 150px;
}
.containFormations{
    padding-left: 10px;
    grid-area: contain;
    display: grid;
    justify-self: start;
}
#afend{
    border-radius: 0 0 2px 2px;
}
@media screen and (max-width: 1094px){
    #grid-contain{
        display: flex;
        flex-direction: column;
    }
    .formations{
        display: flex;
        flex-direction: column;
        grid-template-areas: none;
    }
    .title{
        padding: 15px;
        border-radius: 8px;
        display: flex;
        text-align: center;
        min-width: none;
        border: 3px solid var(--firstColor);
        margin-top: 190px;
        min-height: 85px;
        align-items: center;
        z-index: 1;
        background: var(--backgroundSite);
    }
    #title-f1{
        margin-top: 125px;
    }
    .date{
        align-self: center;
        display: flex;
        flex-shrink: 0;
        align-content: center;
        justify-content: center;
        margin-top: -160px;
    }
    #afstart{
        min-height: 235px;
        margin-top: -100px;
    }
    .arrowFormation{
        display: flex;
        min-height: 300px;
        margin-top: -165px;
    }
    .containFormations{
        padding: 15px;
        display: flex;
        border: thick double var(--secondColor);
    }
}
/***************************************** HOBBIES *************************************************/
#flexHobbies{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin : 60px 0;
}
#windowCarousel{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
#prev{
    flex: 1 1 10%;
}
.slide{
    top: 0;
    display:none;
}
.slide.active{
    z-index: 4;
    transition: 0.32 ease-in;
    text-align: center;
    flex: 1 1 75%;
    display: flex;
}
#hobbies figure>img{

    border-radius: 15px 0px 0px 15px;
    border: solid 2px var(--firstColor);
    border-right : none;
    display : flex;
    max-width: 70%;
}
figcaption{
    color:var(--secondColor);
    background: rgba(141, 134, 131, 0.125);
    border: solid 2px var(--firstColor);
    border-left : none;
    border-radius : 0px 15px 15px 0px;
    padding: 6px;
    align-content: center;
}
.btn{
    background : none;
    border: none;
    outline: none;
    font-size: 2.3em;
    z-index:4;
    color: var(--firstColor);
}
#next{
    flex: 1 1 10%;
}
.bullets{
    display: flex;
    flex: 1 1 100%;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}
.bullets button{
    padding: 0.9em;
    background: transparent;
}
.bullet{
    width: 1.8em;
}
@media screen and (max-width: 1100px) {
    .slide.active{
        flex-direction: column;
    }
    #hobbies figure>img{
        border-radius: 15px 15px 0px 0px;
        border-right : solid 2px var(--firstColor);
        border-bottom : none;
        display : flex;
        max-width: 100%;
    }
    figcaption{
        border-left: solid 2px var(--firstColor);
        border-top : none;
        border-radius : 0px 0px 15px 15px;
        padding: 30px;
        align-content: center;
        min-height: 135px;
    }
}
@media screen and (max-width: 1092px) {
    figcaption{
        padding: 20px;
        min-height: 135px;
    }
}
@media screen and (max-width: 730px) {
    figcaption{
        padding: 20px;
        min-height: 157px;
    }
}
@media screen and (max-width: 600px) {
    figcaption{
        padding: 20px;
        min-height: 203px; 
        /* 7lignes */
    }
}
@media screen and (max-width: 444px) {
    figcaption{
        padding: 20px;
        min-height: 250px; 
        /* 9lignes */
    }
}
@media screen and (max-width: 407px) {
    figcaption{
        padding: 20px;
        min-height: 295px; 
        /* 11lignes */
    }
}
@media screen and (max-width: 300px) {
    #prev{
        max-width: 30px;
        flex: 1 1 3%;
    }
    .slide.active{
        flex: 1 1 94%;
    }
    #flexHobbies {
        max-width: 90vw;
    }
    figcaption{
        padding: 6px;
    }
    .btn{
        font-size: 2.3em;
    }
    #next{
        max-width: 30px;
        flex: 1 1 3%;
    }
    .bullets{
        flex: 1 1 90%;
    }
    .bullets button{
        padding: 0.5em;
        }
    .bullet{
        width: 1.5em;
    }
}

.margin-right{
    grid-column-start: 1/2;
    background: #e6e6e6;
}
/* ********************************************************************************
**************************************************************************** FOOTER 
******************************************************************************** */
footer{
    margin: 0;
    background: var(--backgroundArticle);
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}
#contact-contain{
    height: auto;
    padding-top: 30px;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}
#subtitle{
    text-align: center;
    margin: 30px 30px 0 30px;
    font-weight: bolder;
}
#contact-contain a {
    text-decoration: none;
    color: var(--secondColor);
}
#clickhere {
    padding: 50px 0;
}
#clickhere #buttonPlus{
    color: var(--backgroundSite);
    margin: 30px 160px;
    background-color: rgb(147, 188, 202, 0.5);
}
.contact{
    padding: 10px;
    text-align: center;
}
.contact p {
    color: var(--firstColor);
}
#contact-element{
    padding-top: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
#LinkedIn{
    width: 100px;
}
#legal-notices{
    color: var(--secondColor);
}
#legal-notices p{
    font-size: small;
    text-decoration-line:underline;
    padding: 40px 0 20px 0;
}
#creating{
    padding-bottom: 15px;
    color: var(--firstColor);
}

@media screen and (max-width : 700px) {
    #contact-contain{
        flex-direction: column;
        justify-content: center;
    }
    #clickhere #buttonPlus{
    margin: 30px 100px;
}
}
@media screen and (max-width : 300px) {
    #contact-contain{
        flex-direction: column;
        justify-content: center;
    }
    #clickhere #buttonPlus{
    margin: 30px 70px;
}
}