* { box-sizing: border-box; } html, body { font-family: sans-serif; } a { color: currentColor; text-decoration: none; } main { padding: 0 8px; } .list { padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; } .card { /* transform: skew(14deg); */ aspect-ratio: 1; border: 1px solid currentColor; padding: 32px; font-stretch: 50%; display: flex; justify-content: center; align-items: center; position: relative; font-size: 32px; text-align: center; } .card:hover { background-color: grey; } .card > * { /* transform: skew(-28deg); */ } .card svg { width: 32px; height: 32px; } .card img { width: 100%; height: 100%; object-fit: contain; } .card .overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; vertical-align: middle; display: flex; justify-content: center; align-items: center; background-color: grey; opacity: 0; } .card .overlay:hover { opacity: 1; } .card .title { font-weight: normal; } @media (max-width: 767px){ header { display: block; font-size: 28px; } header .title { display: inline; font-size: 28px; } .search { margin-top: 16px; display: block; } .search input { font-size: 28px; } }