// lms - 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 line-height($fontSize: auto){ line-height: ($fontSize*1.48) + px; // line-height: (($fontSize/10)*1.48) + rem; } // image-replacement hidden text @mixin text-hide() { text-indent: 100%; white-space: nowrap; overflow: hidden; } @mixin vertically-and-horizontally-centered ( $height, $width ) { left: 50%; margin-left: -$width / 2; //margin-top: -$height / 2; min-height: $height; min-width: $width; position: absolute; top: 150px; } // sunsetted, but still used mixins @mixin hide-text(){ text-indent: -9999px; overflow: hidden; display: block; } @mixin show-hover-state() { opacity: 1; } @function em($pxval, $base: 16) { @return #{$pxval / $base}em; } // line-height @function lh($amount: 1) { @return $body-line-height * $amount; } // ==================== // theme mixin styles @mixin login_register_h1_style {} @mixin footer_references_style {} // ==================== // extends - UI - used for page/view-level wrappers (for centering/grids) %ui-wrapper { @include clearfix(); @include box-sizing(border-box); width: 100%; } // extends - UI - window %ui-window { @include clearfix(); border-radius: 3px; box-shadow: 0 1px 2px 1px $shadow-l1; margin-bottom: $baseline; border: 1px solid $light-gray; background: $white; } // extends - UI archetypes - well %ui-well { box-shadow: inset 0 1px 2px 1px $shadow-l1; padding: ($baseline*0.75) $baseline; } // extends - UI - visual link %ui-fake-link { cursor: pointer; } // extends - UI - functional disable %ui-disabled { pointer-events: none; outline: none; cursor: default; } // extends - UI - depth levels %ui-depth0 { z-index: 0; } %ui-depth1 { z-index: 10; } %ui-depth2 { z-index: 100; } %ui-depth3 { z-index: 1000; } %ui-depth4 { z-index: 10000; } %ui-depth5 { z-index: 100000; } // extends - UI - utility - nth-type style clearing %wipe-first-child { &:first-child { margin-top: 0; border-top: none; padding-top: 0; } } // extends - UI - utility - nth-type style clearing %wipe-last-child { &:last-child { margin-bottom: 0; border-bottom: none; padding-bottom: 0; } } // extends -hidden elems - screenreaders %text-sr { // clip has been deprecated but is still supported clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); position: absolute; margin: -1px; height: 1px; width: 1px; border: 0; padding: 0; overflow: hidden; // ensure there are spaces in sr text word-wrap: normal; } // extends - ensures proper contrast for automated checkers %a11y-ensure-contrast { background: $white; color: $black; } // extends - UI - removes list styling/spacing when using uls, ols for navigation and less content-centric cases %ui-no-list { list-style: none; margin: 0; padding: 0; text-indent: 0; li, dt, dd { margin: 0; padding: 0; } } // extends - text - image-replacement hidden text %text-hide { text-indent: 100%; white-space: nowrap; overflow: hidden; } // extends - text - wrapping %text-wrap { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word; } // extends - text - text overflow by ellipsis %text-truncated { @include box-sizing(border-box); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } // border control %no-border-top { border-top: none; } %no-border-bottom { border-bottom: none; } %no-border-left { border-left: none; } %no-border-right { border-right: none; } // outline %no-outline { outline: none; } // shame-based mixins to centrally override poor styling %shame-link-base { color: $link-color; &:hover, &:focus { color: saturate($link-color, 50%); } } %shame-link-text { @extend %shame-link-base; &:hover, &:focus { text-decoration: underline !important; } }