#let timeframe(from, to) = { block( inset: 4pt, fill: luma(240), radius: 3pt, text(luma(20), [#from - #to]), ) } #let work(company, from, to, content) = { grid( align: horizon, inset: ( top: 10pt, bottom: 6pt ), gutter: 8pt, columns: (auto, auto), [== >> Digital H GmbH], timeframe(from, to) ) content } #let cv( short, name, positions, email, phone, address, doc ) = { set page( paper: "a4", margin: 12pt ) set text(11pt, font: "Victor Mono") grid( columns: (1fr, 3fr), rows: 130pt, block( height: 100%, clip: true, radius: 10pt, image("../assets/profile.jpg"), ), block( radius: 10pt, width: 100%, height: 100%, fill: black, inset: ( top: 16pt, left: 18pt ), stack( spacing: 12pt, stack( dir: ltr, spacing: 10pt, text(red, 22pt, [\$ dennis\@schöpf \~>]), text(white, 22pt, [*cv*]), ), text( white, 14pt, positions.join(", ", last: " &\n"), ), v(16pt), stack( spacing: 6pt, stack( dir: ltr, spacing: 6pt, text(red, 11pt, [\$ \~>]), text(white, 11pt, [*contact*]), ), text( white, 11pt, (email, phone, address).join(" ++ "), ) ), ) ) ) set align(left) doc }