/* Setting the general styling. */

body {
    font-family: monospace;
    font-size: 16px;
    line-height: 1.6;
}

main {
    max-width: 650px;

    border: 3px solid black;

    margin-left: 10%;
    margin-top: 50px;
    margin-bottom: 100px;

    padding-left: 100px;
    padding-right: 120px;
    padding-top: 20px;
    padding-bottom: 50px;
}

/* Styling the code snippets. */

pre code {
    display: block;
    padding: 20px;

    border: 1px solid #999;
    background-color: #eee;
    
    color: black;
    text-wrap: wrap;
}

code {
    color: darkgreen;
}

/* Styling the headings. */

h1 {
    font-size: 2.5em;
}

h2 {
    font-size: 2em;
}

h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 1.2em;
}

h5 {
    font-size: 1.05em;
}

h6 {
    font-size: 1em;
}

/* Setting the margins */

hr {
    margin-top: 5em;
    margin-bottom: 5em;
}

.spaced-ul {
    margin-top: 2em;
    margin-bottom: 2em;
}

.spaced-ul li:nth-child(n+2) {
    margin-top: 3em;
}

.spaced-dl dt:nth-child(n+2) {
    margin-top: 4em;
}

.spaced-sub-title {
    margin-top: 3em;
}

.spaced-sub-sub-title {
    margin-top: 2.5em;
}

/* Styling the floating side menu. */

.floating-menu {
    font-size: 0.9em;
    width: auto;
    height: 90vh;
    position: fixed;
    right: 0;
    margin-right: 10%;
    overflow: auto;

    padding-right: 2em;

    scrollbar-width: thin;
}

/* Making the website responsive to the size of the viewport here. */

@media (width < 1660px) {
    .floating-menu {
        margin-right: 5%;
    }
}

@media (width < 1360px) {
    main {
        margin-left: 5%;
        padding-right: 100px;
    }

    .floating-menu {
        margin-right: 5%;
    }
}

@media (width < 1260px) {
    main {
        margin-left: 5%;
        padding-right: 100px;
    }

    .floating-menu {
        margin-right: 1%;
    }
}

@media (width < 1160px) {
    main {
        margin-left: 0;
        margin: auto;
        padding-right: 120px;
    }

    .floating-menu {
        display: none;
    }
}

@media (width < 900px) {
    main {
        margin-left: 0;
        margin: auto;
        padding-right: 0;
        padding-left: 0;
        border: none;
    }

    .floating-menu {
        display: none;
    }
}