/** * @class Global_CSS */ @import 'mixins/border'; @import 'mixins/outline'; @import 'mixins/font'; @import 'mixins/font-icon'; @import 'mixins/icon'; @import 'mixins/transform'; // 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; } @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-shadow($shadow: none) { -webkit-box-shadow: $shadow; box-shadow: $shadow; } @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); transform: rotate(0deg); } .x-loading-spinner > span.x-loading-right { -webkit-transform: rotate(90deg); transform: rotate(90deg); } .x-loading-spinner > span.x-loading-bottom { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .x-loading-spinner > span.x-loading-left { -webkit-transform: rotate(270deg); 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); transform: rotate(30deg); } .x-loading-spinner > span::after { -webkit-transform: rotate(-30deg); 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); }