:root {
    --content-padding: 5rem;
}

*,*::before,*::after {
    box-sizing: inherit;
    max-width: inherit;
    max-height: inherit;
}

html {
    box-sizing: border-box;
    max-width: 100%;
    max-height: 100%;
}

img {
    border-radius: 3px;
}

body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;

    background-color: white;
    color: #010101;
    font-family: "Outfit", sans-serif;

}

header {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 0 var(--content-padding);


    height: 30rem;
}

h1.bi {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    font-size: 10rem;
}

nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

nav span {
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    display: flex;
    align-items: center;
}

header a {
    color: currentColor;
}

header nav > a > span:hover {
    background-color: darkslateblue;
}

header > a:has(span) {
    text-decoration: none;
    margin-bottom: 1rem;
}

header > a > span {
    padding: 0.25rem 1rem;
    font-size: 1.5rem;
    border-radius: 4px;
}

header > a > span {
    background-color: midnightblue;
}

main {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1rem;

    /* IDK it's just simpler and better this way. */
    display: flex;
    flex-direction: column;
}

h2 {
    text-align: center;
    border-bottom: 2px solid currentColor;
    padding-bottom: 0.75rem;
}

.photo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 100%;

    padding: 0 var(--content-padding);


    &.nopadding {
        margin: 0 0;
    }

    & > .description {
        visibility: hidden;
    }
}

.photo.horizontal {
    width: 100%;
}

img {
    max-height: 80vh;
    object-fit: contain;
    width: fit-content;
}


footer {
    width: 100%;
    text-align: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
}



@media screen and (max-width: 1200px) {

    h1.bi {
        font-size: 5rem;
    }
    main {
        display: flex;
        flex-direction: column;
    }

    .photo {
        padding: 0 0;
    }

    img {
        width: 100%;
    }

    .row {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 100%;
    }
}

