.custom-topic-listing {
   width: 100%;
}

.custom-topic-listing .cs-section-header h2 {
   font-family: Lato;
   text-transform: none;
   letter-spacing: 0;
   font-weight: 700;
   margin-bottom: 7px;
}

.custom-topic-listing .cs-section-header p {
   font-size: 16px;
   color: #fff;
}

.category-grid-item {
   width: calc(25% - 30px );
   padding-bottom: calc(25% - 30px);
   margin: 15px;
   position: relative;
}

.category-group {
   margin-left: -15px;
   margin-right: -15px;
   display: -webkit-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   flex-wrap: wrap;
}
.category-grid-item:after {
   box-shadow: 0 30px 70px rgb(0 0 0 / 25%);
   opacity: 0;
   display: block;
   position: absolute;
   content: '';
   z-index: -1;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   transition: opacity 0.35s cubic-bezier(.15,.75,.5,1) 0s;
}

.category-grid-item .inner {
   overflow: hidden;
   position: relative;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   background-color: rgba(0,0,0,.1);
   border-radius: 5px;
}

.category-grid-item .inner a {
   display: inline-block;
   z-index: 10;
}

a.nectar-category-grid-link {
   position: absolute;
   top: 0;
   left: 0;
   background-size: cover;
   background-position: center;
   width: 100%;
   height: 100%;
}

.nectar-category-grid-item-bg {
   position: absolute;
   top: 0;
   left: 0;
   background-size: cover;
   background-position: center;
   z-index: 0;
   width: 100%;
   height: 100%;
   backface-visibility: hidden;
   -webkit-transition: opacity 0.55s cubic-bezier(.15,.75,.5,1) 0.25s,transform 0.45s cubic-bezier(.15,.75,.5,1) 0s;
   transition: transform 0.45s cubic-bezier(.15,.75,.5,1) 0s,opacity 0.55s cubic-bezier(.15,.75,.5,1) 0.25s;
   opacity: 1;
}
.category-group {
   padding-top: 25px;
}
.category-grid-item .content {
   position: absolute;
   width: calc(100% - 60px);
   z-index: 5;
   bottom: 30px;
   left: 30px;
   color: #ffffff;
}

.category-grid-item .content h3 {
   font-family: Lato;
   letter-spacing: 0;
   font-size: 24px;
   font-weight: 400;
   color: #fff;
   margin: 0;
   transition: all 0.45s cubic-bezier(.15,.75,.5,1) 0s;
   line-height: 1.2em;
   max-width: 70%;
   text-transform: capitalize;
}

.nectar-category-grid-item-bg::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   background-size: cover;
   background-position: center;
   z-index: 0;
   width: 100%;
   height: 100%;
   border-radius: 5px;
   opacity: 0.2;
   transition: opacity 0.45s cubic-bezier(.15,.75,.5,1) 0s,transform 0.45s cubic-bezier(.15,.75,.5,1) 0s;
   backface-visibility: hidden;
   background-color: #000000;
}
.category-grid-item:hover:after {
   opacity: 1;
}
.category-grid-item:hover .nectar-category-grid-item-bg {
   transform: scale(1.1);
}
.category-grid-item:hover .nectar-category-grid-item-bg::before{
   opacity: .4;
}

@media(max-width:1000px){
   .category-grid-item {
      width: calc(50% - 30px);
      padding-bottom: calc(50% - 30px);
   }
   .custom-topic-listing .cs-section-header h2 {
      font-size: 27.2px;
      line-height: 31.2px;
   }
}

@media(max-width:690px){
   .category-grid-item {
      width: 100%;
      padding-bottom: 75%;
   }
   .category-grid-item .content h3 {
      font-size: 20.8px;
   }
   .custom-topic-listing .cs-section-header h2 {
      font-size: 25.5px;
      line-height: 29.25px;
   }
}