@mixin padding-breakpoints($words, $abbr, $i) {
    @each $key, $val in $breaks {
        @include teq-breakpoint($val) {
            .p#{$abbr}-#{$key}-#{$i}, div[class^="col-"].p#{$abbr}-#{$key}-#{$i} {
                padding-#{$words}: calc(#{$multiple} * #{$i});
            }
        }
    }
}

@mixin px() {
    @for $i from 0 through 24 {
        .px-#{$i}, div[class^=col-].px-#{$i} {
            padding-left: calc(#{$multiple} * #{$i});
            padding-right: calc(#{$multiple} * #{$i});
        }
    }
}

@mixin px-breakpoints($i) {
    @each $key, $val in $breaks {
        @include teq-breakpoint($val) {
            .px-#{$key}-#{$i} {
                padding-left: calc(#{$multiple} * #{$i});
                padding-right: calc(#{$multiple} * #{$i});
            }
        }
    }
}

@mixin py() {
    @for $i from 0 through 24 {
        .py-#{$i}, div[class^=col-].my-#{$i} {
            padding-bottom: calc(#{$multiple} * #{$i});
            padding-top: calc(#{$multiple} * #{$i});
        }
    }
}

@mixin py-breakpoints($i) {
    @each $key, $val in $breaks {
        @include teq-breakpoint($val) {
            .py-#{$key}-#{$i} {
                padding-bottom: calc(#{$multiple} * #{$i});
                padding-top: calc(#{$multiple} * #{$i});
            }
        }
    }
}

@mixin pxy() {
    @for $i from 0 through 24 {
        .pxy-#{$i}, div[class^=col-].pxy-#{$i} {
            padding: #{$i};
        }
    }
}

@mixin pxy-breakpoints($i) {
    @each $key, $val in $breaks {
        @include teq-breakpoint($val) {
            .pxy-#{$key}-#{$i} {
                padding: #{$i};
            }
        }
    }
}