@mixin mask-image($img, $repeat: no-repeat){
  @include experimental(mask-image, image-url($img), -webkit, -moz, -o, -ms);
  @include experimental(mask-repeat, $repeat, -webkit, -moz, -o, -ms);
  width: image-width($img);
  height: image-height($img);
}

@mixin selection($bg: #b4d5fe, $color: inherit){
  * {
    &::-moz-selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px; }
    &::-webkit-selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px;}
    &::selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px; }
  }
}

@function text-color($color, $dark: dark, $light: light){
  $text-color: ( (red($color)*299) + (green($color)*587) + (blue($color)*114) ) / 1000;
  $text-color: if($text-color >= 150, $dark, $light);
  @return $text-color;
}