// taken from https://github.com/jlong/sass-twitter-bootstrap/blob/master/lib/forms.scss @import "000_vars.css.scss"; button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } button, input { line-height: normal; // FF3/4 have !important on line-height in UA stylesheet *overflow: visible; // Inner spacing ie IE6/7 } button::-moz-focus-inner, input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 border: 0; padding: 0; } button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; // Cursors on all buttons applied consistently -webkit-appearance: button; // Style clicable inputs in iOS } input[type="search"] { // Appearance in Safari/Chrome -webkit-appearance: textfield; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 } textarea { overflow: auto; // Remove vertical scrollbar in IE6-9 vertical-align: top; // Readability and alignment cross-browser } input[type=checkbox], input[type=radio] { cursor: pointer; } input, textarea, select { display: inline-block; height: $baseline; padding: 4px; font-size: $basefont; line-height: $baseline; border: 1px solid #ccc; @include border-radius(3px); } input, textarea { width: 210px; } select { padding: initial; } input[type=checkbox], input[type=radio] { width: auto; height: auto; padding: 0; margin: 3px 0; *margin-top: 0; /* IE6-7 */ line-height: normal; border: none; } input[type=file] { background-color: white; padding: initial; border: initial; line-height: initial; @include box-shadow(none); } input[type=button], input[type=reset], input[type=submit] { width: auto; height: auto; } select, input[type=file] { height: $baseline * 1.5; // In IE7, the height of the select element cannot be changed by height, only font-size *height: auto; // Reset for IE7 line-height: $baseline * 1.5; *margin-top: 4px; /* For IE7, add top margin to align select with labels */ } textarea { height: auto; } input, textarea { $transition: border linear .2s, box-shadow linear .2s; @include transition($transition); @include box-shadow(inset 0 1px 3px rgba(0,0,0,.1)); } input:focus, textarea:focus { outline: 0; border-color: rgba(82,168,236,.8); $shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6); @include box-shadow($shadow); } input[type=file]:focus, input[type=checkbox]:focus, select:focus { @include box-shadow(none); // override for file inputs outline: 1px dotted #666; // Select elements don't get box-shadow styles, so instead we do outline } // Base .btn styles button, input[type="submit"], a.btn { // Button Base cursor: pointer; display: inline-block; @include vertical-three-colors-gradient(#fff, #fff, 25%, darken(#fff, 10%)); padding: 3px 10px 3px; text-shadow: 0 1px 1px rgba(255,255,255,.75); color: black; font-size: $basefont; line-height: normal; border: 1px solid #ccc; border-bottom-color: #bbb; @include border-radius(4px); $shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); @include box-shadow($shadow); &:hover { background-position: 0 -15px; color: #333; text-decoration: none; } // Focus state for keyboard and accessibility &:focus { outline: 1px dotted #666; } // Active and Disabled states &.active, &:active { $shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05); @include box-shadow($shadow); } &.large { font-size: $basefont + 15%; line-height: normal; padding: 9px 14px 9px; @include border-radius(6px); } } // Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons :root .alert-message, :root .btn { border-radius: 0 \0; } // Help Firefox not be a jerk about adding extra padding to buttons button, input[type=submit] { &::-moz-focus-inner { padding: 0; border: 0; } }