Files
fdhview/fdhview/static/style.css
T

135 lines
3.4 KiB
CSS

@font-face {
font-family: "Figtree";
font-style: normal;
font-weight: 300 900;
font-display: swap;
src: url("/static/fonts/figtree-latin.woff2") format("woff2");
}
@font-face {
font-family: "Figtree";
font-style: italic;
font-weight: 300 900;
font-display: swap;
src: url("/static/fonts/figtree-italic-latin.woff2") format("woff2");
}
:root {
--bg: #dfe2e9;
--bg-side: #a8adb1;
--ink: #111318;
--muted: #8a8f99;
--rule: #9aa0aa;
--badge: #101318;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
font-family: "Figtree", "Futura", sans-serif;
background: var(--bg);
color: var(--ink);
overflow: hidden;
}
.screen { display: grid; grid-template-columns: 1fr 30%; height: 100vh; }
/* ---------- left: film list ---------- */
.programme { padding: 28px 40px 40px 48px; display: flex; flex-direction: column; }
.programme h1 {
font-size: 152px; font-weight: 600; letter-spacing: 6px;
text-transform: uppercase; line-height: 1;
margin-bottom: -50px;
position: relative; z-index: 0;
}
.film {
position: relative;
background: var(--bg);
display: grid;
grid-template-columns: 90px 160px 1fr 170px;
gap: 14px; align-items: start;
padding: 16px 0 18px;
border-top: 1px solid var(--rule);
}
.film-spacer { min-height: 0; padding: 0; }
.times { line-height: 1.25; }
.times .start { font-size: 25px; font-weight: 600; }
.times .end { font-size: 25px; color: var(--muted); }
.icons {
display: flex;
flex-wrap: nowrap;
gap: 6px;
align-items: center;
padding-top: 3px;
}
.icons .kijkwijzer {
width: 26px; height: 26px;
object-fit: contain;
display: block;
}
.icons .dot {
width: 26px; height: 26px; border-radius: 50%;
background: var(--badge); color: #fff;
font-size: 18px; font-weight: 600;
display: flex; align-items: center; justify-content: center;
}
.info { padding-top: 3px; }
.info .title { font-size: 25px; font-weight: 500; }
.info .meta {
margin-top: 14px; font-size: 15px; font-weight: 400;
letter-spacing: 1.5px; text-transform: uppercase;
display: flex; gap: 18px; align-items: center;
}
.pill {
background: var(--bg-side); border-radius: 12px;
padding: 4px 14px;
font-weight: 600;
text-transform: none;
}
.subs {
margin-left: 18px;
}
.badge-last {
justify-self: end; align-self: start; margin-top: -16px;
background: var(--badge); color: #fff;
font-size: 15px; font-weight: 600; letter-spacing: 1.5px;
padding: 6px 12px; text-transform: uppercase; white-space: nowrap;
}
/* ---------- right: sidebar ---------- */
.sidebar {
background: var(--bg-side);
padding: 50px 50px;
display: flex;
flex-direction: column;
}
.sidebar .top {
display: grid;
grid-template-columns: auto 1fr;
align-items: start;
gap: 24px;
margin-bottom: 4px;
}
.sidebar .date {
font-size: 66px;
font-weight: 700;
line-height: 1;
}
.sidebar .date .colon {
animation: blink 1s steps(1) infinite;
}
@keyframes blink {
50% { opacity: 0; }
}
.sidebar .logo {
filter: invert(1);
display: flex;
justify-content: flex-end;
padding-top: 11px;
}
.sidebar .logo img {
height: 46px;
width: auto;
}
.sidebar h2 { margin-top: 56px; font-size: 28px; font-weight: 600; margin-bottom: 14px; }
.price-row { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; font-size: 20px; }
.price-row .price { white-space: nowrap; }
.sidebar h3 { margin-top: 34px; font-size: 20px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 14px; }