//
// Mixins
// --------------------------------------------------


// UTILITY MIXINS
// --------------------------------------------------

// Webkit-style focus
// ------------------
.tab-focus() {
  // Default
  outline: thin dotted #333;
  // Webkit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

// FORMS
// --------------------------------------------------

// Block level inputs
.input-block-level {
  display: block;
  width: 100%;
  min-height: 30px;        // Make inputs at least the height of their button counterpart
}



// COMPONENT MIXINS
// --------------------------------------------------

// Grid System
// -----------

// The Grid
#grid {

  .core (@gridColumnWidth, @gridGutterWidth) {

    .spanX (@index) when (@index > 0) {
//    (~".span@{index}") { .span(@index); }
      .span@{index} { .span(@index); }
      .spanX(@index - 1);
    }
    .spanX (0) {}

    .span (@columns) {
      width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
    }

    .row {
      margin-left: @gridGutterWidth * -1;
    }

    [class*="span"] {
      display: inline-block;
      margin-left: @gridGutterWidth;
      vertical-align: top;
    }

    // generate .spanX
    .spanX (@gridColumns);
  }

}
