* { font-family: sans-serif; } body { margin: 0; } h1 { font-size: 1rem; } main.spinner { margin-top: 5rem; } main.error, main.empty { margin: 2rem; } main.empty { text-align: center; } main.has-content { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: grid; grid-template-rows: calc(12vw + 2px) auto; } nav { display: flex; overflow-x: auto; height: calc(12vw + 2px); background-color: white; } nav > a { border-bottom: 2px solid transparent; } nav > a.visible { border-bottom-color: green; } nav > a > div.sticker { width: 12vw; height: 12vw; } div.pack-list, nav { scrollbar-width: none; } div.pack-list::-webkit-scrollbar, nav::-webkit-scrollbar { display: none; } div.pack-list { overflow-y: auto; } div.pack-list.ios-safari-hack { position: fixed; top: calc(12vw + 2px); bottom: 0; left: 0; right: 0; -webkit-overflow-scrolling: touch; } section.stickerpack { margin-top: .75rem; } section.stickerpack > div.sticker-list { display: flex; flex-wrap: wrap; } section.stickerpack > h1 { margin: 0 0 0 .75rem; } div.sticker { display: flex; padding: 4px; cursor: pointer; position: relative; width: 25vw; height: 25vw; box-sizing: border-box; } div.sticker:hover { background-color: #eee; } div.sticker > img { display: none; width: 100%; object-fit: contain; } div.sticker > img.visible { display: initial; }