.u-full-width {
  width: 100%;
}

.u-max-full-width {
  max-width: 100%;
}


/* Floats */

.u-pull-right {
  float: right;
}

.u-pull-left {
  float: left;
}

.u-cf {
  content: "";
  display: table;
  clear: both;
}


/* Positioning */

.u-center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/**
 * Note:
 *
 * Nest this class inside something with `position: relative` to have
 * your element centered relative to its containing element.
 *
 * Use this class without nesting it to have your element centered relative
 * to the viewport.
 */

.u-center-abs {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}


/* Type */

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}


/* Peek a boo */

.u-hide {
  display: none !important;
}

.u-show {
  display: block !important;
}

.u-invisible {
  visibility: hidden !important;
}

.u-visible {
  visibility: visible !important;
}


/* Misc */

.u-img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
