/******************************************
[reset]
******************************************/
*,
::before,
::after {
  position: relative;
  box-sizing: border-box;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

[hidden],
template {
  display: none;
}

small {
  font-size: 80%;
}

ul,
ol {
  list-style: none;
}

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

a {
  background-color: transparent;
  text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

b,
strong {
  font-weight: bolder;
}

img {
  border-style: none;
}

input,
button,
textarea,
select {
  outline: 0;
  border: 0;
  color: inherit;
  appearance: none;
}

input,
button,
textarea,
select,
optgroup {
  font: inherit;
}

[disabled] {
  cursor: default;
}

input[type="number"] {
  appearance: textfield;
}

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

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

input::-ms-clear {
  visibility: hidden;
}

optgroup {
  font-weight: bold;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentcolor;
}

textarea {
  overflow: auto;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

button {
  background: none;
  overflow: visible;
}

:selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}
