//
// @functions
//

// IMPORT ONCE
// We use this to prevent styles from being loaded multiple times for compenents that rely on other components.
$modules: ();
@mixin exports($name) {
	// Import from global scope
	$modules: $modules;
	// Check if a module is already on the list
	$module_index: index($modules, $name);
	@if (($module_index == null) or ($module_index == false)) {
		$modules: append($modules, $name);
		@content;
	}
}

// RANGES
// We use these functions to define ranges for various things, like media queries.
@function lower-bound($range){
	@if length($range) <= 0 {
		@return 0;
	}
	@return nth($range,1);
}

@function upper-bound($range) {
	@if length($range) < 2 {
		@return 999999999999;
	}
	@return nth($range, 2);
}