:root { --default-text: #000; --primary-color: #bb00ff; --secondary-color: #5eff00; --default-bg: #fff; --second-bg: #ddd; --third-bg: #bbb; } * { transition: all .5s; } @media (prefers-color-scheme: dark) { :root { --default-text: #fff; --default-bg: #222; --second-bg: #777; --third-bg: #aaa; } } html { color: var(--default-text); background: var(--default-bg); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } body { margin: 0; padding: 0; } a { color: var(--default-text); text-decoration: none; } a:hover { color: var(--primary-color); } header { background: var(--second-bg); display: grid; grid-template-columns: 1.5fr 0.5fr; height: 7vh; align-items: center; } header span { font-size: 1.5rem; font-weight: bold; margin: 0.5rem 1rem; } header div { text-align: right; display: inline; } header div a {padding: 1.5rem;} header div a:hover { background: var(--third-bg); padding: 1.5rem 1.5rem 2.5rem 1.5rem; } main { margin: 0 auto; padding: 1rem; max-width: 800px; } #movies { display: flex; flex-wrap: wrap; justify-content: space-between; flex-direction: row; gap: 1rem; } /* Show .details on top of image */ #movies a { position: relative; } #movies a .details { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: grid; place-content: center; align-content: center; background: var(--second-bg); opacity: 0; color: var(--default-text); transition: all .5s; } #movies a:hover .details { opacity: 0.7; }