:root {
    --font-01: 'BioRhyme', serif;
    --font-02: 'Montserrat', sans-serif;
    --beige-clair: #FFF8F4;
    --noir: #1A1A1A;
    --blanc: #ffffff;
    --vert: #8AC195;
    --vert-fonce: #4F7E58;
    --gris-moyen: #464A46;
}

body {
    -webkit-scroll-behavior: smooth;
}

img{
    width: 100%;
}

@font-face {
    font-family: 'BioRhyme';
    src: url("./font/BioRhyme-Regular-webfont.woff") format('woff');
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: 'Montserrat';
    src: url("./font/Montserrat/static/Montserrat-Light.ttf") format('ttf');
    font-style: normal;
    font-weight: 300;
}

@font-face {
    font-family: 'Montserrat';
    src: url("./font/Montserrat/static/Montserrat-Bold.ttf") format('ttf');
    font-weight: 700;
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
    line-height: 1.5em;
    font-size: 18px;
}



html {
    scroll-behavior: smooth;
}


body {
    margin: 0;
    padding: 0;
    font-family: var(--font-02);
    font-weight: 300;
}

a {
    text-decoration: none;
}

a {
    display: inline-block;
    position: relative;
}

nav a::after {
    position: absolute;
    content: ' ';
    bottom: -2px;
    left: 0;
    right: 0;
    width: 0%;
    transition: all 150ms ease;
    border-bottom: 2px solid var(--noir);
}

nav a:hover::after {
    width: 100%;
    color: var(--vert) !important;
}

h1, h2, h3 {
    font-family: var(--font-01);
    font-weight: 500;
    margin-bottom: .5em;
}



img {
    max-width: 100%;
    height: auto;
}



.button {
    font-weight: 800;
    font-size: 16px;
    background-color: var(--blanc);
    border: 2px solid var(--noir);
    border-radius: 4px;
    padding: 15px 23px;
    box-shadow: 6px 6px 0 var(--vert);
    margin: 2em 0;
    min-width: 250px;
    text-align: center;
    color: var(--noir);
    cursor: pointer;
    display: inline-block;
    transition: all 200ms ease;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    margin: 2em 0;

}

.buttons .button {
    margin: .5em 0;
    min-width: auto !important;
}



.button:hover {
    transition: all 50ms ease;
    transform: translate(2px, 2px);
    border: 2px solid var(--noir);

    box-shadow: 4px 4px 0 var(--vert-fonce);

}

.title {
    font-size: 36px;
    line-height: 1.15em;
    margin: 1em 0 .5em;
}

h1+.title {
    margin-top: 0;
}

section {
    padding: 90px 0;
}

/* HOME */
#home {
    overflow-x: hidden;
    opacity: 0;
}

#home h1 {
    margin-bottom: 0;
}

.showme {
    opacity: 1 !important;
    transition: all 500ms ease;
}

/* HEADER */
header {
    position: sticky;
    padding-top: 40px;
}

.header__logo {
    display: flex;
    align-items: center;
}

.header__nav {
    display: flex;
    justify-content: flex-end;
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}


.header__nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-weight: 500;
}

.header__nav ul li {
    padding: 10px 13px;
    display: flex;
    align-items: center;
    line-height: 1em;
}
.header__nav ul li a {
    display: flex;
}

.header__nav ul li a {
    color: var(--noir);
}

.header__nav ul li svg {
    margin-right: 5px;
}

.bg-beige {
    display: block;
    background-color: var(--beige-clair);
}

/* HERO */

.s-project__visual,
.s-hero__visual {
    position: relative;
}

.s-hero__visual {
    align-items: center;
    display: flex;
}

.s-hero__visual__img,
.s-project__visual__img {
    z-index: 2;
    position: relative;
    display: flex;
}

.s-project__visual__back,
.s-hero__visual__back {
    position: absolute;
    flex-shrink: 1;
    width: 100%;
    height: auto;
}

.s-hero__visual__back {
    right: 0;
    top: 50%;
    transform: scale(1.25) translate(0%, -30%);
}

.carte {
    border: 3px solid var(--noir);
    padding: 2px;
}

.carte img {
    width: 100%;
}

.carte__footer {
    display: flex;
    padding: 0 2em;
    background-color: var(--vert);
    align-items: center;
    justify-content: center;
}


/* PROJECTS */
.s-project__visual {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.s-project__visual__back {
    left: 0;
    transform: scale(1.4) translate(-50px, 50px);
    max-width: 500px;

}

.s-project__visual__img {
    border-radius: 100%;
    width: 75%;
    border: 4px solid var(--blanc);
}

.s-hero__logos {
    margin: 1em 0;
    
}

.s-hero__logos img {
    /* width: auto; */
    max-height: 67px;
}



/* S-IMAGES */
#s-images {
    background: url("../public/texture.svg") repeat;
    background-size: 651px 464px;
}


#s-images .insta img{
    width: 100%;
}
#s-images .insta {
    background: var(--blanc);
    margin-bottom: 2em;
    padding: 1em 1em 3em;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}


/* FOOTER */
.footer {
    background-color: var(--gris-moyen);
    color: var(--blanc);
    padding: 90px 0;
}

.footer nav a {
    color: var(--blanc);
    font-weight: 500;
}

.footer__certif a img {
    height: 67px;
}

.footer__title {
    margin-bottom: 1em;
}

.footer .row .col-md-4 {
    margin-bottom: 2em;
}

nav ul li {
    margin-bottom: 1em;
}

footer nav ul li a:hover::after {
    border-color: var(--blanc);

}

/* UNIQUEMENT DESKTOP */
@media (min-width: 768px) {
    .hiddenToDesktop {
        display: none;
    }

    #s-images .row .s-images__push .insta {
        transform: rotate(-1deg) translateY(-2%);
    }

    #s-images .row .s-images__push:nth-child(2n) .insta {
        transform: rotate(-3deg) translateY(-10%);
    }

    #s-images .row .s-images__push:nth-child(3n) .insta {
        transform: rotate(3deg) translateY(5%);
    }

    .buttons .button:first-child {
        margin-right: 1em;
    }
}

/* SI MOBILE */
@media (max-width: 768px) {
    body {
        font-size: 16px;
    }
    header{
        padding: 10px 0;
    }
    .header__nav{
        display: flex;
        align-content: center;
        align-items: center;
        padding: 0;
        margin-top: 10px;
    }

    header nav ul li a{
        display: flex;
    }
    header nav ul li a span{
        line-height: 24px;
        font-size: 12px ;
        height: 26px;
    }

    section {
        padding: 40px 0;
    }

    .reverseToMobile {
        flex-direction: column-reverse;
    }

    .hiddenToMobile {
        display: none !important;
    }

    .s-hero__visual {
        height: 400px;
    }

    .s-hero__visual__back {
        width: 100%;
        transform: translate(-70%, -60%) scale(1.5);
        left: 50%;
        opacity: 0.4;
        z-index: -1;
    }

    .s-project__visual__back {
        width: 100%;
        transform: translate(-50%, -50%) scale(1.5);
        top: 50%;
        left: 50%;
    }

    .button {
        width: 100%;
    }

    .buttons {
        margin: 2em 0;
    }

    .buttons .button {
        margin: .5em 0;
    }
}