/*
 * The CV and søknad templates (cv-core.js draws the HTML). Laid out at 96 dpi on an A4 page of 794 x 1123 px.
 * cv-pdf.js redraws what is laid out here as a PDF, so only solid colours, borders, rounded corners, text and the photo
 * are allowed: no pseudo-elements, shadows, gradients, transparency, transforms or hyphenation.
 * Vertical spacing goes on the units (data-u) and their containers, never on the first element inside a unit.
 */
.cvdoc { box-sizing: border-box; position: relative; width: 794px; min-height: 1123px; background: #fff; color: #23272e; font-family: var(--fb), Arial, sans-serif; font-size: 13.5px; line-height: 1.45; font-weight: 400; text-align: left; overflow-wrap: anywhere; font-kerning: none; font-variant-ligatures: none; font-feature-settings: "kern" 0, "liga" 0, "clig" 0; letter-spacing: 0; word-spacing: 0; hyphens: manual; -webkit-font-smoothing: antialiased; }
.cvdoc *, .cvdoc *::before, .cvdoc *::after { box-sizing: border-box; }
.cvdoc h1, .cvdoc h2, .cvdoc p, .cvdoc ul, .cvdoc li, .cvdoc div, .cvdoc section, .cvdoc header, .cvdoc main, .cvdoc aside { margin: 0; padding: 0; }
.cvdoc h1, .cvdoc h2 { font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }
.cvdoc ul { list-style: none; }
.cvdoc a { color: inherit; text-decoration: none; }
.cvdoc img { display: block; max-width: none; object-fit: cover; }
.cvdoc .mk, .cvdoc .dot { display: none; }
.cvdoc .nm { font-family: var(--fh), Arial, sans-serif; font-weight: 700; font-size: 34px; line-height: 1.12; color: #1b1f25; }
.cvdoc .tt { font-family: var(--fh), Arial, sans-serif; font-size: 16px; font-weight: 600; color: var(--acc); margin-top: 6px; }
.cvdoc .sh { font-family: var(--fh), Arial, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--acc); line-height: 1.3; }
.cvdoc .sec { margin-top: 22px; }
.cvdoc .sh-u { padding-bottom: 6px; border-bottom: 1.5px solid var(--tint-2); margin-bottom: 4px; }
.cvdoc .en { margin-top: 10px; }
.cvdoc .en-r { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.cvdoc .en-t { font-family: var(--fh), Arial, sans-serif; font-weight: 700; font-size: 14.5px; color: #1b1f25; line-height: 1.35; }
.cvdoc .en-d { flex: 0 0 auto; font-size: 12.5px; color: #5c636d; white-space: nowrap; }
.cvdoc .en-o { font-size: 13px; color: var(--acc); font-weight: 600; line-height: 1.4; }
.cvdoc .en-b { margin-top: 2px; }
.cvdoc .items > p, .cvdoc .en-b > p { margin-top: 5px; }
.cvdoc li { display: flex; gap: 8px; margin-top: 3px; }
.cvdoc .bl { flex: 0 0 auto; color: var(--acc); font-weight: 700; }
.cvdoc .lt { flex: 1 1 auto; min-width: 0; }
.cvdoc .co { margin-top: 7px; }
.cvdoc .co-t { font-weight: 600; }
.cvdoc .co-o { font-size: 12.5px; color: #5c636d; font-weight: 400; }
.cvdoc .rf { margin-top: 8px; }
.cvdoc .rf-n { font-weight: 700; }
.cvdoc .rf-r, .cvdoc .rf-c { font-size: 12.5px; color: #4c535d; }
.cvdoc .sk, .cvdoc .lg { margin-top: 7px; }
.cvdoc .sk-n, .cvdoc .lg-n { display: block; }
.cvdoc .lg-l { display: block; font-size: 12px; color: #5c636d; }
.cvdoc .lv { display: flex; gap: 5px; margin-top: 4px; }
.cvdoc .lv i { display: block; width: 9px; height: 9px; border-radius: 5px; background: var(--tint-2); }
.cvdoc .lv i.on { background: var(--acc); }
.cvdoc .bar { display: block; height: 5px; margin-top: 5px; border-radius: 3px; background: var(--tint-2); }
.cvdoc .fill { display: block; height: 5px; border-radius: 3px; background: var(--acc); }
.cvdoc .inl { line-height: 1.55; }
.cvdoc .inl .lg-l { display: inline; font-size: inherit; }
.cvdoc .sep { color: var(--acc); }
.cvdoc .cl { font-size: 12.5px; color: #4c535d; margin-top: 10px; line-height: 1.6; }
.cvdoc .cl-s { color: var(--acc); }
.cvdoc .ci { margin-top: 9px; }
.cvdoc .ci-l { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cvdoc .ci-v { font-size: 13px; }

/* ---------- Oslo: a coloured column on the left */
.t-oslo .cols { display: flex; min-height: inherit; }
.t-oslo .side { flex: 0 0 254px; background: var(--acc); color: #fff; padding: 42px 26px 40px 30px; }
.t-oslo .main { flex: 1 1 auto; min-width: 0; padding: 46px 42px 46px 38px; }
.t-oslo .ph { width: 150px; height: 150px; border-radius: 75px; margin: 0 auto 6px; }
.t-oslo .side .sec { margin-top: 24px; }
.t-oslo .side .sh { color: #fff; font-size: 12.5px; letter-spacing: .14em; }
.t-oslo .side .sh-u { border-bottom-color: var(--on-acc); }
.t-oslo .side .ci-l, .t-oslo .side .lg-l, .t-oslo .side .co-o { color: var(--on-acc); }
.t-oslo .side .lv i { background: var(--soft); }
.t-oslo .side .lv i.on { background: #fff; }
.t-oslo .side .co-t { font-weight: 600; }
.t-oslo .side .co-o { display: block; }
.t-oslo .nm { font-size: 36px; }
.t-oslo .hd { padding-bottom: 4px; }

/* ---------- Bergen: classic, one column */
.t-bergen .body { padding: 58px 68px 54px; }
.t-bergen .hd { text-align: center; padding-bottom: 6px; }
.t-bergen .ph { width: 96px; height: 96px; border-radius: 48px; margin: 0 auto 14px; }
.t-bergen .nm { font-size: 34px; font-weight: 600; letter-spacing: .01em; }
.t-bergen .tt { font-weight: 400; font-style: italic; color: #4c535d; font-size: 16px; }
.t-bergen .cl { margin-top: 8px; }
.t-bergen .sec { margin-top: 20px; }
.t-bergen .sh { font-weight: 600; font-size: 13.5px; letter-spacing: .16em; }
.t-bergen .sh-u { border-bottom: 1px solid #c3c8cf; padding-bottom: 5px; }
.t-bergen .en-o { color: #4c535d; font-style: italic; font-weight: 400; }
.t-bergen .en-t { font-size: 15px; }

/* ---------- Trondheim: coloured header, two columns */
.t-trondheim { display: flex; flex-direction: column; }
.t-trondheim .band { display: flex; align-items: center; gap: 26px; background: var(--acc); color: #fff; padding: 40px 46px 34px; }
.t-trondheim .ph { flex: 0 0 auto; width: 112px; height: 112px; border-radius: 56px; }
.t-trondheim .band-t { flex: 1 1 auto; min-width: 0; }
.t-trondheim .nm { color: #fff; font-size: 35px; }
.t-trondheim .tt { color: var(--on-acc); }
.t-trondheim .cl { color: #fff; }
.t-trondheim .cl-s { color: var(--on-acc); }
.t-trondheim .cols { flex: 1 0 auto; display: flex; }
.t-trondheim .main { flex: 1 1 auto; min-width: 0; padding: 8px 30px 46px 46px; }
.t-trondheim .side { flex: 0 0 248px; background: var(--tint); padding: 8px 30px 46px 26px; }
.t-trondheim .bar { background: var(--tint-2); }

/* ---------- Stavanger: a time line */
.t-stavanger .body { padding: 52px 56px 50px; }
.t-stavanger .hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 18px; border-bottom: 3px solid var(--acc); }
.t-stavanger .hd-l { display: flex; align-items: center; gap: 20px; min-width: 0; }
.t-stavanger .ph { flex: 0 0 auto; width: 92px; height: 92px; border-radius: 46px; }
.t-stavanger .nm { font-size: 32px; color: var(--acc-d); }
.t-stavanger .hd-c { flex: 0 0 auto; max-width: 250px; text-align: right; }
.t-stavanger .hd-c .ci { margin-top: 2px; }
.t-stavanger .hd-c .ci-v { font-size: 12.5px; }
.t-stavanger .sec { margin-top: 22px; }
.t-stavanger .sh-u { border-bottom: 0; padding-bottom: 2px; }
.t-stavanger .sh { letter-spacing: .14em; }
.t-stavanger .en { margin-top: 0; }
.t-stavanger .en-h { display: flex; padding-top: 10px; }
.t-stavanger .en-h > .en-d { flex: 0 0 142px; padding-top: 2px; white-space: normal; }
.t-stavanger .en-m { position: relative; flex: 1 1 auto; min-width: 0; padding-left: 20px; border-left: 2px solid var(--tint-2); }
.t-stavanger .dot { display: block; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 6px; background: var(--acc); }
.t-stavanger .en-b { margin: 0 0 0 142px; padding: 2px 0 0 20px; border-left: 2px solid var(--tint-2); }
.t-stavanger .sec:not(.sec-experience):not(.sec-education):not(.sec-volunteer) .items { margin-left: 162px; }
.t-stavanger .sk-grid { display: flex; flex-wrap: wrap; column-gap: 24px; }
.t-stavanger .sk-grid .sk { width: calc(50% - 12px); }

/* ---------- Tromsø: a light column on the right */
.t-tromso .cols { display: flex; min-height: inherit; }
.t-tromso .main { flex: 1 1 auto; min-width: 0; padding: 50px 36px 48px 48px; }
.t-tromso .side { flex: 0 0 244px; background: var(--tint); padding: 44px 28px 44px 28px; }
.t-tromso .ph { width: 188px; height: 188px; border-radius: 14px; margin-bottom: 4px; }
.t-tromso .nm { font-size: 38px; font-weight: 600; color: var(--acc-d); }
.t-tromso .tt { font-family: var(--fb), Arial, sans-serif; color: #4c535d; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; margin-top: 8px; }
.t-tromso .sh { display: flex; align-items: center; gap: 10px; text-transform: none; letter-spacing: 0; font-size: 19px; font-weight: 600; color: var(--acc-d); }
.t-tromso .mk { display: block; flex: 0 0 auto; width: 18px; height: 3px; border-radius: 2px; background: var(--acc); }
.t-tromso .sh-u { border-bottom: 0; padding-bottom: 2px; }
.t-tromso .side .sh { font-size: 16px; }
.t-tromso .side .mk { width: 12px; }
.t-tromso .en { margin-top: 12px; }
.t-tromso .en-d { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--acc); }
.t-tromso .en-t { font-size: 15px; }
.t-tromso .en-o { color: #4c535d; font-weight: 400; font-style: italic; }
.t-tromso .ci-l { color: var(--acc-d); }

/* ---------- Bodø: compact, headings in the margin */
.t-bodo .topbar { position: absolute; left: 0; top: 0; width: 794px; height: 10px; background: var(--acc); }
.t-bodo .body { padding: 44px 46px 44px; }
.t-bodo .hd { display: flex; align-items: flex-start; gap: 22px; padding-bottom: 6px; }
.t-bodo .hd-l { flex: 1 1 auto; min-width: 0; }
.t-bodo .nm { font-size: 31px; }
.t-bodo .tt { font-size: 15px; }
.t-bodo .hd-c { flex: 0 0 auto; max-width: 236px; text-align: right; }
.t-bodo .hd-c .ci { margin-top: 1px; }
.t-bodo .hd-c .ci-v { font-size: 12.5px; }
.t-bodo .ph { flex: 0 0 auto; width: 84px; height: 84px; border-radius: 8px; }
.t-bodo .sec { margin-top: 14px; padding-top: 10px; border-top: 1px solid #dfe3e8; }
.t-bodo .items { position: relative; padding-left: 132px; }
.t-bodo .items [data-u] { position: relative; }
.t-bodo .sh { display: block; position: absolute; left: -132px; top: 0; width: 120px; font-size: 12px; letter-spacing: .1em; line-height: 1.45; }
.t-bodo .en { margin-top: 7px; }
.t-bodo .items > .en:first-child, .t-bodo .items > p:first-child, .t-bodo .items > .co:first-child, .t-bodo .items > .rf:first-child { margin-top: 0; }
.t-bodo .en-t { font-size: 14px; }
.t-bodo .en-o { font-size: 12.5px; }
.cvdoc.t-bodo { font-size: 13px; line-height: 1.42; }

/* ---------- the søknad (same look as the CV template) */
.cvdoc.is-letter { font-size: 14px; line-height: 1.55; }
.is-letter .body { padding: 64px 74px 64px; }
.is-letter .lt-hd { display: flex; align-items: center; gap: 22px; padding-bottom: 16px; border-bottom: 2px solid var(--acc); }
.is-letter .lt-who { flex: 1 1 auto; min-width: 0; }
.is-letter .ph { flex: 0 0 auto; width: 76px; height: 76px; border-radius: 38px; }
.is-letter .nm { font-size: 29px; }
.is-letter .tt { font-size: 15px; margin-top: 4px; }
.is-letter .cl { margin-top: 6px; }
.is-letter .lt-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-top: 34px; }
.is-letter .lt-to { line-height: 1.5; }
.is-letter .lt-date { flex: 0 0 auto; color: #4c535d; }
.is-letter .lt-subj { margin-top: 30px; font-family: var(--fh), Arial, sans-serif; font-weight: 700; font-size: 16px; color: #1b1f25; }
.is-letter .lt-greet { margin-top: 18px; }
.is-letter .lt-body > p { margin-top: 11px; }
.is-letter .lt-li { display: flex; gap: 8px; margin-top: 4px; }
.is-letter .lt-end { margin-top: 26px; }
.is-letter .lt-sign { margin-top: 26px; font-weight: 700; }
.t-oslo.is-letter .lt-hd, .t-trondheim.is-letter .lt-hd { margin: -64px -74px 0; padding: 40px 74px 28px; background: var(--acc); border-bottom: 0; color: #fff; }
.t-oslo.is-letter .nm, .t-trondheim.is-letter .nm, .t-oslo.is-letter .cl, .t-trondheim.is-letter .cl { color: #fff; }
.t-oslo.is-letter .tt, .t-trondheim.is-letter .tt, .t-oslo.is-letter .cl-s, .t-trondheim.is-letter .cl-s { color: var(--on-acc); }
.t-bergen.is-letter .lt-hd { display: block; text-align: center; border-bottom: 1px solid #c3c8cf; }
.t-bergen.is-letter .ph { margin: 0 auto 12px; }
.t-bergen.is-letter .tt { font-weight: 400; font-style: italic; color: #4c535d; }
.t-stavanger.is-letter .nm, .t-tromso.is-letter .nm { color: var(--acc-d); }
.t-tromso.is-letter .tt { font-family: var(--fb), Arial, sans-serif; color: #4c535d; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; }
.t-tromso.is-letter .lt-hd { border-bottom: 3px solid var(--tint-2); }
.cvdoc.t-bodo.is-letter { border-top: 10px solid var(--acc); }
.t-bodo.is-letter .body { padding-top: 54px; }
.t-bodo.is-letter .ph { border-radius: 8px; }
