.desktop-only {
    display: block;
}
.tablet-desktop {
    display: block;
}
.mobile-only {
    display: none;
}
.mobile-only-flex {
    display: none;
}


@media (max-width: 1000px) {
    .navigation-header .mobile-menu {
        display: flex;
        align-items: center;
    }

    .header-nav {
        display: none;
    }

    .header-nav li:first-child {   /* Lien HOME caché sur mobile */
        display: none;
    }

    /*ANIMATION*/
      
    /**
    * Le bouton "hamburger".
    * Avec le SVG à l'intérieur, dont on va animer les 3 lignes.
    */
    #menu-button {
        background: none;
        border: none;
        display: flex;
        align-items: center;
        padding: 0;
    }
    
    #menu-button svg {
        width: 40px;
        height: 14px;
        margin: 0;
        overflow: visible;
    }
    
    #menu-button svg path {
        stroke-width: 2px;
        stroke: #87E74E;
        transition: 300ms;
    }
    
    /**
    * La nav qui se replie.
    * On anime la propriété "max-width" plutôt que "width"
    * car l'animation ne fonctionnerait pas avec "width: auto"
    * et cela nous forcerait à forcer une width en dur.
    * La max-width permet de ne pas avoir une largeur trop large,
    * juste ce qu'il faut.
    */
    
    #menu-nav {
        max-width: 0;
        transition: max-width 300ms ease-in-out;
        overflow: hidden;
    }
    
    /* Les liens sont les uns à côté des autres. */
    #menu-nav ul {
        display: flex;
        list-style-type: none;
        padding: 0;
        margin: 0;
    }
    
    /* Styles des liens. */
    #menu-nav ul li a {
        display: inline-block;
        margin-right: 17px;
        padding: 8px 13px;
        background: #87E74E;
        color: #111111;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 150%; /* 21px */
        letter-spacing: 2.1px;
        white-space: nowrap;
        text-decoration: none;
        text-transform: uppercase;
    }
    
    /**
    * Styles quand le menu est ouvert.
    */
    
    /* Animation des lignes 1 et 3 dans le SVG. */
    #menu-button.opened #line1 {
        d: path("M0 0 L40 14");
    }
    #menu-button.opened #line3 {
        d: path("M0 14 L40 0");
    }
    
    /* Ligne centrale masquée. */
    #menu-button.opened #line2 {
        opacity: 0;
    }
    
    /* Animation de la nav */
    #menu-nav.opened {
        max-width: 300px;
    }

    .tablet-desktop {
        display: block;
    }

    /*--------------- BUTTONS -----------------*/
    .button {
        width: 134px;
        height: 30px;
        font-family: "gotham-xnarrow", sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 100%; /* 37.5px */
        letter-spacing: 2.4px;
        text-align: left;
        padding: 6px 15px;
        box-sizing: border-box;
    }

    .button:active {
        background-color: #87E74E;
    }

    .button span {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    .button::after {
        background-size: contain;
        width: 12px;
        height: 12px;
        right: 20px;
        transform: translate(0%, -50%) rotate(-40deg);
    }

    .button:hover  span{
        left: auto;
        transform: none;
    }
    
    .button:hover::after {
        right: 20px;
        transform: translate(0%, -50%) rotate(-40deg);
    }
}


@media (max-width: 600px) {
    .footer-links {
        margin-left: 7px;
        grid-template-columns: repeat(1, auto);
        row-gap: 25px;
    }

    .empty-column {
        display: none;
    }

    .footer-links a {
        font-size: 13px;
        letter-spacing: 1.95px;
    }

    .networks {
        gap: 12px;
    }

    .footer-copyright {
        font-size: 13px;
        letter-spacing: 1.95px;
    }

    section#newsletter form {
        width: 350px;
    }
}


@media (max-width: 800px) {

    .desktop-only {
        display: none;
    }
    .tablet-desktop {
        display: none;
    }
    .mobile-only {
        display: block;
    }
    .mobile-only-flex {
        display: flex;
    }

    .viewport {
        height: auto;
    }

    body {
        padding: 0px 25px;
    }

    /*--------------- HEADER -----------------*/

    header {
        height: 70px;
    }

    .navigation-header {
        padding: 20px 0px;
    }
    
    .navigation-header img {
        width: 30px;
        height: 30px;
    }


    /*--------------- TITLE -----------------*/
    
    section.contact .title {
        position: relative;
        width: auto;
        height: calc(100dvh - 70px);
    }

    h1 {
        font-size: 100px;
        line-height: 92%; /* 92px */
    }

    .h1-contacte {
        font-size: 100px;
        transform: translate(-160px,50px) rotate(-90deg);
    }
    
    @keyframes slide-in-contacte {
        from {
            transform: translate(-160px, 50px) rotate(-90deg);
        }
    
        to {
            transform: translate(34px, 50px) rotate(-90deg);
        }
    }
    
    .h1-nous {
        transform: translate(140px, 100%);
    }
    
    @keyframes slide-in-nous {
        from {
            transform: translate(140px, 100%);
        }
    
        to {
            transform: translate(140px, -35px);
        }
    }

    
    .h1-nous-border {
        transform: translate(141.5px,100%);
        width: 220px;
        height: 192px;
    }
    
    @keyframes slide-in-nous-border {
        from {
            transform: translate(141.5px, 100%);
        }
    
        to {
            transform: translate(141.5px, -20px);
        }
    }


    section h2 {
        font-size: 48px;
    }

    /*--------------- FORM -----------------*/

    section.contact {
        flex: 1;
        flex-direction: column;
        gap: 45px; /* espacement entre image et form */
    }

    section#newsletter form input {
        font-size: 14px;
        padding: 10px 12px;
    }

    .form-field-inline {
        border-bottom: #F7F2F1 solid 1px;
    }

    .form-field-inline,
    .form-field-inline input,
    .form-field textarea {
        font-size: 16px;
        letter-spacing: 2.4px;
    }

    .form-field textarea {
        border: #F7F2F1 1px solid;
        padding: 10px;
        font-size: 13px;
        margin-bottom: 20px;
    }

    .form-field label {
        font-size: 16px;
        letter-spacing: 2.4px;
    }
    
    .form-accept {
        margin-bottom: 20px;
    }
    
    .form-accept input {
        margin-right: 16px;
    }

    .marquee {
        margin: 0 -25px;
    }

    /*--------------- NEWSLETTER -----------------*/

    section#newsletter {
        margin: 0 -25px;
    }

    section#newsletter form .checkbox {
        font-size: 14px;
    }
    
    section#newsletter {
        padding-left: 25px;
    }

    section#newsletter form {
        gap: 18px;
        width: 270px;
    }

    /*--------------- FOOTER -----------------*/


    footer {
        padding: 100px 25px 53px 25px;
        margin-left: -25px;
        margin-right: -25px;
    }

    body {
        overflow-x: hidden;
    }
}
