:root {
    --portfolio-project-label-background-color: rgb(40,40,40);
    --portfolio-project-label-color: rgb(210,210,210);
    --portfolio-project-label-link-brightness: 82%;
}
    :root[data-ui-theme='dark'] {
        --portfolio-project-label-background-color: rgb(20,20,20);
        --portfolio-project-label-color: rgb(180,180,180);
        --portfolio-project-label-link-brightness: 61%;
    }

#portfolio-container {
    padding-top: 12px;
}

.portfolio-project-image {
    width: 55%;
    border: 1px solid transparent;
    border-radius: 4px;
    filter: brightness(0.8) grayscale(1);
    transition: border, filter;
    transition-duration: 0.5s;
}
    .portfolio-project-image:hover {
        border: 1px solid var(--portfolio-project-label-background-color);
        filter: unset;
        box-shadow: 0 0 20px -5px var(--shadow-color);
    }

.portfolio-project-label {
    background-color: var(--portfolio-project-label-background-color);
    color: var(--portfolio-project-label-color);
    font-size: 0.8rem;
    padding: 15px 20px;
    width: 60%;
    max-height: 75%;
    overflow: auto;
    box-shadow: 0 0 20px -5px var(--shadow-color);
    position: absolute;
    align-self: center;
    transition: box-shadow, left, right;
    transition-duration: 0.5s;
}
    .portfolio-project-label.left-aligned {
        left: 0;
    }
    .portfolio-project-label.right-aligned {
        right: 0;
    }
    .portfolio-project-label > p {
        padding-top: 0.7em;
    }
    .portfolio-project-label > div > a {
        color: rgb(0, 100, 200);
    }
        .portfolio-project-label > div > a:visited {
            color: rgb(211, 41, 245);
        }

.portfolio-project-label-aside.left-aligned {
    left: calc(-15% - 1rem);
    box-shadow: unset;
}
.portfolio-project-label-aside.right-aligned {
    right: calc(-15% - 1rem);
    box-shadow: unset;
}

.portfolio-project-label-header {
    display: flex;
    justify-content: space-between;
}
    .portfolio-project-label-header > a > img {
        width: 1.4rem;
        height: 1.4rem;
        filter: grayscale(1) brightness(var(--portfolio-project-label-link-brightness));
    }

.portfolio-project-label-tags {
    text-align: right;
    font-size: 0.7rem;
    font-style: italic;
    opacity: 0.8;
}
    .portfolio-project-label-tags > span  {
        padding-left: 0.5em;
    }

.portfolio-project-wrapper {
    padding: 30px 15px;
    position: relative;
    display: flex;
}
    .portfolio-project-wrapper.left-aligned {
        flex-direction: row-reverse;
    }
    .portfolio-project-wrapper.right-aligned {
        flex-direction: row;
    }

@media only screen and (max-width: 1280px) {
    #portfolio-container {
        display: grid;
        grid-template-columns: auto auto;
    }

    .portfolio-project-image {
        display: none;
    }

    .portfolio-project-label {
        width: unset;
        max-height: unset;
        box-shadow: unset;
        position: unset;
        left: unset;
        right: unset;
        align-self: unset;
        transition: unset;
    }

    .portfolio-project-wrapper {
        display: block;
        padding: 30px 10px 0 10px;
    }
}

@media only screen and (max-width: 924px) {
    #portfolio-container {
        grid-template-columns: auto;
    }
}