html {
  font-size: 62.5%; /* 1rem = 10px */
  scroll-behavior: smooth;
  min-height: 100%;
}

body {
  font-family: var(--font-family-primary), sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  color: var(--text-color);
  background-color: var(--background-color);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  min-height: 100%;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-secondary), sans-serif;
}

h1 {
  font-size: var(--font-size-h1);
}

h2 {
  font-size: var(--font-size-h2);
}

h3 {
  font-size: var(--font-size-h3);
}

h4 {
  font-size: var(--font-size-h4);
}

h5 {
  font-size: var(--font-size-h5);
}

h6 {
  font-size: var(--font-size-h6);
}

button,
input,
textarea,
select,
option,
optgroup,
label,
fieldset,
legend {
  font-family: var(--font-family-primary), sans-serif;
  font-weight: var(--font-weight);
  letter-spacing: var(--letter-spacing);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

a {
  font-family: var(--font-family-primary), sans-serif;
  font-weight: var(--font-weight);
  letter-spacing: var(--letter-spacing);
  color: inherit;
  text-decoration: none;
}

hr {
  border: none;
  border-top: var(--hr-border-width) var(--hr-border-style) var(--hr-border-color);
}

:disabled {
  cursor: not-allowed;
}

::selection,
::-moz-selection {
  background-color: var(--selection-bg-color);
  color: var(--selection-text-color);
}