html, body, figure,
p, blockquote, pre, hr,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
table, caption, th, td,
form, fieldset, legend {
  margin:  0;
  padding: 0;
}

button, input, select, textarea {
  margin: 0;
}

h1, h2, h3, h4, h5, h6,
button, input, select, textarea,
table,
small, sub, sup {
  font-size: 1em;
  line-height: normal;
}

abbr, acronym,
address,
th {
  font-style:   normal;
  font-variant: normal;
  font-weight:  normal;
  text-decoration: none;
}

button, input, select, textarea {
  vertical-align: middle;
}

a * { cursor: pointer; }

img,
abbr, acronym {
  border-width: 0;
}

/* Do-over
===========================================================================*/

html, body,
p, blockquote, pre, hr,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
table, caption, th, td,
form, fieldset, legend {
  margin:  0;
  padding: 0;
}

button, input, select, textarea {
  margin: 0;
}

/* Headings */

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  line-height: normal;
}

/* Links */

a img { border-style: none; }
a * { cursor: pointer; } /* for IE */

/* Block */

address { font-style: normal; }

/* Inline */

abbr,
acronym {
  font-style:   normal; /* for OmniWeb 5.1 */
  font-variant: normal; /* for Opera 9.0-9.2 */
  
  border-bottom-style: none; /* for Gecko */
}

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

/* Lists */

ul { list-style-type: none; } /* for IE */
ul li { display: block; }
ol li { display: list-item; }

/* Tables */

table {
  font-size: 1em; /* for legacy browsers */
  border-collapse: collapse;
}

th { font-weight: normal; }
caption { text-align: left; }

th, td {
  text-align: left;
  vertical-align: top;
}

/* Forms */

fieldset { border-width: 0; }

label { cursor: default; }
a label { cursor: pointer; }

button, input, select, textarea {
  font-size: 1em;
  line-height: normal;
  
  vertical-align: middle;
}

/* for IE */
textarea { overflow: auto; }
button { width: auto; overflow: visible; }

/* for Firefox */
button::-moz-focus-inner { padding: 0; border-style: none; }
button:focus { outline-width: 1px; outline-style: dotted; }
