/* Box sizing rules */
*, *::before, *::after {
    box-sizing: border-box;
}

body, html {
    margin: 0;
    padding: 0;
}

body {
    line-height: 1.5;
}

/* Remove default margin in favour of better control in authored CSS */
h1, h2, h3, h4, figure, blockquote {
    display: block;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-inline-end: 0;
    margin-inline-start: 0;
}

/* Set shorter line heights on headings */
h1, h2, h3, h4, button {
    line-height: 1.1;
}

/* Make images easier to work with */
img {
    border-style: none;
    display: block;
    height: auto;
    width: 100%;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
    scroll-margin-block: 5ex;
}

sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

button {
    border-radius: 0;
}

input, button {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}