* {
  line-height: 1.4em;
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
}

html {
  -overflow: -moz-scrollbars-vertical !important;
  overflow-y: scroll;
}

body {
  background: #fff;
  color: #000;
  margin: 0;
  padding: 0;
  -overflow-y: scroll;
}

header, footer, article, section, nav, aside { display: block }

a.nu       { text-decoration: none }
a.dashed   { text-decoration: none; border-bottom-width: 1px; border-bottom-style: dashed }

table, input.text, button, textarea, code, tt { font-size: 100%; }
img { border: 0; }
form { margin: 0; }

tt { font-family: "Consolas", "Courier New" }

sup, sub {
  position: relative;
  vertical-align: middle;
  font-size: 75%;
  font-weight: normal; 
}
sup        { bottom: 0.5em; }
sub        { top: 0.5em; }


span.tsp { margin-right: -.167em }
span.hsp { margin-right: -.25em }

small, .small { font-size: 85%; }
small.very { font-size: 70%; }


.first       { margin-top: 0 }
.relative    { position: relative }
.range       { margin-left: 1px; letter-spacing: 1px }
.middle *    { vertical-align: middle }
.baseline *  { vertical-align: baseline }

.transparent { 
  opacity: 0;
 -moz-opacity: 0;
 -webkit-opacity: 0;
  filter: alpha(opacity = 0);
}

.small-caps {
  font-size: 85%;
  letter-spacing: 1px;
  margin-right: -1px;
}
.small-cap-glued { letter-spacing: 0px; }

ul.no-bullets { list-style-type: none; padding: 0 0 0 1.67em }
ul.no-bullets li { text-indent: 0em; }

ul.flat { padding: 0 }

ul.dashed li {
list-style-type: none;
text-indent: -1.5em;
behavior: expression(!this.before? this.before = this.innerHTML = '&mdash;<span class="ensp"></span>' + this.innerHTML : '');
}

ul.dashed li:before {
content: '\2014';
margin-right: 0.5em;
}

.clear { clear: both }
.clear-left { clear: left }
.clear-right { clear: right }