// // Styles // -------------------------------------------------- @mixin baseline { margin: 1.6em 0; } @mixin clearfix { &:after { content:""; display:table; clear:both; } } // User select // For selecting text on the page @mixin user-select($select) { -webkit-user-select: $select; -moz-user-select: $select; -ms-user-select: $select; // IE10+ user-select: $select; } // WebKit-style focus @mixin tab-focus() { // Default outline: thin dotted; // WebKit outline: 0px auto -webkit-focus-ring-color; outline-offset: -2px; } @mixin form-control-focus($color: #66afe9) { $color-rgba: rgba(red($color), green($color), blue($color), .6); &:focus { border-color: $color; outline: 0; box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba; } } @mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { #{$parent} { height: $input-height; padding: $padding-vertical $padding-horizontal; font-size: $font-size; line-height: $line-height; border-radius: $border-radius; } select#{$parent} { height: $input-height; line-height: $input-height; } textarea#{$parent}, select[multiple]#{$parent} { height: auto; } } @mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) { // Color the label and help text .help-block, .control-label, .radio, .checkbox, .radio-inline, .checkbox-inline { color: $text-color; } // Set the border and box shadow on specific inputs to match .form-control { border-color: $border-color; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); // Redeclare so transitions work &:focus { border-color: darken($border-color, 10%); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%); } } // Set validation states also for addons .input-group-addon { color: $text-color; border-color: $border-color; background-color: $background-color; } // Optional feedback icon .form-control-feedback { color: $text-color; } } @mixin make-row($gutter: 30px) { margin-left: ($gutter / -2); margin-right: ($gutter / -2); @include clearfix(); } //==== Simple SCSS mixin to create CSS triangles //==== Example: @include css-triangle (10px, #fff, "up"); @mixin triangle ($size: 20px, $color: #000, $direction: "down") { $size: $size / 2; width: 0; height: 0; @if $direction == "down" { border-left: $size solid #{setTriangleColor($direction, "left", $color)}; border-right: $size solid #{setTriangleColor($direction, "right", $color)}; border-top: $size solid #{setTriangleColor($direction, "top", $color)}; } @if $direction == "up" { border-left: $size solid #{setTriangleColor($direction, "left", $color)}; border-right: $size solid #{setTriangleColor($direction, "right", $color)}; border-bottom: $size solid #{setTriangleColor($direction, "bottom", $color)}; } @if $direction == "left" { border-right: $size solid #{setTriangleColor($direction, "right", $color)}; border-top: $size solid #{setTriangleColor($direction, "top", $color)}; border-bottom: $size solid #{setTriangleColor($direction, "bottom", $color)}; } @if $direction == "right" { border-left: $size solid #{setTriangleColor($direction, "left", $color)}; border-bottom: $size solid #{setTriangleColor($direction, "bottom", $color)}; border-top: $size solid #{setTriangleColor($direction, "top", $color)}; } } //Utility function to return the relevant colour depending on what type of arrow it is @function setTriangleColor($direction, $side, $color) { @if $direction == "left" and $side == "right" or $direction == "right" and $side == "left" or $direction == "down" and $side == "top" or $direction == "up" and $side == "bottom" { @return $color } @else { @return "transparent"; } }