:root {
    --hamburger-slice-color: black;
    --size: clamp(16px, 10vmin, 32px); /* Sensible value */
    --primary-color: #b4d7ff;
    /* --size: 200px; /* 👈 A value to show that the math is correct */
}

.centered-container {
    max-width: 960px;
    margin: 0 auto;
}

*, *:before, *:after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

html, body {
    margin: 0;
    font-family: "HK Grotesk", sans-serif;
    height: 100%;
}

.wrapper {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
    /*WHYYYY?*/
    overflow: hidden;
}

ul {
    padding-inline-start: 20px;
}

main {
    max-width: 960px;
    margin: 0 auto;
    padding: 2rem 0 0 0;
    font-size: 18px;
    color: #313131;
}

.full-width {
    width: 100vw;
    left: 50%;
    position: relative;
    transform: translate3d(-50%, 0, 0);
}

.full {
    width: 100%;
}

hr {
    border: none;
    border-bottom: black solid 2px;
    margin: 3rem 0;
}

a {
    color: black;
}

p {
    padding: 0;
    font-size: 18px;
}

p.intro {
    font-size: 28px;
    margin-top: 0;

    @media (width > 800px) {
        font-size: 40px;
    }
}

a.link-button {
    display: inline-flex;
    align-items: center;
}

.link-button {
    text-decoration: none;
    color: white;
    background: black;
    padding: 15px;
    margin: 16px 0;
    display: inline-block;
}

.link-button::after {
    height: 18px;
    width: 18px;
    stroke: white;
    content: "";
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-image: url("/assets/icons/chevron-forward-outline.svg"); /* Use the SVG as a mask instead of the content */
    background-color: currentColor;
    display: inline-block;
}

#navigation {
    position: relative;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1vh 2rem;
    background: var(--primary-color);

    .title {
        font-size: clamp(20px, 2.5vw, 32px);
        font-weight: bold;

        a {
            text-decoration: none;
        }
    }

    li {
        list-style: none;
    }

    li a {
        display: block;
        padding: 6px 1rem;
        text-decoration: none;
        font-size: 20px;
    }

    p, p a {
        font-size: 16px;
    }

    ul {
        padding: 1rem;
    }

    hr {
        margin: 0;
    }
}

#menu {
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
}

#hamburger-toggle {
    opacity: 0;
    cursor: pointer;
    position: absolute;
}

#hamburger {
    display: block;
    padding: 0.5rem;
    cursor: pointer;
    width: var(--size);
    height: var(--size);
    box-sizing: content-box;
    transition: transform 0.2s ease;
}

#hamburger .slice {
    --slice-height: 2px;
    display: block;
    position: relative;
    width: 100%;
    height: var(--slice-height, 2px);
    border-radius: var(--slice-height);
    transition: all 0.2s ease;
    background-color: var(--hamburger-slice-color);
    opacity: 90%;
}

#hamburger .slice {
    margin-top: 22%; /* Fallback to produce something hamburger-ish if calc is not available */
    margin-top: calc(33% - var(--slice-height));
    top: calc((33% - var(--slice-height)) / -2);
}

#hamburger-toggle:checked ~ #menu {
    visibility: visible;
    transform: rotateX(0deg);
    opacity: 1;
}

#hamburger-toggle:checked ~ #hamburger .slice:nth-child(1) {
    top: calc(50% - 33% + var(--slice-height) / 2);
    transform: rotate(45deg);
}

#hamburger-toggle:checked ~ #hamburger .slice:nth-child(2) {
    opacity: 0;
}

#hamburger-toggle:checked ~ #hamburger .slice:nth-child(3) {
    top: calc(-50% + var(--slice-height) / 2);
    transform: rotate(-45deg);
}

#menu {
    position: absolute;
    width: 100%;
    background: var(--primary-color);
    transform-origin: top;
    transform: rotateX(-90deg);
    transition: 150ms all 100ms ease-out;
}

footer {
    padding: 1vh 2rem 5rem 2rem;
    background: var(--primary-color);

    @media (width > 800px) {
        hr {
            display: none;
        }
    }

    .title {
        font-size: clamp(18px, 2.5vw, 32px);
        font-weight: bold;
        margin: 5px 0;
    }

    .centered {
        max-width: 960px;
        margin: 0 auto;
        display: flex;

        div {
            width: 50%;
        }

        @media (width < 800px) {
            flex-direction: column;

            div {
                width: 100%;
            }
        }
    }

    ul {
        padding-inline-start: 0;
        margin: 0;
        font-family: Georama, sans-serif;
    }

    li {
        list-style: none;
        padding: 5px 0;

        a {
            padding: 5px 0;
        }
    }

    p, p a {
        font-size: 16px;
    }
}

.manifest {
    background-color: #ecece4;
    padding: 2rem;

    .wrapper {
        max-width: 960px;
        margin: 0 auto;
    }

    .element {
        width: 50%;
        padding: 2rem 2rem 2rem 0;

        @media (width < 600px) {
            width: 100%;
        }

        @media (width > 1000px) {
            width: 25%;
        }
    }

    h2 {
        margin: 0;
    }

    h3 {
        font-family: Georama, sans-serif;
        margin: 1rem 0 5px;
    }

    p {
        margin: 0;
    }
}

.padding {
    padding: 0 2rem;
}

.members {
    img {
        max-width: 140px;
    }

    p {
        font-size: 16px;
    }

    h3 {
        font-size: 16px;
        margin: 1rem 0 0;
    }
}

/* References */
.reference {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;

    /*style only direct child img*/
    > img {
        padding-right: 20px;
        flex-shrink: 1;
        width: 50%;
        object-fit: contain;
    }

    .references-item {
        width: 50%;

        a {
            display: block;
        }

        p {
            margin: 0;

            &.client {
                font-weight: bold;
            }

            &.name {
                font-weight: bold;
                color: #f15800;
            }
        }

        audio {
            margin-top: 2rem;
        }
    }

    @media (width < 800px) {
        flex-direction: column;

        > img {
            width: 100%;
            padding-right: 0;
            margin-top: 20px;
        }

        .references-item {
            width: 100%;

            p.client {
                margin: 20px 0 0;
            }
        }
    }
}

.entry {
    display: flex;
    flex-direction: column;

    div {
        @media (width > 450px) {
            margin-top: -7vw;
        }

        p {
            display: flex;
            align-items: center;
            font-family: Georama, sans-serif;
            position: relative;
            z-index: 1;
            top: -40px;
            font-size: 18px;

            img {
                display: inline;
                height: 18px;
            }
        }
    }

    :first-child {
        margin: 0;
    }

    :nth-child(even) {
        align-self: end;
        margin-right: 1rem;
    }
}

.ring {
    display: flex;

    .ring-image {
        width: 50vw;
        max-width: 330px;
        min-width: 200px;
    }

    .ring-logo {
        margin-right: -50px;
        z-index: 1;
        width: 35vw;
        max-width: 150px;
    }
}

.filter {
    display: flex;
    width: 100%;
    justify-content: space-evenly;
    flex-wrap: wrap;
    background: var(--primary-color);
    margin-bottom: 2rem;
}

.filter div {
    padding: 5px;

    &.selected {
        font-weight: bold;
    }
}

.commanditaires {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-evenly;

    img {
        max-width: 180px;
        max-height: 180px;
        object-fit: contain;
    }
}