#categories{
    padding-bottom: 50px;
}
a.categories-item {
    flex-basis: calc((100% / 6) - (5 * 26px / 6));
}
a.categories-item + a.categories-item{
    margin-left: 26px;
}
a.categories-item .circle{
    width: 100%;
    padding-bottom: calc(100% - 8px);
    border-width: 4px;
    border-color: var(--light-gray);
    transition: background-color .3s;
}
a.categories-item:hover .circle:not(.with-half){
    background-color: #fff;
}
a.categories-item .circle.with-half{
    padding-bottom: 100%;;
    border-width: 0;
}
a.categories-item .half-circle{
    border-bottom-left-radius: 300px;
    border-bottom-right-radius: 300px;
    width: 100%;
    height: 50%;
    border-color: var(--dark-red);
    transform: rotate(-45deg);
    transform-origin: top center;
    top: 50%;
    transition: transform 0.3s;
}
a.categories-item:hover .half-circle{
    transform: rotate(135deg);
}
a.categories-item .categories-image + strong{
    color: #232323;
    font-size: 1.0625em;
    margin-top: 30px;
    position: relative;
}
a.categories-item .categories-image + strong:after{
    content: ''; 
    display: block;
    height: 2px;
    width: 0;
    position: absolute;
    left: 0;
    bottom: -5px;
    background-color: #c23939;
    transition: width .3s;
}
a.categories-item:hover .categories-image + strong:after{
    width: 100%;
}
a.categories-item .half-circle + strong{
    color: #fff;
    font-size: 1.375em;
}
@media screen and (max-width: 991px){
    a.categories-item {
        flex-basis: calc((100% / 3) - (5 * 26px / 3));
    }
    a.categories-item,
    a.categories-item + a.categories-item{
        margin: 13px;
    }
}
@media screen and (max-width: 767px){
    .categories-image{
        position: relative;
    }
    .categories-image img{
        max-width: 100%; 
    }
}
@media screen and (max-width: 567px){
    a.categories-item {
        flex-basis: calc(50% - 20px);
    }
    a.categories-item,
    a.categories-item + a.categories-item{
        margin: 22px 10px;
    }
    a.categories-item .categories-image + strong{
        font-size: 1.25em;
        margin-top: 19px;
    }
}