@function map-get-or-key($map, $key) {
	@if map-has-key($map, $key) or map-has-key($map, -$key) {
		@if $key != 'auto' and type-of($key) == 'number' and $key < 0 {
			@return 0 - map-get($map, -$key);
		} @else {
			@return map-get($map, $key);
		}
	} @else if type-of($key) == 'string' {
		@return unquote($key);
	} @else {
		@return $key;
	}
}

@function bsize($key) {
	@return map-get-or-key($spacers, $key);
}

@mixin m($space) {
	margin: bsize($space);
}

@mixin mt($space) {
	margin-top: bsize($space);
}

@mixin mb($space) {
	margin-bottom: bsize($space);
}

@mixin ms($space) {
	margin-left: bsize($space);
}

@mixin me($space) {
	margin-right: bsize($space);
}

@mixin p($space) {
	padding: bsize($space);
}

@mixin pt($space) {
	padding-top: bsize($space);
}

@mixin pb($space) {
	padding-bottom: bsize($space);
}

@mixin ps($space) {
	padding-left: bsize($space);
}

@mixin pe($space) {
	padding-right: bsize($space);
}

@mixin mx($space) {
	@include ms($space);
	@include me($space);
}

@mixin my($space) {
	@include mt($space);
	@include mb($space);
}

@mixin px($space) {
	@include ps($space);
	@include pe($space);
}

@mixin py($space) {
	@include pt($space);
	@include pb($space);
}

@mixin gy($space) {
	--bs-gutter-y: bsize($space);
}

@mixin gx($space) {
	--bs-gutter-x: bsize($space);
}

@mixin g($space) {
	@include gy($space);
	@include gx($space);
}