/* normalize.css for some basic tweaks
*    based on https://www.joshwcomeau.com/css/custom-css-reset/
*    and https://piccalil.li/blog/a-more-modern-css-reset/
*/

/* layout: more-intuitive box-sizing model */
*, *::before, *::after {
	box-sizing: border-box;
}

/* layout: remove default margin and padding */
* {
	margin: 0;
	padding: 0;
}

/* layout: remove outline on focus of form elements eg input */
:focus {
	outline: none;
}

/* layout: ensure body is at least view-port height */
body {
	min-height: 100vh;
}

/* layout: improve media defaults */
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}

/* layout: make sure textareas without rows attribute are at least 5 rows without scroll (5 x 1.5 line-height) */
textarea:not([rows]) {
	min-height: 8em;
}

/* typography: prevent text-size "inflation" on mobile browsers */
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* typography: larger line height for body text and prevent macOS from using sub-pixel antialiasing */
body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/* typography: remove built-in form styles */
input, button, textarea, select {
	font: inherit;
}

/* typography: break headings nicely, general line height for accessability is too much on headings */
h1, h2, h3, h4 {
	line-height: 1.2;
	white-space: unset;
	text-wrap: balance;
}

/* typography: default style for links / a elements */
a {
	color: currentColor;
}
