/*
 * Removes unit from a provided value
 *
 * @param $value (string): e.g. `16px`
 * @return (number): e.g. `16`
 */
@function rm-unit($value) {
  @return div($value, ($value * 0 + 1));
}

/*
 * Converts PX to EM values
 * @see utils/_config.scss for $base-font-size
 *
 * @param $value (string): e.g. `16px`
 * @return (string): e.g. `1em`
 */
@function toEm($value, $unit: 'em') {
  $rm-unit-value: rm-unit($value);

  @if $rm-unit-value == 0 {
    @return 0;
  }

  @return #{div($rm-unit-value, rm-unit($base-font-size))}#{$unit};
}

/*
 * Converts PX to REM values (document root relative EM)
 * @see utils/_config.scss for $base-font-size
 *
 * @param $value (string): e.g. `16px`
 * @return (string): e.g. `1rem`
 */
@function toRem($value) {
  @if ends-with($value + '', 'px') {
    @return toEm($value, 'rem');
  }
  @return $value;
}
