/*==========================================================
    Sean B Shop Marketplace
    File: assets/css/core/utilities.css
    Description: Global Utility Classes
==========================================================*/


/*==========================================================
    DISPLAY
==========================================================*/

.d-none{display:none!important;}
.d-block{display:block!important;}
.d-inline{display:inline!important;}
.d-inline-block{display:inline-block!important;}
.d-flex{display:flex!important;}
.d-inline-flex{display:inline-flex!important;}
.d-grid{display:grid!important;}


/*==========================================================
    FLEX DIRECTION
==========================================================*/

.flex-row{flex-direction:row!important;}
.flex-column{flex-direction:column!important;}
.flex-wrap{flex-wrap:wrap!important;}
.flex-nowrap{flex-wrap:nowrap!important;}
.flex-grow{flex-grow:1!important;}
.flex-shrink{flex-shrink:1!important;}


/*==========================================================
    ALIGNMENT
==========================================================*/

.align-start{align-items:flex-start!important;}
.align-center{align-items:center!important;}
.align-end{align-items:flex-end!important;}
.align-stretch{align-items:stretch!important;}

.justify-start{justify-content:flex-start!important;}
.justify-center{justify-content:center!important;}
.justify-end{justify-content:flex-end!important;}
.justify-between{justify-content:space-between!important;}
.justify-around{justify-content:space-around!important;}
.justify-evenly{justify-content:space-evenly!important;}

.self-start{align-self:flex-start!important;}
.self-center{align-self:center!important;}
.self-end{align-self:flex-end!important;}


/*==========================================================
    MARGIN
==========================================================*/

.m-0{margin:0!important;}
.m-1{margin:var(--space-1)!important;}
.m-2{margin:var(--space-2)!important;}
.m-3{margin:var(--space-3)!important;}
.m-4{margin:var(--space-4)!important;}
.m-5{margin:var(--space-5)!important;}
.m-6{margin:var(--space-6)!important;}
.m-8{margin:var(--space-8)!important;}
.m-auto{margin:auto!important;}

.mt-0{margin-top:0!important;}
.mt-1{margin-top:var(--space-1)!important;}
.mt-2{margin-top:var(--space-2)!important;}
.mt-3{margin-top:var(--space-3)!important;}
.mt-4{margin-top:var(--space-4)!important;}
.mt-5{margin-top:var(--space-5)!important;}
.mt-6{margin-top:var(--space-6)!important;}
.mt-8{margin-top:var(--space-8)!important;}
.mt-auto{margin-top:auto!important;}

.mb-0{margin-bottom:0!important;}
.mb-1{margin-bottom:var(--space-1)!important;}
.mb-2{margin-bottom:var(--space-2)!important;}
.mb-3{margin-bottom:var(--space-3)!important;}
.mb-4{margin-bottom:var(--space-4)!important;}
.mb-5{margin-bottom:var(--space-5)!important;}
.mb-6{margin-bottom:var(--space-6)!important;}
.mb-8{margin-bottom:var(--space-8)!important;}
.mb-auto{margin-bottom:auto!important;}

.ml-auto{margin-left:auto!important;}
.mr-auto{margin-right:auto!important;}

.mx-auto{
    margin-left:auto!important;
    margin-right:auto!important;
}

.my-auto{
    margin-top:auto!important;
    margin-bottom:auto!important;
}


/*==========================================================
    PADDING
==========================================================*/

.p-0{padding:0!important;}
.p-1{padding:var(--space-1)!important;}
.p-2{padding:var(--space-2)!important;}
.p-3{padding:var(--space-3)!important;}
.p-4{padding:var(--space-4)!important;}
.p-5{padding:var(--space-5)!important;}
.p-6{padding:var(--space-6)!important;}
.p-8{padding:var(--space-8)!important;}

.pt-0{padding-top:0!important;}
.pt-1{padding-top:var(--space-1)!important;}
.pt-2{padding-top:var(--space-2)!important;}
.pt-3{padding-top:var(--space-3)!important;}
.pt-4{padding-top:var(--space-4)!important;}
.pt-5{padding-top:var(--space-5)!important;}
.pt-6{padding-top:var(--space-6)!important;}
.pt-8{padding-top:var(--space-8)!important;}

.pb-0{padding-bottom:0!important;}
.pb-1{padding-bottom:var(--space-1)!important;}
.pb-2{padding-bottom:var(--space-2)!important;}
.pb-3{padding-bottom:var(--space-3)!important;}
.pb-4{padding-bottom:var(--space-4)!important;}
.pb-5{padding-bottom:var(--space-5)!important;}
.pb-6{padding-bottom:var(--space-6)!important;}
.pb-8{padding-bottom:var(--space-8)!important;}


/*==========================================================
    TEXT
==========================================================*/

.text-left{text-align:left!important;}
.text-center{text-align:center!important;}
.text-right{text-align:right!important;}
.text-justify{text-align:justify!important;}

.text-uppercase{text-transform:uppercase!important;}
.text-lowercase{text-transform:lowercase!important;}
.text-capitalize{text-transform:capitalize!important;}

.text-nowrap{white-space:nowrap!important;}
.text-break{word-break:break-word!important;}

.fw-light{font-weight:var(--fw-light)!important;}
.fw-normal{font-weight:var(--fw-normal)!important;}
.fw-medium{font-weight:var(--fw-medium)!important;}
.fw-semibold{font-weight:var(--fw-semibold)!important;}
.fw-bold{font-weight:var(--fw-bold)!important;}

.fs-xs{font-size:var(--fs-xs)!important;}
.fs-sm{font-size:var(--fs-sm)!important;}
.fs-base{font-size:var(--fs-base)!important;}
.fs-lg{font-size:var(--fs-lg)!important;}
.fs-xl{font-size:var(--fs-xl)!important;}


/*==========================================================
    BACKGROUNDS
==========================================================*/

.bg-white{background:var(--white)!important;}
.bg-body{background:var(--body-bg)!important;}
.bg-primary{background:var(--color-primary)!important;}
.bg-secondary{background:var(--color-secondary)!important;}
.bg-success{background:var(--color-success)!important;}
.bg-danger{background:var(--color-danger)!important;}
.bg-warning{background:var(--color-warning)!important;}
.bg-info{background:var(--color-info)!important;}
.bg-light{background:var(--gray-100)!important;}
.bg-dark{
    background:var(--gray-900)!important;
    color:var(--white)!important;
}


/*==========================================================
    BORDERS
==========================================================*/

.border{border:1px solid var(--border-color)!important;}
.border-0{border:none!important;}

.border-top{border-top:1px solid var(--border-color)!important;}
.border-right{border-right:1px solid var(--border-color)!important;}
.border-bottom{border-bottom:1px solid var(--border-color)!important;}
.border-left{border-left:1px solid var(--border-color)!important;}


/*==========================================================
    ROUNDED
==========================================================*/

.rounded-none{border-radius:0!important;}
.rounded-sm{border-radius:var(--radius-sm)!important;}
.rounded{border-radius:var(--radius-md)!important;}
.rounded-lg{border-radius:var(--radius-lg)!important;}
.rounded-xl{border-radius:var(--radius-xl)!important;}
.rounded-pill{border-radius:9999px!important;}
.rounded-circle{border-radius:50%!important;}


/*==========================================================
    SHADOWS
==========================================================*/

.shadow-none{box-shadow:none!important;}
.shadow-xs{box-shadow:var(--shadow-xs)!important;}
.shadow-sm{box-shadow:var(--shadow-sm)!important;}
.shadow{box-shadow:var(--shadow-md)!important;}
.shadow-lg{box-shadow:var(--shadow-lg)!important;}
.shadow-xl{box-shadow:var(--shadow-xl)!important;}
.shadow-hover:hover{
    box-shadow:var(--shadow-hover)!important;
}


/*==========================================================
    POSITION
==========================================================*/

.position-relative{position:relative!important;}
.position-absolute{position:absolute!important;}
.position-fixed{position:fixed!important;}
.position-sticky{position:sticky!important;}

.top-0{top:0!important;}
.right-0{right:0!important;}
.bottom-0{bottom:0!important;}
.left-0{left:0!important;}


/*==========================================================
    WIDTH
==========================================================*/

.w-auto{width:auto!important;}
.w-25{width:25%!important;}
.w-50{width:50%!important;}
.w-75{width:75%!important;}
.w-100{width:100%!important;}

.h-auto{height:auto!important;}
.h-100{height:100%!important;}


/*==========================================================
    OVERFLOW
==========================================================*/

.overflow-hidden{overflow:hidden!important;}
.overflow-auto{overflow:auto!important;}
.overflow-x-auto{overflow-x:auto!important;}
.overflow-y-auto{overflow-y:auto!important;}


/*==========================================================
    CURSOR
==========================================================*/

.cursor-pointer{cursor:pointer!important;}
.cursor-default{cursor:default!important;}
.cursor-not-allowed{cursor:not-allowed!important;}


/*==========================================================
    OPACITY
==========================================================*/

.opacity-0{opacity:0!important;}
.opacity-25{opacity:.25!important;}
.opacity-50{opacity:.5!important;}
.opacity-75{opacity:.75!important;}
.opacity-100{opacity:1!important;}


/*==========================================================
    VISIBILITY
==========================================================*/

.visible{visibility:visible!important;}
.invisible{visibility:hidden!important;}


/*==========================================================
    SCREEN READERS
==========================================================*/

.sr-only{

    position:absolute!important;

    width:1px!important;

    height:1px!important;

    padding:0!important;

    margin:-1px!important;

    overflow:hidden!important;

    clip:rect(0,0,0,0)!important;

    white-space:nowrap!important;

    border:0!important;

}


/*==========================================================
    RESPONSIVE HELPERS
==========================================================*/

@media (max-width:992px){

    .desktop-only{

        display:none!important;

    }

}

@media (min-width:993px){

    .mobile-only{

        display:none!important;

    }

}