:root {
    --bss-po-background: #555;
    --bss-height-input: 44px;
    --bss-height-button: 38px;
    --bss-border-button: #E5E5E5;
    --bss-radius-input: 3px;
    --bss-radius-button: 4px;
    --bss-po-color: #fff;
    --bss-po-black: #18181b;
    --bss-po-white: #e4e4e7;
    --bss-white:  #fff;
    --bss-po-color-border: #e3e1e1;
    --bss-color-hover: #f4f4f5;
    --bss-transition-cubic-rule: cubic-bezier(.4, .0, .23, 1);
    --bss-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    --bss-shadow-card: 1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, -1px 0px 0px 0px rgba(0, 0, 0, 0.13) inset, 0px -1px 0px 0px rgba(0, 0, 0, 0.17) inset, 0px 1px 0px 0px rgba(204, 204, 204, 0.50) inset, 0px 4px 6px -2px rgba(26, 26, 26, 0.20);
    --bss-size-icon: 16px;
    --bss-ant-blue: #1677ff;
    --bss-size-upload-icon: 30px;

    --bss-mr-checkbox: 12px;
    --bss-padding-dropdown: 10px;
    --bss-width-scroll: 4px;
    --bss-color-text: #18181b;
    /* variables upload */
    --bss-size-img-upload: 82px;
    --bss-size-frame-upload: 100px;
    --bss-size-icon-upload: 16px;
}

.bss-po-product-page {
    margin: 10px 0 35px;
}

.po-stack {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-top: 0px;
}

.po-stack+.po-stack {
    margin-top: 15px;
}

.po-stack--vertical {
    flex-direction: column;
    margin-left: 5px;
}

.po-label {
    align-items: flex-start;
    position: relative;
    display: inline-flex;
    margin: 0;
    justify-content: flex-start;
    white-space: pre-wrap;
}

.po-option--container {
    margin-top: 5px;
}

.po-option--container__inline {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 5px;
}

.po-option--type-swatch__inline,
.po-option--type-button__inline {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-right: 0px;
}

.po-option--type-swatch,
.po-option--type-button {
    display: flex;
    flex-direction: column;
}

.po-stack .time-picker--error {
    font-size: 1.4rem;
    color: #bf0711;
    margin-top: 5px;
    display: none;
}

.po-stack .date-range--error {
    font-size: 1.4rem;
    color: #bf0711;
    margin-top: 5px;
    display: none;
}

/* Fix by Trang */
.po-option--type-dropdown-menu,
.po-option--type-text,
.po-option--type-number {
    border-radius: var(--bss-radius-input);
    width: 100%;
    display: block;
    margin: 0;
    padding: 10px 18px;
    border: 1px solid var(--bss-po-color-border);
    font-family: inherit !important;
}

.po-option--type-text:focus {
    outline-style: auto;
    outline-offset: 1px;
}

.po-option--type-text:focus,
.po-option--type-text:hover,
.po-option--type-number:focus-visible,
.po-option--type-number:hover {
    border: 1px solid var(--bss-po-black) !important;
}

.po-option--type-number:focus-visible {
    outline: none;
    outline-offset: none;
    box-shadow: none;
}

.po-option--type-datepicker {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    height: var(--bss-height-input);
}

.po-option--type-datepicker i,
[class*=clear-btn-file-upload] i,
[class*=po-color-picker-clear-btn] i {
    font-size: 1.8rem;
    margin-left: 1rem;
    cursor: pointer;
}

/* start custom datepicker */
.fa-calendar-custom {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 10H21M7 3V5M17 3V5M6.2 21H17.8C18.9201 21 19.4802 21 19.908 20.782C20.2843 20.5903 20.5903 20.2843 20.782 19.908C21 19.4802 21 18.9201 21 17.8V8.2C21 7.07989 21 6.51984 20.782 6.09202C20.5903 5.71569 20.2843 5.40973 19.908 5.21799C19.4802 5 18.9201 5 17.8 5H6.2C5.0799 5 4.51984 5 4.09202 5.21799C3.71569 5.40973 3.40973 5.71569 3.21799 6.09202C3 6.51984 3 7.07989 3 8.2V17.8C3 18.9201 3 19.4802 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21Z" stroke="%23000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center / contain;
}

.fa-cancel-custom {
    display: none;
    width: var(--bss-size-icon);
    height: var(--bss-size-icon);
    background-color: currentColor;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M12.72 13.78a.75.75 0 1 0 1.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 0 0-1.06-1.06l-2.72 2.72-2.72-2.72a.75.75 0 0 0-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 1 0 1.06 1.06l2.72-2.72 2.72 2.72Z"/></svg>') no-repeat center / contain;
    opacity: 0.5;
    justify-items: center;
}

.fa-cancel-custom:hover {
    opacity: 1;
}
.po-option--type-datepicker .input-button {
    color: #000;
}
.po-option--type-datepicker .fa-calendar-custom {
    position: absolute;
    left: 0;
    top: calc(var(--bss-height-input)/2 - var(--bss-size-icon)/2 )
}

.po-option--type-datepicker .fa-cancel-custom {
    position: absolute;
    right: 10px;
    top: 14px;
}

.po-option--type-datepicker-input {
    width: 100%;
    padding-left: 36px;
    font-weight: 500;
}

.po-option--type-datepicker-input:focus-visible {
    outline: none;
    outline-offset: none;
    box-shadow: none;
}

/* end custom  */
.po-option--checkbox-wrapper, .po-option--radioButton-wrapper {
    margin-top: 6px;
}
.po-option--type-checkbox,
.po-option--type-radiobutton {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-right: 30px;
}

/* start custom checkbox animation */

.po-option--type-checkbox .po-label {
    display: flex;
    align-items: center;
}
.po-option--type-checkbox input {
    appearance: none;
    position: relative;
    margin-right: var(--bss-mr-checkbox);
}

.po-option--type-checkbox input[type='checkbox']::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    min-width: 15px;
    min-height: 15px;
    border: 1.3px solid var(--bss-po-black);
    border-radius: 2px;
    background-color: var(--bss-white);
    transition: all 0.25s var(--bss-transition-cubic-rule);
}

.po-option--type-checkbox input[type='checkbox']:hover::before {
    background: #eee;
}

.po-option--type-checkbox input[type='checkbox']:checked::before {
    background-color: var(--bss-po-black);
    border-color: var(--bss-po-black);
}

.po-option--type-checkbox input[type='checkbox']:checked::after {
    content: '';
    position: absolute;
    left: 39%;
    bottom: 27%;
    width: 30%;
    height: 70%;
    min-width: 5px;
    min-height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    transition: all 0.15s var(--bss-transition-cubic-rule);
}
/* end custom checkbox animation */

/* start custom radio button animation */
.radio-buttons {
    display: flex;
    flex-direction: column;
    color: white;
}

.po-option--type-radiobutton input[type="radio"] {
    display: none;
}

.po-radio-circle {
    display: block !important;
    min-width: 16px;
    min-height: 16px;
    border-radius: 50%;
    border: 1px solid var(--bss-po-black);
    position: relative;
    margin-right: calc(var(--bss-mr-checkbox) - 2px);
    background-color: var(--bss-white);
}

.po-radio-circle::before {
    content: "";
    display: block;
    width: calc(80% - 2px);
    height:calc(80% - 2px);
    min-height: 10px;
    min-width: 10px;
    border-radius: 50%;
    background-color: var(--bss-po-color-border);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: all 0.2s ease-in-out;
}

.po-option--type-radiobutton input[type="radio"]:checked+.po-radio-circle::before {
    transform: translate(-50%, -50%) scale(1);
}

.po-option--type-radiobutton input[type="radio"]:checked+.po-radio-circle::before {
    background-color: var(--bss-po-black);
}

.po-option--type-radiobutton:hover .po-radio-circle {
     background: #eee;
}

.po-option--type-radiobutton:hover input[type="radio"]:checked+.po-radio-circle::before {
    background-color: #555;
}

/* end custom radio button animation */
.po-option__value {
    margin-top: 10px;
    margin-right: 10px;
    cursor: pointer;
}

.po-option__value input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.po-option__swatch-media {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 55px;
    height: 55px;
    border-radius: var(--bss-radius-input);
    cursor: pointer;
    border: 1px solid #e5e5e5;
}

/* start custom po-option__swatch-media */

.po-option__value input:checked~ .po-option__swatch-media {
    border: 1px solid #18181b;
}
.po-option__swatch-media:hover {
    border: 1px solid #9b9ba0;
}

/* end custom */

.po-option__color-value {
    display: block;
    width: 43px;
    height: 43px;
    border-radius: var(--bss-radius-input);
    cursor: pointer;
}

.po-option__image-value {
    display: block;
    width: 45px;
    height: 45px;
    border-radius: var(--bss-radius-input);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
}

.po-option__button-media {
    display: block !important;
    position: relative;
    border-radius: 3px;
    background-color: #ffffff;
    border: 2px solid #e3e1e1;
    text-align: center;
    padding: 5px 10px;
    cursor: pointer;
    color: #555;
}
.po-option__value:hover input ~ .po-option__button-media {
	border: 2px solid #555;
	color: #555;
}
/* shared styles  */
.po-option__button-media, .po-option__swatch-media {
     transition: border 0.2s var(--bss-transition-cubic-rule), background 0.2s var(--bss-transition-cubic-rule);
}
.po-option__value input:checked ~ .po-option__swatch-media {
    border: 2px solid #555;
}

.po-option__value input:checked ~ .po-option__button-media {
    background: var(--bss-po-background);
    color: var(--bss-po-color) !important;
    border: 2px solid #555;
}

.po-required {
    color: #c10000;
    margin-left: 3px;
}

.po-option--container__inline+.po-helptext-content,
.po-option--container+.po-helptext-content,
.po-option--type-swatch+.po-helptext-content,
.po-option--type-swatch__inline+.po-helptext-content {
    margin-top: 5px;
}

.po-label .po-helptext-content {
    margin-left: 5px;
    font-weight: normal;
}

.po-helptext-content p {
    color: rgba(0, 0, 0, .54);
    text-align: left !important;
    margin: 0px;
    font-size: 12px;
}

.po-helptext-tooltip {
    position: relative;
    display: inline-flex;
    justify-content: center;
    bottom: -4px;
    margin-left: 2px;
}

.po-helptext-tooltip .tooltip-text {
    position: absolute;
    bottom: 125%;
    left: 100%;
    margin-bottom: -5px;
}

.po-helptext-tooltip .tooltip-text,
.po-option__value .tooltip-swatch-label {
    z-index: 5;
    visibility: hidden;
    background-color: #18181B;
    color: #fff;
    min-width: 100px;
    text-align: center;
    border-radius: 6px;
    padding: 8px;
    opacity: 0;
    transform: translateY(40%);
    transition-property: opacity, transform;
    transition-duration: 0.3s;
    transition-timing-function: var(--bss-transition-cubic-rule);
    white-space: pre-wrap;
    font-size: 12px;
}

.po-option__value .tooltip-swatch-label {
    display: inline-flex;
    white-space: nowrap;
    position: absolute;
    bottom: 110%;
    left: 100%;
}


.po-helptext-tooltip:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.po-option__value:hover input~.po-option__swatch-media .po-option__color-value .tooltip-swatch-label {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.po-option__value:hover input~.po-option__swatch-media .po-option__image-value .tooltip-swatch-label {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

/* start custom tooltip */
.fa-info-custom { 
    display: inline-block;
    width: 17px;
    height: 17px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23999'><path d='M10 14a.75.75 0 0 1-.75-.75v-3.5a.75.75 0 0 1 1.5 0v3.5a.75.75 0 0 1-.75.75Z'/><path d='M9 7a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'/><path fill-rule='evenodd' d='M17 10a7 7 0 1 1-14 0 7 7 0 0 1 14 0Zm-1.5 0a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Z'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* end custom */

.bss-error-msg {
    color: #ff0000 !important;
}

.po-extra-price {
    margin-left: 5px;
    color: red;
}

.po-edit-options {
    color: #333;
    box-sizing: border-box;
    opacity: 1;
    visibility: visible;
    background: white;
    position: fixed;
    top: 10%;
    max-height: 600px;
    margin-left: 24%;
    margin-right: 24%;
    max-width: 765px;
    z-index: 99;
    overflow: auto;
    padding: 40px 25px 0px;
    overflow-y: scroll;
}

button[name="po-edit-options-in-cart"] {
    color: #fff;
    font-size: 15px !important;
    border-radius: 0px !important;
    background: #000000;
    border-color: #000000;

    font-family: Assistant, sans-serif;
    text-transform: none;
    letter-spacing: 1px;

    border: 1px solid transparent;
    flex: 0.2 1 0;
    font-weight: 400;
    line-height: 2.5em !important;
    margin: 0;
    min-width: auto;
    padding: 0 15px;
    pointer-events: all;
    position: relative;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap !important;
    word-break: normal !important;
}

button[name="po-edit-options-in-cart"]:hover {
    opacity: 0.7;
    cursor: pointer;
}

#po-edit-option .product-single__title {
    color: #333;
}

@media screen and (min-width: 769px) {
    .po-edit-options {
        width: 780px;
        box-shadow: 0 10px 80px rgb(0 0 0 / 25%);
    }
}

@media screen and (min-width: 481px) {
    #ajaxifyOptionsCart-overlay {
        visibility: visible;
        -webkit-transition: all 650ms cubic-bezier(.57, .06, .05, .95);
        -moz-transition: all 650ms cubic-bezier(.57, .06, .05, .95);
        -ms-transition: all 650ms cubic-bezier(.57, .06, .05, .95);
        -o-transition: all 650ms cubic-bezier(.57, .06, .05, .95);
        transition: all 650ms cubic-bezier(.57, .06, .05, .95);
        opacity: .8;
    }
}

#ajaxifyOptionsCart-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    visibility: visible;
    top: 0;
    left: 0;
    z-index: 98;
    opacity: .8;
    cursor: pointer;
    -webkit-transition: all 450ms cubic-bezier(.57, .06, .05, .95);
    -moz-transition: all 450ms cubic-bezier(.57, .06, .05, .95);
    -ms-transition: all 450ms cubic-bezier(.57, .06, .05, .95);
    -o-transition: all 450ms cubic-bezier(.57, .06, .05, .95);
    transition: all 450ms cubic-bezier(.57, .06, .05, .95);
    background-color: #d3d3d3;
}

.ajaxifyCart--close {
    opacity: .8;
    visibility: visible;
    display: block;
    text-indent: -9999px;
    background-repeat: no-repeat;
    position: absolute;
    top: 24px;
    right: 20px;
    border: 0 none;
    width: 30px;
    height: 25px;
    cursor: pointer;
    background-color: transparent;
    background-position: center center;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkMzRUY2REVBNDY1QjExRTM4ODdCODU0OEQ4MDA1MjgwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkMzRUY2REVCNDY1QjExRTM4ODdCODU0OEQ4MDA1MjgwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzNFRjZERTg0NjVCMTFFMzg4N0I4NTQ4RDgwMDUyODAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzNFRjZERTk0NjVCMTFFMzg4N0I4NTQ4RDgwMDUyODAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7sdZ8fAAAAp0lEQVR42nSPQQ6CMBBFx4ZEj+DSY8BGt9SVwRP1QBDdULeygaN4BFzpn+Q3mZCW5DFk/uvQ2YUQfiIygYuUnzc4O7wW/QCxIEbmi8oNG23mgO03js0reDF4gCNry77mUpkpHvSgo7QHA7gnwW1+q8FKcbViTtbJB/Bl7Uty5BWe4MTa2aWTPJplbuDDmpYe04IzqBn4zbU8J2udHcUpI9oDmtd/AQYAX20mtnhTCxQAAAAASUVORK5CYII=);
    z-index: 100;
}

.bss-warning-msg {
    color: #ff781f;
}

.po-cart__image {
    max-width: 100%;
    border: 0;
    max-height: 150px;
    display: block;
    margin: 0 auto;
}

.bss-po-product-page label,
.bss-po-product-page label {
    display: inherit;
    margin-bottom: 0px;
}

.po-stack--vertical>.po-label {
    align-items: baseline;
}

/*theme simple*/
.po-selected-swatch p,
.po-selected-button p {
    font-weight: bold;
    margin: 0;
}

.bss-po-product-page label,
.bss-po-product-page label {
    display: inherit;
    margin-bottom: 0px;
}

.po-label .po-helptext-content p {
    margin: 0px;
}

.po-edit-options input[type=text],
.po-edit-options input[type=email],
.po-edit-options input[type=tel],
.po-edit-options input[type=password],
.po-edit-options input[type=search],
.po-edit-options input[type=number],
.po-edit-options textarea,
.po-edit-options select {
    background: white;
}

.po-edit-options .bss-error-msg small {
    color: #ff0000;
}

.po-edit-options #updateCart {
    background-color: #4d4d4d;
    padding: 17px 47px;
    border: 0;
    letter-spacing: 1px;
    color: white;
    margin-right: 20px;
    cursor: pointer;
    margin-bottom: 10px;
}

.cancel-update-edit-options {
    border: 2px solid #333333;
    padding: 15px 45px;
    background-color: transparent;
    letter-spacing: 1px;
    cursor: pointer;
}

/* LOADING BUTTON EFFECT */
.button--loading::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: button-loading-spinner 1s ease infinite;
}

@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

/* END LOADING BUTTON EFFECT */

.po-option-uploadfile {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 10px;
   width: fit-content;
}

.po-image-preview-file-upload {
    margin-top: 15px;
}

/* start custom uploadFile */

.btn-uploadfile, .po-file-loading {
    position: relative;
    width: var(--bss-size-frame-upload);
    height: var(--bss-size-frame-upload);
    border-radius: 10px;
}
.btn-uploadfile {
      border: 1px dashed var(--bss-border-button);
      cursor: pointer;
}
/* transition */
.btn-uploadfile ,  .btn-uploadfile .bss-icon {
    transition: border-color .2s ease;
}
.btn-uploadfile .bss-icon {
     position: absolute;
    top: calc(50% - 30px);
    right: calc(50% - var(--bss-size-upload-icon)/2);
    border: 2px solid #E3E6F0;
    border-radius: 50%;
    width: var(--bss-size-upload-icon);
    height: var(--bss-size-upload-icon);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
}

/* absolute center */
.btn-uploadfile .bss-uploadFile-text  {
    position: absolute;
    right: 0; left: 0;
    top: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.btn-uploadfile .bss-uploadFile-text {
    bottom: 10px;
}
.bss-uploadFile-text__text, .po-file-uploaded-name {
 font-size: 13px;
 color: #203888;
}
.bss-uploadFile-text__size {
    font-size: 10px;
    color: #A3AAC2;
    margin-bottom: 8px;
}

.btn-uploadfile:hover {
     border-color: var(--bss-ant-blue);
}
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* grid frame  */
.file-uploaded {
    display: contents;
    margin-bottom: 10px;
}
.upload-frame {
     grid-column: span 1;
}
/* file loading  */
.po-file-loading {
    border: 1px dashed var(--bss-ant-blue);
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px calc((var(--bss-size-frame-upload) - var(--bss-size-img-upload))/2);
}
.po-file-loading div {
  text-align: center;   
}
/* start custom upload file frame */
.po-frame-uploaded {
    width: var(--bss-size-frame-upload);
    height: var(--bss-size-frame-upload);
    border: 1px solid #d9d9d9;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    position: relative;
    
}
.po-frame-uploaded--action {
    position: absolute;
    height: var(--bss-size-img-upload);
    width: var(--bss-size-img-upload);
    background: rgba(0, 0, 0, 0);
    z-index: 2;
    transition: background .2s var(--bss-transition-cubic-rule);
    color: white;

    display: flex;
    align-items: center;
    justify-content: center;
    
}
.po-frame-uploaded--action a {
    color: currentcolor;
    text-decoration: none;
    padding: 0;
}

.fa-see-custom {
    display: inline-block;
    width: var(--bss-size-icon-upload); 
    height: var(--bss-size-icon-upload); 
    background-color: currentColor;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896"><path d="M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"/></svg>') 
        no-repeat center / contain;
}
.fa-trash-custom {
    display: inline-block;
     width: var(--bss-size-icon-upload); 
    height: var(--bss-size-icon-upload); 
    background-color: currentColor;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="64 64 896 896"><path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"/></svg>') 
        no-repeat center / contain;
    margin-left: calc(var(--bss-size-icon-upload) * 2/3 );
    cursor: pointer;
}
.po-frame-uploaded--action:hover {
     background: rgba(0, 0, 0, 0.3);
}
.fa-trash-custom, .fa-see-custom {
    opacity: 0;
    transition: opacity .2s var(--bss-transition-cubic-rule);
}
.po-frame-uploaded--action:hover .fa-trash-custom, .po-frame-uploaded--action:hover .fa-see-custom {
    opacity: 1;
}
.po-upload-frame-img {
    height: var(--bss-size-img-upload);
    width: var(--bss-size-img-upload);
    overflow: hidden;
}

.po-upload-img {
    height: var(--bss-size-img-upload);
    width: var(--bss-size-img-upload);
}
/* start custom frame document */
.po-upload-frame-document {
    height: var(--bss-size-img-upload);
    width: var(--bss-size-img-upload);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.fa-document-file {
    width: 24px;
}
.po-file-uploaded-name { 
    white-space: nowrap;         
    overflow: hidden;           
    text-overflow: ellipsis;      
    display: inline-block;        
    max-width: 100%;    
    margin-top: 2px;
}
/* end custom */
.po-frame-uploaded, .btn-uploadfile, .po-file-loading {
    background-color: var(--bss-white);
}
/* end custom */
/* start custom progress  */
progress.po-progress {
    width: var(--bss-size-img-upload);  
    margin-top: 10px;
}

/* custom progress upload */
.po-file-loading progress[value] {
  display: block;
  position: relative;
  appearance: none;
  height: 2px;
  border: 0;
  --border-radius: 10px;
  border-radius: var(--border-radius);
  counter-reset: progress var(--progress-value);
  --progress-max-decimal: calc(var(--value, 0) / var(--max, 0));
  --progress-value-decimal: calc(var(--progress-value, 0) / var(--max, 0));
  @supports selector(::-moz-progress-bar) {
    --progress-value-decimal: calc(var(--value, 0) / var(--max, 0));
  }
  --progress-value-percent: calc(var(--progress-value-decimal) * 100%);
    --progress-value-color: var(--bss-ant-blue);
    animation: progress 4s linear infinite forwards;
}

.po-file-loading progress[value]::-webkit-progress-bar {
  background-color: var(--progress-bar-color);
  border-radius: var(--border-radius);
  overflow: hidden;
}

.po-file-loading progress[value]::-webkit-progress-value {
  width: var(--progress-value-percent) !important;
  background-color: var(--progress-value-color);
  border-radius: var(--border-radius);
}

.po-file-loading progress[value]::-moz-progress-bar {
  width: var(--progress-value-percent) !important;
  background-color: var(--progress-value-color);
  border-radius: var(--border-radius);
}

@keyframes progress {
	
from {
    --progress-value: 0;
  }
  10% {
    --progress-value: calc(var(--value) * 0.1);
  }
  20% {
    --progress-value: calc(var(--value) * 0.2);
  }
  30% {
    --progress-value: calc(var(--value) * 0.3);
  }
  40% {
    --progress-value: calc(var(--value) * 0.4);
  }
  50% {
    --progress-value: calc(var(--value) * 0.5);
  }
  60% {
    --progress-value: calc(var(--value) * 0.6);
  }
  70% {
    --progress-value: calc(var(--value) * 0.7);
  }
  80% {
    --progress-value: calc(var(--value) * 0.8);
  }
  90% {
    --progress-value: calc(var(--value) * 0.9);
  }
  to {
    --progress-value: var(--value);
  }
}
/* end custom progress */

/* end custom uploadFile */

/* LOADING EFFECT */
.loader {
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #3498db;
    width: 30px;
    height: 30px;
    -webkit-animation: spin 2s linear infinite;
    /* Safari */
    animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* END LOADING EFFECT */

/* date time picker cart page */
.flatpickr-calendar.open {
    z-index: 101;
}

/* end date time picker cart page */
.po-helptext-tooltip-resize {
    max-width: 400px;
    min-width: 200px;
    width: max-content !important;
    left: unset !important;
}

.po-helptext-tooltip .tooltip-text::after {
    left: 50%;
    margin-left: 2px;
}

@media (min-width: 640px) and (max-width: 749px) {
    .po-helptext-tooltip-resize {
        left: 0 !important;
    }

    .po-helptext-tooltip .tooltip-text::after {
        left: 5% !important;
        margin-left: -3px;
    }
}

@media (min-width: 480px) and (max-width: 639px) {
    .po-helptext-tooltip-resize {
        max-width: 350px !important;
        left: 0 !important;
    }

    .po-helptext-tooltip .tooltip-text::after {
        left: 5% !important;
        margin-left: -1px;
    }
}

@media (min-width: 319px) and (max-width: 479px) {
    .po-helptext-tooltip-resize {
        max-width: 250px !important;
        left: -120% !important;
    }

    .po-helptext-tooltip .tooltip-text::after {
        left: 10% !important;
        margin-left: 1px;
    }
}

@media (max-width: 320px) {
    .po-helptext-tooltip-resize {
        max-width: 200px !important;
        left: -120% !important;
    }

    .po-helptext-tooltip .tooltip-text::after {
        left: 15% !important;
        margin-left: 1px;
    }
}

/* SELECT QUANTITY */
.quantity-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: fit-content;
    background: #eaeaea;
    border-radius: 10px;
    padding: 0.6rem 0.4rem;
    margin-top: 0.6rem;
}

.quantity-btn {
    background: transparent;
    border: none;
    outline: none;
    margin: 0;
    padding: 0px 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.quantity-btn svg {
    width: 10px;
    height: 10px;
}

.bss-po-product-page .quantity-input {
    outline: none;
    user-select: none;
    text-align: center;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
}

.bss-po-product-page .quantity-input::-webkit-inner-spin-button,
.bss-po-product-page .quantity-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.po-option__select-quantity {
    display: flex;
    flex-direction: column;
    margin-right: 10px;
}

.po-option__select-quantity .po-option__value {
    margin-right: 0;
}

/* END SELECT QUANTITY */
.bss-po-discount-code-wrapper {
    margin: 10px 0;
    max-width: 350px;
    min-width: 150px;
    text-align: left;
    width: 100%
}

.bss-po-discount-code-wrapper .bss-po-discount-code-input--input-container {
    display: flex;
    margin: 0
}

.bss-po-discount-code-wrapper input[type=text].bss-po-discount-code-input--input {
    background: #fff;
    background-image: none !important;
    border: 1px solid #ccc !important;
    color: #333;
    flex: 1;
    height: auto !important;
    line-height: 2.5em;
    margin: 0 10px 0 0 !important;
    max-height: none;
    max-width: none;
    min-height: 10px;
    min-width: 20px;
    outline: none !important;
    padding: 0 10px !important;
    pointer-events: all;
    text-indent: 0 !important;
    width: auto
}

.bss-po-discount-code-wrapper .bss-po-discount-code-input--button {
    border: 1px solid transparent;
    flex: 0.2 1 0;
    font-weight: 400;
    line-height: 2.5em !important;
    min-width: auto;
    padding: 0 15px;
    pointer-events: all;
    position: relative;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap !important;
    word-break: normal !important;

    font-size: 15px !important;
    border-radius: 0px !important;
    background: #000000;
    border-color: #000000;
}

.bss-po-discount-code-wrapper .bss-po-discount-code-input--button:hover {
    cursor: pointer;
    opacity: 0.8;
}

.bss-po-discount-code-wrapper .bss-po-discount-code-input--button .bss-po-discount-code-input--button-text {
    line-height: revert !important;
    margin: 0;
    text-align: center;
    white-space: nowrap !important;
    color: #fff;
}

.bss-po-discount-code-wrapper .bss-po-discount-code--applied-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 10px 0 0;
}

.bss-po-discount-code-wrapper .bss-po-discount-code--applied-wrapper .bss-po-discount-code--applied-wrapper--applied {
    display: flex;
    align-items: center;
    background-color: #dcdcdc;
    border-radius: 4px;
    color: #323232;
    font-weight: 500;
    line-height: 1.2em;
    margin-bottom: 10px;
    margin-right: 10px;
    padding: 5px 8px;
}

.bss-po-discount-code--applied-wrapper--applied .bss-po-discount-code--applied-wrapper--applied-remove {
    display: inline-block;
    color: #717171;
    cursor: pointer;
    display: inline-block;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.3em;
    font-weight: 300;
    line-height: 16px;
    margin: 0;
    padding-left: 5px;
}

.bss-po-discount-code--applied-wrapper--applied .bss-po-discount-code--applied-wrapper--applied-remove:hover {
    color: #131111
}

.bss-po-discount-code-wrapper svg {
    fill: #4e4e4e !important;
    display: inline-block !important;
    height: 15px !important;
    margin-right: 7px !important;
    width: auto !important
}

#bss-po-discount-code--message {
    font-size: 13px
}

.bss-po-discount-code--summary-wrapper .bss-po-discount-code--summary-discount,
.bss-po-discount-code--summary-wrapper .bss-po-discount-code--summary-subtotal,
.bss-po-discount-code--summary-wrapper .bss-po-discount-code--summary-total {
    display: flex;
    justify-content: space-between;
}

.bss-po-discount-code--summary-discount-value,
.bss-po-discount-code--summary-subtotal-value,
.bss-po-discount-code--summary-total-value {
    font-weight: 700;
}

.bss-po-discount-code-wrapper .bss-po-button-active .bss-po-discount-code-input--button-text {
    visibility: hidden
}

.bss-po-discount-code-wrapper .bss-po-button-active .bss-po-loader {
    display: block !important
}

.po-option--type-color-picker {
    border: none;
    background-color: transparent;
    width: 52px;
    height: 34px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    margin-left: 5px;
}

.po-option--type-color-picker::-webkit-color-swatch {
    border-radius: 4px;
    border: 1px #ddd solid;
}

.po-option--color-picker-content {
    border: 1px #ddd solid;
    overflow: hidden;
    background-color: #fff;
    border-radius: 4px;
    height: var(--bss-height-input);
}

.po-option--color-picker-content,
.po-option--color-picker-container {
    display: flex;
    align-items: center;
}

.po-color-picker-value {
    padding: 5px 10px;
    line-height: 2;
    font-size: 14px;
    border: none;
}

.po-color-picker-value:focus {
    border: none;
    outline: unset;
    outline-offset: unset;
    box-shadow: none;
}

/* start custom colopicker  */
.po-option--color-picker-container {
    position: relative;
}

.po-option--color-picker-content {
    width: 100%;
}

.po-option--type-text,
.po-option--type-number,
.po-option--color-picker-content {
    transition: border .2s linear;
}

.po-option--color-picker-container:hover .po-option--color-picker-content {
    border: 1px solid var(--bss-po-black);
}

.po-option--color-picker-container .fa-cancel-custom {
    position: absolute;
    right: 10px;
    top: 14px;
}

/* end custom  */
/* DROP DOWN MENU WITH THUMBNAIL */
.custom-select-thumbnail {
    position: relative;
    font-size: 14px;
}

.po-select-dropdown-thumbnail {
    position: relative;
    background-color: #fff;
    cursor: pointer;
    min-height: var(--bss-height-input);
}

.po-dropdown-selected-option:hover {
    background-color: var(--bss-color-hover);
}

.po-dropdown-selected-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 8px;
    color: black;
    cursor: pointer;
     border: 1px solid #838383;
    border-radius: var(--bss-radius-input);
    transition-timing-function: var(--bss-transition-cubic-rule);
    transition-property: var(--bss-transition-property);
    transition-duration: .15s;
    height: 100%;
}

.po-dropdown-list {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    max-height: 500px;
    overflow-y: auto;
    background-color: #fff;
    z-index: 6;
    margin-top: 4px;
    border-radius: 4px;
    display: none;
    padding: 0 calc((var(--bss-padding-dropdown) - var(--bss-width-scroll))/2) var(--bss-padding-dropdown) 0;
    height: fit-content;
    box-shadow: var(  --bss-shadow-card);
}
.po-dropdown-list .bss_scroll {
    margin-right: 2px;
}
.po-dropdown-thumbnail-option {
    display: flex;
    align-items: center;
    text-align: justify;
}

.po-dropdown-option,
.po-dropdown-thumbnail-option {
    padding: 6px 12px;
    cursor: pointer;
    transition: background-color .2s var(--bss-transition-cubic-rule);
    border-radius: 4px;
    margin-top: 1px;
    color: var(--bss-color-text);
}
.po-dropdown-option {
    min-height: 32px;
}
.po-dropdown-thumbnail-option:hover,
.po-dropdown-option:hover {
    background-color: #F4F4F5;
}

/* start custom dropdown */
.bss-po-product-page .icon-search.fa-search-custom {
    position: absolute;
    top: 11px;
    height: 20px;
    width: 20px;
    align-items: center;
    display: flex !important;
    opacity: 0.5;
}

.po-dropdown-option#searchWithDropdown input,
.po-dropdown-thumbnail-option#searchWithThumbnail input {
    border: none;
    outline: none;
    box-shadow: none;
    padding-left: 24px;
}

.po-dropdown-option#searchWithDropdown,
.po-dropdown-thumbnail-option#searchWithThumbnail {
    position: sticky;
    z-index: 10;
    top: 0;
    border-radius: 0;
    display: none;
    min-height: var(--bss-height-input);
    margin-left: calc((var(--bss-padding-dropdown) - var(--bss-width-scroll))/2);
    border-bottom: 1px solid #e4e4e7;
}


#searchWithDropdown:hover, #searchWithThumbnail:hover {
    background-color: transparent;
}

.po-dropdown-list {
    overflow: hidden;
}

.po-dropdown-list .po-dropdown-option {
    overflow: hidden;
}

.po-dropdown-list .bss_scroll {
    overflow: scroll;
    overflow-x: hidden;
    max-height: calc(6 * 33px);
    height: fit-content;
    padding-right: calc((var(--bss-padding-dropdown) - var(--bss-width-scroll))/2);
    padding-left: var(--bss-padding-dropdown);
    padding-top:   calc( 10px - var(--bss-padding-dropdown));
    width: 100%;
    margin-top: 10px;
}

.fa-search-custom {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M12.323 13.383a5.5 5.5 0 1 1 1.06-1.06l2.897 2.897a.75.75 0 1 1-1.06 1.06l-2.897-2.897Zm.677-4.383a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* end custom */
.po-dropdown-thumbnail-option .po-dropdown-option-shape,
.po-dropdown-thumbnail-option img {
    display: block;
    width: 28px;
    height: 28px;
    margin-right: 10px;
}

.po-dropdown-thumbnail-arrow,
.po-dropdown-arrow {
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 2.5px;
    margin-right: 5px;
}

.po-dropdown-thumbnail-arrow-down,
.po-dropdown-arrow-down {
    transform: rotate(45deg);
    --webkit-transform: rotate(45deg);
    transition: transform 0.3s ease;
}

.po-select-dropdown-thumbnail.open-drop-list .po-dropdown-thumbnail-arrow-down,
.po-select-dropdown-thumbnail.open-drop-list .po-dropdown-arrow-down {
    transform: translateY(30%) rotate(225deg);
}

.flatpickr-day.flatpickr-disabled {
    color: rgba(57, 57, 57, 0.3) !important;
}

.po-dropdown-option.disabled {
    cursor: not-allowed !important;
    text-decoration: line-through !important;
    background-color: #f0f0f0 !important;
    pointer-events: none !important;
}

.po-option--type-datepicker-input::placeholder {
    opacity: 0.5;
    color: currentcolor;
}

.po-option--type-datepicker .fa-calendar-custom {
    opacity: 0.5;
}

.po-option--type-datepicker:hover .po-option--type-datepicker-input::placeholder {
    opacity: 1;
}

.po-option--type-datepicker:hover .fa-calendar-custom {
    opacity: 1 !important;
}

/* Button css disable */
.po-option--button-wrapper .po-option__value.disabled {
    pointer-events: none !important;
}

.po-option--button-wrapper .po-option__value.disabled .po-option__button-media {
    cursor: not-allowed !important;
    background-color: #EDEDEF !important;
    border-color: #efefef !important;
}

.po-option--button-wrapper .po-option__value.disabled .po-option__button-value {
    color: #C0C0C3 !important;
}

/* Swatch css disable */
.po-option--swatch-wrapper .po-option__value.disabled {
    pointer-events: none !important;
}

.po-option--swatch-wrapper .po-option__value.disabled .po-option__swatch-media {
    opacity: 30% !important;
}

.po-option--swatch-wrapper .po-option__value.disabled .po-option__swatch-media::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% * 1.41421356);
    height: 2px;
    background-color: #e3e1e1;
    transform: rotate(45deg);
    transform-origin: top left;
}

/* start custom scrollbar */
::-webkit-scrollbar {
    width: calc(var(--bss-width-scroll));
}

::-webkit-scrollbar-thumb {
    background-color: #EBEBEB;
    border-radius: 6px;
    border: 2px solid transparent;
}

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

::-webkit-scrollbar-thumb:hover {
    background-color: #EBEBEB;
}

/* end custom */

/* animation  */
@keyframes slideDown {
    0% {
        transform: translateY(-10%); 
        opacity: 0;
    }
    100% {
        transform: translateY(0); 
        opacity: 1;
    }
}
.po-dropdown-list {
    animation: slideDown 0.2s ease forwards;
    transform-origin: top;
}

.btn-uploadfile.disabled {
    /* pointer-events: none;  */
    opacity: 0.5; 
    user-select: none;     
    cursor: not-allowed;
    border: 1px dashed var(--bss-border-button);
}


/*  start custom swatch toooltip   */
.po-option__swatch-media .tooltip-swatch-label {
    left: 50%;
    transform: translateX(-50%)!important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
}
.po-option__swatch-media .tooltip-swatch-label__color, .po-option__swatch-media .tooltip-swatch-label__img {
    width: 100%;
    min-height:165px;
    display: block;
}

.po-option__swatch-media p.tooltip-swatch-label {
    margin-left: 0!important;
}
.tooltip-swatch-label__title {
    white-space: normal;
    word-wrap: break-word;
}
/*  end custom */