.offcanvas-backdrop{
    position:fixed;
    top:0;
    left:0;
    z-index:1040;
    width:100vw;
    height:100vh;
    background-color:#000
}
.offcanvas-backdrop.fade{
    opacity:0
}
.offcanvas-backdrop.show{
    opacity:.5
}
.offcanvas-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1rem 1rem
}
.offcanvas-header .btn-close{
    padding:.5rem .5rem;
    margin-top:-.5rem;
    margin-right:-.5rem;
    margin-bottom:-.5rem
}
.offcanvas-title{
    margin-bottom:0;
    line-height:1.5
}
.offcanvas-body{
    flex-grow:1;
    padding:1rem 1rem;
    overflow-y:auto
}
.offcanvas-start{
    top:0;
    left:0;
    width:400px;
    border-right:1px solid rgba(0,0,0,.2);
    transform:translateX(-100%)
}
.offcanvas-end{
    top:0;
    right:0;
    width:400px;
    border-left:1px solid rgba(0,0,0,.2);
    transform:translateX(100%)
}
.offcanvas-top{
    top:0;
    right:0;
    left:0;
    height:30vh;
    max-height:100%;
    border-bottom:1px solid rgba(0,0,0,.2);
    transform:translateY(-100%)
}
.offcanvas-bottom {
right: 0;
left: 0;
bottom: 0%;
height: 75vh !important;
max-height: 100%;
width: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
transform: translateY(100%);
border-top-right-radius: 25px;
border-top-left-radius: 25px;
}
.offcanvas.show{
    transform:none
}
@media (prefers-reduced-motion:reduce){
    .spinner-border,.spinner-grow{
        -webkit-animation-duration:1.5s;
        animation-duration:1.5s
    }
}
.offcanvas{
    position:fixed;
    bottom:0;
    z-index:1045;
    display:flex;
    flex-direction:column;
    max-width:100%;
    visibility:hidden;
    background-color:#fff;
    background-clip:padding-box;
    outline:0;
    transition:transform .3s ease-in-out
}
@media (prefers-reduced-motion:reduce){
    .offcanvas{
        transition:none
    }
}
.btn-close{
    box-sizing:content-box;
    width:1em;
    height:1em;
    padding:.25em .25em;
    color:#000;
    background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border:0;
    border-radius:.25rem;
    opacity:.5
}
.btn-close:hover{
    color:#000;
    text-decoration:none;
    opacity:.75
}
.btn-close:focus{
    outline:0;
    box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
    opacity:1
}
.btn-close.disabled,.btn-close:disabled{
    pointer-events:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
    opacity:.25
}
.btn-close-white{
    filter:invert(1) grayscale(100%) brightness(200%)
}