/// Used to recursively merge (deep merge) two maps
///
/// @author Zsolt Pentz
/// @access public
/// @link https://codepen.io/pentzzsolt/pen/yJkgyW
///
/// @param {map} $map-old - The original map
/// @param {map} $map-new - The new map you wish to merge into the original
///
/// @return {map} - merged map
@function map-merge-deep($parent-map, $child-map) {
    $result: $parent-map;

    @each $key, $value in $child-map {
        @if(type-of(map-get($result, $key)) == map and type-of($value) == map) {
            $result: map-merge($result, ($key: map-merge-deep(map-get($result, $key), $value)));
        } @else {
            $result: map-merge($result, ($key: $value));
        }
    }

    @return $result;
}