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

*, body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0;
}

html, body {
    height: 100%;
    -webkit-size-adjust: 100%;
}

html:focus-within {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

a, button {
    cursor: revert;
}

a {
    background-color: transparent;
}

a:not([class]) {
    text-decoration-skip-ink: auto;
}

ol, ul, menu {
    list-style: none;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

img {
    border-style: none;
}

table {
    border-collapse: collapse;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

textarea {
    white-space: revert;
    overflow: auto;
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-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;
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

::placeholder {
    color: unset;
}