resume/styles.css
2026-02-22 23:05:46 -05:00

186 lines
3.5 KiB
CSS

/* ============================================
Resume Stylesheet — Paul Trowbridge
Usage: pandoc resume.md -o resume.html --css styles.css --standalone
============================================ */
/* --- Reset & Base --- */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--blue-dark: #1F4E79;
--blue-mid: #2E75B6;
--blue-light: #D6E4F0;
--gray-dark: #333333;
--gray-mid: #595959;
--gray-light: #f5f7fa;
--text: #222222;
--font: 'Calibri', 'Gill Sans', Arial, sans-serif;
}
body {
font-family: var(--font);
font-size: 15px;
line-height: 1.6;
color: var(--text);
background: #ffffff;
max-width: 860px;
margin: 40px auto;
padding: 0 40px 60px;
}
/* --- Name (H1) --- */
h1 {
font-size: 2.6em;
color: var(--blue-dark);
font-weight: 700;
letter-spacing: 0.5px;
margin-bottom: 4px;
}
/* Tagline paragraph immediately after h1 */
h1 + p {
color: var(--gray-mid);
font-size: 1em;
margin-bottom: 12px;
letter-spacing: 0.3px;
}
/* --- Horizontal Rule (section divider under name) --- */
hr {
border: none;
border-top: 3px solid var(--blue-mid);
margin: 16px 0 24px;
}
/* --- Section Headers (H2) --- */
h2 {
font-size: 0.78em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.8px;
color: var(--blue-dark);
border-bottom: 2px solid var(--blue-mid);
padding-bottom: 5px;
margin-top: 32px;
margin-bottom: 16px;
}
/* --- Company Name (H3) --- */
h3 {
font-size: 1.1em;
font-weight: 700;
color: var(--gray-dark);
margin-top: 20px;
margin-bottom: 2px;
}
/* Company subtitle (italic paragraph after h3) */
h3 + p > em {
font-size: 0.88em;
color: var(--gray-mid);
font-style: italic;
}
/* --- Role Title (H4) --- */
h4 {
font-size: 1em;
font-weight: 700;
color: var(--blue-mid);
margin-top: 14px;
margin-bottom: 4px;
}
/* Date range inside strong inside h4 — handled by pandoc as strong */
h4 > strong {
font-weight: 400;
color: var(--gray-mid);
font-style: italic;
font-size: 0.92em;
}
/* --- Body Paragraphs --- */
p {
margin-bottom: 8px;
color: var(--gray-dark);
}
/* --- Bullet Lists --- */
ul {
margin: 6px 0 10px 0;
padding-left: 20px;
list-style: none;
}
ul li {
position: relative;
padding-left: 16px;
margin-bottom: 5px;
color: var(--gray-dark);
font-size: 0.97em;
line-height: 1.55;
}
ul li::before {
content: "•";
position: absolute;
left: 0;
color: var(--blue-mid);
font-weight: 700;
}
/* --- Strong / Bold --- */
strong {
color: var(--gray-dark);
font-weight: 600;
}
/* --- Code (for tech skills inline) --- */
code {
font-family: 'Consolas', 'Courier New', monospace;
font-size: 0.9em;
background: var(--gray-light);
padding: 1px 5px;
border-radius: 3px;
color: var(--blue-dark);
}
/* --- Print Styles --- */
@media print {
body {
margin: 0;
padding: 16px 36px;
font-size: 12.5px;
line-height: 1.5;
max-width: 100%;
}
h1 { font-size: 1.8em; }
h2 { font-size: 0.72em; margin-top: 20px; margin-bottom: 10px; }
h3 { margin-top: 14px; }
ul { margin: 4px 0 8px 0; }
ul li { margin-bottom: 3px; }
hr { margin: 10px 0 16px; }
/* Avoid breaking roles across pages */
h4 { page-break-after: avoid; }
ul { page-break-inside: avoid; }
h3 { page-break-after: avoid; }
p + ul { page-break-before: avoid; }
}
/* --- Responsive (mobile) --- */
@media (max-width: 600px) {
body {
padding: 20px;
font-size: 14px;
}
h1 { font-size: 2em; }
}