* {
    box-sizing: content-box;
    font-family: Roboto;
}
html {
    width: 100%;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
}

body {
    width: 100%;
    max-width: 1000px;
    height: 100%;
    background-color: white;
    margin: auto;
}

header {
    border-radius: 20px 20px 0 0;
    padding: 20px;
    font-family: itc bookman demi;
    font-size: 20px;
    font-weight: bold;
    background-color: #3d749e;
    overflow: hidden;
    color: whitesmoke;
}
header img.logo {
    max-width: 100%;
    height: 2em;
    margin-right: 1em;
}

article {
    flex-basis: 80%;
    order: 1;
    padding: 20px;
    counter-reset: h1 h2 h3 h4;
    background-color: #f7f1d5;
    height: calc( 100% - 132px );
    box-sizing: border-box;
    border-radius: 5px;
    overflow: auto;
    font-size: 12px;
}

.mcols {
    column-count: 2;
    column-rule-width: 1px;
    column-rule-color: lightblue;
    column-fill: balance;
}

footer {
    padding: 20px;
    background-image: -webkit-linear-gradient(top, #656565 0%, #1d1d1d 100%);
    border-radius: 0 0 20px 20px;
    color: white;
    text-align: center;
}

article h1:before {
    /* On insert la valeur du compteur h1 suivi d'un point et d'un espace */
    content: counter(h1) ". ";
    /* On incrémente la valeur du compteur h1 */
    counter-increment: h1;
}

article h2:before {
    margin-left: 20px;
    content: counter(h1) "." counter(h2) ". " ;
    counter-increment: h2;
}

article h3:before {
    margin-left: 40px;
    content: counter(h1) "." counter(h2) ". " counter(h3) ". " ;
    counter-increment: h3;
}

article h4:before {
    margin-left: 60px;
    content: counter(h1) "." counter(h2) ". " counter(h3) ". " counter(h4) ". " ;
    counter-increment: h4;
}

article h1, 
article h2, 
article h3, 
article h4 {
    color: #347B98;
    word-wrap: break-word;
}

article h1 {
    color: #FE2712;
	font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    counter-reset: h2 h3 h4;
}

article h2 {
	font-size: 1.4em;
    margin-top: 1em;
    margin-bottom: 0.5em;
    counter-reset: h3 h4;
}

article h3 {
	font-size: 1.2em;
    counter-reset: h4;
}

article h4 {
}

article h1:first-child, 
article h2:first-child, 
article h1 + h2, 
article h2 + h3, 
article h3 + h4 {
    margin-top: 0px;
}


main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    border-left: 1px solid #ffa100;
    border-right: 1px solid #ffa100;
    background-color: silver;
    min-height: 80vh;
}

nav {
    flex-basis: 20%;
    order: 2;
    background-color: #adadac;
    min-height: calc( 100% - 10px );
    max-width: max-content;
    min-width: min-content;
    margin: 5px;
    box-sizing: border-box;
    padding: 5px;
    border-radius: 5px;
}

nav ul {
    padding-bottom: 5px;
    width: fit-content;
	padding: 0;
}

nav li {
    width: fit-content;
    display: block;
    padding-left: 5px;
    white-space: nowrap;
}

nav > ul {
    counter-reset: l1;
}

nav > ul > li::before {
    content: counter(l1) ". ";
    counter-increment: l1;
}

nav > ul > li > ul {
    counter-reset: l2;
}

nav > ul > li > ul > li {
    padding-left: 10px;
}

nav > ul > li > ul > li::before {
    content: counter(l1) "." counter(l2) ". " ;
    counter-increment: l2;
}