* { margin: 0; padding: 0; border: 0; } @page { size: A4; } @media print { body { width: 21cm; height: 29.7cm; margin-top: 1.2cm; margin-left: 1.2cm; } /*manual alignment ftw*/ article:nth-child(9n) { margin-bottom: 4.55cm; margin-bottom: 1.8cm; margin-bottom: 2.93cm; margin-bottom: 3.5cm; } } :root { font-family: sans-serif; font-size: 3mm; font-weight: 500; } article { margin: 0.1mm 0.1mm; float: left; width: 5.6cm; height: 8.9cm; display: grid; grid-template-rows: 2em 18mm 2.5em auto; grid-template-areas: "header" "figure" "bar" "info"; border-radius: 2mm; grid-gap: 1.5mm 1.5mm; border-style: solid; border-width: 2mm; border-color: var(--color-border); background-color: var(--color-card-bg); cursor: pointer; --color-border: #4a4a4a; --color-card-bg: #4a4a4a; --color-main: #000; --color-main-bg: #ddd; --color-header-bg: #111; --color-header: #ddd; --color-figure-bg: #2a2a2a; --color-figure: #aaa; --color-costbar-bg: #111; --color-costbar: #eee; } article.effects { grid-template-columns: 4fr 3fr; grid-template-areas: "header header" "figure effects" "bar bar" "info info"; } article.item { grid-template-rows: 2em 36mm 2.5em auto; grid-template-areas: "header" "figure" "bar" "info"; } article >* { color: var(--color-main); background-color: var(--color-main-bg); text-align: center; line-height: 1.4em; padding: 0 1mm; border-radius: 1mm; } article h1 { grid-area: header; padding: 1mm 0; font-size: 1.2em; line-height: 1.1em; font-weight: 600; background-color: var(--color-header-bg); color: var(--color-header); } article figure { grid-area: figure; background: var(--color-figure-bg); border-radius: 0; margin: -1.5mm 1.5mm; overflow: hidden; position: relative; } article figure >* { color: var(--color-figure); position: absolute; top:0;right:0;left:0;bottom:0; margin: auto auto; height:100%; } article figure img.svg_filter{ /*causes DPI issues when printing*/ filter: brightness(0) invert(1) opacity(0.5); } article figure .mdi, article figure .fa, article figure .material-icons.figure { font-size: 20mm; line-height: 22mm; } article.item figure .mdi, article.item figure .fa, article.item figure .material-icons.figure { font-size: 38mm; line-height: 40mm; } article ul { grid-area: effects; list-style-type: none; padding: 1mm 0; } article.effects ul { margin-left: -1.5mm; } article section { grid-area: bar; background-color: var(--color-costbar-bg); border-radius: 0; margin: 0 -2mm; color: var(--color-costbar); display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; } article section .cost { align-self: center; margin: 0 1.5mm; line-height: 1.25em; } article section .costunit, article section .power, article section .cp, article section .gp { flex: none; padding-top: 1mm; text-align: center; font-size: 1.2em; line-height: 0.8em; margin: 0 1mm; } article section >* small { font-size: 0.8em; line-height: 0.8em; } article section .fa, article section .mdi, article section .material-icons.figure { font-size: inherit; line-height: inherit; } article section .costunit small { font-size: 0.5em; } article section >*:after { font-size: 0.5em; line-height: 0.8em; white-space: pre; } article section .power:after { content: "\APOWER";} article section .cp:after { content: "\A CP "; } article section .gp:after { content: "\AGold"; } article main { padding: 2mm 1mm; grid-area: info; position: relative; font-size: 0.9em; display:grid; grid-template-areas:"top" "bottom"; grid-template-rows: auto min-content; } article main ol { margin-top: 1mm; text-align: left; padding-left: 5mm; } article main ol li + li{ margin-top: 0.5mm; } article.item main ul { margin-top: 1mm; } article main big{ font-size: 1.65em; line-height: 1em; } article main .bottom { grid-area: bottom; line-height: 1.1em; } center.message { font-size: 1.3em; position: absolute; bottom:0; width: 100%; }