/******** Overrides of standard css ********/

/* MAKE BIG */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1500px;
    }
}

/* Prevent elements on page from shifting due to scrollbar */
html {
    overflow-y: scroll;
}

html:has(body.modal-open) {
    overflow-y: hidden;
}

body.modal-open {
    overflow: unset !important;
}

/* Force footer to be on bottom */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

/* @media only screen and (max-width: 768px) {
    body.modal-open {
        padding-right: 0px !important;
    }
}

@media only screen and (min-width: 768px) {
    body.modal-open {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    body.modal-open>.footer {
        width: calc(100% + 36px);
        left: -18px;
        position: relative;
    }

    body.modal-open>.border-bottom {
        width: calc(100% + 36px);
        left: -18px;
        position: relative;
    }
} */

.modal {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.modal-backdrop {
    height: 100% !important;
}


/* LOGIN */
.password-container {
    border: 1px solid #dfe2e1;
    border-radius: .5rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.password-container:has(.password-input:focus) {
    border-radius: .5rem;
    border-color: #85d685;
    box-shadow: 0 0 0 .25rem rgba(10, 173, 10, .25);
    overflow: hidden;
}

.password-field {
    border: none;
    width: 100%;
}

.password-input {
    border: none;
}

.password-input:focus {
    border: none !important;
    box-shadow: none !important;
}

.passwordToggler {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    height: initial;
    align-content: center;
    text-align: center;
    width: 15%;
    right: 0px;
    border-right: none;
    border-top: none;
    border-bottom: none;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    touch-action: manipulation;
    transform: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* This prevents mobile devices from zooming in when an input is tapped. */
@supports (-webkit-overflow-scrolling: touch) {

    .stopZoom,
    .stopZoom:focus {
        font-size: 16px;
    }
}

.stopTapZoom {
    touch-action: manipulation;
}

/* Dropdown */
.list-unstyled-padding {
    list-style: none;
    padding-left: 32px;
}

a.dropdown-toggle-hidden:after {
    display: none !important;
}

a.dropdown-toggle-hidden:hover {
    background-color: rgba(0, 0, 0, 0) !important;
}

span.dropdown-toggle:after {
    margin-left: 0px !important;
}

a:hover>span.dropdown-toggle:after {
    color: var(--fc-primary) !important;
}

.blah {
    justify-content: space-between;
}

.dropdown-item {
    width: unset;
}

.dropdown-list-group-item {
    justify-content: space-between;
    /* Move ::after to end of flex */
}

.dropdown-submenu>a:after {
    position: static !important;
}

.dropdown-submenu>.dropdown-menu {
    right: auto !important;
    /* Submenu will grow properly */
}

/* For alt text */
img {
    text-overflow: ellipsis;
}

/* Primary Buttons */
.btn-primary {
    --fc-btn-color: #fff;
    --fc-btn-bg: #335257;
    /* Dark Green Grey */
    --fc-btn-border-color: #335257;
    /* Dark Green Grey */
    --fc-btn-hover-color: #000000;
    --fc-btn-hover-bg: #eceded;
    /* Light Greyish */
    --fc-btn-hover-border-color: #335257;
    /* Dark Green Grey */
    --fc-btn-focus-shadow-rgb: 47, 185, 47;
    --fc-btn-active-color: #000000;
    --fc-btn-active-bg: #eceded;
    /* Light Greyish */
    --fc-btn-active-border-color: #335257;
    /* Dark Green Grey */
    --fc-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    --fc-btn-disabled-color: #fff;
    --fc-btn-disabled-bg: #335257;
    /* Dark Green Grey */
    --fc-btn-disabled-border-color: #335257;
    /* Dark Green Grey */
}

/* Card product */
.card-product:hover {
    border: 1px solid #335257;
    /* Dark Green Grey */
}

.footer {
    padding: 0;

}

/* Divider */
.divider:after,
.divider:before {
    content: "\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0";
    text-decoration: line-through;
    color: #dfe2e1;
}

.divider>span {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* Legacy ML styles */
.outer-pad {
    padding: 0 9%;
}

.piper-page-header {
    text-align: center;
    padding-bottom: 10px;
}

.free-shipping-corner {
    position: absolute;
    right: 0px;
    z-index: 80;
    padding: 0 var(--fc-card-spacer-x);
    user-select: none;
    pointer-events: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.view-tiered-pricing {
    z-index: 9999999;
    background-color: #001e2b;
    border-color: rgb(62, 68, 70);
    position: absolute;
    bottom: 15px;
    display: block;
    min-width: 128px;
    border: 1px solid #ccc;
    color: white;
}

.btn-xl {
    white-space: normal;
    max-width: 250px;
    font-size: 27px;
    padding: 20px 12px;
}

/* PRODUCT LIST */
.input-spinner .form-input {
    width: auto !important;
}

/* CATEGORY LIST  */
.product_spinner {
    position: absolute;
    background-color: #000000ba; color:
    white; z-index: 100;
    place-content: center; 
}

.added_to_cart_popup {
    position: absolute;
    background-color: #335257;
    color: white;
    z-index: 99;
    place-content: center; 
}

.hide_popup {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 0.5s, opacity 0.5s linear;
}

.show_popup {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.2s linear;
}

.popup {
    position: absolute;

}

.sku_drop:after {
    float: none !important;
    vertical-align: 0 !important;
    width: 10%;
}

.qty_edit {
    width: 75%;
}

.disabled-hover {
    cursor: not-allowed;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

#page_select {
    width: max-content;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.unselectable {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.nopointer {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

@media(min-width:768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

/* Address */
.form-check {
    display: block;
    padding-left: 1.5em;
    padding-right: 1.5em;
    margin-bottom: .125rem;
    min-height: 1.4rem;
}

/* Slider / Carousel styles */
.slider-img,
.slider-img>img {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    image-rendering: auto;
    max-width: 100%;
    height: auto;
}

.slider-div>* {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.slider-img-div {
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}

.slider-img-quickview {
    max-width: 100%;
    border-radius: 10px;
    align-self: center;
}

/* EMBLA */
.embla {
    max-width: 100%;
    height: auto;
    margin: auto;
    position: relative;
}

.embla__viewport {
    overflow: hidden;
}

.embla__container {
    display: flex;
    touch-action: pan-y pinch-zoom;
}

.embla__slide {
    transform: translate3d(0, 0, 0);
    flex: 0 0 100%;
    min-width: 0;
}

.embla__button {
    position: absolute;
    background: transparent;
    border: none;
    color: rgba(0, 0, 0, 0.5);
    font-size: 2rem;
    height: 100%;
    cursor: pointer;
    z-index: 50;
    width: 32px;
}

.embla__button:hover {
    color: rgba(0, 0, 0, 0.75);
}

.embla__button--prev {
    left: 0px;
}

.embla__button--next {
    right: 0px;
}

.embla__dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}

.embla__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    border: 0;
}

.embla__dot--selected {
    width: 9px;
    height: 9px;
    padding: 0;
    margin: 0 5px;
    border-radius: 50%;
    background: rgb(0, 0, 0, 0.75);
    border: 0;
}

.embla__thumb {
    border: 2px solid transparent;
    width: auto;
    height: 80px;
    border-radius: var(--fc-border-radius) !important;
}

.embla__thumb--selected {
    border: 2px solid var(--fc-primary);
}


.embla-thumbs {
    --thumbs-slide-spacing: 0.8rem;
    --thumbs-slide-height: 6rem;
    margin-top: var(--thumbs-slide-spacing);
}

.embla-thumbs__viewport {
    overflow: hidden;
}

.embla-thumbs__container {
    display: flex;
    flex-direction: row;
    margin-left: calc(var(--thumbs-slide-spacing) * -1);
}

.embla-thumbs__slide {
    flex: 0 0 15%;
    display: flex;
}

.quickview-arrow {
    align-items: center;
    background-color: var(--fc-gray-200);
    border: 1px solid var(--fc-gray-200);
    border-radius: 50px;
    color: var(--fc-gray-500);
    cursor: pointer;
    display: block;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 20px;
    font-size: 24px;
    height: 32px;
    justify-content: center;
    transition: .3s ease-in-out;
    width: 32px;
}

.quickview-arrow:hover {
    background: var(--fc-primary);
    color: var(--fc-white);
    outline: none;
}


/* VIEW CART */
.list-group-kit > li {
    background-color: #f4f4f4;
    padding-left: 16px !important;
}
@media(max-width:992px) {
    .cart_sidebar {
        order: 0;
    }
}
@media(min-width:992px) {
    .cart_sidebar {
        order: 2;
    }
}

/* BACK TO TOP */
#backToTop {
    opacity: 0;
    position: fixed;
    display: flex;
    visibility: hidden;
    font-size: 1.3rem;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    z-index: 99;
    /* background-color: rgb(250, 250, 250);
    border: #ebebeb solid 1px; */
    border-radius: 20px;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
}

.showBackToTop {
    visibility: visible !important;
    opacity: 1 !important;
    transition: all .2s ease;
}

/* Account sidebar */
#sidebar_account {
    min-height: 100vh;
}

@media (max-width: 767px) {
    #sidebar_account {
        min-height: unset;
    }
}

#sidebar_account_button {
    background: #335257;
    color: white;
    position: relative;
    left: -88px;
    border-radius: 20px;
}

/* payment page */
.transparent_row {
    border: transparent;
    background: transparent;
    --fc-table-striped-bg: transparent;
}

.bold_row {
    font-size: larger;
    font-weight: bolder;
    border-top: 1px solid;
    border-color: inherit;
    border-bottom: 0px transparent;
}

.menu-mobile-arrow {
    left: -6px;
    position: absolute;
    color:rgb(92, 108, 117);
    width: 36px;
    height: 100%;
    z-index: 999;
}

@media (max-width: 991px) {
    .menu-mobile {
        border-left: 0px transparent #ccc !important;
        border-right: 0px transparent !important;
        border-bottom: 0px transparent !important;
        border-top: 0px transparent !important;
        /* border-top: 1px solid #ccc !important; */
        border-radius: 0px !important;
        padding-right: 0px !important;
        box-shadow: none !important;
        padding-bottom: 0px;
        padding-top: 0px;
    }
    .menu-mobile-item {
        margin-left: 25px !important;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .menu-mobile-arrow {
        height: inherit;
        z-index: 99;
        padding-top: 5px;
        padding-bottom: 5px;
    }
}

@media (min-width: 991px) {
    .menu-mobile-arrow {
        right: 0px !important;
        left: unset !important;
    }
}


/* PRODUCT DETAIL */
@media (max-width: 1200px) {
    .qty-flex-outer {
        
    }
}
.qty-block {
    width: auto !important;
}