@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-Regular.woff2") format("woff2")
}

*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    scroll-behavior: smooth;
    --primary: oklch(0.3427 0.1 264.39);
    --text-color: oklch(0.99 0.003 325);
    --hover-color: oklch(0.7344 0.1 264.39);
}

body {
    margin: 0;
}

.container {
    max-width: 90rem;
    margin-inline: auto;
    padding-inline: 1rem;

    h2 {
        font-size: 1.5em;
        margin: 0.8em -.2em;
        line-height: 1;
    }
}

header {
    background-color: var(--primary);

    ul {
        margin: 0;
        padding: 1.2rem;
        list-style: none;
        display: block;
        margin-inline-start: -3rem;

        a {
            padding: 1rem 2rem;
            color: var(--text-color);
            text-decoration: none;
            transition: color .2s ease-in-out, color .1s ease-in-out;

            &:hover {
                color: var(--hover-color);
                transition: color .2s ease-in-out, color .1s ease-in-out;
            }
        }

    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    .foto_labo img {
        padding-block-start: 2rem;
        width: 100%;
    }

    .foto img {
        width: 100%;
        padding-block-start: 2rem;
        border-radius: 50%;
        object-fit: fill;
    }
}

.a_knop {
    display: inline-block;
    margin-block-start: 2rem;
    padding: 0.7rem 1.4rem;
    text-decoration: none;
    border-radius: 8px;
    background-color: var(--primary);
    color: var(--text-color);
    transition: color .2s ease-in-out, color .1s ease-in-out;

    &:hover {
        color: var(--hover-color);
        transition: color .2s ease-in-out, color .1s ease-in-out;
    }
}

.cards {
    display: flex;
    gap: 1rem;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    margin-block-end: 2.5rem;
    text-decoration: none;


    li {
        flex-basis: 18rem;
        list-style: none;
        display: flex;
        flex-direction: column;
        border: 0.2px solid oklch(0.3427 0.1 264.39);
        border-radius: 0.5rem;
        overflow: hidden;
        position: relative;
        transition: box-shadow .2s ease-in-out,  box-shadow .1s ease-in-out;

        &:hover {
            box-shadow: 0 0 .9rem oklch(0 0 0 / .2);
            transition: box-shadow .2s ease-in-out,  box-shadow .1s ease-in-out;
        }


    }

    .content {
        padding: 1rem;

        a {
            color: var(--primary);
        }

        .overlay-link {
            position: absolute;
            inset: 0;
            text-indent: 100%;
            white-space: nowrap;
            overflow: hidden;
        }

    }

    picture {
        order: -1;

        img {
            height: 150px;
            width: 300px;
        }
    }

}

.social {

    ul {
        display: flex;
        gap: 3rem;
        flex-direction: row;
        justify-content: center;
        list-style: none;

        img {
            width: 4.5rem;
            transition: scale .2s ease-in-out, scale .1s ease-in-out;

            &:hover {
                scale: 1.1;
                transition: scale .2s ease-in-out, scale .1s ease-in-out;
            }

        }
    }

}

.reflectie {

    ul {
        display: block;
        list-style: none;
        padding-inline: 0;

    }

}

.list_kleur a {
    color: var(--primary);
    transition: color .2s ease-in-out,  color .1s ease-in-out;

    &:hover {
        color: oklch(0.7374 0.1 264.39);
        transition: color .2s ease-in-out, color .1s ease-in-out;
    }
}

.visually-hidden {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

footer {
    padding-block-start: 0.5rem;
    background-color: var(--primary);
    color: var(--text-color);

    p {
        display: flex;
        justify-content: center;
        padding-block: 0.5rem;
        gap: 0.5rem;
        margin: 0;

        img {
            width: 1.8rem;
            transition: scale .2s ease-in-out, scale .1s ease-in-out;

            &:hover {
                scale: 1.1;
                transition: scale .2s ease-in-out, scale .1s ease-in-out;
            }
        }

    }

}

@media (min-width: 48em) {
    header {
        background-color: var(--primary);

        ul {
            margin: 0;
            padding: 1.2rem;
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            margin-inline-start: -3rem;

            li:first-child {
                margin-inline-end: auto;
            }

            a {
                padding: 1rem 2rem;
                margin: 0;
                color: var(--text-color);
                text-decoration: none;
                transition: color .2s ease-in-out, color .1s ease-in-out;

                &:hover {
                    color: var(--hover-color);
                    transition: color .2s ease-in-out, color .1s ease-in-out;
                }
            }

        }
    }

    .row {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;

        .intro_tekst {
            margin-block-start: 3rem;
        }

        .foto_labo img {
            margin-inline-start: 12rem;
            margin-block-start: 2rem;
            width: 75%;
        }

        .foto img {
            margin-inline-start: 6rem;
            width: 75%;
            padding-block-start: 2rem;
            border-radius: 50%;
            object-fit: fill;
        }
    }

    .reflectie {

        ul {
            display: flex;
            flex-direction: row;
            list-style: none;
            gap: 2rem;
        }

    }

}

@media (min-width: 30em) {
    .cards {
        display: flex;
        justify-content: center;
    }
}