.gallery { text-align: center; padding: 0 50px; --padding: 8px; } .image { display: inline-block; height: 300px; width: auto; margin: 10px; background: white; padding: var(--padding); box-shadow: 0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12); position: relative; } .image img { min-width: 300px; background: rgb(77, 51, 80); object-fit: contain; height: 100%; } .image .details { position: absolute; height: 100px; left: var(--padding); right: var(--padding); bottom: var(--padding); background: linear-gradient(transparent, rgba(0,0,0,.3), black); color: white; display: flex; flex-direction: row; align-items: flex-end; padding-bottom: var(--padding); } .details span { display: block; font-size: 12px; } .details div { flex: 1; } .details button { color: white !important; } .details button:last-child { color: rgb(255, 122, 122) !important; padding-right: 8px; } .upload { display: none; opacity: 0; }