projs {
    display: flex;
    flex-wrap: wrap;
    width: 100dvw;
    justify-content: space-evenly;
    gap: 5vh;
}
projcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 40vh;
    width: 40vw;
    background-color: #111;
    border: 0.15vw solid #aaa;
    border-radius: 1vw;
    overflow: hidden;
    color: white;
    cursor: pointer;
    user-select: none;
    box-shadow: inset 0 0 0 0 black;
    transition: box-shadow 500ms ease-in-out;
}
projcard:hover {
    box-shadow: inset 0 0 10vh 0 black;
}
projcard video,
projcard img {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    object-fit: cover;
    inset: 0;
    transition: opacity 500ms ease-in-out;
}
projcard:hover video,
projcard:hover img {
    opacity: 0.9;
}
projcard h3 {
    font-size: x-large;
    text-align: center;
    width: 100%;
    margin-bottom: 0;
    z-index: 2;
}
projcard p {
    z-index: 2;
    transition: opacity 500ms ease-in-out;
    opacity: 1;
}
projcard:hover p {
    opacity: 0;
}
projcard year {
    width: 100%;
    text-align: center;
    z-index: 2;
    opacity: 0.5;
    margin: 0;
    font-weight: bold;
}

projcard::after {
    content: "click to go to project page";
    width: 100%;
    position: absolute;
    bottom: 1vh;
    text-align: center;
    z-index: 2;
    font-size: 1.5vh;
    opacity: 0.5;
    transition: all 500ms ease-in-out;
}

projcard:hover::after {
    opacity: 1;
    font-size: 1.8vh;
}

@media (max-aspect-ratio: 1/1) {
    projs {
        flex-direction: column;
    }

    projcard {
        width: 80vw;
        margin-left: 10vw;
        border-radius: 1vh;
    }
}
