html {
  box-sizing: border-box;
  text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  --scrollbarWidth: calc(100vw - 100cqw);
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

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

a {
  background-color: transparent;
  touch-action: manipulation;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  appearance: button;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

h1,
h2,
h3,
h4 {
    word-break: break-word;
    overflow-wrap: break-word;

    -webkit-hyphens: auto;
    hyphens: auto;

    -webkit-hyphenate-limit-before: 8;
    -webkit-hyphenate-limit-after: 4;
    hyphenate-limit-chars: 12 8 4;

    -webkit-hyphenate-limit-lines: 2;
    hyphenate-limit-lines: 2;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  appearance: textfield;
}

[type='search']::-webkit-search-decoration {
  appearance: none;
}

::-webkit-file-upload-button {
  appearance: button;
  font: inherit;
}

[hidden] {
  display: none;
}

[tabindex='-1']:focus {
  outline: none;
}
