@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap'); :root { font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } html, body { background-image: url("bg-library-public-domain.jpeg"); background-size: cover; background-repeat: no-repeat; color: #fff; min-height: 100dvh; } header { width: 100%; background-color: #0a0a0ac0; padding: 20px 40px; box-sizing: border-box; text-align: center; display: flex; justify-content: space-between; h1 { font-size: 2.5rem; font-weight: bold; } button#new-book { font-size: 1rem; font-weight: bold; border: 2px solid #444; color: #fff; background-color: #232323; cursor: pointer; outline: none; border-radius: 15px; padding: 5px 10px; } } #books { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(20%, 270px), 1fr)); gap: 20px; padding: 20px; .no-books { font-size: 2rem; text-shadow: 1px 1px 1px #2222dddd; } .book { background-color: #1d1d1dcc; padding: 20px; border-radius: 20px; font-size: 1.3rem; text-align: center; display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 10px; .book-details { flex: 1; display: grid; align-items: stretch; grid-template-columns: 50px 1fr; & > span { display: block; padding: 4px; word-break: break-word; } span ~ span, .detail-name ~ .detail-name { border-top: 1px solid #aaaaaaaa; } .detail-name { color: #aaa; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; } } .book-actions { display: flex; flex-direction: column; gap: 8px; justify-content: center; i { display: block; font-size: 1.2rem; cursor: pointer; transition: color ease-in-out 0.2s; position: relative; } i::after { position: absolute; right: 25px; opacity: 0; font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-weight: normal; background-color: #00000090; backdrop-filter: blur(8px); top: -5px; padding: 4px 8px; border-radius: 10px; transition: 0.2s opacity ease-in-out, 0.2s z-index ease-in-out; width: max-content; z-index: -2; } i:hover::after { opacity: 1; z-index: 2; } .fa-book:hover { color: rgb(168, 221, 68); } .fa-book::after { content: "toggle read"; } /* .fa-edit:hover { color: rgb(219, 175, 30); } .fa-edit::after { content: "edit"; } */ .fa-trash:hover { color: rgb(220, 85, 85); } .fa-trash::after { content: "remove"; } } } } dialog { background-color: #000000aa; padding: 50px 40px; color: #fff; &[open] ~ * { filter: blur(6px); } section { display: flex; justify-content: space-between; gap: 5px; padding: 5px; align-items: center; input[type="text"], input[type="number"] { padding: 5px; border-radius: 10px; background-color: #121212aa; outline: none; border: 1px solid #aaaaaaaa; color: #fff; } button[type="submit"] { padding: 5px; border-radius: 10px; background-color: #121212aa; outline: none; border: 1px solid #aaaaaaaa; color: #fff; font-size: 1rem; cursor: pointer; margin: auto; } } }