*,
*::after,
*::before {
  box-sizing: border-box;
}

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* custom */

input,
button,
textarea {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  white-space: normal;
}

a {
  color: inherit;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.618;
}

::-moz-placeholder {
  color: inherit;
  opacity: 0.618;
}

:-ms-input-placeholder {
  color: inherit;
  opacity: 0.618;
}

::placeholder {
  color: inherit;
  opacity: 0.618;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  display: block;
  resize: vertical;
}

/* Removes touch input lag from tappable things */
a,
button,
input,
textarea,
select,
label {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* https://mobile.twitter.com/LeaVerou/status/1045768279753666562 */
:focus:not(:focus-visible) {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::after,
  *::before {
    scroll-behavior: auto !important;
  }
}
