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

* {
    margin: 0;
    padding: 0;
    border: 0 solid transparent;
}


html {
    -webkit-text-size-adjust: 100%;
}


body {
    min-height: 100vh;
    line-height: 1.5;
    text-rendering: optimizeSpeed;
}


img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
    line-height: inherit;
    color: inherit;
}


table {
    border-collapse: collapse;
    border-spacing: 0;
}


button,
[role="button"] {
    cursor: pointer;
    background-color: transparent;
    -webkit-tap-highlight-color: transparent;

    &:focus {
        outline: none;
    }
}


a {
    cursor: pointer;
    color: inherit;
    text-decoration: inherit;
    -webkit-tap-highlight-color: transparent;

    &:focus {
        outline: none;
    }
}


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


ol,
ul {
    list-style: none;
}


[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;

    &:focus {
        outline: none;
    }
}


::-moz-placeholder {
    opacity: 1;
}




[type='checkbox'],
[type='radio'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    &:focus {
        outline: none;
    }
}