body { background: #222; color: #FFF; font-family: "Roboto", sans-serif; font-size: 16px; margin: 0; padding: 0; } header { font-size: 1rem; background: #000; margin: 0; display: flex; gap: 0.5rem; padding: .5rem; font-weight: 700; position: sticky; top: 0; z-index: 5; } header h1 { margin: 0; font-size: 1rem; } header a { color: #FFF; text-decoration: none; } .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(480px, 48%), 1fr)); gap: 1px; } .gallery-item { position: relative; display: block; text-decoration: none; color: #FFF; aspect-ratio: 1/1; } .gallery-item img { position: absolute; object-fit: cover; top: 0; left: 0; width: 100%; height: 100%; } .gallery-item h3 { position: absolute; top: 0; left: 0; padding: .5rem 1rem; margin: 0; font-size: .9rem; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 1); background: black; opacity: 0.7; } .gallery-item:hover h3 { opacity: 1; } .gallery-item h3 small { font-weight: 400; font-size: .8rem; } footer { display: flex; gap: 1rem; padding: 1rem; justify-content: center; opacity: .6; } footer a { color: #fff; text-decoration: underline; }