////
///
/// Negative Margin Mixins
/// ===========================================================================
///
/// Negative margin utility mixins for pulling elements.
///
/// @group Mixins.Utilities
/// @author Scape Agency
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @access public
///
////

@use "../../../dev" as *;

// ============================================================================
// All Sides Negative Margin
// ============================================================================

/// Negative margin level 1 (q(4))
@mixin m--n-01 {
    margin: calc(-1 * q(4)) !important;
}

/// Negative margin level 2 (q(8))
@mixin m--n-02 {
    margin: calc(-1 * q(8)) !important;
}

/// Negative margin level 4 (q(16))
@mixin m--n-04 {
    margin: calc(-1 * q(16)) !important;
}

/// Negative margin level 8 (q(32))
@mixin m--n-08 {
    margin: calc(-1 * q(32)) !important;
}

// ============================================================================
// Top Negative Margin
// ============================================================================

@mixin mt--n-01 {
    margin-top: calc(-1 * q(4)) !important;
}

@mixin mt--n-02 {
    margin-top: calc(-1 * q(8)) !important;
}

@mixin mt--n-04 {
    margin-top: calc(-1 * q(16)) !important;
}

@mixin mt--n-08 {
    margin-top: calc(-1 * q(32)) !important;
}

// ============================================================================
// Bottom Negative Margin
// ============================================================================

@mixin mb--n-01 {
    margin-bottom: calc(-1 * q(4)) !important;
}

@mixin mb--n-02 {
    margin-bottom: calc(-1 * q(8)) !important;
}

@mixin mb--n-04 {
    margin-bottom: calc(-1 * q(16)) !important;
}

@mixin mb--n-08 {
    margin-bottom: calc(-1 * q(32)) !important;
}

// ============================================================================
// Start (Left) Negative Margin
// ============================================================================

@mixin ms--n-01 {
    margin-left: calc(-1 * q(4)) !important;
}

@mixin ms--n-02 {
    margin-left: calc(-1 * q(8)) !important;
}

@mixin ms--n-04 {
    margin-left: calc(-1 * q(16)) !important;
}

@mixin ms--n-08 {
    margin-left: calc(-1 * q(32)) !important;
}

// ============================================================================
// End (Right) Negative Margin
// ============================================================================

@mixin me--n-01 {
    margin-right: calc(-1 * q(4)) !important;
}

@mixin me--n-02 {
    margin-right: calc(-1 * q(8)) !important;
}

@mixin me--n-04 {
    margin-right: calc(-1 * q(16)) !important;
}

@mixin me--n-08 {
    margin-right: calc(-1 * q(32)) !important;
}
