/******************************************
[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: 85%;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  background-color: transparent;
  -webkit-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: 0px;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input,
button,
textarea,
select,
optgroup {
  font: inherit;
}

[disabled] {
  cursor: default;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

::-webkit-file-upload-button {
  -webkit-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;
}

::-moz-selection,
::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}