@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; --dark-txt: #1a0700; --light-txt: #d9d9d9; --button: #efefef; } body { font-family: 'Montserrat', 'arial', 'sans-serif'; color: var(--dark-txt); margin: 0; font-size: 0.9em; } .a4-page { width: 21cm; height: 29.7cm; border: solid 1px red; display: flex; flex-direction: column; margin: 0 auto; } header { background-color: var(--header-bg-color); color: var(--light-txt); display: flex; flex-direction: column; padding-top: 30px; padding-left: 30px; padding-right: 30px; } header .img-and-title { display: flex; justify-content: space-between; } header h1 { font-weight: bold; text-align: center; } header h2 { font-weight: normal; text-align: center; } section { display: flex; } aside, article { display: flex; flex-direction: column; padding-left: 30px; padding-right: 15px; } aside { background-color: var(--aside-bg-color); width: 14cm; } aside h1, article h1 { font-weight: bold; font-size: 1.4em; } article h2 { font-weight: bold; font-size: 1.2em; } .competences { display: flex; flex-wrap: wrap; } .competences p { margin-top: 0; margin-right: 10px; margin-bottom: 10px; padding: 5px; border-radius: 7px; text-align: center; background-color: var(--button); } p.date { font-style: italic; } .experiences p { margin-left: 10px; } .experiences h2, .experiences p.date, .formations h2, .formations p.date { display: inline; margin-left: 0; }