@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-Regular.otf') format('opentype'); font-style: normal; font-weight: normal; } :root { --header-bg-color: #2f675f; --aside-bg-color: #e3e3e3; --article-bg-color: #ffffff; --dark-txt: #1a0700; --light-txt: #d9d9d9; --button: #efefef; --outside-margin: 6mm; --inside-margin: 4mm; } @page { size: A4; margin: 0cm; } * { box-sizing: border-box; } body { font-family: 'Montserrat', 'arial', 'sans-serif'; background-color: var(--dark-txt); color: var(--dark-txt); margin: 0; font-size: 11pt; } .a4-page { width: 21cm; height: 29.7cm; border-bottom: solid 1px red; display: flex; flex-direction: column; margin: 0 auto; } p { margin: 0; } .link { margin-bottom: 1mm; display: flex; justify-content: center; } .link img { margin-right: 1mm; } a:link, a:visited { font-size: 9pt; color: var(--dark-txt); text-decoration: none; } a:hover { font-size: 9pt; color: var(--dark-txt); text-decoration: underline; } header a:link, header a:visited, header a:hover { color: var(--light-txt); } header { background-color: var(--header-bg-color); color: var(--light-txt); display: flex; flex-direction: column; padding-top: var(--outside-margin); padding-left: var(--outside-margin); padding-right: var(--outside-margin); padding-bottom: var(--outside-margin); } header .img-and-title { display: flex; justify-content: space-between; } header .title, header .contact { margin-left: var(--outside-margin); } header .title { margin-top: 3mm; width: 100%; text-align: left; } header .contact { width: auto; text-align: right; margin-top: 2mm; } header .contact p, header a { font-size: 10pt; margin-top: 2mm; margin-bottom: 2mm; } header h1 { font-weight: bold; font-size: 19pt; margin-top: 0; margin-bottom: 3mm; } header h2 { font-weight: normal; font-size: 14pt; margin-top: 4; margin-bottom: 4mm; } section { display: flex; height: 100%; } aside, article { display: flex; flex-direction: column; } aside { text-align: center; padding-top: 5mm; background-color: var(--aside-bg-color); width: 38.2%; padding-right: var(--inside-margin); padding-left: var(--outside-margin); padding-bottom: var(--outside-margin); } aside h1 { font-weight: bold; font-size: 14pt; margin-top: 5mm; margin-bottom: 3mm; } aside p { font-size: 10pt; margin-top: 4.5mm; margin-bottom: 4mm; } aside li { font-size: 9pt; margin-bottom: 2mm; list-style: none; } article { padding-top: 2mm; background-color: var(--article-bg-color); width: 61.8%; padding-right: var(--outside-margin); padding-left: 7mm; padding-bottom: var(--outside-margin); } article h1 { font-weight: bold; font-size: 14pt; margin-top: 5mm; margin-bottom: 2mm; } article h2 { font-weight: bold; font-size: 10pt; margin-top: 0; margin-bottom: 1mm; } article p, article li { font-size: 9pt; margin-bottom: 1mm; } .competences p { font-size: 11pt; font-weight: bold; } .button { display: flex; flex-wrap: wrap; justify-content: space-evenly; } .button p { font-size: 9pt; font-weight: normal; margin-top: 0; margin-right: 2mm; margin-bottom: 2mm; padding: 1mm; border-radius: 2mm; text-align: center; background-color: var(--button); } .atouts p { font-size: 9pt; margin-top: 2mm; margin-bottom: 2mm; } ul { margin: 0; padding-left: 3mm; } p.date { font-style: italic; } .element { margin-bottom: 2mm; } .formations, .experiences { display: flex; flex-direction: column; justify-content: space-between; }