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

::after,
::before,
a,
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
button,
canvas,
caption,
cite,
code,
data,
dd,
del,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
i,
iframe,
img,
input,
ins,
kbd,
keygen,
label,
legend,
li,
main,
mark,
nav,
object,
ol,
option,
output,
p,
pre,
q,
rb,
rp,
rt,
ruby,
s,
samp,
section,
select,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
textarea,
tfoot,
th,
thead,
time,
tr,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  vertical-align: baseline;
  text-decoration: none;
  text-align: inherit;
  text-indent: 0;
  tab-size: 4; }

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

html,
body {
  min-height: 100%; }

.hidden,
[hidden],
datalist,
template {
  display: none !important; }

details,
hr,
main,
summary {
  display: block; }

@media screen {
  [no-screen] {
    display: none !important; } }

@media print {
  [no-print] {
    display: none !important; } }

audio:not([controls]) {
  display: none; }

html.ie11 wbr::after {
  content: "\00200B"; }

hr {
  height: 1px;
  border: 0;
  padding: 0;
  margin: 1em 0;
  background-color: #ddd; }

pre {
  white-space: pre-wrap; }

ul,
ul > li {
  list-style: none; }

ol,
ol > li {
  list-style: decimal; }

ol {
  padding-left: 3ex; }

button,
input,
optgroup,
option,
select,
textarea {
  font-family: inherit;
  color: inherit; }

optgroup,
strong {
  font-weight: 700; }

optgroup > option {
  font-weight: 400; }

input[type=text],
input[type=password],
input[type=mail],
input[type=tel],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  vertical-align: middle;
  border-radius: 0;
  cursor: auto; }

button,
input[type=button],
input[type=reset],
input[type=submit],
label {
  user-select: none;
  appearance: none;
  touch-action: manipulation;
  font-weight: 400;
  vertical-align: middle;
  border-radius: 0;
  cursor: pointer; }

:disabled,
button:disabled,
input:disabled,
optgroup:disabled,
option:disabled,
select:disabled,
textarea:disabled {
  cursor: default; }

button,
input[type=button],
input[type=reset],
input[type=submit] {
  text-align: center;
  white-space: nowrap; }

input[type=search] {
  appearance: none; }

input[type=date],
input[type=time],
input[type=tel] {
  min-height: 1em;
  line-height: 1; }

input[type=date],
input[type=time] {
  min-width: 5ex; }

input[type=tel] {
  min-width: 13ex; }

select {
  vertical-align: middle;
  cursor: pointer; }

:-moz-input-placeholder,
:-ms-input-placeholder,
::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.25);
  line-height: 1.2; }

table {
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  empty-cells: show;
  caption-side: top; }

td,
th,
tr {
  vertical-align: middle;
  word-wrap: break-word;
  overflow-wrap: break-word; }

video {
  vertical-align: middle;
  user-select: none; }

canvas,
img,
svg {
  vertical-align: middle;
  user-select: none;
  max-width: 100%; }

iframe {
  vertical-align: middle; }

del {
  opacity: 0.5;
  text-decoration: line-through; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0; }

sup {
  vertical-align: 0.3em; }

sub {
  vertical-align: -0.2em; }

pre,
code {
  font-family: monospace; }
