/* CV au format Europass : A4, bandeau bleu, police Open Sans (licence SIL OFL, hébergée ici). */ @font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("polices/open-sans-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("polices/open-sans-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: "Open Sans"; font-style: italic; font-weight: 300 800; font-display: swap; src: url("polices/open-sans-latin-wght-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: "Open Sans"; font-style: italic; font-weight: 300 800; font-display: swap; src: url("polices/open-sans-latin-ext-wght-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } :root { --bleu: #004b80; /* bandeau */ --bleu-clair: #4d9acb; /* filets et puces des titres */ --filet: #c0dbed; --fond-ligne: #f2f8fc; --texte: #1a1a1a; --gris: #404040; --gris-clair: #6f6f6f; --marge: 14mm; } /* Le bandeau va jusqu'au bord de la feuille ; les marges du texte viennent du tableau .corps, répété à chaque page */ @page { size: A4; margin: 0 0 10mm; @bottom-right { content: counter(page) " / " counter(pages); font: 7.5pt "Open Sans", Arial, sans-serif; color: #6f6f6f; padding-right: 14mm; vertical-align: top; } } * { box-sizing: border-box; } html { -webkit-print-color-adjust: exact; print-color-adjust: exact; } body { margin: 0; background: #e6ebef; color: var(--texte); font: 9.4pt/1.42 "Open Sans", Arial, Helvetica, sans-serif; } /* Barre d'outils, hors impression ---------------------------------------- */ .outils { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; padding: 0.6rem 1.25rem; background: #0b1f30; color: #fff; font-size: 0.9rem; } .outils a { color: #fff; } .versions { display: flex; gap: 0.25rem; } .versions:first-of-type { margin-left: auto; } .versions:last-of-type { margin-right: auto; } .versions a { padding: 0.25rem 0.75rem; border: 1px solid #4a6378; border-radius: 999px; text-decoration: none; } .versions a[aria-current], .versions a[aria-pressed="true"] { background: var(--bleu-clair); border-color: var(--bleu-clair); color: #fff; font-weight: 700; } .versions a[aria-pressed="false"] { color: #b9c9d6; text-decoration: line-through; text-decoration-thickness: 1px; } .outils .action { font: inherit; font-weight: 700; cursor: pointer; padding: 0.4rem 1rem; text-decoration: none; border: 1px solid #fff; border-radius: 6px; background: #fff; color: var(--bleu); } .outils a:focus-visible, .outils button:focus-visible { outline: 3px solid #ffd54a; outline-offset: 2px; } .note { max-width: 210mm; margin: 1rem auto 0; padding: 0.75rem 1rem; background: #fff; border-left: 4px solid var(--bleu-clair); font-size: 0.9rem; } .note p { margin: 0 0 0.5rem; } .note-erreur { border-left-color: #a3341f; } .note button { font: inherit; font-weight: 700; cursor: pointer; padding: 0.4rem 1rem; border: 1px solid var(--bleu); border-radius: 6px; background: var(--bleu); color: #fff; } .note button[disabled] { opacity: 0.6; cursor: progress; } /* Feuille A4 ------------------------------------------------------------- */ .page { width: 210mm; min-height: 297mm; margin: 1.25rem auto 2rem; background: #fff; box-shadow: 0 4px 22px rgba(0, 0, 0, 0.14); } .bandeau { position: relative; display: flex; gap: 6mm; align-items: center; background: var(--bleu); color: #fff; padding: 9mm var(--marge) 8mm; } .bandeau .identite { flex: 1; min-width: 0; padding-right: 42mm; } .bandeau h1 { margin: 0; font-size: 17pt; font-weight: 700; line-height: 1.15; } .bandeau .titre { margin: 1mm 0 0; font-size: 10.5pt; font-weight: 400; color: #dbe9f4; } .bandeau .coordonnees { margin: 3.5mm 0 0; display: flex; flex-wrap: wrap; gap: 1mm 0; font-size: 8.8pt; } .bandeau .coordonnees span { padding-right: 2.5mm; margin-right: 2.5mm; border-right: 0.3mm solid #6e95b8; } .bandeau .coordonnees span:last-child { border-right: 0; } .bandeau .coordonnees b { font-weight: 700; } .bandeau a { color: #fff; } .bandeau .logo { position: absolute; top: 7mm; right: var(--marge); width: 34mm; height: auto; } .portrait { width: 30mm; height: 30mm; flex: none; object-fit: cover; object-position: center 20%; border-radius: 50%; border: 0.8mm solid #fff; } table.corps { width: 100%; border-collapse: collapse; } table.corps > thead td, table.corps > tfoot td, table.corps > tbody > tr > td { padding: 0 var(--marge); } .marge-haut { height: 5mm; } .marge-bas { height: 4mm; } section { margin: 0 0 4mm; } h2 { position: relative; margin: 2mm 0 2.5mm; padding: 0 0 1mm; font-size: 11pt; font-weight: 800; text-transform: uppercase; letter-spacing: 0.01em; border-bottom: 0.6mm solid var(--bleu-clair); break-after: avoid; } h2::before { content: ""; position: absolute; left: -5.5mm; top: 1.4mm; width: 2.4mm; height: 2.4mm; border-radius: 50%; background: var(--bleu-clair); } h3 { margin: 0 0 1mm; font-size: 10pt; font-weight: 700; color: var(--gris); text-transform: none; } h4 { margin: 2.5mm 0 1mm; font-size: 9.5pt; font-weight: 700; color: var(--gris-clair); break-after: avoid; } p { margin: 0 0 1mm; } ul { margin: 0.5mm 0 1mm; padding-left: 7mm; } li { margin: 0 0 0.6mm; } .element { padding: 0 0 2.5mm; margin: 0 0 2.5mm; border-bottom: 0.3mm solid var(--filet); break-inside: avoid-page; } .element:last-child { border-bottom: 0; margin-bottom: 0; } .date { color: var(--gris-clair); font-size: 8.8pt; margin: 0 0 0.6mm; } .maison { font-weight: 400; color: var(--gris); } .employeur { margin: 0 0 0.4mm; font-size: 9.6pt; } .employeur b { font-weight: 700; } .dates { font-weight: 400; color: var(--bleu); } .sous-titre { margin-top: 1.2mm; } table.grille { width: 100%; border-collapse: collapse; margin: 1mm 0 1mm; font-size: 8.8pt; break-inside: avoid; } table.grille th, table.grille td { padding: 1.5mm 1.5mm; text-align: center; vertical-align: middle; } table.grille thead th { font-weight: 700; } table.grille thead tr:first-child { border-bottom: 0.3mm solid var(--bleu-clair); } table.grille tr.sous th { font-weight: 400; font-size: 8.3pt; line-height: 1.25; } table.grille tbody tr { border-top: 0.3mm solid var(--bleu-clair); } table.grille tbody tr:last-child { border-bottom: 0.3mm solid var(--bleu-clair); } table.grille tbody tr:nth-child(odd) { background: var(--fond-ligne); } table.grille tbody th { text-align: left; font-weight: 800; width: 18%; } .legende { font-style: italic; color: var(--gris-clair); font-size: 8pt; } .langues-simples { list-style: none; padding: 0; margin: 0 0 1mm; display: flex; flex-wrap: wrap; gap: 1mm 6mm; } .liste { line-height: 1.7; } .liste .sep { color: #aab4bc; padding: 0 0.6mm; } .benevolat { font-weight: 700; } @media screen and (max-width: 840px) { .page { width: auto; min-height: 0; margin: 0.75rem; } .bandeau { flex-wrap: wrap; } .bandeau .identite { padding-right: 0; } .bandeau .logo { position: static; order: -1; width: 30mm; } } @media print { body { background: #fff; } .outils, .note { display: none !important; } .page { width: auto; min-height: 0; margin: 0; box-shadow: none; } }