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

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    min-height: 100vh;
}

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

ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }

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

button {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

input, textarea, select { font: inherit; color: inherit; }
textarea { resize: vertical; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }

summary::-webkit-details-marker { display: none; }
summary { list-style: none; cursor: pointer; }

:focus { outline: none; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
