@function convert-unit($pixal, $type: 'base'){
  @return #{$pixal / map-get($font-size, $type)}rem;
}

@function contains($list, $var) {
    $_out: false;
    @each $item in $list {
      @if $item == $var {
        $_out: true;
      }
    }
    @return $_out;
}

@function find($map, $keys...) {

  @each $key in $keys {
    @if map-has-key($map, $key) {
      $map: map-get($map, $key);
    }
    @else {
      @error "Invalid key: `#{$map}`: `#{$key}`.";
    }
  }
  @return $map;
}

@function color($keys...) {
  @return find($colors, $keys...);
}

@function weight($key) {
  @return find($font-weight, $key);
}


@function color-variation($colors, $color, $variation: false) {

  @if map-has-key($colors, $color) {
    $color: map-get($colors, $color);
  } @else {
    @if type-of($color) != color {
      @error "Invalid color name: `#{$color}`.";
    }
  }

  @if $variation {
    @if not map-has-key($variations, $variation) {
      @error "Invalid $variation: `#{$variation}`.";
    } @else {
      $this-variation: map-get($variations, $variation);
      $args: join(map-get($this-variation, function), $color);
      @if map-get($this-variation, parameters) {
        $args: join($args, map-get($this-variation, parameters));
      }
      @return call($args...);
    }
  }
  @return $color;
}
