/*enregistrement des couleurs dans des variables*/
:root{
    --bg_blue : #03224c;
    --bg_black : #000000;
    --color_white : #fcf7f8;
    --color_light_blue : #aadeee;
    --color_blue : #6ec7e0;
}

body {
    margin: 0;
    padding: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    text-decoration: none;
    width: 100%;
    overflow-x: hidden;
}

/*HEADER*/
#header {
    background-color: var(--bg_blue);
    z-index: 1000;
    position: fixed;
    width: 100%;
}

.logo {
    height: 80px;
    width: 80px;
}

#navbar-button {
    border-color: white transparent;
}

#icon-cv {
    margin-left: 5rem;
    height: 70px;
    width: 70px;
}

/*MAIN*/


.d-none {
    display: none !important;
}



#accueil {
    background-image: url("../img/portfolio/bg_accueil.webp");
    background-repeat: no-repeat;
    background-size: cover;
    height: 20em;
    font-size: xx-large;
    padding-top: 3em;
}

#img {
    border-radius: 50%;
}

/*CUBE*/

/*#cube {
        display: flex;
        justify-content: center;
        align-items: end;
    }*/

.cube-container {
    width: 100px;
    height: 100px;
    perspective: 1000px;
    margin: 100px auto 0;
}

.cube{
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    animation: spin 10s linear infinite;
}

.cube:hover {
    animation: spin 1.5s linear infinite;
    position: relative;
    transform-style: preserve-3d;
}

.face {
    position: absolute;
    width: 100%;
    height: 100%;
}

.top {
    background: var(--color_blue);
    transform: rotateX(90deg) translateZ(50px);
    color: var(--color_white);
}

.bottom {
    background: var(--color_blue);
    transform: rotateX(-90deg) translateZ(50px);
    color: var(--color_white);
}

.right {
    background: var(--bg_blue);
    transform: rotateY(90deg) translateZ(50px);
    color: var(--color_light_blue);
}

.left {
    background: var(--bg_blue);
    transform: rotateY(-90deg) translateZ(50px);
    color: var(--color_light_blue);
}

.front {
    background: var(--color_light_blue);
    transform: rotateX(0deg) translateZ(50px);
    color: var(--bg_blue);
}

.back {
    background: var(--color_light_blue);
    transform: rotateX(-180deg) translateZ(50px);
    color: var(--bg_blue);
}

@keyframes spin {
    from {
        transform : rotateX(0deg) rotateY(0deg);
    }
    to {
        transform : rotateX(360deg) rotateY(360deg);
    }
}



#center-vertically {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

#presentation {
    background-color: var(--bg_blue);
    color: var(--color_light_blue);
}

.a-propos {
    width: 50%;
    margin: 0 auto;
}

#competences{
    background-image: url("../img/portfolio/datacenter.webp");
    background-repeat: no-repeat;
    background-size: cover;
}

.text-skills {
    width: 40%;
    margin: 0 auto;
}


.lien {
    text-decoration: none;
}

.button {
    background-color: var(--color_blue);
    border-color: var(--bg_blue);
}

.button:hover {
    background-color: var(--bg_blue);
    border-color: var(--color_white);
    color: var(--color_white);
}

.button .lien {
    color: var(--bg_blue);
}

#realisation {
    background-color: var(--bg_blue);
    color: var(--color_light_blue);
}

#cards-container {
    width: 80%;
    margin: auto;
}

.card-container {
    position: relative;
    min-height: 350px;
    perspective: 2000px;
    perspective-origin: top;
}

.card-container:hover .card {
    transform: rotateY(180deg);
}

.card {
    position: absolute;
    height: 100%;
    width: 100%;
    transform-style: preserve-3d;
    transition: transform 0.8s cubic-bezier(0.86,0,0.07,1);
}

.card-front {
    position: absolute;
    height: 100%;
    width: 100%;
    background: var(--color_blue);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.card-back {
    position: absolute;
    height: 100%;
    width: 100%;
    background: var(--color_light_blue);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: rotateY(180deg);
    display: flex;
    justify-content: center;
    align-items: center;
}

.img_realisation{
    width: 50%;
    margin-top: 20px;
}

#contact {
    background-image: url("../img/portfolio/contact.webp");
    background-repeat: no-repeat;
    background-size: cover;
}

#location-link {
    color: black;
}

#github, #linkedin {
    transition-duration: 0.8s;
    transition-property: transform;
}

#github:hover, #linkedin:hover {
    transform: rotate(360deg);
}

.container_contact {
    width: 70%;
    margin: auto;
    background-color: rgba(170, 222, 238, 0.6);
    border-radius: 25px;
    margin-bottom: 25px;
    padding: 40px 0;
}

form {
    text-align: left;
}

.error input, .error textarea{
    border-color: red; 
}

.success {
    border-color: green; /* Couleur verte */
}

/*FOOTER*/
#footer {
    background-color: var(--bg_blue);
    color: var(--color_white);
    height: 8em;
}



/*RESPONSIVE*/

@media (max-width: 600px) {

    #responsive1, #responsive2{
        margin: 15px!important;
    }

    #cube {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center!important;
    }

    .cube-container {
        width: 50px;
        height: 50px;
        perspective: 1000px;
        margin: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .cube {
        width: 100%;
        height: 100%;
        font-size: 12px;
    }

    .face {
        width: 100%;
        height: 100%;
    }

    .top {
        transform: rotateX(90deg) translateZ(25px);
    }
    
    .bottom {
        transform: rotateX(-90deg) translateZ(25px);
    }
    
    .right {
        transform: rotateY(90deg) translateZ(25px);
    }
    
    .left {
        transform: rotateY(-90deg) translateZ(25px);
    }
    
    .front {
        transform: rotateX(0deg) translateZ(25px);
    }
    
    .back {
        transform: rotateX(-180deg) translateZ(25px);
    }

    #img {
        width: 50%;
        max-width: 50%;
    }
    
    .mobile-content {
        width: 80%;
    }
}

@media (min-width: 600px) and (max-width: 992px) {
    #responsive1, #responsive2{
        margin: 30px!important;
    }
    
    #cube {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center!important;
    }

    .cube-container{
        margin: auto;
    }

    #container-img{
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /*#img {
        width: 75%;
        max-width: 75%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
    }*/

    #cards-container {
        margin: 0 !important;
        width: 100%;
    }

    .mobile-content {
        width: 80%;
    }
}
