.categories {
    font-family: Roboto, sans-serif;
}
.categories h2 {
    font-size: 40px;
}
.categories h3 {
    font-size: 18px;
}


.category_image .item_image {
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}


.category_image .item_image img  {
    width: 100% !important;
    height: 100% !important;
}
.categories .category_name:after {
    content: '';
    display: block;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 0;
    transition: .3s;
}

.category_image .item_image:after {
    content: '';
    display: block;
    border: 3px solid #fff;
    border-radius: 4px;
    width: 100%;
    height:100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: .3s;
}

.category_image a:hover .item_image:after {
    opacity: 1!important;
}

.categories a:hover .category_name:after {
    width: 100% !important;
}
.categories .col_item{
    width:calc(100% / 5);
    padding: 0px;
}
.categories .col_item:nth-child(n+6) {
    width:calc(100% / 6);
    padding: 0px;
}
.category_image .item-name {
    font-size: 20px;
    font-family: "Libre Caslon Text", serif;
    font-style: italic;
    font-width: 400;
}

@media (max-width: 900px) {

    .categories h2 {
        font-size: 24px;
        font-weight: 300;
    }
    .categories h3 {
        font-size: 16px;
    }
    .info-text {
        padding: 0px 20px;
    }

    .categories .col_item{
        width:calc(100% / 2);
        padding: 0px;
    }
    .categories .col_item:nth-child(n+3) {
        width:calc(100% / 3);
        padding: 0px;
    }
    .category_image .item-name {
        font-size: 14px;
    }
}