:root {
    --link-color: var(--page-color);
}

::selection {
    background: var(--page-color);
}

main {
    padding: 20px calc(var(--marge) * 2);
    color: var(--page-color);
}

/* header page */
header.page {
    --corps: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 40px;
}

header .fleche {
    --btn-color: var(--page-color);
    color: var(--btn-color);
    font-family: var(--NRpictos);
    transition: color var(--hover-delay) var(--cubic-bezier);
}

header .fleche:hover {
    color: var(--hover);
    color: color-mix(in oklab, var(--btn-color) var(--mix-percent), var(--mix-color));
}

.fleche.blank,
.fleche.blank::selection,
.fleche.blank:hover {
    background: transparent;
    cursor: default;
    color: transparent;
}

.titre_page {
    margin: 0 var(--marge);
    /* margin: calc(var(--marge) * 1) calc(var(--marge) * 5); */
    font-family: var(--display_lucky);
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
}


/* grid */
.grid {
    display: flex;
    flex-flow: row wrap;
    align-items: start;
    justify-content: end;
    gap: var(--marge);

    --colX1: calc((100% - var(--marge) * 3) / 4);
    --colX2: calc((100% - var(--marge) * 1) / 2);
    --colX3: calc(100% - var(--colX1) - var(--marge));
}

.grid * {
    box-sizing: border-box;
}

.rubrique::after {
    --deg: -3deg;
    transform: var(--translate) rotate(var(--deg));
}

.rubriques_top :nth-child(even)::after {
    transform: var(--translate) rotate(calc(var(--deg) * -1));
}

.rubriques_top {
    display: inline-table;
    padding-left: calc(25% + 5px);
    border-spacing: var(--marge) 0;
    margin-left: calc(var(--marge) * -1);
    margin-right: calc(var(--marge) * -1);
    width: calc(100% + var(--marge) * 2);

}

.rubriques_top .rubrique {
    display: table-cell;
    vertical-align: middle;
    width: 25%;
}

.quoi {
    flex-basis: var(--colX1);
}

/* contenu */
.contenu {
    flex-basis: var(--colX3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    gap: var(--marge);
}

.images {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.images .image {
    flex: 1;
    margin-right: var(--marge);
}

.images .image:last-child {
    margin: 0;
}

.images img {
    width: 100%;
}


/* - remerciements - */
.remerciements {
    max-width: 700px;
    transform: rotate(-2deg);
    transition: transform .4s cubic-bezier(.17, .84, .44, 1);
    padding: calc(var(--marge) / 2) var(--marge);
    border: var(--border-width) solid var(--page-color);
    border-radius: 2px;
    text-align: center;
    color: var(--page-color);
    margin: var(--marge) 0;
}

.remerciements:hover {
    transform: rotate(2deg);
}

.remerciements .titre {
    text-transform: uppercase;
    margin: calc(var(--marge) / 2) 0;
}


/* projets similaires */
.liste {
    margin-top: 20px;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    --height: 200px;
    align-self: start;
}

.bloc {
    color: var(--color);
}

.liste::after {
    content: "Projets similaires";
}

/* Plus grand que desktop */
@media (min-width: 1792px) {
    main {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: 1792px;
    }

    header.page {
        width: 75%;
        align-self: flex-end;
    }
}


@media (max-width : 1300px) {
    .rubriques_top {
        padding-left: 0;
    }

    .quoi {
        flex-basis: 100%;
    }

    /* contenu */
    .contenu {
        flex-basis: 100%;
    }
}


/* Plus petit que desktop */
@media (max-width : 900px) {
    main {
        padding: 20px calc(var(--marge) * 1.5);
    }

    .rubriques_top {
        display: flex;
        flex-flow: column nowrap;
        gap: 20px;
        flex-basis: 100%;
        margin-left: 0;
        margin: 0;
        width: auto;
        padding: 0;
    }


    .rubriques_top .rubrique,
    .rubrique {
        display: block;
        width: 100%;
        padding: 10px;
    }

    .rubriques ::after {
        transform: translate(-15px, -30px) rotate(var(--deg));
    }

    .rubriques_top :nth-child(even)::after,
    .quoi::after {
        left: unset;
        right: 0;
        transform: translate(15px, -30px) rotate(calc(var(--deg) * -1));
    }

    .rubrique ul::after {
        right: calc(var(--marge) * -1.2);
    }

    .quoi {
        flex-basis: 100%;
    }

    .contenu {
        flex-basis: unset;
        width: 100%;
    }

    .liste {
        grid-template-columns: repeat(1, 1fr);
        flex-basis: var(--colX1);
    }

}

@media (max-width: 500px) {
    main {
        padding: 20px var(--marge);
    }

    header.page {
        font-size: 3rem;
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 20px;
    }

    header>* {
        order: 2;
    }

    .titre_page {
        order: 1;
        width: 100%;
    }

    .liste {
        grid-template-columns: repeat(1, 1fr);
    }
}