/* Basic reset */
* {
  margin: 0;
  padding: 0;
  border: 0;
}

body {
  -webkit-text-size-adjust: 100%;
}

table {
  border-collapse: collapse;
}

/* Clearfix*/
/* For modern browsers */
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
  *zoom: 1;
}

/* General floating/clearing */
.floatLeft {
  float: left;
}
.floatRight {
  float: right;
}
.clear {
  clear: both;
  line-height: 0px;
}

/* Alignment */
.top {
  vertical-align: top;
}
.middle {
  vertical-align: middle;
}
.bottom {
  vertical-align: bottom;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.justify {
  text-align: justify;
}

/* Position */
.rel {
  position: relative;
}
.abs {
  position: absolute;
}
.fixed {
  position: fixed;
}

/* Display */
.block {
  display: block;
}
.hidden {
  display: none;
}

/* Label text not selectable */
label {
  -webkit-user-select: none;        
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Checkbox vertical alignment */
label input[type=checkbox] {
  position: relative;
  vertical-align: middle;
  bottom: 2px;
}