@mixin border-mixin($infix) {
    .border#{$infix}-top {
        border-top-width: 1px;
        border-top-color: var(--mat-sys-outline) !important;
        border-top-style: solid !important;
        &.dashed {
            border-top-style: dashed !important;
        }
        &.variant {
            border-top-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-top-0 {
        border-top-style: none !important;
    }
    .border#{$infix}-right {
        border-right-width: 1px;
        border-right-color: var(--mat-sys-outline) !important;
        border-right-style: solid !important;
        &.dashed {
            border-right-style: dashed !important;
        }
        &.variant {
            border-right-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-right-0 {
        border-right-style: none !important;
    }
    .border#{$infix}-bottom {
        border-bottom-width: 1px;
        border-bottom-color: var(--mat-sys-outline) !important;
        border-bottom-style: solid !important;
        &.dashed {
            border-bottom-style: dashed !important;
        }
        &.variant {
            border-bottom-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-bottom-0 {
        border-bottom-style: none !important;
    }
    .border#{$infix}-left {
        border-left-width: 1px;
        border-left-color: var(--mat-sys-outline) !important;
        border-left-style: solid !important;
        &.dashed {
            border-left-style: dashed !important;
        }
        &.variant {
            border-left-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-left-0 {
        border-left-style: none !important;
    }
    .border#{$infix}-x {
        border-left-width: 1px;
        border-left-style: solid !important;
        border-left-color: var(--mat-sys-outline) !important;
        border-right-width: 1px;
        border-right-color: var(--mat-sys-outline) !important;
        border-right-style: solid !important;
        &.dashed {
            border-right-style: dashed !important;
            border-left-style: dashed !important;
        }
        &.variant {
            border-left-color: var(--mat-sys-outline-variant) !important;
            border-right-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-x-0 {
        border-left-style: none !important;
        border-right-style: none !important;
    }
    .border#{$infix} {
        border-width: 1px;
        border-style: solid !important;
        border-color: var(--mat-sys-outline) !important;
        &.dashed {
            border-style: dashed !important;
        }
        &.variant {
            border-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-0 {
        border-style: none !important;
    }
    .border#{$infix}-y {
        border-top-width: 1px;
        border-top-color: var(--mat-sys-outline) !important;
        border-top-style: solid !important;

        border-bottom-width: 1px;
        border-bottom-color: var(--mat-sys-outline) !important;
        border-bottom-style: solid !important;
        &.dashed {
            border-top-style: dashed !important;
            border-bottom-style: dashed !important;
        }
        &.variant {
            border-top-color: var(--mat-sys-outline-variant) !important;
            border-bottom-color: var(--mat-sys-outline-variant) !important;
        }
    }
    .border#{$infix}-x-0 {
        border-top-style: none !important;
        border-bottom-style: none !important;
    }
}
