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

* {
  font: inherit;
}

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,
hr {
  margin: 0;
  padding: 0;
  border: 0;
}

html {
  box-sizing: border-box;
}

body {
  background-color: var(--color-bg, white);
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main,
form legend {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

button,
input,
textarea,
select {
  margin: 0;
}

.btn,
.form-control,
.link,
.reset {
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select.form-control::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
  overflow: auto;
  vertical-align: top;
}

input::-ms-clear {
  display: none;
}

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

img,
video,
svg {
  max-width: 100%;
}

:root {
  --font-primary: sans-serif;
  --font-secondary: serif;
  /* set base values */
  --text-base-size: 1em;
  --text-scale-ratio: 1.2;
  /* type scale */
  /* stylelint-disable max-line-length */
  --text-xs: calc(1em / (var(--text-scale-ratio) * var(--text-scale-ratio)));
  --text-sm: calc(1em / var(--text-scale-ratio));
  --text-md: calc(1em * var(--text-scale-ratio));
  --text-lg: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-xl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-xxl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-xxxl: calc(1em * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio));
  /* stylelint-enable max-line-length */
}

body {
  font-size: var(--text-base-size);
  font-family: var(--font-primary);
  color: var(--color-text);
}

h1,
h2,
h3,
h4,
form legend {
  color: var(--color-text-heading);
  margin-bottom: var(--space-xxs);
  line-height: var(--heading-line-height);
}

/* text size */
.text--xxxl {
  font-size: var(--text-xxxl);
}

h1,
.text--xxl {
  font-size: var(--text-xxl);
}

h2,
.text--xl {
  font-size: var(--text-xl);
}

h3,
.text--lg {
  font-size: var(--text-lg);
}

h4,
.text--md {
  font-size: var(--text-md);
}

.text--sm,
small {
  font-size: var(--text-sm);
}

.text--xs {
  font-size: var(--text-xs);
}

p {
  line-height: var(--body-line-height);
}
