@mixin text-unselectable() {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@mixin center-screen() {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@mixin vertically-center() {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

@mixin overflow-ellipsis() {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@mixin no-select() {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@mixin transform($transforms) {
    -webkit-transform: $transforms;
    -moz-transform: $transforms;
    -ms-transform: $transforms;
    transform: $transforms;
}

@mixin transform-origin ($origin) {
    -webkit-transform-origin: $origin;
    -moz-transform-origin: $origin;
    -ms-transform-origin: $origin;
    transform-origin: $origin;
}

@mixin box-shadow($h-offset, $v-offset, $blur, $spread, $color, $type: null) {
    $shadow: $h-offset $v-offset $blur $spread $color;

    @if $type == null {
        box-shadow: $shadow;
        -webkit-box-shadow: $shadow;
        -moz-box-shadow: $shadow;
    }
    @else {
        box-shadow: $shadow $type;
        -webkit-box-shadow: $shadow $type;
        -moz-box-shadow: $shadow $type;
    }
}