/* Poppins, served from this app — see ../vendor/poppins/fonts.css for why
   it is no longer fetched from Google on every page load. */
@import url('../vendor/poppins/fonts.css');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}
html{overflow-x: hidden;}
*:before,
*:after {
    box-sizing: border-box;
}
ul{margin: 0;}
:root{
    /* ===== Colors ===== */
    --body-color: #FAFAFA;
    --sidebar-color: #FFF;
    --primary-color: var(--app-primary);
    --primary-color-light: var(--app-primary-light);
    --toggle-color: #DDD;
    --text-color: #707070;

    /* ====== Transition ====== */
    --tran-03: all 0.2s ease;
    --tran-03: all 0.3s ease;
    --tran-04: all 0.3s ease;
    --tran-05: all 0.3s ease;
}

body{
    min-height: 100vh;
    background-color: var(--body-color);
    transition: var(--tran-05);
    overflow-x: hidden;
}

::selection{
    background-color: var(--primary-color);
    color: #fff;
}

body.dark{
    --body-color: #18191a;
    --sidebar-color: #242526;
    --primary-color: #3a3b3c;
    --primary-color-light: #3a3b3c;
    --toggle-color: #fff;
    --text-color: #ccc;
}

/* ===== Sidebar ===== */
 .sidebar{
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 250px;
    padding: 10px 14px;
    background: var(--sidebar-color);
    transition: var(--tran-05);
    z-index: 100;  
    opacity: 1;
}
.sidebar.close{
    width: 88px;
}
.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover {
    opacity:1;
}

/* ===== Reusable code - Here ===== */
.sidebar li{
    height: 50px;
    list-style: none;
    display: flex;
    align-items: center;
    margin-top: 15px; padding: 0;
}

.sidebar header .image,
.sidebar .icon{
    min-width: 60px;
    border-radius: 6px;
}

.sidebar .icon{
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center; height: 28px;
}
.sidebar .icon.inventory{height: 25px;}

.sidebar .text,
.sidebar .icon{
    height: 25px;
    color: var(--text-color);
    transition: var(--tran-03);
}

.sidebar .text{
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 1;
}
.sidebar.close .text{
    opacity: 0;
}
/* =========================== */

.sidebar header{
    position: relative;
}

.sidebar header .image-text{
    display: flex;
    align-items: center;
}
.sidebar header .logo-text{
    display: flex;
    flex-direction: column;
}
header .image-text .name {
    margin-top: 2px;
    font-size: 18px;
    font-weight: 600;
}

header .image-text .profession{
    font-size: 16px;
    margin-top: -2px;
    display: block;
}

.sidebar header .image{
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar header .image img{
    width: 40px;
    border-radius: 6px;
}

.sidebar header .toggle{
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%) rotate(180deg);
    height: 25px;
    width: 25px;
    background-color: var(--primary-color);
    color: var(--sidebar-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    cursor: pointer;
    transition: var(--tran-05);
}

body.dark .sidebar header .toggle{
    color: var(--text-color);
}

.sidebar.close .toggle{
    transform: translateY(-50%) rotate(0deg);
}

.sidebar .menu{
    margin-top: 30px;
    /* Grow to fill the bar and scroll when items overflow on short screens. */
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none; /* Firefox */
}
.sidebar .menu::-webkit-scrollbar{
    display: none;
}

.sidebar li.active{
    border-radius: 6px;
    background-color: var(--primary-color-light);
    cursor: pointer;
    transition: var(--tran-05);
}

.sidebar li.search-box input{
    height: 100%;
    width: 100%;
    outline: none;
    border: none;
    background-color: var(--primary-color-light);
    color: var(--text-color);
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    transition: var(--tran-05);
}
.sidebar li a{
    list-style: none;
    height: 100%;
    background-color: transparent;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    border-radius: 6px;
    text-decoration: none;
    transition: var(--tran-03);
}

.sidebar li a:hover{
    background-color: var(--primary-color);
}
.sidebar li a:hover .icon,
.sidebar li a:hover .text{
    filter: brightness(15);
}
body.dark .sidebar li a:hover .icon,
body.dark .sidebar li a:hover .text{
    color: var(--text-color);
}

.sidebar .menu-bar{
    height: calc(100% - 55px);
    display: flex;
    flex-direction: column;
    /* The nav list scrolls inside .menu; the bottom block stays pinned. This
       keeps every item reachable on short screens instead of clipping. */
    overflow: hidden;
}
.menu-bar::-webkit-scrollbar{
    display: none;
}
.sidebar .menu-bar .bottom-content{
    flex-shrink: 0;
}
.sidebar .menu-bar .mode{
    border-radius: 6px;
    background-color: var(--primary-color-light);
    position: relative;
    transition: var(--tran-05);
}

.menu-bar .mode .sun-moon{
    height: 50px;
    width: 60px;
}

.mode .sun-moon i{
    position: absolute;
}
.mode .sun-moon i.sun{
    opacity: 0;
}
body.dark .mode .sun-moon i.sun{
    opacity: 1;
}
body.dark .mode .sun-moon i.moon{
    opacity: 0;
}

.menu-bar .bottom-content .toggle-switch{
    position: absolute;
    right: 0;
    height: 100%;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
}
.toggle-switch .switch{
    position: relative;
    height: 22px;
    width: 40px;
    border-radius: 25px;
    background-color: var(--toggle-color);
    transition: var(--tran-05);
}

.switch::before{
    content: '';
    position: absolute;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    background-color: var(--sidebar-color);
    transition: var(--tran-04);
}

body.dark .switch::before{
    left: 20px;
}

.home{
    position: absolute;
    top: 0;
    top: 0;
    left: 250px;
    height: 100vh;
    width: calc(100% - 250px);
    background-color: var(--body-color);
    transition: var(--tran-05);
}
.home .text{
    font-size: 30px;
    font-weight: 500;
    color: var(--text-color);
    padding: 12px 60px;
}

.sidebar.close ~ .home{
    left: 78px;
    height: 100vh;
    width: calc(100% - 78px);
}
body.dark .home .text{
    color: var(--text-color);
}

:focus{outline: 0;}
.btn.focus, .btn:focus, .form-control:focus {outline: 0; box-shadow: none;}
button:focus{outline: 0;}
::-moz-selection {
    color: #fff;
    background: #b80100;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #f2f2f2;
}

::-webkit-scrollbar {
    width: 6px; height: 3px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #338F9E; 
}

.top-nav{background: #fff; padding: 10px 24px; box-shadow: #f0f0f0 15px 2px 5px;}
body.dark .top-nav{box-shadow: #171717 15px 2px 5px;}
body.dark .top-nav{background: #242526;}
div#switchButton {
    z-index: 1111;
    /* float: right; */
    text-align: right;
}
.storeselect{padding-left:30px;}
.storeselect .row{align-items:center;}
.storeselect .custom-select {
    display: inline-block;
    width: 200px;
    border: 0;
    padding-top: 2px; background-color: transparent;
}
body.dark .storeselect .custom-select{background-color: transparent; color: #ccc;}
.storeselect .custom-select:focus{outline: 0; box-shadow: none;}
.storeselect h2 {
    font-size: 15px; display: inline-block; color: var(--app-primary); margin: 0;
}
button#btn {
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: var(--gap);
    padding: 0.6rem;
    cursor: pointer;
    border-radius: var(--radius);
    border: none;
    box-shadow: var(--shadow);
    position: relative;
  }
  
  .bx {
    font-size: 1.1rem;
  }
  
  .dropdown {
    position: absolute;
    width: 250px;
    box-shadow: var(--shadow);
    border-radius: var(--radius);
    margin-top: 0.3rem;
    background: #f3f2ff;
    visibility: hidden;
    opacity: 0;
    transform: translateY(0.5rem);
    transition: all 0.1s cubic-bezier(0.16, 1, 0.5, 1);
    right: 10px;
    left: auto;
    top: 50px;
    z-index: 9999;
  }
  
  .dropdown a {
    display: flex;
    align-items: center;
    column-gap: var(--gap);
    padding: 0.8rem 1rem;
    text-decoration: none;
    color: black;
  }
  
  .dropdown a:hover {
    background-color: var(--color);
    color: #6E62FE;
  }
  
  .show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0rem); z-index: 999;
  }
  
  .arrow {
    transform: rotate(180deg);
    transition: 0.2s ease;
  }
  .dashoptions {
    float: right;
    display: flex;
    align-items: center;
    gap: 4px;
}
.dashoptions a { display: inline-flex; align-items: center; margin: 0 4px; }
.dashoptions button.btn {
    float: none;
    padding: 0;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
}

/*Main Dasboard*/
.dashboard-area{padding:30px 30px 10px 30px;}
.headings h1{color: #338F9E; font-size: 22px; font-weight: 600; margin-top: 15px;}
.headings p{color: #707070; font-size: 16px; font-weight: 500; margin-top: 10px;}

.boxfilter{background: #fff; padding:38px 25px; border: 1px #ddd solid; border-radius: 10px; margin:10px 0;}
.boxfilter.boxflex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.boxfilter .paymentmethod, .boxfilter .paymentprice{padding:5px;}
.boxfilter .paymentmethod img{height:40px;}
.boxfilter .paymentprice h3{    font-size: 26px;
    margin: 0;
    background: linear-gradient(81deg, var(--app-primary) 0%, rgb(57 57 57) 62%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600;}
.boxfilter.datefilter.picker {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.input-group>.input-group-append>.input-group-text {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border: 1px #E0E0E0 solid;
    background: transparent; border-right: 0;
}
.boxfilter.datefilter.picker .form-control {
    border: 1px #E0E0E0 solid;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 12px;
    height: auto;
}
.dateflex label {
    font-size: 13px;
}
.form-group.mb-0 {
    
    margin-left: 20px;
}
.report-btn a{background: #338F9E;
    color: #fff;
    border-radius: 30px; font-size: 14px;
    padding: 10px 28px;
    text-decoration: none;}
.report-btn a:hover{background: var(--app-primary);}
.tabs-bar{background: var(--app-primary-light); border-radius: 10px; padding: 10px; display: flex; justify-content: space-between; align-items: center;}
.tabs-bar h3{font-size: 14px; color: #707070; margin: 0;}
.tabs-txt .nav-link {
    padding: 5px 12px;
    color: var(--app-primary);
    font-weight: 500;
    font-size: 13px;
    margin: 0 2px;
}
.tabs-txt .nav-link.active {
    background: #fff;
    border-radius: 30px;
    box-shadow: #dceae7 1px 1px 7px;
}
.salesbx{background: #F5FAF9; padding: 25px; border-radius: 10px;}
.salesbx h4{color: #338F9E; font-size: 18px; font-weight: 500; margin-bottom: 10px;}
.salecont-icon{background: #fff; border-radius: 10px; width: 70px; height: 70px; box-shadow: #ededed 1px 1px 6px; display: flex; justify-content: center; align-items: center;}
.pricingwrap {
    display: flex; flex-wrap: wrap;
}
.pricingwrap .salecont {
    flex-basis: 50%; display: flex; align-items: center; margin: 8px 0;
}
.pricingwrap .salecont .salesprice {
    margin-left: 15px;
}
.pricingwrap .salecont .salesprice h5{margin: 0; font-size: 22px;}
.pricingwrap .salecont .salesprice h5 label{margin: 0; display: block; color: #6C6C6C; font-size: 12px; margin-bottom: 8px;}

.statschart h3{color: #338F9E;
    font-size: 18px;
    font-weight: 600;
    margin-top: 5px;}
/*Background color*/
#grad1 {
    background-color: #9C27B0;
    background-image: linear-gradient(120deg, #FF4081, #81D4FA);
}

/*form styles*/
#msform {
    text-align: center;
    position: relative;
    margin-top: 20px;
}

#msform fieldset .form-card {
    background: white;
    border: 0 none;
    border-radius: 0px;
    box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.2);
    padding: 20px 40px 30px 40px;
    box-sizing: border-box;
    width: 94%;
    margin: 0 3% 20px 3%;

    /*stacking fieldsets above each other*/
    position: relative;
}

#msform fieldset {
    background: white;
    border: 0 none;
    border-radius: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-bottom: 20px;

    /*stacking fieldsets above each other*/
    position: relative;
}

/*Hide all except first fieldset*/
#msform fieldset:not(:first-of-type) {
    display: none;
}

#msform fieldset .form-card {
    text-align: left;
    color: #9E9E9E;
}

#msform input, #msform textarea {
    padding: 0px 8px 4px 8px;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0px;
    margin-bottom: 25px;
    margin-top: 2px;
    width: 100%;
    box-sizing: border-box;
    font-family: montserrat;
    color: #2C3E50;
    font-size: 16px;
    letter-spacing: 1px;
}

#msform input:focus, #msform textarea:focus {
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none;
    font-weight: bold;
    border-bottom: 2px solid skyblue;
    outline-width: 0;
}

/*Blue Buttons*/
#msform .action-button {
    width: 100px;
    background: skyblue;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 0px;
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 5px;
}

#msform .action-button:hover, #msform .action-button:focus {
    box-shadow: 0 0 0 2px white, 0 0 0 3px skyblue;
}

/*Previous Buttons*/
#msform .action-button-previous {
    width: 100px;
    background: #616161;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 0px;
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 5px;
}

#msform .action-button-previous:hover, #msform .action-button-previous:focus {
    box-shadow: 0 0 0 2px white, 0 0 0 3px #616161;
}

/*Dropdown List Exp Date*/
select.list-dt {
    border: none;
    outline: 0;
    border-bottom: 1px solid #ccc;
    padding: 2px 5px 3px 5px;
    margin: 2px;
}

select.list-dt:focus {
    border-bottom: 2px solid skyblue;
}

/*The background card*/
.card {
    z-index: 0;
    border: none;
    border-radius: 0.5rem;
    position: relative;
}

/*FieldSet headings*/
.fs-title {
    font-size: 25px;
    color: #2C3E50;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: left;
}

/*Dark Mode*/
body.dark .boxfilter .paymentprice h3{background: linear-gradient(81deg, rgba(57, 134, 118, 1) 0%, rgb(136 136 136) 62%); background-clip: text;}
body.dark .boxfilter{background: #242526;    border: 1px #3f3f3f solid;}
body.dark .dashoptions button#btn{background: #242526;    border: 1px #3f3f3f solid;}
body.dark .boxfilter.datefilter.picker .form-control{background: #18191a; border:0}
body.dark .input-group>.input-group-append>.input-group-text{background: #18191a; border:0}
body.dark .tabs-bar{background: #18191a;}
body.dark .tabs-txt .nav-link.active {background: #242526; border-radius: 30px;box-shadow: #2e2e2e 1px 1px 7px;}
body.dark .salesbx {background: #18191a}
body.dark .salecont-icon {background: #242526; box-shadow: #121212 1px 1px 6px;}
body.dark .salecont-icon img {filter: invert(.56);}
body.dark .pricingwrap .salecont .salesprice h5, body.dark .boxfilter p{color: #999;}
/*Dark Mode*/

/*Invoices*/
.dateflex {
    display: flex;
}
.selectcustomer, .customerbill{    background: #eef9ff;
    padding: 25px;
    border-radius: 10px;
    border: #cee7f3 1px solid;
    margin: 10px 0; overflow: hidden;
}
button.btn-add {
    background: #338F9E;
    color: #fff;
    font-size: 12px;
    border-radius: 5px;
    padding: 4px 12px;
    border: 0;
    margin:10px 5px 0 0;
}
.add-option{background: #fff;
    padding: 10px;
    border: 1px #ddd solid;
    border-radius: 10px;
    margin: 20px 0;display: flex;
    flex-wrap: wrap;position: relative;
    padding-left: 50px; align-items: center;}
.add-new{background: #F5FAF9;
    padding: 10px;
    border-top-left-radius: 10px;
    border-right: #ddd 1px solid;
    width: 40px; cursor: pointer;
    border-bottom-left-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;    color: #338F9E;
    font-weight: 600;
    font-size: 22px;position: absolute;
    top: 0;
    bottom: 0;
    left: 0;}
.invoice-values {
    padding: 8px;
    flex-basis: 33%; align-items: center;
}
.input-wrp input:focus ~ .floating-label{
  color: #338F9E;
}
.customerbill .form-control{border: 1px #E0E0E0 solid;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 12px;
    height: auto;}
.inputText {
    font-size: 14px;
    width: 100%;
    height: 50px;
    border-radius: 5px;
    border: 1px #ddd solid;
    box-shadow: none;
    outline: none;
    padding-left: 10px;
    padding-top: 18px;
}

.floating-label {
    position: absolute;
    pointer-events: none;
    left: 12px;
    top: 8px;
    transition: 0.2s ease all;
    color: #6B6B6B;
    font-size: 10px;
}
.input-wrp{position: relative;}
.invoice-values.two-fields .input-wrp, .invoice-values.two-fields div.inputWrapper{
    flex-basis: 45%;
}
.invoice-values.two-fields {
    display: flex;
    justify-content: space-between;
}
.invoice-values h3 {
    font-weight: 500;
    font-size: 16px;
    margin: 0;
}
.invoice-values h3 span {
    text-align: right;
    float: right;
    color: #338F9E;
    font-weight: 600;
    font-size: 20px;
}
.balance-amount{margin:30px 0;}
.amountcalculate{border-bottom: 1px #ddd solid; margin: 25px 0 30px 0; padding-bottom: 15px;}
.balance-amount ul, .amountcalculate ul{padding: 0; list-style: none;}
.balance-amount ul li, .amountcalculate ul li{display: flex; align-items: center; margin: 10px 0; font-size: 15px;}
.balance-amount ul li label{margin: 0; flex-basis: 75%; text-align: right;} 
.balance-amount ul li span{font-size:18px; font-weight:500; flex-basis: 25%; text-align: right;}
.balance-amount ul li span.balancep{font-size: 22px; font-weight: 600;}
.amountcalculate ul li label{margin: 0; flex-basis: 50%; text-align: left;} 
.amountcalculate ul li span{font-size:15px; font-weight:500; flex-basis:50%; text-align: right;}
.amountcalculate ul li.balancefont, .amountcalculate ul li.balancefont span{font-size:16px; font-weight:600;}
.customerbill .btnsave{background: #338F9E; color: #fff; font-size: 16px; display: block; border-radius: 5px; padding: 10px; text-align: center; margin-bottom: 15px;}
.customerbill .btnsave:hover{text-decoration: none; background: #307869;}
.input-wrp {
    position: relative;
}
.addtax{
    font-size: 14px;
    width: 100%;
    height: 50px;
    border-radius: 5px;
    border: 1px #ddd solid;
    box-shadow: none;
    outline: none;
    background: #fff;
    width: 100%;
}
.remove-row {
    position: absolute;
    right: 10px;
    top: 5px; cursor: pointer;
}
.headingwbtn {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.exportbtns ul{list-style: none;}
.exportbtns ul li{display: inline-block; margin: 0 6px;}
.exportbtns ul li img{height:45px;}
div#datatable_wrapper{margin-top: 15px;}
.invoice-values.two-fields div.inputWrapper .inputText{padding: 12px;}
.page-item.active .page-link{background: #338F9E; border: #338F9E;}
.page-item .page-link{color: #338F9E;}
div.dt-container div.row {
    margin-bottom: 1.5rem;
}
div.dt-container div.dt-info {
    padding-top: 0.35em;
    white-space: nowrap; font-size: 14px;
}
table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc, table.dataTable thead > tr > td.dt-orderable-asc, table.dataTable thead > tr > td.dt-orderable-desc{background: #F5FAF9;}
table.dataTable.table.table-striped > tbody > tr:nth-of-type(2n+1) > *{box-shadow:none;}
.table-bordered td, .table-bordered th{border: 0;}
table.dataTable tr td {border-bottom:1.6px #ddd dashed;}
/*Invoices*/

/*Pos*/
.pos-cont{margin:40px 30px 10px 30px;background: #fff;
    padding: 15px 20px 10px 20px;
    border: 1px #F1F1F1 solid; position: relative;
    border-radius: 10px; min-height: calc(100vh - 170px);}
.invoices-cont{margin:0px;background: #fff; position: relative;
    padding: 25px; min-height:calc(100vh - 110px);;}
.has-search .form-control {
    padding-left: 2.375rem;
}
.form-group.has-search.m-0{position: relative;}
.has-search .form-control-feedback {
    position: absolute;
    z-index: 2;
    display: block;
    width: 2.3rem;
    height: 2.3rem;
    line-height: 2.5rem;
    text-align: center;
    pointer-events: none;
    color: #aaa;
    left: 5px;
    opacity: .6;
}
.filter-btn {
    display: flex;
    align-items: stretch;
}
.filter-btn button {
    background: var(--app-primary);
    border: 0;
    color: #fff;
    font-size: 14px;
    padding: 8px 15px;
    border-radius: 30px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 20px;
}
.filter-bar .filter-search {
    flex-basis: 65%;
}
.filter-bar .filter-search input {
    border: 1px #E0E0E0 solid;
    background: #F6F6F6;
    padding: 20px 10px 20px 2.5rem;
    border-radius: 30px; font-size: 15px;
}
.pos-cont h2, .invoices-cont h2{font-size:18px; font-weight: 600; margin:0 0 14px 0;}
.items-categories{height: 350px; overflow-y: auto; overflow-x: hidden;}
.items-cont{display: flex; flex-wrap: wrap;}
.items-box{flex-basis: 18.4%; margin-bottom: 10px; text-align: center; background: #FAFAFA; border:#F8F8F8 1px solid; border-radius: 5px; padding:20px 20px 15px 20px; margin: 5px;}
.items-box h3{font-size: 14px; margin: 12px 0 0 0;}
/* Scrollbar Styling */
.items-categories::-webkit-scrollbar {
    width: 6px;
}
 
.items-categories::-webkit-scrollbar-track {
    background-color: #f2f2f2;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.items-categories::-webkit-scrollbar-thumb {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: #338F9E; 
}
.order-listing-cont {
    position: absolute;
    width: 100%;
    padding: 15px 25px;
    background: #338F9E; left: 0;
    right: 0; bottom: 0;
}
.invoices-cont table tr th{background: #F5FAF9; border:0; font-size: 12px; padding: 8px;}
.invoices-cont table tr td{border:0; font-size: 12px; padding: 8px;}
.invoices-cont table tr td small {
    font-size: 10px;
    line-height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    max-height: 30px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #717171;
    margin-bottom: 0px;
    transition: max-height .3s ease-in-out;
}
.invoices-cont table tr td span a {
    font-size: 10px;
    text-decoration: underline;
    color: #338F9E;
}
.total-bill {
    background: #FAFAFA;
    border: 1px #E2E2E2 solid;
    border-radius: 5px;
    padding: 10px 15px 5px 15px;
    margin: 20px 0;
}
.total-bill ul {
    list-style: none;
}
.total-bill ul li {
    margin:0;
    border-bottom: 1px #e2e2e2 solid;
    padding-bottom: 5px; font-size: 13px;
}
.total-bill ul li label {
    font-size: 13px;
    margin: 0;
}
.total-bill ul li span {
    float: right;
}
.total-bill ul li.bold, .total-bill ul li.bold label, .total-bill ul li.bold span{
    font-size: 15px; border: 0;
    font-weight: 600; padding-top: 5px;
}
.btns-flex, .paynow{
    display: flex;
    justify-content: space-between; align-items: center;
}
.btns-flex .order-listing-btns:first-child img {
    transform: rotate(180deg);
}
.btns-flex .order-listing button, .paybtn button{
    background: #fff;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 14px;
    border: 0;
    margin: 0 4px;
    color: #338F9E;
}
.btns-flex .order-listing button img {
    position: relative;
    top: -1px;
}
.order-listing-btns {
    font-size: 16px;
    color: #fff;
}
.order-listing-btns button{font-size: 16px;
    color: #fff; background: transparent; border: 0;
}
.payamount {font-size: 16px; color: #fff; margin-left: 30px;}
.payamount span{font-size: 18px; color: #fff; font-weight: 600;}
.btns-group{margin: 25px 0 0 0; left: 15px; right: 15px;}
.btns-group button {
    background: #338F9E;
    border: 0;
    color: #fff;
    font-size: 14px;
    padding: 10px 15px;
    border-radius: 30px;
}
.btns-group button.btnw{
    background: #338F9E;
    border: 0;
    color: #fff;
    font-size: 14px;
    padding: 10px 15px; margin-top: 10px;
    border-radius: 30px; width: 100%;
}
.invoices-scroll {
    height: 415px;
    overflow-y: auto;
    overflow-x: hidden;
}
.invoices-scroll .table-responsive::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    background-color: #20222D;
}

.invoices-scroll .table-responsive::-webkit-scrollbar {
    width: 3px;
}

.invoices-scroll .table-responsive::-webkit-scrollbar-thumb {
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #20222d;
}
body.dark .custom-select, body.dark div.dt-container div.dt-search input{
    background: #18191a;
    border: #111;
}
body.dark div.dt-container div.dt-search label{color: #eee; font-size: 13px;}
body.dark table.dataTable thead > tr > th.dt-orderable-asc, body.dark table.dataTable thead > tr > th.dt-orderable-desc{ background: #18191a;
    border: #111; color: #ccc;}
body.dark table.dataTable tr td {
    border-bottom: 0;
    border-top: 1px #18191a solid; color: #ccc;
}
body.dark .page-link{background: #111;}
body.dark .page-link, body.dark .page-item.disabled .page-link {
    background: #111;
    border: 0;
}
body.dark div.dt-container div.dt-length, body.dark div.dt-container div.dt-search, body.dark div.dt-container div.dt-info, body.dark div.dt-container div.dt-paging{color: #ccc;}
body.dark .dateflex label, body.dark .selectcustomer label{color: #ccc;}
body.dark .selectcustomer, body.dark .customerbill{background-color: var(--sidebar-color); border-color:var(--primary-color) ;color: #ccc;}
body.dark .add-option{background-color: var(--body-color); border-color:var(--primary-color)}
body.dark .add-new{    background: #3d3d3d;
    padding: 10px;
    border-top-left-radius: 10px;
    border-right: #434343 1px solid;
}
body.dark .inputText, body.dark .addtax{background-color: var(--sidebar-color); border-color:var(--primary-color);     color: #727575;}
body.dark .invoice-values h3{color: #ccc;}
body.dark .customerbill .form-control, body.dark .selectcustomer .form-control{background-color: var(--primary-color); border-color:var(--primary-color) ;color: #ccc;}
body.dark .balance-amount ul li, body.dark .amountcalculate ul li{color: #ccc;}
body.dark .remove-row img {
    filter: invert(1);
}
body.dark .pos-cont, body.dark .invoices-cont{background-color: var(--sidebar-color); border-color:var(--primary-color) ;color: #ccc;}
body.dark .card, .total-bill{background-color: var(--body-color); border-color: var(--body-color);}
body.dark .items-box{background-color: var(--sidebar-color); border-color:var(--primary-color);}
body.dark .items-box img{filter: invert(.5);}
body.dark .invoices-cont table tr th{background-color: var(--body-color); color: #aaa;}
body.dark .invoices-cont table tr td, body.dark .invoices-cont table tr td small{color: #ccc;}
body.dark .order-listing-cont{background-color: #111;}

@media only screen and (min-width: 1450.5px){
    .btns-group {position: absolute; bottom: 10%;}
    .items-categories {height: 380px;  overflow-y: auto; overflow-x: hidden;}
}

@media only screen and (min-width: 1200.5px){
    .btns-group {position: absolute; bottom: 10%;}
    .items-categories {height: 380px;  overflow-y: auto; overflow-x: hidden;}
    .pos-cont {margin: 20px 0 10px 0; padding: 20px 20px 10px 20px;}
    .invoices-cont{padding: 15px;}
    .filter-btn button {
        font-size: 12px;
        padding: 6px 10px;
    }
    .filter-bar .filter-search input {
        padding: 18px 10px 18px 2.5rem;
        font-size: 14px;
    }
    .btns-group button, .btns-flex .order-listing button, .paybtn button, .btns-group button.btnw{
        font-size: 13px;
        padding: 8px;
    }
}

@media only screen and (max-width: 1199.5px) {
    .boxfilter .paymentmethod img {height: 35px;}
    .boxfilter .paymentprice h3{font-size: 20px;}
    .sidebar{width: 220px;}
    .home {left: 220px; width: calc(100% - 220px);}
    .boxfilter{padding: 15px;}
    .tabs-txt .nav-link {padding: 2px 5px;margin: 0 2px; font-size: 12px;}
    .pricingwrap .salecont .salesprice h5 {font-size: 18px;text-overflow: ellipsis;}
    table#datatable tr th, table#datatable tr td{font-size: 14px;}
    .btns-group {position: absolute; bottom: 10%;}
    .items-categories {height: 380px;  overflow-y: auto; overflow-x: hidden;}
    .pos-cont {margin: 20px 0 10px 0; padding: 20px 20px 10px 20px;}
    .invoices-cont{padding: 15px;}
    .filter-btn button {
        font-size: 12px;
        padding: 6px 10px;
    }
    .filter-bar .filter-search input {
        padding: 18px 10px 18px 2.5rem;
        font-size: 14px;
    }
    .btns-group button, .btns-flex .order-listing button, .paybtn button, .btns-group button.btnw{
        font-size: 13px;
        padding: 8px;
    }
    .invoices-cont table tr td {
        font-size: 11px;
        padding: 0px;
    }
    .invoices-cont table tr td span a {
        font-size: 9px;
    }
    .invoices-scroll {
        height: 450px;
    }
    .d-block.d-lg-flex.justify-content-between {
        display: block !important;
    }
    .btns-group button, .btns-group button.btnw{
        width: 100%;
        margin: 4px 0;
    }
    .filter-bar .filter-search {
        flex-basis: 58%;
    }
    .items-box h3 {
        font-size: 12px;
        margin: 12px 0 0 0;
    }
    .items-box {
        flex-basis: 23%;
        padding: 15px 20px 5px 20px;
        margin: 5px;
    }
    /* .pos-cont, .invoices-cont {
        padding: 15px;
        min-height: auto;
    } */
    .order-listing-cont {
        position: fixed; padding-left: 100px;
    }
    .btns-group {
        position: absolute;
        bottom: 18%;
    }
    .selectcustomer, .customerbill {
        padding:6px 15px;
        margin: 10px 0;
    }
    .selectcustomer label, .customerbill label{
        font-size: 13px; margin-bottom: 2px;
    }
    select.form-control, .customerbill .form-control{
        height: 30px;
        font-size: 13px;
        padding: 4px;border-radius: 10px;
    }
    .form-group.mb-0.b-r input {
        border-radius: 12px;
    }
    .boxfilter.datefilter.picker .form-control {
        padding: 8px;
        height: auto;
        font-size: 14px; 
    }
    .invoice-values h3, .invoice-values h3 span{
        font-size: 14px;
    }
    .inputText {
        font-size: 12px;
        height: 43px;
        padding-left: 6px;
        padding-top: 15px;
    }
    .floating-label {
        left: 8px;
        top: 4px;
        font-size: 10px;
    }
    .addtax {
        font-size: 12px;
        width: 100%;
        height: 40px;
    }
}
@media only screen and (max-width: 991.5px){
    .storeselect h2{display: none;}
    .boxfilter.datefilter.picker, .tabs-bar, .pricingwrap{display: block;}
    .dateflex {overflow: hidden;}
    .report-btn a {display: inline-block; margin-top: 15px;}
    .dateflex .form-group.mb-0 {float: none; margin-left: 0px !important;}
    .salesbx h4 {font-size: 16px;}
    .input-group-append{margin-left: 0;}
    .headings h1{font-size: 18px;}
    .exportbtns ul li img {
        height: 35px;
    }
    div.dt-container div.dt-length label, div.dt-container div.dt-search label{font-size: 14px;}
    .dt-length, div.dt-container div.dt-info{
        margin-bottom: 15px;
    }
    .order-listing-cont .col-lg-4{display: none;}
    .pos-cont {
        min-height: auto;
    }
    .sidebar.close ~ .home {
        left: 78px;
        height: 100vh;
        width: calc(100% - 78px);
        height: 100%;
        overflow-y: auto; overflow-x: hidden;
    }
    .invoices-cont {
        padding: 15px; margin-bottom: 80px;
        min-height: auto;
    }
    .order-listing-cont {
        position: fixed;
        bottom: 0; padding-left: 100px;
    }
    .invoices-scroll{height: auto;}
    .btns-group {
        position: relative;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .tabs-bar h3 {
        font-size: 12px;
        color: #707070;
        margin: 0 0 10px 0;
    }
    .boxfilter.datefilter.picker .form-control {
        padding: 6px;
        height: auto;
        font-size: 13px;
    }
    .report-btn a {
        display: inline-block;
        margin-top: 12px;
        padding: 10px;
        font-size: 13px;
    }
    table#datatable tr th, table#datatable tr td, div.dt-container div.dt-length label, div.dt-container div.dt-search label, div.dt-container div.dt-info{
        font-size: 12px; padding: 10px;
    }
    .page-link {
        padding: 5px 8px;
        margin-left: -1px;
        line-height: 1;
        font-size: 13px;
    }
    button.btn-add {
        font-size: 11px;
        padding: 4px 5px;
        margin: 5px 3px 0 0;
    }
    .col-md-9 .form-group.mb-0 {
        margin-right: 10px !important; margin-bottom: 6px !important; flex-basis: 47%;
    }
    .amountcalculate ul li span {
        font-size: 13px;
    }
    .customerbill .btnsave {
        font-size: 14px; padding: 5px;
    }
    .balance-amount ul li label {
        font-size: 13px;
    }
    .balance-amount ul li span {
        font-size: 15px;
    }
    .balance-amount ul li span.balancep{font-size: 16px;}
    .dateflex {
        display: flex;
        flex-wrap: wrap; justify-content: space-between;
    } 
    .selectcustomer .form-group.mb-0.ml-0{margin-right: 0 !important;}
    .selectcustomer select.form-control{
        margin: 10px 0px;
    }
    .dateflex .form-group.mb-0 {
        float: none;
        margin-left: 0px !important;
        flex-basis: 48%;
    }
}
@media only screen and (max-width: 767.5px){
    .storeselect {padding-left: 10px;}
    .top-nav {padding: 10px 12px;}
    .dashoptions img{height: 20px;}
    .dashoptions button.btn img{width: 30px; height: 30px;}
    .dashoptions a {margin: 5px 2px;}
    .storeselect .custom-select {width: 180px; font-size: 13px; margin-left: 10px;}
    .sidebar header .toggle{display: none;}
    .headingwbtn{display: block;}
    .items-box {
        flex-basis: 30%;
        padding: 15px 20px 5px 20px;
        margin: 5px;
    }
    .filter-bar .filter-search input {
        padding: 13px 10px 13px 1.8rem;
        font-size: 13px;
    }
    .has-search .form-control-feedback {
        width: 1.3rem;
        height: 1.3rem;
        line-height: 2rem;
        left: 5px;
    }.filter-bar .filter-search {
        flex-basis: 50%;
    }
    .tabs-txt .nav {
        flex-wrap: nowrap;
        list-style: none;
        overflow-x: auto; padding-bottom: 8px;
    }
    .tabs-txt .nav-link{white-space: nowrap;}
    .tabs-txt ::-webkit-scrollbar{height: 3px;}
    .order-listing-btns button {
        font-size: 12px;
    }
    .btns-flex .order-listing button{
        font-size: 12px;
        padding: 5px;
        margin: 0 2px;
    }
    div.dt-container div.dt-length, div.dt-container div.dt-search, div.dt-container div.dt-info, div.dt-container div.dt-paging {
        text-align: left; margin-bottom: 5px;
    }
    div.dt-container div.dt-paging ul.pagination {
        justify-content: start !important;
    }
    .dashboard-area {
        padding: 15px 15px 10px 15px;
    }
    .table-cont .col-12 {
        overflow: auto;
    }
    .add-option{padding-top: 20px; display: block;}
    .boxfilter .paymentmethod img {
        height: 35px;
    }
    .boxfilter .paymentprice h3 {
        font-size: 16px;
    }
    .tab-content>.tab-pane .row .col-md-6 {
        padding: 0;
    }
    .salesbx {
        padding: 15px;
    }
    .salecont-icon {
        width: 50px;
        height: 50px;
    }
    .salecont-icon img{height: 30px;}
    .pricingwrap .salecont .salesprice h5{font-size: 16px;}
    #datatable_wrapper  div.dt-length select{width: 60px;}
}
@media only screen and (max-width: 575.5px){
    .sidebar.close {
        width: 65px;
    }
    .sidebar.close ~ .home {
        left: 65px;
        width: calc(100% - 65px);
    }
    .sidebar header .image, .sidebar .icon {
        min-width: 36px;
        border-radius: 6px;
    }
    .sidebar .text, .sidebar .icon {
        height: 20px;
    }
    .sidebar li {
        height: 40px;
    }
    .dashboard-area {
        padding: 15px 5px 10px 5px;
    }

    .storeselect .custom-select {
        width: 160px;
        font-size: 13px;
        margin-left: 0px;
    }
    .storeselect {
        padding-left: 0px;
    }
    .filter-bar, .items-cont, .dateflex, .invoice-values.two-fields{display: block;}
    .filter-btn button{width: 100%; margin: 8px 0;}
    .order-listing{display: none;}
    .invoice-values.two-fields .input-wrp{margin:0 0 10px 0;}
    .form-group.mb-0.ml-0{margin-right: 0 !important; margin-bottom: 10px !important;}
    .tabs-bar h3 {
        font-size: 10px;
    }
    div.dt-container div.dt-length select {
        width: auto;
        display: inline-block;
        margin-right: 0.5em;
        height: 25px;
        font-size: 10px;
    }
    div.dt-container div.row .dt-length label, div.dt-container div.row .dt-search label{padding: 0;}
    .col-md-auto.mr-auto, div.dt-container div.row > *{
        padding: 0;
    }input#dt-search-0 {
        margin: 0;
        width: 150px;
        height: 25px;
    }
    .invoice-values h3 span{display: block; text-align: left; float: left;}
    .invoice-values{overflow: hidden;}
    .invoice-values.two-fields div.inputWrapper{margin-bottom: 10px;}
    .menu-bar .bottom-content .toggle-switch{min-width: 40px;}
    #datatable_wrapper  div.dt-length select{width: 60px;}
}