.skills-and-hobbies {
    display: flex;
    flex-flow: column nowrap;
    gap: 4rem;
}

.skills, .hobbies {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    gap: 2rem;
}

.skills-and-hobbies .card-container {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(14rem, auto));
    grid-template-rows: auto;
    justify-content: center;
    justify-items: center;
    column-gap: 1.5rem;
    row-gap: 4rem;
}

.skills-and-hobbies .card {
    background: var(--background-lighter);
    height: 11.8rem;
    width: 15.6rem;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    padding: 1.5rem;
    border: solid 1px var(--primary);
    border-radius: 5px;
}

.skills-and-hobbies .card:hover {
    box-shadow: 0 3px 10px 5px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
}

.skills-and-hobbies .card > span {
    margin-top: 0.8rem;
    font-weight: 700;
}


.skills-and-hobbies .card > img {
    height: auto;
    width: 4rem;
}

@media (max-width: 345px) {
    .skills-and-hobbies .card-container {
        grid-template-columns: repeat(1, minmax(14rem, auto));
    }
}

@media (min-width: 768px) {
    .skills-and-hobbies .card-container {
        grid-template-columns: repeat(3, minmax(14rem, auto));
    }
}

@media (min-width: 1024px) {
    .skills-and-hobbies .card-container {
        grid-template-columns: repeat(auto-fit, minmax(14rem, auto));
    }
}