@charset "UTF-8";

/*Google fonts & family
======================================================================*/

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap');

/*
font-family: 'Archivo Black', sans-serif;
*/

/*Local fonts & family
======================================================================*/

@font-face {
    font-family: 'Archivo Expanded Light';
    src: url(../fonts/Archivo_Expanded-Light.ttf);
}

@font-face {
    font-family: 'Archivo Expanded Regular';
    src: url(../fonts/Archivo_Expanded-Regular.ttf);
}

@font-face {
    font-family: 'Archivo Expanded Bold';
    src: url(../fonts/Archivo_Expanded-Bold.ttf);
}

@font-face {
    font-family: 'Archivo SemiExpanded Bold';
    src: url(../fonts/Archivo_SemiExpanded-Bold.ttf);
}

@font-face {
    font-family: 'Assox Regular';
    src: url(../fonts/assox-Regular.ttf);
}

/*
font-family: 'Archivo Expanded Light', sans-serif;
font-family: 'Archivo Expanded Regular', sans-serif;
font-family: 'Archivo Expanded Bold', sans-serif;
font-family: 'Archivo SemiExpanded Bold', sans-serif;
font-family: 'Assox Regular', sans-serif;
*/

/*Palette
======================================================================*/

/*
Pastel Green : #CCD5AE
Lemon Cream : #FEFAE0
Black : #0B0B0B
Caramel Brown: #D4A373
Orange : #FF7900
*/

* {
    box-sizing: border-box;
    /*gallery*/
}

html {
    scroll-behavior: smooth;
}

body {
    font-size: 16px;
    font-family: 'Archivo Expanded Regular', sans-serif;
    margin: 0;
    padding: 0;
}

main {
    margin: auto;
}


/*Responsive menu
======================================================================*/

.toggle-btn {
    position: fixed;
    margin: 1.4em;
    padding: 1em;
    padding-right: 50px;
    width: 40px;
    height: 12px;
    right: 0;
    z-index: 5;
}

.toggle-btn:hover {
    cursor: pointer;
}

.toggle-btn span.one {
    position: absolute;
    width: 40px;
    height: 5px;
    background: #CCD5AE;

}

.toggle-btn span.two {
    position: absolute;
    width: 40px;
    height: 5px;
    background: #CCD5AE;
    margin-top: 12px;
}

/* Button*/

.menu {
    z-index: 4;
    position: fixed;
    background: #FEFAE0;
    height: 100vh;
    width: 100%;
    top: -100%;
}

/*Background*/

.data {
    padding: 18em 0 0 2em;
    /* Valeur par défaut 8em 0 0 2em */
    text-align: left;
}

.data ul {
    list-style: none;
}

.data li {
    color: #CCD5AE;
    font-size: 2em;
    padding-bottom: 1%;
    text-transform: uppercase;
}

.data a {
    text-decoration: none;
    color: #CCD5AE;;
    font-family: Archivo Black;
    -webkit-transition: all 0.3s ease-out 0s;
}

.data a:hover {
    color: transparent;
    -webkit-text-stroke: 1px #CCD5AE;
}

/*Home
======================================================================*/

#home {
    width: 100%;
    height: 100vh;
    background-color: #FEFAE0;
    overflow: : hidden;
    position: relative;
}

h1 {
    font-family: 'Archivo Expanded Regular', sans-serif;
    text-align: center;
    padding-bottom: 35vh;
    color: #333333;
    text-transform: uppercase;
}

.title {
    padding-top: 35vh;
}

#container {}

/*Home - Text Morphing
======================================================================*/

#container {
    /* Center the text in the viewport. */
    position: absolute;
    margin: auto;
    width: 100vw;
    height: 80pt;
    top: 0;
    bottom: 0;

    /* This filter is a lot of the magic, try commenting it out to see how the morphing works! */
    filter: url(#threshold) blur(0.6px);
}

/* Your average text styling */
#text1,
#text2 {
    position: absolute;
    width: 100%;
    display: inline-block;
    color: #0B0B0B;
    font-family: 'Assox Regular', sans-serif;

    text-align: center;

    user-select: none;
}

@media only screen and (max-width: 414px) {

    #text1,
    #text2 {
        font-size: 3em;
    }

}

@media only screen and (min-width: 414px) {

    #text1,
    #text2 {
        font-size: 4.75em;
    }

}


/*About
======================================================================*/

#about {
    background-color: #0B0B0B;
    width: 100%;
    text-align: center;
    padding-bottom: 10%;
}

.gif {
    padding-top: 2.5em;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.biography {
    padding-top: 5%;
    color: #FEFAE0;
    font-family: 'Archivo Expanded Light', sans-serif;
    width: 95vw;
    margin-left: auto;
    margin-right: auto;
    padding-left: 5%;
    padding-right: 5%;
}

.biography p {
    padding-bottom: 4%;
    line-height: 150%;
    text-align: left;
    font-size: 0.75em;
}

#about a {
    font-family: 'Archivo SemiExpanded Bold', sans-serif;
    color: #FEFAE0;
    text-decoration: none;
}

#about a:hover {
    color: #0B0B0B;
}

#about .button {
    margin-top: 2.5em;
    border: 1.5px solid #CCD5AE;
    border-radius: 50px;
    padding: 1em 2em;
    display: inline-block;
    cursor: pointer;

    box-shadow: inset 0 0 0 0 #FEFAE0;
    -webkit-transition: ease-out 0.4s;
    -moz-transition: ease-out 0.4s;
    transition: ease-out 0.4s;
}

#about .button:hover {
    box-shadow: inset 400px 0 0 0 #FEFAE0;
    color: #0B0B0B;
    border: #FEFAE0;
}

/*Tutorial Button :
https://codepen.io/RazorXio/pen/gMaoOW*/

/*Stroke Separation
======================================================================*/

#works .stroke {
    background-color: #FEFAE0;
    padding-top: 1px;
    padding-bottom: 1px;
    margin-right: 8%;
    margin-left: 8%;

}

/*Works
======================================================================*/

#works {
    padding-bottom: 10%;
    background-color: #0B0B0B;
    width: 100%;
}

.gallery {
    padding-top: 15%;
}

#works h2 {
    color: #FEFAE0;
    font-family: 'Archivo Black', sans-serif;
    font-size: 1.75em;
    text-transform: uppercase;
    margin-right: 5%;
    margin-left: 5%;
    text-align: center;
}

#myBtnContainer {
    margin-right: 5%;
    margin-left: 5%;
    padding-bottom: 10%;
    padding-top: 5%;
    text-align: center;
}

/*Works - Text Animation
======================================================================*/

/* Tutorial:
https://codepen.io/hesedi3l/pen/oNBKObW
*/

.text-anim span {
    position: relative;
    display: inline-block;
    /*
  text-shadow: 0 -60px 0 #fff,
                0 60px 0 #fff;
  */
    animation: animate 3.2s ease-in-out infinite;
}

@keyframes animate {
    0% {
        transform: translateY(20px);
    }

    50% {
        transform: translateY(-20px);
    }

    100% {
        transform: translateY(20px);
    }
}

/*Gallery (grid)
======================================================================*/

.row {
    margin: 8px -16px 0px -16px;
}

/* Add padding BETWEEN each column (if you want) */
.row,
.row > .column {
    padding: 8px;
}

/* Create three equal columns that floats next to each other */
.column {
    float: left;
    width: 33.33%;
    display: none;
    /* Hide columns by default */
}

/* Clear floats after rows */
.row:after {
    content: "";
    display: table;
    clear: both;
}

/* Content */
.content {
    background-color: white;
    position: relative;
}

/*Gallery (grid)
======================================================================*/

/* The "show" class is added to the filtered elements */
.show {
    display: block;
}

/* Style the buttons */
.btn {
    color: #CCD5AE;
    border: none;
    outline: none;
    padding: 25px 16px 12px 16px;
    background-color: transparent;
    cursor: pointer;
    font-family: 'Archivo Expanded Regular';

    /* Transition de l'hover plus douce quand on passe d'un bouton à l'autre en les survolant */
    -webkit-transition: all 0.3s ease-out 0s;
}

/* Add a grey background color on mouse-over */
/* Couleur du bouton lorsqu'on le survole */
.btn:hover {
    color: #FEFAE0;
}

/* Add a dark background color to the active button */
/* Couleur du bouton actif/sélectionné */
.btn.active {
    background-color: transparent;
    color: #FEFAE0;
    font-family: 'Archivo Expanded Bold', sans-serif;
}

/*Gallery (responsive grid)
======================================================================*/

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 900px) {
    .column {
        width: 50%;
    }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
    .column {
        width: 100%;
    }
}

/*Gallery (img overlay)
======================================================================*/

.overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #0B0B0B;
    overflow: hidden;
    width: 100%;
    height: 0;
    transition: .5s ease;
}

.content:hover .overlay {
    height: 100%;
}

.text {
    color: #FEFAE0;
    font-size: 1.25em;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

.image {
    display: block;
    width: 100%;
    height: auto;
}

.text h3 {
    font-family: 'Archivo Expanded Bold', sans-serif;
}

.text p {
    padding-top: 10px;
    font-family: 'Archivo Expanded Light', sans-serif;
}

/*Contact
======================================================================*/

#contact {
    background-color: #FEFAE0;
    text-align: center;
    margin: auto;
    padding-bottom: 10%;
}

.infos {
    padding-right: 5%;
    padding-left: 5%;
    width: 100%;
}

.infos h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: 2.5em;
    padding-top: 20%;
    padding-bottom: 10%;
    text-transform: uppercase;
}

.email {
    padding-bottom: 3%;
}

.infos h3 {
    font-family: 'Archivo Expanded Bold';
    font-size: 1.125em;
    padding-bottom: 0.5%;
}

#contact p {}

.cv {
    text-decoration: none;
    font-family: 'Archivo SemiExpanded Bold', sans-serif;
    color: #0B0B0B;
}

.cv .button {
    text-decoration: none;
    margin-top: 2.5em;
    border: 2px solid #0B0B0B;
    border-radius: 50px;
    padding: 1em 2em;
    display: inline-block;
    font-family: 'Archivo SemiExpanded Bold', sans-serif;
    cursor: pointer;
    box-shadow: inset 0 0 0 0 #0B0B0B -webkit-transition: ease-out 0.4s;
    -moz-transition: ease-out 0.4s;
    transition: ease-out 0.4s;
}

.cv .button:hover {
    box-shadow: inset 400px 0 0 0 #0B0B0B;
    color: #FEFAE0;
}

.contact-form {
    width: 100%;
    margin-top: 12%;
}

/*SoMe Icons
======================================================================*/

.SoMe {
    padding-top: 15%;
}

.SoMe ul {
    display: inline-flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.SoMe li {
    margin: 0.2em;
    list-style: none;
    font-size: 1.75em;
    transition: 0.5s;
    background-color: transparent;
    border-radius: 100%;
    border: 1.5px solid #0B0B0B;
}

.SoMe ul li a {
    width: 60px;
    padding: 16px 0;
    display: block;
    color: #0B0B0B;
    text-align: center;
}

.SoMe ul li:hover {
    transform: translateY(-8px);
}

/*Contact Form
======================================================================*/

form {
    overflow: hidden;
    margin: auto;
    padding-right: 12%;
    padding-left: 12%;
}

/* Contours et largeur/hauteur interne des input et textarea */
input[type=text],
select,
textarea {
    width: 100%;
    background: #FEFAE0;
    border: none;
    border-bottom: 1px solid #0B0B0B;
    word-wrap: break-word;
    padding-top: 2em;
    padding-bottom: .5em;
    overflow: hidden;
    font-family: 'Archivo Expanded Regular', sans-serif;
}

textarea {
    overflow: scroll;
}

input[type=text]:focus,
textarea:focus {
    outline: none;
    border-bottom: 2px solid #0B0B0B;
    transition: 0.2s;
}

input[type=text]::placeholder,
textarea::placeholder {
    color: #0B0B0B;
}

textarea::placeholder {
    padding-top: 6.4em;
}

/* le bouton d'envoi */
input[type=submit] {
    font-family: 'Archivo SemiExpanded Bold', sans-serif;
    font-size: 1em;
    color: #0B0B0B;
    margin-top: 2.5em;
    border: 2px solid #0B0B0B;
    background: transparent;
    padding: 1em 2.5em;
    border-radius: 50px;
    cursor: pointer;
    -webkit-transition: all 0.1s ease-out 0s;
}

input[type=submit]:hover {
    color: #FEFAE0;
    background-color: #0B0B0B;
    border: solid 2px #0B0B0B;
}

/*Footer
======================================================================*/

footer {
    color: #FEFAE0;
    font-size: 0.75em;
    text-align: center;
    background-color: #CCD5AE;
    height: 15vh;
    padding-top: 15%;
}



/*Media Queries (Tablet)
==============================================================================================================================================*/

/* TABLET VERSION */
@media only screen and (min-width: 768px) {

    /* About */

    #about {}

    .biography {
        padding-left: 7%;
        padding-right: 7%;
    }

    #about p {
        font-size: 1em;
    }

    /* Works */

    #works h2 {
        margin-right: 7%;
        margin-left: 7%;
        font-size: 3.125em;
    }

    #myBtnContainer {
        margin-right: 7%;
        margin-left: 7%;
    }

    /* Contact */

    #contact {}

    .infos {
        padding-right: 7%;
        padding-left: 7%;
    }

    .infos h2 {
        font-size: 3.125em;
    }

    .SoMe {
        padding-top: 10%;
    }

    .SoMe li {
        margin: 0.75em;
    }

    .contact-form {
        margin-top: 5%;
    }

    form {
        padding-right: 25%;
        padding-left: 25%;
    }

    /* Footer */

    footer {
        height: 15vh;
        padding-top: 10%;
        font-size: 1em;
    }

}



/*Media Queries (Desktop)
==============================================================================================================================================*/

/* DESKTOP VERSION */
@media only screen and (min-width: 980px) {

    /*Responsive menu*/

    .data a {
        padding-bottom: 3%;
    }

    /* Home - Text Morphing */

    #text1,
    #text2 {
        font-size: 8em;
    }

    /* About */

    #about {
        height: 100vh;
        display: flex;
        padding-right: 8%;
        padding-left: 8%;
    }

    .gif {
        float: left;
        width: 100%;

        margin-top: 8%;
        margin-left: 5%;
        margin-right: 0;
    }

    .biography {
        float: right;
        padding: 18% 0 0 0;
        margin: 0;
        width: 100%;
    }

    .biography p {
        padding-bottom: 3%;
    }

    #about .button {
        float: left;
    }

    /* Works */

    .gallery {
        padding-top: 10%;
        margin-left: 8%;
        margin-right: 8%;
    }

    #works h2 {
        text-align: center;
        font-size: 3.125em;
        margin: 0;

    }

    #myBtnContainer {
        margin: 0;
        text-align: center;
    }

    /* Works - Text Animation */

    @keyframes animate {
        0% {
            transform: translateY(50px);
        }

        50% {
            transform: translateY(-50px);
        }

        100% {
            transform: translateY(50px);
        }
    }

    /* Contact */

    #contact {
        height: 100vh;
        display: flex;
        padding-right: 8%;
        padding-left: 8%;
        margin: 0;
        width: 100%;
    }

    .infos {
        padding-left: 0%;
        padding-right: 0;
        margin-top: 15%;
        min-width: 400px;
    }

    .infos h2 {
        padding-bottom: 7%;
        text-align: left;
        padding-top: 0;
    }

    .email {
        text-align: left;
        padding-bottom: 2%;
    }

    .cv .button {
        float: left;
    }

    /* SoMe Icons */

    .SoMe {
        padding-top: 125px;
    }

    .SoMe ul {
        float: left;
    }

    .SoMe li {
        margin: 10px;
    }

    /* Contact Form */

    .contact-form {
        width: 70%;
        margin-top: 13%;
    }

    form {
        min-width: 400px;
        width: 100%;
        padding-left: 0%;
        padding-right: 0%;
    }

    input[type=submit] {
        float: left;
    }

    /* Footer */

    footer {
        height: 25vh;
        padding-top: 6%;
    }

}

/*Media Queries (Desktop 2)
==============================================================================================================================================*/

/* DESKTOP VERSION 2 */
@media only screen and (min-width: 1160px) {
    /* Évite le chevauchement des Infos sur le Contact Form lorsqu'on réduit la largeur de la fenêtre  */

    .contact-form {
        margin-right: 8%;
        margin-left: 1%;
    }

    .infos {
        margin-left: 8%;
        margin-right: 1%;
    }

}
