﻿@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
@import url('/web-assets/css/variables.css');

* {
    margin: 0;
    padding: 0;
}

body {
    font-size: 12px;
    color: #000;
    background-color: #eff2fb;
    line-height: 16px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}

a {
    text-decoration: none;
    color: #000;
}

    a:hover {
        color: #000;
    }

th {
    font-weight: 600;
}

.btn {
    background-color: var(--PrimaryColor);
    color: var(--PrimaryTextColor);
    font-size: 12px;
}

    .btn:hover {
        background-color: var(--PrimaryTextColor);
        color: var(--PrimaryColor);
        border-color: var(--PrimaryColor);
    }

.btn-line {
    background-color: #fff;
    color: var(--PrimaryColor);
    border-color: var(--PrimaryColor);
}

    .btn-line:hover {
        background-color: var(--PrimaryColor);
        color: var(--PrimaryTextColor);
        font-size: 12px;
    }

.form-control {
    font-size: 12px;
    height: 30px;
    border-radius: 4px !important;
}
/*--- header and aside css start here ---*/
header {
    background-color: #fdfdfd;
    box-shadow: 0 0 5px rgba(0,0,0,0.15);
    position: fixed;
    left: 0;
    width: 100%;
    top: 0;
    z-index: 999;
}


aside {
    position: fixed;
    left: 0;
    width: 80px;
    background-color: var(--PrimaryColor);
    height: calc(100vh - 46px);
    padding: 15px 0;
    top: 46px;
    z-index: 999;
}

    aside ul {
        padding: 0;
        list-style: none;
        text-align: center;
    }

        aside ul li a {
            opacity: 0.65;
            display: block;
        }

            aside ul li a:hover, aside ul li.active a {
                opacity: 1;
                color: #fff;
            }

            aside ul li a img {
                width: 18px;
                margin-bottom: 5px;
            }

            aside ul li a span {
                display: block;
                opacity: 0;
            }

        aside ul li {
            padding: 10px 0;
            position: relative;
        }

            aside ul li a {
                color: #fff;
            }

.bottom-menu {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
}

aside ul li a:hover span {
    opacity: 1;
}

.main-header {
    display: flex;
}

.wishlist {
    margin: auto;
    margin-right: 0;
    margin-left: 0;
}

    .wishlist img {
        width: 20px
    }

.contnet-part {
    padding: 58px 15px 15px 15px;
    height: calc(100vh - 0px);
    overflow: hidden;
    overflow-y: auto;
}

::-webkit-scrollbar-track {
    background-color: #d0d0d0;
    border-radius: 20px;
}

::-webkit-scrollbar {
    width: 13px;
    background-color: #000;
    border-radius: 10px;
    height: 13px;
}

::-webkit-scrollbar-thumb {
    background-color: #a3a7a9;
    border-radius: 10px;
}

.main-nav li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
}

ul .sub-menu {
    position: absolute;
    background-color: #ffffff;
    padding: 10px;
    text-align: left;
    width: 200px;
    top: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
    box-shadow: 0 5px 5px rgba(0,0,0,0.1);
    margin: 10px 0 0 0;
    border-top: 2px solid var(--PrimaryColor);
}

    ul.sub-menu li {
        padding: 5px 0;
    }

aside ul li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
}
/*--- header and aside css end here ---*/

/*--- dashbord css start here ---*/

h4 {
    color: #666;
    font-size: 14px;
}

.wishlist-icon {
    width: 25px;
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 1;
    background-color: white;
    padding: 3px;
}

.product-image {
    padding: 50px;
    padding-bottom: 20px;
}

.ability {
    position: absolute;
    right: 15px;
    top: 15px;
    border-radius: 50%;
    width: 12px;
    height: 12px;
}

.card {
    background-color: #fdfdfd;
    border: 0;
    box-shadow: 0 0 3px rgba(0,0,0,0.10);
}

.product-info {
    padding: 10px 15px;
}

    .product-info h5, .product-info h5 a {
        color: var(--PrimaryColor);
        font-size: 13px;
        font-weight: 600;
        margin: 0 0 0 0;
    }

    .product-info p {
        margin: 0 0 3px 0;
    }

.product-box img {
    transition: ease-in-out 0.5s;
    max-height: 200px;
    object-fit: contain;
}

.product-box:hover img {
    transform: scale(1.2);
}

.catalog-page .card {
    margin-bottom: 11px;
}

span.filter-btn img {
    width: 15px;
    margin: 0 3px 0 0;
}

span.filter-btn {
    background-color: var(--PrimaryColor);
    padding: 3px 10px;
    color: #fff;
}

span.filter-btn {
    background-color: var(--PrimaryColor);
    padding: 3px 10px;
    color: #fff;
    text-transform: uppercase;
    border-radius: 4px;
    position: relative;
    top: -1px;
    cursor: pointer;
}

.filter-bar span.filter-btn {
    background-color: transparent;
    padding: 0;
}

.filter-bar {
    position: fixed;
    right: 0;
    top: 0;
    background-color: #fff;
    width: 540px;
    height: 100%;
    z-index: 999;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
    padding: 10px 0 0 0;
    right: -100%;
    transition: ease-in-out 0.5s;
}

    .filter-bar.Open {
        right: 0;
    }

.filter-header {
    padding: 10px 20px;
}

    .filter-header h5 {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.5px;
    }

.filter-header {
    display: flex;
}

    .filter-header span {
        margin-left: auto;
        cursor: pointer;
    }

        .filter-header span img {
            width: 22px;
        }

/*--- checkbox css start here ---*/
ul.ms-cboxtags {
    list-style: none;
    padding: 0px;
}

    ul.ms-cboxtags li {
        display: inline;
    }

        ul.ms-cboxtags li label {
            display: inline-block;
            background-color: rgba(255, 255, 255, .9);
            border: 1px solid #b1b1b1;
            color: #b1b1b1;
            border-radius: 4px;
            white-space: nowrap;
            margin: 3px 1px;
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
            transition: all .2s;
            font-weight: 300;
        }

        ul.ms-cboxtags li label {
            padding: 2px 5px;
            cursor: pointer;
        }

            ul.ms-cboxtags li label::before {
                display: inline-block;
                font-style: normal;
                font-variant: normal;
                text-rendering: auto;
                -webkit-font-smoothing: antialiased;
                font-family: "FontAwesome";
                font-weight: 400;
                font-size: 11px;
                padding: 1px 6px 0px 2px;
                content: "\f067";
                transition: transform .3s ease-in-out;
            }

        ul.ms-cboxtags li input[type="checkbox"]:checked + label::before {
            content: "\f00c";
            transform: rotate(-360deg);
            transition: transform .3s ease-in-out;
        }

        ul.ms-cboxtags li input[type="checkbox"]:checked + label {
            border: 1px solid var(--PrimaryColor);
            transition: all .2s;
            color: var(--PrimaryColor);
            font-weight: 400;
        }

        ul.ms-cboxtags li input[type="checkbox"] {
            position: absolute;
            opacity: 0;
        }

.filter-body {
    padding: 5px 20px;
}

.filter-row h6 {
    font-size: 13px;
    letter-spacing: 0.5px;
}

.filter-body {
    padding: 5px 20px;
    height: calc(100vh - 119px);
    overflow: auto;
}

.filter-footer {
    padding: 15px 20px;
    border-top: 1px solid #e5e5e5;
}

.filter-apply ul.ms-cboxtags {
    margin: 0;
}

    .filter-apply ul.ms-cboxtags li label {
        margin: 0 1px;
    }

.filter-apply {
    margin: -5px 0 0 0;
}

    .filter-apply li span {
        color: var(--PrimaryColor);
        text-decoration: underline;
        cursor: pointer;
        margin-left: 5px;
        font-weight: 500;
    }

.filter-footer .btn-line {
    margin: 0 0 0 3px;
}

.search {
    margin: auto;
    position: relative;
}

    .search .form-control {
        font-size: 12px;
        padding: 0;
        font-weight: 300;
        padding: 5px 6px 5px 30px;
        width: 320px;
        border-radius: 30px;
        background-color: #fdfdfd;
        border: 0;
    }

    .search button {
        position: absolute;
        border: 0;
        background-color: transparent;
        top: 0;
        left: 0;
    }

    .search button {
        position: absolute;
        border: 0;
        background-color: transparent;
        top: 7px;
        left: 10px;
    }

.catalog-details .product-info {
    padding: 10px 15px;
}

    .catalog-details .product-info h5 {
        font-size: 14px;
    }

    .catalog-details .product-info p {
        margin: 20px 0 20px 0;
        font-weight: 400;
    }

    .catalog-details .product-info .ability {
        margin: 0 0 0 10px;
    }

.product-tab {
    margin: 0px 0 10px 0;
}

.nav-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid rgb(0 0 0 / 0.00);
    font-weight: 600;
    color: #000;
}

    .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
        color: var(--PrimaryColor);
        border-color: var(--PrimaryColor);
        background-color: var(--PrimaryTextColor)
    }

.nav-link:focus {
    outline: none;
    box-shadow: none;
}

.product-tabT {
    margin-top: 20px;
}

.product-tab .nav-tabs .nav-link.active {
    padding-left: 0;
    padding-bottom: 3px;
    min-width: 230px;
    text-align: left;
    border: 0;
    margin: 0;
    cursor: inherit;
}

.table > :not(caption) > * > * {
    border: 0;
}

.product-tab .table {
    margin-bottom: 0;
}

.table > :not(caption) > * > * {
    padding: 0.3rem 0.3rem;
    font-size: 11px;
}

table#tblSkuDetail tr td:nth-child(2), table#tblSkuDetail tr th:nth-child(2) {
    position: sticky;
    left: 0;
    z-index: 999;
    background-color: #fff;
}
/*--- cart summery ---*/
.cart-sumery {
    position: fixed;
    background-color: var(--PrimaryColor);
    padding: 10px;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-left: 95px;
    color: #fff;
}

.cart-page {
    padding-bottom: 120px;
}

.cart-sumery .form-control {
    margin: 0 0 3px 0;
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
}

    .cart-sumery .form-control:disabled {
        cursor: not-allowed;
    }

.cart-page .product-box:hover img {
    transform: scale(1);
}

.catalog-page.cart-page .card:hover {
    box-shadow: 0 0 7px rgba(0,0,0,0.25);
}

.cart-sumery .btn {
    background-color: #fff;
    color: var(--PrimaryColor);
}

.menu-mobile {
    display: none;
}

.cart-page .form-control {
    height: 22px;
    border-radius: 2px;
}

.modal-header {
    padding: 4px 10px;
    background-color: var(--PrimaryColor);
}

.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
    font-size: 14px;
    color: #fff;
}

button.close {
    border: 0;
    background-color: transparent;
    color: #fff;
    opacity: 1;
    font-size: 26px;
    font-weight: 300;
    top: -20px;
    position: relative;
    right: -20px;
}

/*--- custom redio btn css start here ---*/
[type="radio"]:checked,
[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

    [type="radio"]:checked + label,
    [type="radio"]:not(:checked) + label {
        position: relative;
        padding-left: 18px;
        cursor: pointer;
        line-height: 16px;
        display: inline-block;
        color: #666;
    }

        [type="radio"]:checked + label:before,
        [type="radio"]:not(:checked) + label:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 16px;
            height: 16px;
            border: 1px solid #ddd;
            border-radius: 100%;
            background: #fff;
        }

        [type="radio"]:checked + label:after,
        [type="radio"]:not(:checked) + label:after {
            content: '';
            width: 10px;
            height: 10px;
            background: var(--PrimaryColor);
            position: absolute;
            top: 3px;
            left: 3px;
            border-radius: 100%;
            -webkit-transition: all 0.2s ease;
            transition: all 0.2s ease;
        }

        [type="radio"]:not(:checked) + label:after {
            opacity: 0;
            -webkit-transform: scale(0);
            transform: scale(0);
        }

        [type="radio"]:checked + label:after {
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1);
        }
/*--- custom redio btn css end here ---*/

/*--- responsive css start here ---*/
@media only screen and (max-width:1074px) {
    body {
        font-size: 10px;
    }

    .menu-mobile {
        display: block;
    }

    .main-header {
        padding-bottom: 5px;
    }

    .search .form-control {
        font-size: 11px;
        width: 100%;
        border-radius: 4px;
        padding: 5px 6px 5px 30px;
        height: 32px;
    }

    .search button {
        top: 8px;
    }

    .contnet-part {
        position: relative;
    }

    span.filter-btn.filter-btn2 {
        position: absolute;
        right: 15px;
        top: 17px;
    }

    .contnet-part {
        padding: 60px 5px 15px 5px;
    }

    .filter-apply {
        margin: 0 0 15px 0;
    }

    aside {
        left: -590px;
        transition: ease 0.5s;
        top: 42px;
        padding-top: 50px;
    }

    .menu-mobile {
        margin: 3px 10px 0 0;
    }

        .menu-mobile img {
            width: 25px;
        }

    header {
        padding-top: 6px;
    }

    aside.Open {
        left: 0;
    }

    .filter-bar {
        width: 97%;
    }

        .filter-bar span.filter-btn {
            top: 15px;
        }

    .filter-body {
        height: calc(100vh - 160px);
    }

    .filter-footer a {
        margin: 2px 2px;
    }

    .filter-apply ul.ms-cboxtags li label {
        margin: 1px 0;
    }

    .catalog-details .product-info h5 {
        font-size: 18px;
    }

    .nav-link {
        padding: 0.5rem 0.5rem;
    }

    .catalog-details .product-info {
        padding: 20px 15px;
        padding-top: 0;
    }

    .product-tabbottom ul#myTab li {
        display: inline-block;
    }

    .product-tabbottom ul#myTab {
        white-space: nowrap;
        display: inherit;
        overflow: hidden;
        overflow-x: auto;
    }

    .product-tabbottom th, .product-tabbottom td {
        white-space: nowrap;
    }

    .cart-sumery {
        padding: 10px;
    }

    .cart-page .product-info.ps-0 {
        padding-left: 15px !important
    }

    .cart-page .product-image {
        max-width: 50%;
        margin: auto;
    }

    .cart-page .mt-3 {
        margin-top: 0.5rem !important;
    }

    .product-info h5, .product-info h5 a {
        font-size: 10px;
        font-weight: 500;
    }

    .product-image {
        padding: 15px;
        padding-bottom: 0px;
        overflow: hidden;
    }

    .title {
        margin: 0 0 5px 0;
    }

    .text-right {
        text-align: right;
    }

    .scoll-page {
        display: none;
    }

    .main-nav li a {
        font-size: 15px;
        padding: 8px 0;
        display: block;
    }
}

.ngx-gallery-animation-slide .ngx-gallery-image.ngx-gallery-active {
    background-size: contain !important;
}

.ngx-gallery-thumbnail-size-cover .ngx-gallery-thumbnails .ngx-gallery-thumbnail {
    background-size: contain !important;
}


.ngx-gallery-icon .ngx-gallery-icon-content {
    filter: drop-shadow(2px 4px 6px black);
}

select {
    appearance: auto !important;
}

.ngx-gallery-preview-top {
    top: 41px !important;
}

table.table.clientEstHistory {
    font-size: 12px;
}

.EstbodyContainer .swal2-html-container {
    max-height: 60vh;
}

.EstbodyContainer .swal2-title {
    font-size: 17px;
    padding: 15px 10px 0px;
}

.defaultLink {
    color: #0d6efd;
}

    .defaultLink:hover {
        color: #0d6efd;
        border-bottom: 1px solid #0d6efd;
        padding: 0 0 1px 0px;
    }



.custom {
    width: 100%;
    border-radius: 20px !important;
}

    .custom .ng-select-container {
        min-height: 0px;
        border-radius: 4px !important;
    }

.ng-select.ng-select-single .ng-select-container {
    height: 30px !important;
    min-height: 30px !important
}

    .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {
        top: 0px !important;
    }

.ng-select.ng-select-single .ng-select-container {
    height: 30px;
}

.ng-select .ng-clear-wrapper, .ng-select .ng-arrow-wrapper {
    top: 1px !important;
}

.ng-dropdown-panel .ng-dropdown-panel-items {
    max-height: 200px
}

.ng-input input {
    height: 30px !important
}

.custom.ng-dropdown-panel.ng-select-bottom {
    width: auto !important
}

.custom-link {
    cursor: pointer;
    color: #358fb3;
}

    .custom-link:hover {
        border-bottom: 1px solid #05678c;
        color: #358fb3;
    }


img.swal2-image.popup-img {
    margin: 0;
}

.horizontal-legend {
    overflow-x: auto !important;
}

body.swal2-toast-shown .swal2-container.w-100 {
    pointer-events: inherit;
}

body .swal2-container {
    z-index: 9999 !important;
}

.purchase-approved .ng-input, .purchase-approved input, .purchase-approved select {
    pointer-events: none !important;
    cursor: not-allowed !important;
}

.purchase-approved .ng-arrow-wrapper {
    display: none
}

.purchase-approved .ng-value {
    padding-right: 1rem
}


.scoll-page {
    position: fixed;
    bottom: 30px;
    right: 20px;
    background-color: var(--PrimaryColor);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    padding: 7px;
    cursor: pointer;
    z-index: 999
}

    .scoll-page.left-right {
        transform: rotate(90deg);
    }


.ng-select.ng-select-opened > .ng-select-container .ng-arrow:after {
    content: "\f106";
    font: normal normal normal 14px/1 FontAwesome;
}

.ng-select .ng-arrow-wrapper .ng-arrow:after {
    content: "\f107";
    font: normal normal normal 14px/1 FontAwesome;
}

.ng-select.ng-select-opened > .ng-select-container .ng-arrow {
    top: 0px;
    border-color: transparent transparent #999;
    border-width: 0 !important;
}

.ng-select .ng-arrow-wrapper .ng-arrow {
    border-color: #999 transparent transparent;
    border-style: solid;
    border-width: 0 !important;
}

.form-control, .ng-select .ng-select-container {
    border: 1px solid #eceef1;
}

[data-tooltip] {
    position: relative;
    transition: opacity 1s;
}

    [data-tooltip]:hover:after {
        content: attr(data-tooltip);
        position: absolute;
        top: 100%;
        left: 0;
        max-width: 20vw;
        width: max-content;
        background-color: #767676;
        color: #fff;
        text-align: center;
        border-radius: 6px;
        padding: 5px 10px;
        z-index: 1;
    }

.img-magnifier-container {
    position: relative;
}

.img-magnifier-glass {
    position: absolute;
    border: 3px solid #000;
    border-radius: 50%;
    cursor: none;
    /*Set the size of the magnifier glass:*/
    width: 150px;
    height: 150px;
}


.swal-popup-img {
    width: auto !important;
}

.estimat-box.active {
    background-color: #bfc0c1 !important;
}


.estimat-box:hover {
    background-color: #bfc0c1 !important;
}



.colored-toast.swal2-icon-success {
    background-color: #518d30 !important;
}

.colored-toast.swal2-icon-error {
    background-color: #b54040 !important;
}

.colored-toast.swal2-icon-warning {
    background-color: #c57c3d !important;
}

.colored-toast.swal2-icon-info {
    background-color: #2f88a5 !important;
}

.colored-toast.swal2-icon-question {
    background-color: #557c8d !important;
}

.colored-toast .swal2-title {
    color: white;
}

.colored-toast .swal2-close {
    color: white;
}

.colored-toast .swal2-html-container {
    color: white;
}

.table-fixed {
    overflow-y: auto;
    position: sticky;
    max-height: calc(100vh - 350px);
}

    /*    .table-fixed thead th {
        position: sticky;
        top: 0;
        background-color: #fff !important;
        z-index: 9;
    }*/

    .table-fixed tfoot, .table-f tfoot td {
        position: sticky;
        bottom: 0px;
        background-color: #fff;
        font-weight: 600;
        z-index: 9;
    }

    .table-fixed thead, .table-f thead th {
        position: sticky;
        top: -1px;
        background-color: #fff;
        z-index: 9;
    }



.estimate-menu .md-drppicker {
    min-width: 610px !important;
    left: inherit !important;
    right: 0 !important;
}


@media only screen and (max-width:767px) {
    span .filter-btn.filter-btn2 {
        right: 55px;
        top: 62px;
    }

    .table-responsive.ledger-list th, .table-responsive.ledger-list td {
        white-space: nowrap;
    }

    .estimate-menu .md-drppicker {
        min-width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
}

@media only screen and (max-width:360px) {
    .logo img {
        max-width: 60px !important;
    }

    body .header-subTitle {
        margin: -3px 0px 0 0px !important;
        font-size: 8px !important;
        left: -20px;
        position: relative;
    }

    .menu-mobile img {
        width: 18px !important;
    }
}

.table_red {
    background-color: #ffbec1 !important;
}

.spin:hover i, .spin:hover img {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

.table-f tfoot, .table-f tfoot td {
    position: sticky;
    bottom: 0px;
    background-color: #fff;
    font-weight: 600;
}

.table-f thead, .table-f thead th {
    position: sticky;
    top: -1px;
    background-color: #fff;
}


#printClient .ng-dropdown-panel.client-select {
    left: 50% !important;
}



.AnimHeading {
    display: inline-block;
    position: relative;
}

    .AnimHeading::after {
        content: '';
        position: absolute;
        width: 100%;
        transform: scaleX(0);
        height: 2px;
        bottom: 0;
        left: 0;
        background-color: VAR(--PrimaryColor);
        transition: transform 0.25s ease-out;
    }

    .AnimHeading:hover::after {
        transform: scaleX(1);
    }

    .AnimHeading::after {
        transform-origin: bottom right;
    }

    .AnimHeading:hover::after {
        transform-origin: bottom left;
    }
