.hidden { display: none; }
.repositories strong {
    display: inline-block;
    margin-bottom: 0.5rem;
}
.projects-response.error, .projects-response.loading {
    margin-bottom: 1rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    background: #c00;
    color: var(--white);
    border-radius: 1rem;
}
.projects-response.loading {
    background: var(--blue);
}
.projects-response.loading::before,
.projects-response.loading::after {
    content: '';
    display: inline-block;
    width: 0.25rem;
    height: 0.25rem;
    background: var(--themeColor);
    border-radius: 0.125rem;
    position: relative;
    left: 0;
}
.projects-response.loading::before {
    animation: pow 2s ease-in-out infinite alternate;
    animation-delay: 1s;
    margin-right: 0.5rem;
}
.projects-response.loading::after {
    animation: pow 2s ease-in-out infinite alternate;
    animation-delay: 2s;
    margin-left: 0.5rem;
}
@keyframes pow {
    100% {
        left: 50%;
        background: var(--white);
    }
}
.projects-container .total {
    display: block;
    margin: 0.5rem 0 1.25rem 0;
    color: var(--accentDark2);
}
.projects-container .total b {
    display: inline-block;
    margin-left: 0.5rem;

}
.projects-list li {
    margin-top: 1rem;
    margin-bottom: 2rem;
    display: flex;
    flex-flow: column;
}
.projects-list h3 { text-shadow: unset; }
.projects-list .link {
    align-self: flex-start;
    font-weight: bold;
}
.projects-list .description {
    margin: 0.5rem 0;
    cursor: pointer;
    word-break: normal;
}
.projects-list .description:focus-visible {
    margin: 0.5rem 0;
    cursor: pointer;
    word-break: normal;
    outline: 2px solid var(--blueDark);
    outline-offset: 2px;
    border-radius: 1rem;
}
.projects-list .description::before {
    content: '—';
    display: inline-block;
    font-weight: bold;
    width: 1.25rem;
    height: 1.25rem;
    overflow: hidden;
    border-radius: 0.5rem;
    background: var(--softShadow);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.5rem;
    color: var(--blue);
}
.projects-list .description.collapsed::before {
    content: '+';
}
.projects-list .description:hover,
.projects-list .description:active {
    text-decoration: underline;
}
.projects-list .language {
    margin-right: 0.5rem;
    color: var(--accentDark3);
    font-size: 0.95rem;
}
.projects-list .language,
.projects-list .topic {
    padding: 0.25rem 0.5rem;
    font-weight: bold;
    transition: 0.125s all;
}
.projects-list .topic {
    font-size: 0.8rem;
    align-self: center;
}
.projects-list .language:hover,
.projects-list .topic:hover {
    transform: scale(1.1);
    cursor: pointer;
}
.projects-list .details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.repositories-urls h2 { margin-bottom: 1rem; }
@media screen and (max-width: 640px) {
    .repositories-urls a {
        word-break: break-all;
    }
}
@media (prefers-color-scheme: dark) {
    .projects-container .total {
        color: var(--themeColor);
    }
    .projects-list .language {
        color: var(--themeColor2);
        background: var(--ghostBlueWhite3);
    }
}
