/** * @class Global_CSS */ @import 'mixins/border';@import 'mixins/font';@import 'mixins/font-icon'; // Background property support for vendor prefixing within values. @mixin background($background-1,$background-2: false,$background-3: false,$background-4: false,$background-5: false,$background-6: false,$background-7: false,$background-8: false,$background-9: false,$background-10: false) { $backgrounds: compact($background-1, $background-2, $background-3, $background-4, $background-5, $background-6, $background-7, $background-8, $background-9, $background-10); $mult-bgs: -compass-list-size($backgrounds) > 1; $add-pie-bg: prefixed(-pie, $backgrounds) or $mult-bgs; @if $experimental-support-for-svg and prefixed(-svg, $backgrounds) { background: -svg($backgrounds); } @if $support-for-original-webkit-gradients and prefixed(-owg, $backgrounds) { background: -owg($backgrounds); } @if $experimental-support-for-webkit and prefixed(-webkit, $backgrounds) { background: -webkit($backgrounds); } @if $experimental-support-for-mozilla and prefixed(-moz, $backgrounds) { background: -moz($backgrounds); } @if $experimental-support-for-opera and prefixed(-o, $backgrounds) { background: -o($backgrounds); } // BEGIN PATCH // IE10 Supports linear-gradient but with a new syntax, Compass has deprecated -ms prefix support too soon // this patch brings -ms prefix support back to gradients. This should be removed when compass is updated with // proper support background: -ms-#{$backgrounds}; // END PATCH @if $experimental-support-for-pie and $add-pie-bg { -pie-background: -pie($backgrounds); } background: $backgrounds;} @mixin background-image($image-1,$image-2: false,$image-3: false,$image-4: false,$image-5: false,$image-6: false,$image-7: false,$image-8: false,$image-9: false,$image-10: false) { $images: compact($image-1, $image-2, $image-3, $image-4, $image-5, $image-6, $image-7, $image-8, $image-9, $image-10); $add-pie-bg: prefixed(-pie, $images) or -compass-list-size($images) > 1; @if $experimental-support-for-svg and prefixed(-svg, $images) { background-image: -svg($images); background-size: 100%; } @if $support-for-original-webkit-gradients and prefixed(-owg, $images) { background-image: -owg($images); } @if $experimental-support-for-webkit and prefixed(-webkit, $images) { background-image: -webkit($images); } @if $experimental-support-for-mozilla and prefixed(-moz, $images) { background-image: -moz($images); } @if $experimental-support-for-opera and prefixed(-o, $images) { background-image: -o($images); } // BEGIN PATCH // IE10 Supports linear-gradient but with a new syntax, Compass has deprecated -ms prefix support too soon // this patch brings -ms prefix support back to gradients. This should be removed when compass is updated with // proper support background-image: -ms-#{$images}; // END PATCH @if $experimental-support-for-pie and $add-pie-bg { @warn "PIE does not support background-image. Use @include background(#{$images}) instead." }} /** * Adds basic styles to :before or :after pseudo-elements. * * .my-element:after { * @include insertion(50px, 50px); * } * * @param {measurement} $width Height of pseudo-element. * @param {measurement} $height Height of pseudo-element. * @param {measurement} $top Top positioning of pseudo-element. * @param {measurement} $left Left positioning of pseudo-element. * */@mixin insertion($width: 30px, $height: 30px, $top: 0, $left: 0) { content: ''; position: absolute; width: $width; height: $height; top: $top; left: $left;} /** * Makes the element text overflow to use ellipsis. */@mixin ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis;} @mixin absolute-position($top: 0, $right: 0, $bottom: 0, $left: 0) { position: absolute; top: $top; right: $right; bottom: $bottom; left: $left;} @mixin absolute-fit { width: auto; height: auto; @include absolute-position;} @mixin st-box() { display: flex; display: -webkit-box; display: -ms-flexbox;} @mixin st-inline-box() { display: inline-flex; display: -webkit-inline-box; display: -ms-inline-flexbox;} @mixin st-box-align($align: stretch) { -webkit-box-align: $align; -ms-flex-align: $align; @if $align == start { align-items: flex-start; } @else if $align == end { align-items: flex-end; } @else { align-items: $align; }} @mixin st-box-orient($orient: horizontal, $important: no) { @if $important == important { -webkit-box-orient: $orient !important; @if $orient == horizontal { -ms-flex-direction: row !important; flex-direction: row !important; } @else { -ms-flex-direction: column !important; flex-direction: column !important; } } @else { -webkit-box-orient: $orient; @if $orient == horizontal { -ms-flex-direction: row; flex-direction: row; } @else { -ms-flex-direction: column; flex-direction: column; } }} @mixin st-box-pack($pack: start, $important: no) { @if $important == important { -webkit-box-pack: $pack !important; -ms-flex-pack: $pack !important; @if $pack == start { justify-content: flex-start !important; } @else if $pack == end { justify-content: flex-end !important; } @else if $pack == justify { justify-content: space-between !important; } @else { justify-content: $pack !important; } } @else { -webkit-box-pack: $pack; -ms-flex-pack: $pack; @if $pack == start { justify-content: flex-start; } @else if $pack == end { justify-content: flex-end; } @else if $pack == justify { justify-content: space-between; } @else if $pack == center { justify-content: center; } @else { justify-content: $pack; } }} @mixin st-box-flex($flex: 1, $preferredSize: auto, $important: no) { @if $important == important { -webkit-box-flex: $flex !important; -ms-flex: $flex 0 $preferredSize !important; flex: $flex 0 $preferredSize !important; } @else { -webkit-box-flex: $flex; -ms-flex: $flex 0 $preferredSize; flex: $flex 0 $preferredSize; }} @mixin st-box-shadow($shadow: none) { -webkit-box-shadow: $shadow; box-shadow: $shadow;} @mixin st-box-direction($direction: normal, $orientation: row) { -webkit-box-direction: $direction; @if $direction == reverse { @if $orientation == row { -ms-flex-direction: row-reverse; flex-direction: row-reverse; } @else { -ms-flex-direction: column-reverse; flex-direction: column-reverse; } } @else { @if $orientation == row { -ms-flex-direction: row; flex-direction: row; } @else { -ms-flex-direction: column; flex-direction: column; } }} @mixin st-loading-spinner($spinner-size: 50px, $color: #ccc, $bar-width: 5px, $bar-height: 15px) { .x-loading-spinner { font-size: 250%; height: $spinner-size; width: $spinner-size; position: relative; -webkit-transform-origin: $spinner-size/2 $spinner-size/2; transform-origin: $spinner-size/2 $spinner-size/2; /* Shared Properties for all the bars */ & > span, & > span:before, & > span:after { display: block; position: absolute; width: $bar-width; height: $bar-height; top: 0; -webkit-transform-origin: $bar-width/2 $spinner-size/2; transform-origin: $bar-width/2 $spinner-size/2; content: " "; } & > span { left: 50%; margin-left: -0.05em; &.x-loading-top { background-color: rgba($color, 0.99); } &.x-loading-top::after { background-color: rgba($color, 0.90); } &.x-loading-left::before { background-color: rgba($color, 0.80); } &.x-loading-left { background-color: rgba($color, 0.70); } &.x-loading-left::after { background-color: rgba($color, 0.60); } &.x-loading-bottom::before{ background-color: rgba($color, 0.50); } &.x-loading-bottom { background-color: rgba($color, 0.40); } &.x-loading-bottom::after { background-color: rgba($color, 0.35); } &.x-loading-right::before { background-color: rgba($color, 0.30); } &.x-loading-right { background-color: rgba($color, 0.25); } &.x-loading-right::after { background-color: rgba($color, 0.20); } &.x-loading-top::before { background-color: rgba($color, 0.15); } } } /* Rotate each of the 4 Spans */ .x-loading-spinner > span.x-loading-top { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); } .x-loading-spinner > span.x-loading-right { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); } .x-loading-spinner > span.x-loading-bottom { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); } .x-loading-spinner > span.x-loading-left { -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); } /* These are the two lines that surround each of the 4 Span lines */ .x-loading-spinner > span::before {-webkit-transform: rotate(30deg); -moz-transform: rotate(30deg); -ms-transform: rotate(30deg); } .x-loading-spinner > span::after { -webkit-transform: rotate(-30deg); -moz-transform: rotate(-30deg); -ms-transform: rotate(-30deg); } /* Set Animation */ .x-loading-spinner { -webkit-animation-name: x-loading-spinner-rotate; -webkit-animation-duration: .5s; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-name: x-loading-spinner-rotate; animation-duration: .5s; animation-timing-function: linear; animation-iteration-count: infinite; }} @mixin font-family($name, $path, $font) { $path: $path + '/' + $font; @font-face { font-family: $name; src: url($path + '.eot'); src: url($path + '.eot?#iefix') format('embedded-opentype'), url($path + '.woff') format('woff'), url($path + '.ttf') format('truetype'); font-weight: normal; font-style: normal; }} @mixin icon-font($name, $font) { @include font-family($name, 'fonts', $font);}