@import 'mixins/border';
@import 'mixins/outline';
@import 'mixins/font';
@import 'mixins/font-icon';
@import 'mixins/icon';
@import 'mixins/transform';
@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);
}
background: -ms-#{$backgrounds};
@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);
}
background-image: -ms-#{$images};
@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;
& > 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); }
}
}
.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);
}
.x-loading-spinner > span::before {
-webkit-transform: rotate(30deg);
transform: rotate(30deg);
}
.x-loading-spinner > span::after {
-webkit-transform: rotate(-30deg);
transform: rotate(-30deg);
}
.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);
}