@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
*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

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

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: #0B0B0B;
    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;
}

/*Title
======================================================================*/

#title {
    text-align: center;
    min-height: 100vh;
}

h1 {
    font-family: 'Assox Regular', sans-serif;
    font-size: 3em;
    padding-top: 60%;
}

h2 {
    font-family: 'Archivo Expanded Bold', sans-serif;
    padding-bottom: 4%;
    font-size: 1em;
}

.text {
    text-align: left;
    padding-left: 5%;
    padding-right: 5%;
    font-family: 'Archivo Expanded Light', sans-serif;
    font-size: 0.75em;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30%;
    overflow: hidden;
}

.text p {
    line-height: 150%;
    padding-bottom: 4%;
}

/*H1 - 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-gallery {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-auto-rows: 250px;
    /* valeur grid-auto-rows doit être la même que grid-template-columns */
    grid-auto-flow: dense;
    grid-gap: 20px;
}

/* 
grid-auto-rows : définit la taille des rangées d'une grille

grid-auto-flow : permet de controler l'algorithme de placement automatique des éléments d'une grille

grid-template-columns : définit les dimensions et la répartition dans l'espace des colonnes d'une grille

grid-gap : (ou simplement "gap") définit la taille des gouttières entre les colonnes/rangées d'une grille
*/

.grid-gallery .grid-item {
    position: relative;
    background-color: #efefef;
    overflow: hidden;
}

.grid-gallery .grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    /* transition -> animation d'agrandissement du hover */
}

/*
object-fit : définit comment une image ou une vidéo doit s'adapter à son conteneur
*/

.grid-gallery .grid-item:hover img {
    transform: scale(1.1);
    /* transform -> animation d'agrandissement du hover */
}

.grid-gallery .grid-item a {
    cursor: zoom-in;
}

.grid-gallery .grid-item:nth-child(3n - 2) {
    grid-column: span 2;
    grid-row: span 2;
}

/*
nth-child() : permet de cibler certaines lignes en particulier d'une grille
*/

/* Let's make it responsive */
@media (max-width: 768px) {
    .grid-gallery {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        grid-auto-rows: 250px;
    }

    .grid-gallery .grid-item:nth-child(3n - 2) {
        grid-column: unset;
        grid-row: unset;
    }
}

/*Back Button
======================================================================*/

#back-btn {
    text-align: center;
    padding-bottom: 20%;
}

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

#back-btn a:hover {
    color: #CCD5AE;
}

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

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

#back-btn .button:hover {
    box-shadow: inset 400px 0 0 0 #CCD5AE;
    color: #FEFAE0;
}

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

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

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



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

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

    h1 {
        font-size: 5em;
        padding-top: 50%;
    }

    .text {
        padding-left: 7%;
        padding-right: 7%;
        font-size: 1em;
        width: 90%;
        padding-top: 20%;
    }

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

}

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

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

    h1 {
        font-size: 7em;
    }

    .text {
        width: 70%;
    }

    #back-btn {
        padding-top: 5%;
        padding-bottom: 15%;
    }

}

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

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

    /*Responsive menu*/

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

    h1 {
        font-size: 8em;
        padding-top: 17%;
    }

    .text {
        padding-left: 8%;
        padding-right: 8%;
        width: 45%;
        padding-top: 6%;
    }

    .text p {
        line-height: 100%;
        padding-bottom: 3%;
    }

    #back-btn {
        padding-top: 5%;
        padding-bottom: 10%;
    }

    /* Footer */

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

}
