.itemFluid { flex: 0 0 auto; margin: auto 0 1%; box-sizing: border-box; position: relative; display: block; } .itemSquare { flex: 0 0 24%; margin: 0 1% 1% 0; @media screen and (min-width: 1000px) { flex: 0 0 16%; } @media screen and (min-width: 1440px) { flex: 0 0 13%; } position: relative; display: block; width: 100%; .inner { padding-bottom: 100%; } } .inner { border-radius: 2px; overflow: hidden; background-position: center; background-size: cover; background-repeat: no-repeat; &:hover { box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1); .details { opacity: 1; } } } .details { align-items: flex-end; position: absolute; background: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.4)); display: flex; flex-direction: column; justify-content: flex-end; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; opacity: 0; transition: opacity 0.3s; cursor: pointer; } .detailsInner { margin-right: 15px; margin-bottom: 15px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; } .title { margin: 10px 15px; color: #fff; } .features { position: absolute; right: 8px; top: 10px; font-size: 12px; line-height: 12px; z-index: 7; } .featureImported, .featureOther { box-sizing: border-box; pointer-events: none; text-transform: uppercase; background-color: #555; color: #f1f1f1; padding: 2px 4px; font-size: 11px; -webkit-border-radius: 2px; border-radius: 2px; margin-right: 5px; }