/* The resume sheet: used for the on-screen preview and for printing to PDF. Single column, real text. */
.resume {
  box-sizing: border-box; width: var(--r-page-w); min-height: var(--r-page-h); padding: var(--r-margin);
  background: #fff; color: #1a1a1a; font-family: var(--r-font); font-size: var(--r-size); line-height: var(--r-lh);
  font-kerning: normal; -webkit-print-color-adjust: exact; print-color-adjust: exact; text-align: left;
}
.resume *, .resume *::before, .resume *::after { box-sizing: border-box; }
.resume a { color: inherit; text-decoration: none; }
.resume p, .resume h1, .resume h2, .resume ul { margin: 0; }
.r-header { margin-bottom: .55em; }
.r-name { font-size: 1.9em; font-weight: 700; line-height: 1.15; letter-spacing: .005em; }
.r-headline { font-size: 1.1em; margin-top: .05em; }
.r-contact { margin-top: .2em; font-size: .95em; }
.r-sep { white-space: pre; }
.r-section { margin-top: .95em; }
.r-heading {
  font-size: 1.05em; font-weight: 700; line-height: 1.25; text-transform: uppercase; letter-spacing: .06em;
  padding-bottom: .12em; margin-bottom: .4em; border-bottom: 1px solid #1a1a1a; break-after: avoid; page-break-after: avoid;
}
.r-entry { break-inside: avoid; page-break-inside: avoid; }
.r-entry + .r-entry { margin-top: .6em; }
.r-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1.2em; }
.r-left { min-width: 0; }
.r-date, .r-loc { flex: none; white-space: nowrap; }
.r-sub { font-style: italic; }
.r-link { font-weight: 400; font-size: .95em; margin-left: .5em; color: #3a3a3a; }
.r-bullets { padding-left: 1.2em; margin-top: .2em; }
.r-bullets li { margin-top: .12em; padding-left: .15em; }
.r-skill + .r-skill { margin-top: .12em; }
.r-cert + .r-cert { margin-top: .15em; }
.r-placeholder { color: #B5BDC6; }
.r-empty { margin-top: 2em; font-size: .95em; }

/* Classic */
.tpl-classic .r-header { text-align: center; }

/* Modern */
.tpl-modern .r-name { font-size: 2.1em; letter-spacing: -.005em; }
.tpl-modern .r-heading { color: #1F3A68; text-transform: none; letter-spacing: 0; font-size: 1.15em; border-bottom: 0; padding-bottom: 0; margin-bottom: .3em; }
.tpl-modern .r-sub { font-style: normal; color: #4a4a4a; }
.tpl-modern .r-section { margin-top: 1.05em; }

/* Compact */
.tpl-compact .r-name { font-size: 1.6em; }
.tpl-compact .r-header { margin-bottom: .4em; }
.tpl-compact .r-section { margin-top: .7em; }
.tpl-compact .r-heading { font-size: 1em; margin-bottom: .3em; }
.tpl-compact .r-entry + .r-entry { margin-top: .4em; }
.tpl-compact .r-bullets li { margin-top: 0; }
.tpl-compact .r-loc { white-space: normal; }