/* ====================
   CSS Reset & Normalize
   ==================== */

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

/* Remove default margin */
* {
    margin: 0;
    padding: 0;
}

/* HTML & Body */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--color-bg-primary);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
}

/* Links */
a {
    text-decoration: none;
    color: inherit;
    background-color: transparent;
}

/* Images */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

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

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

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

/* Tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Lists */
ul, ol {
    list-style: none;
}