/* Box sizing rules */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Prevent font size inflation */
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100vw;
}

body {
    overflow-x: hidden;
}

/* Remove default margin in favour of better control in authored CSS */
h1, h2, h3, h4, figure, blockquote, dl, dd {
    display: block;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-inline-end: 0;
    margin-inline-start: 0;
}

p, li {
    margin: 0 0 1rem 0;
}

/* Make images easier to work with */
img {
    border-style: none;
    display: block;
    height: auto;
    max-width: 100%;
}
