/* ==========================================================
   ADMIN CSS FRAMEWORK
   File : base/utilities.css
   Purpose : 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;
}


/* ===========================
   ALIGN ITEMS
=========================== */

.align-items-start{
    align-items:flex-start !important;
}

.align-items-center{
    align-items:center !important;
}

.align-items-end{
    align-items:flex-end !important;
}

.align-items-stretch{
    align-items:stretch !important;
}


/* ===========================
   JUSTIFY CONTENT
=========================== */

.justify-content-start{
    justify-content:flex-start !important;
}

.justify-content-center{
    justify-content:center !important;
}

.justify-content-end{
    justify-content:flex-end !important;
}

.justify-content-between{
    justify-content:space-between !important;
}

.justify-content-around{
    justify-content:space-around !important;
}

.justify-content-evenly{
    justify-content:space-evenly !important;
}


/* ===========================
   FLEX GROW
=========================== */

.flex-fill{
    flex:1 1 auto !important;
}

.flex-grow-1{
    flex-grow:1 !important;
}

.flex-shrink-0{
    flex-shrink:0 !important;
}


/* ===========================
   GAP
=========================== */

.gap-0{
    gap:0 !important;
}

.gap-1{
    gap:.25rem !important;
}

.gap-2{
    gap:.5rem !important;
}

.gap-3{
    gap:1rem !important;
}

.gap-4{
    gap:1.5rem !important;
}

.gap-5{
    gap:3rem !important;
}


/* ===========================
   WIDTH
=========================== */

.w-25{
    width:25% !important;
}

.w-50{
    width:50% !important;
}

.w-75{
    width:75% !important;
}

.w-100{
    width:100% !important;
}

.w-auto{
    width:auto !important;
}


/* ===========================
   HEIGHT
=========================== */

.h-100{
    height:100% !important;
}

.h-auto{
    height:auto !important;
}


/* ===========================
   MARGIN
=========================== */

.m-0{margin:0!important;}
.m-1{margin:.25rem!important;}
.m-2{margin:.5rem!important;}
.m-3{margin:1rem!important;}
.m-4{margin:1.5rem!important;}
.m-5{margin:3rem!important;}

.mt-0{margin-top:0!important;}
.mt-1{margin-top:.25rem!important;}
.mt-2{margin-top:.5rem!important;}
.mt-3{margin-top:1rem!important;}
.mt-4{margin-top:1.5rem!important;}
.mt-5{margin-top:3rem!important;}

.mb-0{margin-bottom:0!important;}
.mb-1{margin-bottom:.25rem!important;}
.mb-2{margin-bottom:.5rem!important;}
.mb-3{margin-bottom:1rem!important;}
.mb-4{margin-bottom:1.5rem!important;}
.mb-5{margin-bottom:3rem!important;}

.ms-auto{
    margin-left:auto!important;
}

.me-auto{
    margin-right:auto!important;
}


/* ===========================
   PADDING
=========================== */

.p-0{padding:0!important;}
.p-1{padding:.25rem!important;}
.p-2{padding:.5rem!important;}
.p-3{padding:1rem!important;}
.p-4{padding:1.5rem!important;}
.p-5{padding:3rem!important;}

.pt-0{padding-top:0!important;}
.pt-1{padding-top:.25rem!important;}
.pt-2{padding-top:.5rem!important;}
.pt-3{padding-top:1rem!important;}
.pt-4{padding-top:1.5rem!important;}

.pb-0{padding-bottom:0!important;}
.pb-1{padding-bottom:.25rem!important;}
.pb-2{padding-bottom:.5rem!important;}
.pb-3{padding-bottom:1rem!important;}
.pb-4{padding-bottom:1.5rem!important;}


/* ===========================
   BORDER RADIUS
=========================== */

.rounded{
    border-radius:var(--radius-md)!important;
}

.rounded-sm{
    border-radius:var(--radius-sm)!important;
}

.rounded-lg{
    border-radius:var(--radius-lg)!important;
}

.rounded-xl{
    border-radius:var(--radius-xl)!important;
}

.rounded-circle{
    border-radius:50%!important;
}

.rounded-pill{
    border-radius:999px!important;
}


/* ===========================
   SHADOW
=========================== */

.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;
}


/* ===========================
   OVERFLOW
=========================== */

.overflow-hidden{
    overflow:hidden!important;
}

.overflow-auto{
    overflow:auto!important;
}

.overflow-scroll{
    overflow:scroll!important;
}


/* ===========================
   POSITION
=========================== */

.position-relative{
    position:relative!important;
}

.position-absolute{
    position:absolute!important;
}

.position-fixed{
    position:fixed!important;
}

.position-sticky{
    position:sticky!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;
}


/* ===========================
   Z-INDEX
=========================== */

.z-0{z-index:0!important;}
.z-1{z-index:1!important;}
.z-10{z-index:10!important;}
.z-100{z-index:100!important;}
.z-1000{z-index:1000!important;}


/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:992px){

    .lg-w-100{
        width:100%!important;
    }

    .lg-d-none{
        display:none!important;
    }

}

@media (max-width:768px){

    .md-w-100{
        width:100%!important;
    }

    .md-d-none{
        display:none!important;
    }

    .md-text-center{
        text-align:center!important;
    }

}

@media (max-width:576px){

    .sm-w-100{
        width:100%!important;
    }

    .sm-d-none{
        display:none!important;
    }

    .sm-text-center{
        text-align:center!important;
    }

}