//
// Mixins
// ==================================================


// Utility Mixins
// --------------------------------------------------

// Clearfix
.clearfix() {
	display: block; zoom: 1;
	&:after { content: " "; display: block; font-size: 0; height: 0; clear: both; visibility: hidden; }
}

// Center-align a block level element
.center-block() { display: block; margin-left: auto; margin-right: auto; }

// Flush
.flush() { margin: 0; padding: 0; }

// CSS image replacement
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
.hide-text() { font: 0/0 a !important; color: transparent !important; text-shadow: none !important; background-color: transparent !important; border: 0 !important; width: 0; height: 0; overflow: hidden; }

// Tables ( Vertical Align with IE7 patch )
.table() { display: table; width: 100%; *position: relative; }
.table-cell() { display: table-cell; *float: left; }
.table-cell-mid() { display: table-cell; vertical-align: middle; *position: absolute; *top: 0; *bottom: 0; *left: 0; *right: 0; *margin: auto; }


// Grid Mixins
// --------------------------------------------------

// grid span width
.gridSpanWidth(@span) { width: @gridSpanWidth * @span; }


// CSS3 PROPERTIES
// --------------------------------------------------

// Box sizing
.box-sizing(@boxmodel) { -webkit-box-sizing: @boxmodel; -moz-box-sizing: @boxmodel; box-sizing: @boxmodel; }

// Opacity
.opacity(@opacity) { opacity: @opacity / 100; filter: ~"alpha(opacity=@{opacity})"; }

// Transitions
.transition(@transition) {
  -webkit-transition: @transition;
     -moz-transition: @transition;
       -o-transition: @transition;
          transition: @transition;
}

// Drop shadows
.box-shadow(@shadow){
  -webkit-box-shadow: @shadow;
     -moz-box-shadow: @shadow;
          box-shadow: @shadow;
}

// Border Radius
.border-radius(@radius) {
  -webkit-border-radius: @radius;
     -moz-border-radius: @radius;
          border-radius: @radius;
}


// Typography
// --------------------------------------------------

// Big Font
.big-font() { font-size: 1.285714em; line-height: 1.333333em; }

// Small Font
.small-font() { font-size: 0.857142em; line-height: 1.333333em; }

// Icon Font
.fontawesome() { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; speak: none; -webkit-font-smoothing: antialiased; vertical-align: middle; }


// Placeholder text
// -------------------------
.placeholder(@color: @placeholderText) {
  &:-moz-placeholder {
    color: @color;
  }
  &:-ms-input-placeholder {
    color: @color;
  }
  &::-webkit-input-placeholder {
    color: @color;
  }
}