/* * CV style — mirrors the visual format of base/reference/Oleg_Proskurin_Techlead_resume.docx.pdf. * * Key conventions: * - Serif (Times-like) body font, ~10.5pt, dense single-line spacing. * - A4 page, ~12mm margins. Single column. * - Centered name + role at the top, single-line contact row. * - Section headings: ALL CAPS bold with bottom underline. * - Job header: company (bold left) | role (bold right), then italic subtitle | dates right. * - Bullets: disc, hanging indent. * - Links: blue, underlined. */ @page { size: A4; margin: 12mm 14mm; } :root { --text: #000; --link: #1155cc; --rule: #000; --muted: #333; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } body { font-family: 'Times New Roman', Times, 'Liberation Serif', serif; font-size: 10.5pt; line-height: 1.25; color: var(--text); background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; } a { color: var(--link); text-decoration: underline; } /* ───── Header ───── */ .cv-header { text-align: center; margin-bottom: 8pt; } .cv-header .name { font-size: 14pt; font-weight: 700; letter-spacing: 0.5pt; margin: 0; } .cv-header .role { font-size: 11pt; font-weight: 700; margin: 2pt 0 4pt 0; } .cv-header .contacts { font-size: 10pt; margin: 0; } .cv-header .contacts a { white-space: nowrap; } /* ───── Section ───── */ .cv-section { margin-top: 8pt; } .cv-section > h2 { font-size: 10.5pt; font-weight: 700; text-transform: uppercase; margin: 0 0 4pt 0; padding-bottom: 1pt; border-bottom: 0.5pt solid var(--rule); } /* ───── Summary / plain paragraph ───── */ .cv-section p { margin: 0 0 4pt 0; text-align: justify; } /* ───── Skills block ───── */ .cv-skills p { margin: 0 0 3pt 0; } .cv-skills .skills-category { font-weight: 700; } /* ───── Job entries ───── */ .cv-job { margin-top: 6pt; } /* Keep the job header block (company/role, meta row, descriptor) together and glued to the first bullet, so the section title never dangles alone at the bottom of a page. Individual bullets can still flow across pages. */ .cv-job-header, .cv-job-meta, .cv-job-desc { page-break-after: avoid; break-after: avoid; page-break-inside: avoid; break-inside: avoid; } .cv-job li { page-break-inside: avoid; break-inside: avoid; } .cv-job-header { display: flex; justify-content: space-between; align-items: baseline; gap: 12pt; } .cv-job-header .company { font-weight: 700; } .cv-job-header .role { font-weight: 700; text-align: right; } .cv-job-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 12pt; font-style: italic; color: var(--muted); margin-top: 1pt; } .cv-job-meta .dates { font-style: italic; text-align: right; white-space: nowrap; } .cv-job-desc { font-style: italic; margin: 2pt 0 0 0; } .cv-job ul { margin: 3pt 0 0 0; padding-left: 16pt; } .cv-job li { margin: 0 0 2pt 0; padding-left: 2pt; } .cv-job li::marker { font-size: 1em; } /* ───── Portfolio / Education / Languages ───── */ .cv-inline-list { margin: 0; } .cv-portfolio a + a::before { content: ', '; color: var(--text); text-decoration: none; } /* ───── Misc ───── */ strong { font-weight: 700; } em { font-style: italic; } hr { display: none; }