@charset "utf-8";

* {
  word-wrap: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr,
article, aside, dialog, figure, footer, header, hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

sup, sub {
  height: 0;
  vertical-align: baseline;
  position: relative;
}

sup { bottom: 1ex; }
sub { top: .5ex; }

input[type=submit], button {
  display: inline-block;
  line-height: 1.2;
  vertical-align: middle;
  padding: 2px 3px;
  margin: 0;
  font-size: 100%;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  text-decoration: none;
  outline: none;
  color: inherit;
}

a:hover { }
a:active { }
a:focus { }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

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

th, td {
  vertical-align: middle;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/* Form */
input, select, textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle;
}

select, button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
  cursor: pointer;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

input[type="radio"],
input[type="checkbox"] {
  line-height: normal;
}

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto;
}

textarea,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="number"] {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  transition: border linear 0.2s, box-shadow linear 0.2s;
}

/* Float utilities */
.fl-right { float: right; }
.fl-left { float: left; }

.clearfix { zoom: 100%; }
.clearfix:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
  overflow: hidden;
}

.instclearfix { clear: both; }

/* Margin resets */
.m-top-0 { margin-top: 0 !important; }
.m-bottom-0 { margin-bottom: 0 !important; }
