@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; } @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: 0.9em; } .a4-page { width: 21cm; height: 29.7cm; border-bottom: 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; padding-bottom: 30px; } header .img-and-title { display: flex; justify-content: space-between; } header .title { padding-left: 30px; width: 100%; } header h1 { font-weight: bold; text-align: center; } header h2 { font-weight: normal; text-align: center; } section { display: flex; height: 100%; } aside, article { display: flex; flex-direction: column; padding-left: 30px; padding-right: 15px; } aside { background-color: var(--aside-bg-color); width: 38.2%; } article { background-color: var(--article-bg-color); width: 61.8%; } aside h1, article h1 { font-weight: bold; font-size: 1.4em; } article h2 { font-weight: bold; font-size: 1.2em; margin-top: 0; margin-bottom: 8px; } article p { margin-top: 3px; margin-bottom: 3px; } .button { display: flex; flex-wrap: wrap; } .button 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; } .element { margin-bottom: 30px; }