html {
    scroll-behavior: smooth;
}

body {
    font-family: sans-serif;
}

section {
    border-bottom: solid thin rgb(220, 220, 220);
}

.p-text {
    font-size: 25px;
}


/*
Page header
*/

header {
    margin: -0.5 -0.5em 0 -0.5em;
    text-align: center;
}


/*
Section headings
 */

h1,
h2,
h3,
h4,
h5,
h6,
h7 {
    font-family: serif;
    font-weight: normal;
}

h1 {
    text-align: center;
}


/*
Navigation
*/

nav a {
    text-decoration: none;
    color: black;
}

nav a:hover {
    color: #b91e27;
}

nav h1 {
    font-family: serif;
    margin: 0 0 0.5em 0;
}


/*
General content elements and styles
*/

ul,
ol {
    color: #b91e27;
    font-weight: bold;
    font-family: serif;
    font-size: 1.2em;
}

ul {
    list-style: square outside;
}

ol span {
    color: black;
    font-weight: normal;
    font-family: sans-serif;
    font-size: 0.84em;
}

ul span {
    color: black;
    font-weight: normal;
    font-family: sans-serif;
    font-size: 0.84em;
}

blockquote {
    border-left: solid thick #b91e27;
}

em {
    font-style: italic;
}

strong {
    font-weight: bold;
    color: #b91e27;
}


/* Nav to-top elements */

nav.to-top {
    display: block;
    padding: 2.5em 0.5em 0.5em 2.5em;
    margin: 0;
    width: auto;
    position: absolute;
    right: 2em;
    left: auto;
    border-style: none;
    background-color: transparent;
}

nav.to-top a {
    margin: 0;
    border: 0;
    text-decoration: none;
    color: royalblue;
    font-size: 0.8em;
    font-weight: bold;
    font-family: sans-serif;
}

nav.to-top a:hover {
    text-decoration: underline;
}


/********************************************
**  Style for devices with small displays  **
********************************************/

@media (max-width: 46.9em) {
    /*
General
*/
    section {
        margin: 0 -0.5em 1em -0.5em;
        padding: 0 0.5em 1em 0.5em;
    }
    /*
Page header
*/
    header h1 {
        padding: 0.5em 0 0 0;
        font-size: 2.5em;
    }
    /*
Section headings
 */
    h2,
    h3,
    h4,
    h5,
    h6,
    h7 {
        margin: 0.2em 0 0 1em;
        padding: 0.1em;
    }
    h1 {
        font-size: 1.5em;
        /*  margin: 0 0 1em 0;*/
    }
    h2 {
        font-size: 1.2em;
    }
    h3 {
        font-size: 1.13em;
    }
    h4 {
        font-size: 1.07em;
    }
    /*
Navigation
*/
    /* Nav bar */
    nav {
        margin: 1em 50% 1em 10%;
        padding: 1em 0 0 0;
        width: 22em;
        border: solid thin rgb(240, 240, 240);
    }
    nav ul {
        margin: 0;
        list-style: square outside;
    }
    nav a {
        font-family: serif;
    }
    nav a:hover {
        font-weight: bold;
    }
}


/********************************************
**  Style for devices with large displays  **
********************************************/

@media (min-width: 47em) {
    /*
General
*/
    section {
        margin: 0 -0.5em 1em -0.5em;
        padding: 2em 8% 2em 8%;
    }
    /*
Page header
*/
    header {
        margin: 0 -0.5em 0 -0.5em;
    }
    header h1 {
        padding: 0.5em 0 0 0;
        font-size: 4em;
    }
    /*
Section headings
 */
    h2,
    h3,
    h4,
    h5,
    h6,
    h7 {
        margin: 0.8em 0 0 7%;
        padding: 0.2em;
    }
    h1 {
        font-size: 2em;
        text-align: center;
        margin: 0 0 1em 0;
    }
    h2 {
        font-size: 1.65em;
    }
    h3 {
        font-size: 1.4em;
    }
    h4 {
        font-size: 1.15em;
    }
    /*
Other content elements
*/
    blockquote {
        padding: 0 0 0 1.2em;
        margin: 0 6em 0 4em;
    }
    ul,
    ol {
        padding: 0 6em 0 6em;
    }
    /*
Navigation
*/
    /* Nav bar */
    nav {
        padding: 0 0 12em 0;
        margin: 0 0 0 0;
    }
    nav h1 {
        display: none;
        /* (display off-page?) */
    }
    nav ul {
        margin: 0 0 0 -22.5em;
        padding: 0;
        float: left;
        position: absolute;
        width: 45em;
        left: 50%;
        border: solid thin rgb(240, 240, 240);
        list-style: none outside;
    }
    nav li {
        float: left;
        margin: 1em;
    }
    nav li ul {
        display: none;
    }
    nav a {
        font-size: 1.1em;
        font-weight: bold;
        font-family: sans-serif;
    }
}


/**************************
**  Style for printouts  **
**************************/

@media print {
    nav.to-top {
        display: none;
    }
}