// studio - utilities - mixins and extends // ==================== // mixins - font sizing @mixin font-size($sizeValue: 16){ font-size: $sizeValue + px; font-size: ($sizeValue/10) + rem; } // mixins - line height @mixin lh($fontSize: auto){ line-height: ($fontSize*1.48) + px; line-height: (($fontSize/10)*1.48) + rem; } // ==================== // mixins - sizing @mixin size($width: $baseline, $height: $baseline) { height: $height; width: $width; } // mixins - sizing @mixin square($size: $baseline) { @include size($size); } // ==================== // mixins - placeholder styling @mixin placeholder($color) { :-moz-placeholder { color: $color; } ::-webkit-input-placeholder { color: $color; } :-ms-input-placeholder { color: $color; } } // ==================== // extends - layout // used for page/view-level wrappers (for centering/grids) .wrapper { @include clearfix(); @include box-sizing(border-box); width: 100%; } // removes list styling/spacing when using uls, ols for navigation and less content-centric cases .no-list { list-style: none; margin: 0; padding: 0; text-indent: 0; li { margin: 0; padding: 0; } } // extends - image-replacement hidden text .text-hide { text-indent: 100%; white-space: nowrap; overflow: hidden; } // extends - hidden elems - screenreaders .text-sr { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } // extends - wrapping .text-wrap { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word; } // extends - visual link .fake-link { cursor: pointer; } // extends - functional disable .disabled { pointer-events: none; outline: none; } // extends - depth levels .depth0 { z-index: 0; } .depth1 { z-index: 10; } .depth2 { z-index: 100; } .depth3 { z-index: 1000; } .depth4 { z-index: 10000; } .depth5 { z-index: 100000; } // ==================== // extends - buttons .btn { @include box-sizing(border-box); @include transition(color 0.25s ease-in-out, border-color 0.25s ease-in-out, background 0.25s ease-in-out, box-shadow 0.25s ease-in-out); display: inline-block; cursor: pointer; &:hover, &:active { } &.disabled, &[disabled] { cursor: default; pointer-events: none; opacity: 0.5; } .icon-inline { display: inline-block; vertical-align: middle; margin-right: ($baseline/4); } } // pill button .btn-pill { @include border-radius($baseline/5); } .btn-rounded { @include border-radius($baseline/2); } // primary button .btn-primary { @extend .btn; @extend .btn-pill; padding:($baseline/2) $baseline; border-width: 1px; border-style: solid; line-height: 1.5em; text-align: center; &:hover, &:active { @include box-shadow(0 2px 1px $shadow-l1); } &.current, &.active { @include box-shadow(inset 1px 1px 2px $shadow-d1); &:hover, &:active { @include box-shadow(inset 1px 1px 1px $shadow-d1); } } } // secondary button .btn-secondary { @extend .btn; @extend .btn-pill; border-width: 1px; border-style: solid; padding:($baseline/2) $baseline; background: transparent; line-height: 1.5em; text-align: center; &:hover, &:active { } &.current, &.active { } }