/* Intrinsic widths: breakpoint 1 (small)
   ========================================================================== */

/**
 * Make an element shrink wrap its content.
 */

.u-sm-sizeFit,
.u-sm-sizeFitAlt {
  display: block !important;
  float: left !important;
  width: auto !important;
}

.u-sm-sizeFitAlt {
  float: right !important;
}

/**
 * Make an element fill the remaining space.
 * N.B. This will hide overflow.
 */

.u-sm-sizeFill {
  display: block !important;
  overflow: hidden !important;
  width: auto !important;
}

/**
 * An alternative method to make an element fill the remaining space.
 * N.B. Do not use if child elements might be wider than the remaining space.
 * In Chrome, Safari, and Firefox it results in undesired layout.
 */

.u-sm-sizeFillAlt {
  display: table-cell !important;
  max-width: 100% !important;
  width: 10000px !important;
}

/**
 * Make an element the width of its parent.
 */

.u-sm-sizeFull {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
}

/* Proportional widths: breakpoint 1 (small)
   ========================================================================== */

/**
 * Specify the proportional width of an object.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 part
 */

.u-sm-size1of12 {
  width: calc(100% * 1 / 12) !important;
}

.u-sm-size1of10 {
  width: 10% !important;
}

.u-sm-size1of8 {
  width: 12.5% !important;
}

.u-sm-size1of6,
.u-sm-size2of12 {
  width: calc(100% * 1 / 6) !important;
}

.u-sm-size1of5,
.u-sm-size2of10 {
  width: 20% !important;
}

.u-sm-size1of4,
.u-sm-size2of8,
.u-sm-size3of12 {
  width: 25% !important;
}

.u-sm-size3of10 {
  width: 30% !important;
}

.u-sm-size1of3,
.u-sm-size2of6,
.u-sm-size4of12 {
  width: calc(100% * 1 / 3) !important;
}

.u-sm-size3of8 {
  width: 37.5% !important;
}

.u-sm-size2of5,
.u-sm-size4of10 {
  width: 40% !important;
}

.u-sm-size5of12 {
  width: calc(100% * 5 / 12) !important;
}

.u-sm-size1of2,
.u-sm-size2of4,
.u-sm-size3of6,
.u-sm-size4of8,
.u-sm-size5of10,
.u-sm-size6of12 {
  width: 50% !important;
}

.u-sm-size7of12 {
  width: calc(100% * 7 / 12) !important;
}

.u-sm-size3of5,
.u-sm-size6of10 {
  width: 60% !important;
}

.u-sm-size5of8 {
  width: 62.5% !important;
}

.u-sm-size2of3,
.u-sm-size4of6,
.u-sm-size8of12 {
  width: calc(100% * 2 / 3) !important;
}

.u-sm-size7of10 {
  width: 70% !important;
}

.u-sm-size3of4,
.u-sm-size6of8,
.u-sm-size9of12 {
  width: 75% !important;
}

.u-sm-size4of5,
.u-sm-size8of10 {
  width: 80% !important;
}

.u-sm-size5of6,
.u-sm-size10of12 {
  width: calc(100% * 5 / 6) !important;
}

.u-sm-size7of8 {
  width: 87.5% !important;
}

.u-sm-size9of10 {
  width: 90% !important;
}

.u-sm-size11of12 {
  width: calc(100% * 11 / 12) !important;
}

/* Proportional offsets: breakpoint 1 (small)
   ========================================================================== */

/**
 * Specify the proportional offset before an object.
 * Intentional redundancy build into each set of unit classes.
 * Supports: 2, 3, 4, 5, 6, 8, 10, 12 section
 */

.u-sm-before0of12 {
  margin-left: 0 !important;
}

.u-sm-before1of12 {
  margin-left: 8.333333333333332% !important;
}

/**
 * Make an element shrink wrap its content.
 */

.u-sm-sizeFit {
  display: block !important;
  float: left !important;
  width: auto !important;
}

/**
 * Make an element fill the remaining space.
 * N.B. This will hide overflow.
 */

.u-sm-sizeFill {
  display: block !important;
  overflow: hidden !important;
  width: auto !important;
}


