
*, *::before, *::after {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 100%;
    line-height: inherit;
    font-stretch: inherit;
    font-weight: inherit;
    font-style: inherit;
    font-variation-settings: inherit;
    font-feature-settings: inherit;
    vertical-align: baseline;
    background: transparent;
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

/* HTML5 backport just in case */
main, article, aside, figure, footer, header, nav, section, details, summary {
    display: block;
}

img {
    display: inline-block;
    max-width: 100%;
    height: auto; /* override height attribute that Craft puts on img tags */
}

ul {
    list-style: none;
}

del {
    text-decoration: line-through;
}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: separate; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom; text-align: left;}
td {font-weight: normal; vertical-align: top; text-align: left;}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
    white-space: pre; /* CSS2 */
    white-space: pre-wrap; /* CSS 2.1 */
    white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
    word-wrap: break-word; /* IE */
}

strong, b {font-weight: bold;}
i, em, cite {font-style: italic;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}
