Responsive Icons

HTML

<ul class="cbp-ig-grid">
    <li>
        <a href="#">
            <span class="cbp-ig-icon cbp-ig-icon-shoe"></span>
            <h3 class="cbp-ig-title">Squid voluptate</h3>
            <span class="cbp-ig-category">Fashion</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span class="cbp-ig-icon cbp-ig-icon-ribbon"></span>
            <h3 class="cbp-ig-title">Mixtape lo-fi</h3>
            <span class="cbp-ig-category">Design</span>
        </a>
    </li>


</ul>

CSS

/* General grid styles */
.cbp-ig-grid {
    list-style: none;
    padding: 0 0 50px 0;
    margin: 0;
    background-color: black;
}
 
/* Clear floats */
.cbp-ig-grid:before, 
.cbp-ig-grid:after { 
    content: " "; 
    display: table; 
}
 
.cbp-ig-grid:after { 
    clear: both; 
}
 
/* grid item */
.cbp-ig-grid li {
    width: 33%;
    float: left;
    height: 420px;
    text-align: center;
    border-top: 1px solid #ddd;
}
 
/* we are using a combination of borders and box shadows to control the grid lines */
.cbp-ig-grid li:nth-child(-n+3){
    border-top: none;
}
 
.cbp-ig-grid li:nth-child(3n-1),
.cbp-ig-grid li:nth-child(3n-2) {
    box-shadow: 1px 0 0 #ddd;
}
 
/* anchor style */
.cbp-ig-grid li > a {
    display: block;
    height: 100%;
    color: #47a3da;
    -webkit-transition: background 0.2s;
    -moz-transition: background 0.2s;
    transition: background 0.2s;
}
 
/* the icon with pseudo class for icon font */
.cbp-ig-icon {
    padding: 30px 0 0 0;
    display: block;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}
 
.cbp-ig-icon:before {
    font-family: 'anyoldicon';
    font-size: 14em;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}
 
.cbp-ig-icon-shoe:before {
    content: "\e000";
}
 
.cbp-ig-icon-ribbon:before {
    content: "\e001";
}
 
.cbp-ig-icon-milk:before {
    content: "\e002";
}
 
.cbp-ig-icon-whippy:before {
    content: "\e003";
}
 
.cbp-ig-icon-spectacles:before {
    content: "\e004";
}
 
.cbp-ig-icon-doumbek:before {
    content: "\e007";
}
 
/* title element */
.cbp-ig-grid .cbp-ig-title {
    margin: 20px 0 10px 0;
    padding: 20px 0 0 0;
    font-size: 2em;
    position: relative;
    -webkit-transition: -webkit-transform 0.2s;
    -moz-transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}
 
.cbp-ig-grid...