*,
::after,
::before {
	box-sizing: border-box;
}

body {
	margin: 0;
	-webkit-text-size-adjust: 100%;
	scrollbar-gutter: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: .5rem;
	margin-top: 0;
}

hr {
	margin: 1rem 0;
	color: inherit;
	border: 0;
	border-top: 1px solid;
}

img,
svg {
	vertical-align: middle;
}

table {
	border-collapse: collapse;
}

blockquote,
p {
	margin: 0 0 1rem
}

small {
	font-size: .8rem;
}

input:user-invalid,
textarea:user-invalid {
	border-color: red;
}

input:user-valid,
textarea:user-valid {
	border-color: green;
}

textarea {
	resize: vertical;
}

input {
	outline: none;
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
	cursor: pointer;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

::placeholder {
	color: #666;
}