:root {
    --primary: #0d6efd;
    --primaryDark: #2244E1;
    --primaryLight: #0096FF;
    --primaryLighter: #bae0fc;
    --accent: #8FD9A8;
    --accentDark: #28B5B5;

    --light: #FFF;
    --dark: #000;
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit;
    background-color: #e9f6ff;
    font-family: Figtree, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    cursor: default;
}

a,
a:link,
a:visited {
    text-decoration: none;
    transition: all .2s linear;
    cursor: pointer;
}

.font-madi {
    font-family: "Playfair Display", cursive;
    font-weight: 400;
    font-style: normal;
}

.bx {
    position: relative;
    top: 2px;
}

.link {
    cursor: pointer;
}

.link:hover {
    text-decoration: underline;
}

.card {
    transition: all .2s ease-in-out;
}

navbar {
    /*position: fixed;*/
    /*width: 47%;*/
    height: 65px;
    /*bottom: 20px;*/
    /*left: 50%;*/
    /*transform: translateX(-50%);*/
    backdrop-filter: saturate(180%) blur(20px);
    background-color: #bae0fc90 !important;
    outline: solid 1px #bae0fc;
    display: flex;
    align-items: center;
    justify-content: space-around;
    border-radius: .7rem;
    z-index: 2;
}

navbar a,
navbar a:link,
navbar a:visited {
    position: relative;
    display: inline-block;
    padding: 5px 10px 0;
    height: 53px;
    color: #AAA;
    flex: 0 0 23%;
    border-radius: .5rem;
    text-align: center;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 1px;
    transition: all .3s ease-in-out;
}

navbar a:hover {
    color: var(--primary);
}

navbar a.active {
    background-color: var(--primaryLight);
    color: var(--primaryLighter);
}

navbar .bx {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.category {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-color: var(--primaryLight);
    color: var(--primaryLighter);
    font-size: 1.8rem;
    border-radius: 50%;
}

.category-arrow {
    color: var(--primary);
    font-size: 1.8rem;
}

.wrap-amount {
    display: flex;
    background-color: var(--primaryLight);
    color: var(--primary);
    border-radius: 30px;
    padding: 4px;
    width: 38px;
    height: 38px;
    overflow: hidden;
    transition: width .6s ease-in-out;
    position: relative;
}

.wrap-amout-show {
    width: 110px;
}

.items-image {
    width: 100px;
    height: 100px;
    border-radius: .6rem;
    object-fit: cover;
    padding: 3px;
    outline: solid 3px var(--primaryLighter);
    margin-left: -5px;
    margin-top: 2px;
}

.wrap-amount .items-qty {
    width: 42px;
    height: 30px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 32px;
    font-weight: bold;
    cursor: default;
    color: var(--primaryLighter);
}

.wrap-amount .items-plus {
    position: absolute;
    right: 4px;
}

.wrap-amount .items-plus,
.wrap-amount .items-min {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 1.2rem;
    border-radius: 20px;
    outline: 0;
    border: 0;
    padding: 0;
    color: var(--primary);
    background-color: var(--primaryLighter);
    cursor: pointer;
    transition: all .2s ease-in-out;
}

.wrap-amount .items-plus:hover,
.wrap-amount .items-min:hover {
    background-color: #EEE;
}

.cart-badge {
    position: absolute;
    top: 5px;
    right: 5px;
    height: 15px;
    width: 15px;
    font-weight: bold;
    color: var(--primary);
    background-color: var(--primaryLighter);
    padding-left: 1.5px;
    border-radius: 4px;
}

.carousel-item img {
    /* filter: grayscale(1); */
}

/* My Style */
.rounded-me {
    border-radius: .6rem;
}

.background-dark {
    background-color: #18181B;
}

a.border-dark:hover {
    border-color: #46484b !important;
}

.text-dark {
    color: #18181B;
}

.text-light {
    color: #F4F4F4;
}

.input-dark {
    background-color: #3d3d3d !important;
    border-color: #6e6e6e !important;
    border-radius: .5rem !important;
    font-size: 1rem !important;
    color: white !important
}

.input-dark:hover {
    border-color: #8e8e8e !important;
    box-shadow: 0 0 0 .25rem #EAEAEA15 !important;
}

label.error {
    color: var(--bs-danger);
    display: block;
    font-size: .9rem;
    margin-top: 8px;
    padding-left: 4px;
    opacity: .8;
}

.img-profile {
    width: 200px;
    height: 200px;
    object-fit: cover;
}

.wrap-login {
    height: calc(100dvh - 16em);
    margin-top: 8em;
    margin-bottom: 8em;
    background-color: #FFF;
    border-radius: 25px;
    overflow: hidden;
    border: solid 1px #EEE;
}

.wrap-login img {
    height: 100%;
    object-fit: cover;
}

/* datatables */
.dt-button.buttons-pdf,
.dt-button.buttons-excel,
.dt-button.buttons-print {
    outline: 0;
    border: 0;
    border-radius: 6px;
    padding: 0 15px;
    line-height: 33px;
    height: 33px;
    font-size: .9em;
    margin: 0 2px 5px 0;
    background-color: #eee;
    transition: all .2s ease-in-out;
}

.dt-button.buttons-pdf:hover,
.dt-button.buttons-excel:hover,
.dt-button.buttons-print:hover {
    background-color: var(--primary);
    color: white;

}

/* bootstrap custom */
.btn {
    font-size: 1rem !important;
    font-weight: bold;
    border-radius: 10px;
    padding: 0.6rem 1.1rem;
}

.btn-sm {
    padding: .25rem .6rem;
    font-size: .8rem !important;
    border-radius: 8px;
}

.btn-lg {
    font-size: 1.2rem !important;
}

.btn-check:disabled + .btn,
.btn-check[disabled] + .btn {
    color: #BBB;
    border-color: #E5E5E5;
}

.btn-check.error:focus + .btn,
.btn-outline-danger.error:focus {
    background-color: unset;
}

.dropdown-menu {
    margin-top: 10px;
    border-radius: 10px;
    border-color: #00000010;
    box-shadow: 1px 2px 20px 5px #00000010;
}

.dropdown-menu li .dropdown-item,
.dropdown-menu li.dropdown-item {
    font-size: 14px;
    padding: 0 1rem;
    height: 40px;
    line-height: 40px;
    border-bottom: solid 1px #f6f6f6;
    cursor: pointer;
}

.dropdown-menu li:last-child .dropdown-item,
.dropdown-menu li.dropdown-item:last-child {
    border: 0;
}

.dropdown-item:focus, .dropdown-item:hover {
    color: #FFF;
    background-color: var(--primary);
}

.dropdown-toggle::after {
    content: "\ea4a";
    border: 0;
    font-family: 'boxicons', cursive;
    top: 2px;
    position: relative;
    margin-left: .20em;
    vertical-align: unset;
}

.form-control,
.form-select {
    font-size: 14px;
    border-radius: 10px;
    padding: .6rem .9rem;
    transition: all .3s ease-in-out;
}

.form-control[type='file'] {
    padding: .375rem .75rem;
}

.input-group-text {
    border-radius: 10px;
    border-color: #E5E5E5;
}

.form-control:hover,
.form-select:hover {
    border-color: #4664E670;
    box-shadow: 0 0 0 .20rem #4664E620;
}

.form-control:focus,
.form-select:focus {
    border-color: #2244E1AA;
    box-shadow: 0 0 0 .20rem #2244E120;
}

.form-control[readonly] {
    background-color: #5A78BB10;
}

.form-control.datepicker-here[disabled] {
    background-color: #E6E6E6;
}

.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    transform: scale(.80) translateY(-.4rem) translateX(.3rem);
}

.form-select-sm {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.7rem;
    font-size: .875rem;
    border-radius: 6px;
}

.modal-content {
    border-radius: 12px;
}

tbody, td, tfoot, th, thead, tr {
    border-color: #f2f2f2;
}

.table tr th .input-icon > i {
    top: .55rem;
    font-size: 18px;
}

.table tr th .input-icon + .sort {
    height: 30px;
}

.table tr th .input-icon + .sort::after {
    font-size: 12px;
    margin-top: 8px;
}

.table tr th .input-icon + .sort.asc,
.table tr th .input-icon + .sort.desc,
.table tr th .input-icon + .sort.asc::after,
.table tr th .input-icon + .sort.desc::after {
    margin-top: 3px;
    margin-left: 4px;
    font-size: 20px !important;
}

.table > :not(:last-child) > :last-child > * {
    border-bottom-color: #DDD;
    border-bottom-width: 2px;
    height: 45px;
    position: relative;
}

.table-dashboard > :not(:last-child) > :last-child > * {
    height: unset;
}

.table-hover > tbody > tr {
    transition: all .4s ease;
}

.table-hover > tbody > tr:hover {
    --bs-table-accent-bg: unset;
    background-color: rgba(0, 0, 0, 0.050);
}

.table-striped > tbody > tr:nth-of-type(odd) {
    --bs-table-accent-bg: #00000008;
    color: var(--bs-table-striped-color);
}

.air-datepicker {
    border-radius: .6rem !important;
}

/* responsive */
@media screen and (max-height: 705px) {

    .wrap-login {
        height: auto;
        margin-top: 1em;
        margin-bottom: 1em;
    }

}

@media screen and (min-width: 768px) {

    ::-webkit-scrollbar {
        background-color: var(--dark);
        width: 10px
    }

    ::-webkit-scrollbar-track {
        background-color: var(--dark);
        border-radius: 10px;
    }

    ::-webkit-scrollbar-thumb {
        background-color: var(--primaryDark);
        border-radius: 16px;
        border: 3px solid var(--dark);
    }

}

@media screen and (max-width: 576px) {

    .wrap-login {
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }

}

/* animation */
@keyframes fadeInTop {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}
