 #vmCartModule {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
}
.vmCartModule:before{
    background-image: var(--vm-cart-image);
    margin-right: 5px;
    content: "";
    display: block;
    width: var(--vm-cart-image-size,38px);
    aspect-ratio: 1/1;
    float: left;
    background-repeat:no-repeat;
}
#vmCartModule[data-products-counter='0']::after{
    display: none;
}
#vmCartModule::after {
    font-size: .75rem;
    background-image: var(--vm-cart-counter-color);
    width: 18px;
    line-height: 18px;
    text-align: center;
    color: #fff;
    z-index: 2;
    border-radius: 50%;
    position: absolute;
    right: -4px;
    top: -3px;
    content: attr(data-products-counter);
    position: absolute;
}
.vmCartModule .vm_cart_products{
    position: absolute;
    height: auto;
    background: #fff;
    color: #000;
    max-height: 0;
    width: 400px;
    padding: 15px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 0px 0px 5000px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    top: 65px;
    right: 0;
    transform: translateX(-30%);
    z-index: 1;
}
.vmCartModule .vm_cart_products .total_price_count_outer{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 -15px;
    border-top: 1px solid #e1e1e1;
    padding: 10px 15px;
}
.vmCartModule .vm_cart_products .show_cart{
    display: flex;
    margin: 0 -15px -15px;
    text-align: center;
}
.vmCartModule .vm_cart_products .show_cart a{
    display: block;
    background: var(--btn-bg-color);
    color: var(--btn-color) !important;
    padding: 10px;
    width: 100%;
    font-weight: 500;
    -webkit-filter: brightness(100%);
}
.vmCartModule .vm_cart_products .show_cart a:hover{
    -webkit-filter: brightness(90%);
    transition: all 0.3s ease;
}
.vmCartModule.keepCartOpened .vm_cart_products{
    -webkit-animation-name: fadeInCustom;
    -webkit-animation-duration: 0.3s;
    animation-name: fadeInCustom;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}
.vmCartModule .product_name a{
    color: #333;
    font-weight: 600;
}
.vmCartModule.hasItems .vm_cart_products .product_name:hover{
    text-decoration: underline;
}
.vmCartModule .show_cart ,.vmCartModule .total{
    display: none;
}
.vmCartModule .total_products{
    display: none;
}
.vmCartModule .customProductData br{
    display: none;
}
@keyframes fadeInCustom {
    0% {
        opacity: 0;
        visibility: hidden;
        max-height: 0;
        pointer-events: none;
    }
    100% {
        opacity: 1;
        visibility: visible;
        max-height: 1200px;
        pointer-events: auto;
    }
}
@keyframes fadeOutCustom {
    0% {
        opacity: 1;
        visibility: visible;
        max-height: 1200px;
        pointer-events: auto;
    }
    100% {
        opacity: 0;
        visibility: hidden;
        max-height: 0;
        pointer-events: none;
    }
}
@media screen and (max-width:992px) {
    .vmCartModule .vm_cart_products {
        position: fixed;
        height: auto;
        background: #fff;
        max-height: 0;
        right: 0;
        padding: 15px;
        box-shadow: rgba(0, 0, 0, 0.24) 0px 0px 0px 5000px;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        top: 50%;
        width: 96%;
        margin: 2%;
        transform: translateY(-50%);
    }
    .vmCartModule::before{
        width: 35px;
        height: 35px;
    }
    .vmCartModule .total_products{
        display: none;
    }
}
*:focus {
    outline: none;
}
.clr {
    clear: both;
    overflow: hidden;
}
.clear, br.clear{
    clear: both;
}
div.clear {
    height: 0px;
    line-height: 0px;
    font-size: 0px;
    margin: 0;
    padding: 0;
}
.dummy{
    background: none;
    width: 5%;
}
div.spacer {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}
div.spaceStyle{
    padding: 0px;
    margin: 5px;
}
.icons{
    text-align: right;
    float: right;
    margin: 4px 0 10px 30px;
}
fieldset {
    border: none;
}
.vmquote{
    font-size: smaller;
}
.vm-notice{
    color: #CC0000;
}
span.bold, div.bold{
    font-weight: 700;
}
.text-left, .left{
    text-align: left;
}
.text-right, .right{
    text-align: right;
}
.text-center, .center{
    text-align: center;
}
.floatright, span.floatright{
    float: right;
}
.floatleft, span.floatleft{
    float: left;
}
.vm-display {
    display: block;
}
.vm-nodisplay {
    display: none;
}
.line-through{
    text-decoration: line-through;
}
.inline{
    display: inline;
}
td.pricePad{
    padding-right: 10px;
}
.priceCol{
    white-space: nowrap;
}
.priceColor2{
    color: gray;
}
.additional-images,.featured-view .product-price,.discontinued-view .product-price,.latest-view .product-price,.topten-view .product-price,.recent-view .product-price,.output-billto,.output-shipto{
    margin: 10px 0;
}
.ask-a-question,.manufacturer,.manufacturer-details-view .email-weblink,.manufacturer-details-view .description{
    margin: 0 0 10px;
}
.customer-reviews,.ask-a-question-view .form-field{
    margin: 25px 0 0;
}
span.variant-name, span.custom-variant-name{
    width: 100px;
    float: left;
    display: block;
    margin-bottom: 5px;
}
.vmgroup .vmproduct .vm-price-value span, .browse-view .vm-price-value span {
    font-weight: 500;
}
#ui-tabs ul#tabs{
    list-style-type: none;
    overflow: hidden;
    margin: 0;
    padding: 16px 16px 0;
}
#ui-tabs ul#tabs li{
    display: inline-block;
    cursor: pointer;
    background: #f2f2f2;
    padding: 8px 16px 3px;
}
#ui-tabs ul#tabs li.current{
    display: inline-block;
    background: #ccc;
    color: #444;
}
#ui-tabs .tabs{
    padding: 16px;
}
#ui-tabs .dyn-tabs{
    overflow: auto;
    display: none;
}
.vm-col {
    margin: 0px;
    width: 60%;
}
.vm-col-1 {
    width: 100%;
}
.vm-col-2 {
    width: 50%;
}
.vm-col-3 {
    width: 33.333%;
}
.vm-col-4 {
    width: 25%;
}
.vm-col-5 {
    width: 20%;
}
.vm-col-6 {
    width: 16.666%;
}
.vm-col-8 {
    width: 12.5%;
}
.vm-col-9 {
    width: 11.111%;
}
.vm-col-10 {
    width: 10%;
}
.vm-col-11 {
    width: 9.09%;
}
.vm-col-12 {
    width: 8.333%;
}
.vm2-modallink{
    height: 16px;
    margin-left: 3px;
    vertical-align: top;
    width: 16px;
    display: inline-block;
}
.vm2-warning{
    background-position: 0 -1383px;
    width: 50px;
    height: 40px;
}
input.highlight-button{
    background: var(--btn-bg-color);
    color: var(--btn-color);
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    text-align: center;
    letter-spacing: 1px;
    display: inline-block;
    text-decoration: none;
    padding: 4px 8px 2px;
}
input.highlight-button:visited{
    color: #fff;
}
button.default{
    display: inline-block;
    cursor: pointer;
    padding: 5px 8px 4px;
}
button.default:hover{
    color: #777;
}
a.highlight, a.highlight:visited{
    background: var(--btn-bg-color);
    border: solid #d9d9d9 1px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: inline-block;
    text-decoration: none;
    background-position: 0 -160px;
    color: var(--btn-color);
    padding: 3px 8px 1px;
}
textarea.virtuemart{
    background: #fff;
    border: solid #ccc 1px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    color: #777;
    text-align: left;
    padding: 5px 5px 4px;
}
.vm-button-correct,.vm-button-correct:link,.vm-button-correct:visited{
    display: inline-block;
    font-size: 19px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    background: var(--btn-bg-color);
    color: var(--btn-color);
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    cursor: pointer;
    letter-spacing: 1px;
    text-decoration: none;
    padding: 6px 12px 3px;
}
.vm-button-correct:hover{
    color: #f2f2f2;
}
.width1{
    width:1% 
}
.width2{
    width:2% 
}
.width3{
    width:3% 
}
.width4{
    width:4% 
}
.width5{
    width:5% 
}
.width6{
    width:6% 
}
.width7{
    width:7% 
}
.width8{
    width:8% 
}
.width9{
    width:9% 
}
.width10{
    width:10% 
}
.width11{
    width:11% 
}
.width12{
    width:12% 
}
.width13{
    width:13% 
}
.width14{
    width:14% 
}
.width15{
    width:15% 
}
.width16{
    width:16% 
}
.width17{
    width:17% 
}
.width18{
    width:18% 
}
.width19{
    width:19% 
}
.width20{
    width:20% 
}
.width21{
    width:21% 
}
.width22{
    width:22% 
}
.width23{
    width:23% 
}
.width24{
    width:24% 
}
.width25{
    width:25% 
}
.width26{
    width:26% 
}
.width27{
    width:27% 
}
.width28{
    width:28% 
}
.width29{
    width:29% 
}
.width30{
    width:30% 
}
.width31{
    width:31% 
}
.width32{
    width:32% 
}
.width33{
    width:33% 
}
.width34{
    width:34% 
}
.width35{
    width:35% 
}
.width36{
    width:36% 
}
.width37{
    width:37% 
}
.width38{
    width:38% 
}
.width39{
    width:39% 
}
.width40{
    width:40% 
}
.width41{
    width:41% 
}
.width42{
    width:42% 
}
.width43{
    width:43% 
}
.width44{
    width:44% 
}
.width45{
    width:45% 
}
.width46{
    width:46% 
}
.width47{
    width:47% 
}
.width48{
    width:48% 
}
.width49{
    width:49% 
}
.width50{
    width:50% 
}
.width51{
    width:51% 
}
.width52{
    width:52% 
}
.width53{
    width:53% 
}
.width54{
    width:54% 
}
.width55{
    width:55% 
}
.width56{
    width:56% 
}
.width57{
    width:57% 
}
.width58{
    width:58% 
}
.width59{
    width:59% 
}
.width60{
    width:60% 
}
.width61{
    width:61% 
}
.width62{
    width:62% 
}
.width63{
    width:63% 
}
.width64{
    width:64% 
}
.width65{
    width:65% 
}
.width66{
    width:66% 
}
.width67{
    width:67% 
}
.width68{
    width:68% 
}
.width69{
    width:69% 
}
.width70{
    width:70% 
}
.width71{
    width:71% 
}
.width72{
    width:72% 
}
.width73{
    width:73% 
}
.width74{
    width:74% 
}
.width75{
    width:75% 
}
.width76{
    width:76% 
}
.width77{
    width:77% 
}
.width78{
    width:78% 
}
.width79{
    width:79% 
}
.width81{
    width:81% 
}
.width82{
    width:82% 
}
.width83{
    width:83% 
}
.width84{
    width:84% 
}
.width85{
    width:85% 
}
.width86{
    width:86% 
}
.width87{
    width:87% 
}
.width88{
    width:88% 
}
.width89{
    width:89% 
}
.width90{
    width:90% 
}
.width91{
    width:91% 
}
.width92{
    width:92% 
}
.width93{
    width:93% 
}
.width94{
    width:94% 
}
.width95{
    width:95% 
}
.width96{
    width:96% 
}
.width97{
    width:97% 
}
.width98{
    width:98% 
}
.width99{
    width:99% 
}
.width100{
    width:100% 
}
.vm-product-container{
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}
div.productdetails-view{
    margin: 30px 0;
    max-width:unset;
    display: flex;
    flex-direction: column;
}
.productdetails-view .back-to-category{
    order: -1;
    margin-bottom: 10px;
}
.productdetails-view .spacer-buy-area{
    display: flex;
    flex-direction: column;
}
.productdetails-view h1{
    font-size: 28px;
    font-weight: 600;
}
.back-to-category .product-details , a.ask-a-question{
    border: 1px solid #6d757e;
    color: #6d757e;
    padding: 5px 10px;
    display: inline-block;
    font-size: 14px;
}
.back-to-category .product-details:hover , a.ask-a-question:hover{
    background: #6d757e;
    color:#fff;
}
.product-neighbours{
    color: #777;
    margin: 0 0 16px;
}
.product-neighbours a.next-page{
    background: unset;
    padding-right: 30px;
    line-height: 20px;
    float: right;
}
.product-neighbours a.previous-page{
    background: unset;
    padding-left: 30px;
    line-height: 20px;
    float: left;
}
.productdetails-view .product-short-description{
    margin: 0 0 16px;
    padding: 0;
}
.productdetails-view .product-description-outer iframe{
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
    height: 560px;
}
.productdetails-view .product-description .title, .product-fields-title-wrapper .product-fields-title strong{
    font-weight: 500;
}
.product-related-products .product-fields-title-wrapper .product-fields-title{
    font-size: 1.4em;
}
.product-related-products{
    text-align: center;
    display: flex;
    flex-direction: column;
}
.product-fields-title-wrapper .hasTooltip, .product-related-products .product-field-desc, .product-related-products .product-fields-title-wrapper img{
    display: none;
}
.productdetails-view .product-description,.product-fields{
    margin: 0;
}
.product-packaging{
    margin: 19px 0 0;
}
.additional-images{
    margin-top:15px;
}

.additional-images img{
    margin-right: 8px;
    width: 100px;
    height: auto;
}
.product-price{
    margin: 0 0 6px;
    text-align: unset;
    font-size: 20px;
    line-height: initial;
}
.category-view .product{
    margin-bottom: 15px;
}
.category-view .product .product-price {
    margin: 0 0 6px;
    text-align: center;
    float: left;
    line-height: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    align-items: center;
}
.vm-price {
    text-align: right;
    line-height: 18px;
}
.vm-price span {
    display: inline-block;
    min-width: 64px;
    padding: 0 3px;
}
span.vm-price-desc {
    text-align: left;
    min-width: 16px;
    margin: 0 3px 3px 0;
}
.vm-cart-price{
    float: left;
    font-weight: bold;
}
.price-crossed div.PricebasePriceWithTax .PricebasePriceWithTax{
    text-decoration: line-through;
    color: #959595;
}
.availability{
    text-align: center;
    margin: 15px 0 0;
    position: absolute;
    top: -33px;
    background: #f1f1f1;
    padding: 0 0px;
    width: 98%;
    left: 1%;
}
.availability img{
    display: none;
}
span.variant-dropdown{
    width: 150px;
    float: left;
    display: block;
    margin-bottom: 5px;
}
span.variant-dropdown select{
    width: 150px;
}
span.custom-variant-inputbox{
    width: 152px;
    float: left;
    display: block;
    margin-bottom: 5px;
}
input.custom-attribute{
    width: 140px;
}
.addtocart-area{
    margin: 0;
}
.addtocart-area form {
    margin: 0;
}

.quantity-box .quantity-controls{
    background: #e9e9ed !important;
    color: #444 !important;
}

.quantity-box .quantity-input, .cart-summary .quantity-input{
    height: 40px;
    width: 40px !important;
    text-align: center;
    font-weight: 700;
    padding: 1px !important;
    margin-bottom:0;
    border-radius: 0 !important;
    border: 1px solid #e9e9ed;
    border-right-width: 1px;
    border-right-width: 0;
}
.cart-summary .quantity-input{
    height: 24px;
    width: 24px;
}


.addtocart-bar > .row{
    display: flex;
    flex-direction: column;
}

.vm-addtocart-button-col{
    margin-top:3px;
}

.addtocart-bar{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 5px 0 0 4px;
    padding: 0;
    position: static;
    text-align: center;
    line-height: 14px;
}
.addtocart-bar svg {
  color: currentColor !important;
}
.productdetails-view .addtocart-bar{
    margin: 15px 0 0;
    padding: 0;
    position: relative;
    bottom: 0;
    text-align: left;
    justify-content: flex-start;
}
.vmgroup .addtocart-bar{
    bottom: 0;
    position: relative;
    margin: 32px 0 0 0;
}
.vmgroup .addtocart-area{
    margin: 8px 0 16px 0;
    margin-top: auto;
}
span.addtocart-button{
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}
span.cart-images img {
    float: left;
    margin: 0;
    width: 45px;
}
/*button.addtocart-button{
    max-width: 100%;
    background: var(--btn-bg-color);
    border: 1px solid var(--btn-bg-color);
    color: var(--btn-color);
    font-size: 16px;
    cursor: pointer;
    text-align: center;
    letter-spacing: 1px;
    padding: 12px;
    margin-bottom: 0;
    transition: all 0.2s linear;
}*/
/*button.addtocart-button:hover span.addtocart-button, span.addtocart-button:hover input.addtocart-button, span.addtocart-button:hover input.notify-button, span.addtocart-button:hover span.addtocart-button-disabled {
    background: var(--btn-bg-hover-color);
    border: 1px solid var(--btn-bg-hover-color);
    color: var(--btn-hover-color);
}*/
.addtocart-bar a.notify{
    max-width: 100%;
    background: var(--btn-bg-color);
    color: var(--btn-color);
    border: solid #d9d9d9 1px;
    border-radius: 0px;
    font-size: 16px;
    cursor: pointer;
    text-align: center;
    letter-spacing: 1px;
    padding: 9px;
    margin-bottom: 0;
    font-weight: normal;
}
span.addtocart-button span.addtocart-button-disabled {
    background: #f2f2f2;
    color: #fff;
    border: solid #333 1px;
    border-radius: 4px;
    font-size: 16px!important;
    font-weight: 400;
    line-height: normal;
}
div.vm-details-button {
    display: none;
}
div.vm-details-button a {
    padding: 11px 16px;
    border: 1px solid gray;
    font-size: 16px;
    max-width: 85%;
    width: 192px;
    line-height: 18px;
}
.browse-view span.addtocart-button-disabled, .featured-view span.addtocart-button-disabled, .discontinued-view span.addtocart-button-disabled, .latest-view span.addtocart-button-disabled, .topten-view span.addtocart-button-disabled, .recent-view span.addtocart-button-disabled, .related-products-view span.addtocart-button-disabled, .browse-view span.addtocart-button-disabled, .addtocart-button-disabled {
    display: inline-block;
    padding: 16px;
    border: 1px solid #ddd;
    font-size: 16px;
    border-radius: 4px;
    margin: 0;
    color: #aaa;
    width: 192px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}
.vm-btn, .vm-btn:link, .vm-btn:active, .vm-btn:visited {
    display: inline-block;
    width: 192px;
    padding: 12px 8px;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    line-height: normal;
    text-align: center;
    background-color: #eee;
    color: #333;
    border: 1px solid #ccc;
}
.vm-btn:hover {
    background-color: var(--btn-bg-color);
    color: var(--btn-color);
    border: 1px solid #ccc;
}
.vm-btn.vm-btn-primary {
    background-color: var(--btn-bg-color);
    color: var(--btn-color);
}
.vm-btn.vm-btn-primary:hover {
    background-color: var(--btn-hover-color);
    color: var(--btn-bg-hover-color);
}
.vm-btn.vm-btn-sm {
    padding: 2px 4px;
}
.vm-btn.vm-btn-lg {
    padding: 7px 12px;
}
/*.category-view .vm-subcategory h4{
    margin: 0;
    padding: 0;
}*/

.category-view .vm-category-description{
    margin-bottom: 1rem !important;
}
.category-view .vm-subcategory{
    margin-bottom: 10px;
}
.category-view .vm-subcategory .vm-subcategory-title{
    font-size: 14px;
    margin: 0;
    padding: 0 !important;
    text-align: center;
    display: flex;
    height: 100%;
    border-top:unset !important;
}
.category-view .vm-subcategory img.browseCategoryImage{
    margin-right: 5px;
    width: 32px;
    max-width: 100%;
    height: auto;
}
.category-view .vm-subcategory img.browseCategoryImage[src^="/images/virtuemart/typeless/noimage"]{
    display: none;
}
.category-view .vm-subcategory a {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    color: #252525;
/*    box-shadow: 1px 5px 15px rgba(0,0,0,.05);*/
    background-color: #e9ecef;
    display: flex;
    padding: 15px 0;
    width: 100%;
}

.featured-view h4,.discontinued-view h4,.latest-view h4,.topten-view h4,.recent-view h4,.related-products-view h4{
    font-size: 14px;
    margin: 0 0 8px;
    padding: 0;
}
.orderby-displaynumber{
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
}

.orderby-displaynumber .input-group{
    width: fit-content;
}
.orderby-displaynumber #vm-orderby-select{
    background: #fff !important;
    padding: 0 20px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.orderby-displaynumber .input-group .btn{
    background: unset !important;
    color: #444 !important;
    border: 1px solid #bbb !important;
}

.orderby-displaynumber .input-group .btn svg{
    fill:currentColor;
}

.orderby-displaynumber .vm-order-list {
    flex: 1;
    order: 1;
}
.orderby-displaynumber .display-number {
    order: 2;
}
@media screen and (max-width:992px) {
    .orderby-displaynumber{
        margin: 0;
        padding: 0;
        justify-content: center;
        text-align: center;
    }
    .orderby-displaynumber .display-number {
        display: none;
    }
    .browse-view .floatright.display-number{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        flex-direction: column;
    }
    .orderby-displaynumber .vm-order-list{
        text-align: center;
    }
}
.orderby-displaynumber .vm-pagination-top {
    order: 3;
}
#limit{
}
.orderlistcontainer{
    display: inline-block;
    text-decoration: none;
    margin: 0;
}
.orderlistcontainer div.activeOrder{
    background: unset;
    cursor: pointer;
    border: solid #CAC9C9 1px;
    padding: 6px 12px;
}
.orderlistcontainer div.activeOrder:after{
    content: "";
    border: solid black;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-left: 10px;
    top: -2px;
    position: relative;
}
.orderlistcontainer a{
    text-decoration: none;
    display: inline-block;
    color: inherit;
}
.orderlistcontainer a :hover{
    text-decoration: none;
    display: block;
    color: #EEE;
    background: #777;
}
.orderlistcontainer div.orderlist{
    display: none;
    position: absolute;
    border: solid #CAC9C9 1px;
    background: #FFF;
    cursor: pointer;
    z-index: 1;
}
.orderlistcontainer div.orderlist div{
    padding: 2px 12px 1px;
}
.orderlistcontainer div.orderlist div:hover{
    color: #EEE;
    background: #CAC9C9;
}
.orderby-displaynumber .display-number, .orderby-displaynumber select, .orderby-displaynumber .orderlistcontainer{
    font-size: 0.85em;
}
.ask-a-question-view .product-summary{
    border-bottom: solid #CAC9C9 1px;
    margin: 25px 0 0;
    padding: 0 0 10px;
}
.ask-a-question-view .product-summary h2{
    font-size: 16px;
    margin: 0;
    padding: 0;
}
.ask-a-question-view .product-summary .short-description{
    margin-top: 6px;
}
.ask-a-question-view .product-summary img.product-image{
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.ask-a-question-view .form-field textarea.field{
    width: 394px;
    border: solid #CAC9C9 1px;
    border-radius: 4px;
    color: #777;
    text-align: left;
    padding: 12px;
}
.ask-a-question-view .form-field textarea.field:hover{
    color: #000;
}
.ask-a-question-view .form-field .submit{
    width: 418px;
}
.ask-a-question-view table.askform, .ask-a-question-view table.askform tr, .ask-a-question-view table.askform td {
    border: 0;
}
.ask-a-question-view table.askform td {
    padding: 5px 0;
}
.ask-a-question-view #recaptcha_area {
    margin-bottom: 20px;
}
.ask-a-question,.manufacturer,.manufacturer-details-view .email-weblink,.manufacturer-details-view .description{
    margin: 10px 0 0;
}
.coupon{
    color: gray;
    border-radius: 4px;
    border: 1px solid #CAC9C9;
    font-size: 9px;
    padding: 3px;
}
textarea.virtuemart{
    background: #fff;
    border: solid #ccc 1px;
    border-radius: 4px;
    color: #777;
    text-align: left;
    padding: 5px 5px 4px;
}
p.product_s_desc{
    line-height: 20px;
    height: 40px;
    margin: 0;
    padding: 0;
    text-align: center;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}
span.stock-level{
    font-size: 10px;
    color: #7d7b7b;
}
.horizontal-separator{
    height: 1px;
    background: #e9e8e8;
    margin: 10px 0;
}
.invalid {
    border-color: #f00!important;
    background-color: #ffd;
    color: #000;
}
label.invalid {
    background-color: #fff;
    color: #f00;
}
.page-results{
    margin-top: 25px;
    text-align: right;
}
.control-buttons button.default{
    margin-left: 8px;
}
table.user-details input{
    background: #e8e8e8 url("/components/com_virtuemart/assets/images/vmgeneral/backgrounds.png") top repeat-x;
    border: solid #ccc 1px;
    border-radius: 4px;
    color: #777;
    margin-bottom: 2px;
    padding: 5px 5px 4px;
    width: 200px;
}
table.user-details input.invalid{
    background: #e8e8e8 url("/components/com_virtuemart/assets/images/vmgeneral/backgrounds.png") top repeat-x;
    border: solid red 1px;
    border-radius: 4px;
    color: #777;
    margin-bottom: 2px;
    padding: 5px 5px 4px;
}
table.user-details{
    width: 450px;
    margin-bottom: 10px;
}
table.user-details input[type="checkbox"], table.user-details input[type="radio"] {
    width: 20px;
}
td.key{
    padding: 0 6px;
    width: 150px;
}
.cart-view h1{
    font-size: 20px;
    margin: 0;
    padding: 0 0 10px;
}
.cart-view h2{
    font-size: 12px;
    margin: 0;
    padding: 0;
}
.checkout-button-top{
    text-align: right;
    border-top: solid #E9E8E8 1px;
    padding: 10px 0 0;
}
.checkout-button-top input.terms-of-service{
    margin-right: 10px;
    display: inline-block;
}
span.tos{
    display: inline-block;
    margin-right: 15px;
}
.billto-shipto{
    border-top: solid #E9E8E8 1px;
    border-bottom: solid #E9E8E8 1px;
    margin: 10px 0 0;
    padding: 10px 0 25px;
}
.billto-shipto span, a.terms-of-service{
    display: inline-block;
    font-size: 14px;
}
#full-tos {
    display: none;
}
.output-billto span.titles,.output-shipto span.titles{
    width: 150px;
    float: left;
}
.output-billto span.values-first_name,.output-billto span.values-middle_name,.output-billto span.values-zip,.output-shipto span.values-first_name,.output-shipto span.values-middle_name,.output-shipto span.values-zip{
    float: left;
    margin-right: 3px;
}
table.cart-summary tr th{
    background: #e8e8e8 url("/components/com_virtuemart/assets/images/vmgeneral/backgrounds.png") top repeat-x;
    border-bottom: solid #E9E8E8 1px;
    padding: 6px 2px 3px;
}
.cart-summary .vm-price-value {
    white-space: nowrap;
}
.cart-summary tr td {
    padding: 5px 3px 2px;
}
.customer-comment{
    text-align: center;
    border-top: solid #E9E8E8 1px;
    margin: 10px 0 0;
    padding: 10px 0 0;
}
textarea.customer-comment{
    background: #fff;
    border: solid #ccc 1px;
    border-radius: 4px;
    color: #777;
    margin-bottom: 2px;
    text-align: left;
    padding: 5px 5px 4px;
}
.cart.customer-note{
    margin: 10px 0 0 0;
}
textarea#customer_note_field {
    margin: 10px 0;
    width: 98%;
}
div.terms-of-service{
    margin: 10px 0 0;
    padding: 10px 0 15px;
    display: inline;
}
.terms-of-service h5{
    background: #7C1E21;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    text-align: center;
    border-radius: 6px;
    font-weight: 400;
    margin: 0;
    padding: 15px;
}
.terms-of-service h5 a,.terms-of-service h5 a:visited{
    color: #fff;
    text-transform: uppercase;
}
.VmArrowdown{
    background: top right no-repeat url("/components/com_virtuemart/assets/images/vmgeneral/arrow_down.png");
    cursor: pointer;
    float: right;
    width: 16px;
    height: 16px;
    padding: 0 12px;
}
ul.VMmenu,.VMmenu ul,.VMmenu li{
    list-style-type: none;
    background-image:none;
    padding: 2px;
}
#com-form-login label{
    display: inline-block;
}
#com-form-login input[type="checkbox"] {
    margin: 0;
}
.vm2-add_quantity_cart{
    background-position: 0 0;
    width: 24px;
    height: 24px;
    border: 0px;
    cursor: pointer;
}
.vm2-arrow_down{
    background-position: 0 -72px;
    width: 16px;
    height: 16px;
}
.vm2-billto-icon{
    background-position: 0 -138px;
    height: 24px;
    margin-right: 6px;
    vertical-align: middle;
    width: 24px;
    border: 0px;
}
.vm2-remove_from_cart{
    background-position: 0 -212px;
    border: 0 none;
    cursor: pointer;
    display: inline-block;
    height: 24px;
    vertical-align: middle;
    width: 24px;
}
.vm2-shipto-icon{
    background-position: 0 -284px;
    height: 24px;
    margin-right: 6px;
    vertical-align: middle;
    width: 24px;
}
.vm2-lowstock, .vm2-normalstock, .vm2-nostock {
    background-position: unset;
    width: auto;
    height: auto;
    float: unset;
    margin: 3px 0;
    display: flex;
    justify-content: center;
}
.vm2-lowstock::before, .vm2-normalstock::before, .vm2-nostock::before{
    content: attr(title);
    font-weight: bold;
    font-size: 0.9rem;
    display: flex;
}
.vm2-nostock::before{
    color:red;
}
.vm2-termsofservice-icon{
    background-position: 0 -1309px;
    height: 24px;
    margin-right: 6px;
    vertical-align: middle;
    width: 24px;
    display: inline-block;
}
.vendor-store-desc,.category-view,.featured-view,.discontinued-view,.latest-view,.topten-view,.recent-view,.related-products-view,.browse-view,.order-view{
    margin-bottom: 25px;
}
.main-image,.featured-view .product,.discontinued-view .product,.latest-view .product,.topten-view .product,.recent-view .product,.related-products-view .product{
    text-align: center;
}
.vm-product-media-rating {
    width: 100%;
    float: left;
}
.vm-product-media-rating h2 {
    border: none;
    margin: 6px 0;
}
.vm-rating-header {
    float: right;
    margin: 0 6px 0 0;
}
.vm-product-media-container {
    position: relative;
    text-align: center;
    max-width: 100%;
/*    margin-bottom: 15px;*/
    margin-right: 15px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.category-view .vm-product-media-container {
    margin-right: 0;
}
.category-view .vm-product-media-container a {
    min-height: 250px;
    height: 250px;
    max-height: 250px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.browse-view .row .product .spacer img,.related-products-view .row .product .spacer img{
    width: auto;
    padding: 0 15px;
}
@media screen and (max-width:992px) {
    .category-view .vm-product-media-container a, .vmgroup .product-container a:first-child:not(.notify):not(.ask-a-question) , .vmgroup .product-container a:first-child > img{
        min-height: 200px;
        height: 200px;
        max-height: 200px;
    }
}
.vm-product-container .vm-product-media-container {
    display: flex;
    flex-shrink: 1;
    flex-grow: 0;
    flex-basis: 52%;
    max-width: 1000px;
    width: 52%;
}
.vm-product-descr-container {
    float: left;
    width: 100%;
    text-align: center;
}
.vm-product-details-container {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-self: flex-start;
}
.valign-wrapper {
    position: relative;
}
.valign-content-wrapper {
    position: absolute;
    height: 100%;
    top: 50%;
    width: 100%;
}
.valign-content {
    position: absolute;
    margin: 0px auto;
    left: 0px;
    right: 0px;
    top: -43px;
}
.main-image img {
    max-width: 100%;
    height:auto;
}
.browseProductImage {
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
}
.browseCategoryImage {
    height: auto;
    max-width: 100%;
}
.customer-reviews,.ask-a-question-view .form-field{
    margin: 25px 0 0;
}
span.variant-name, span.custom-variant-name{
    width: 100px;
    float: left;
    display: block;
    margin-bottom: 5px;
}
.featured-view .spacer,.discontinued-view .spacer,.latest-view .spacer,.topten-view .spacer,.recent-view .spacer,.related-products-view .spacer,.browse-view .row .product .spacer{
    padding: 6px;
    height: 100%;
}
.featured-view .spacer h3,.discontinued-view .spacer h3,.latest-view .spacer h3,.topten-view .spacer h3,.recent-view .spacer h3,.related-products-view .spacer h3{
    font-size: 14px;
    margin: 0 0 3px;
    padding: 0;
}
.display-number,.control-buttons{
    text-align:right !important;
    margin: 0 8px 0 0;
}
.control-buttons #reg_text {
    float: left;
    margin: 0 20px 0 0;
    text-align: left;
}
.control-buttons .reg_text {
    float: left;
    margin: 0 20px 0 0;
    text-align: left;
}
#userForm select,.width80{
    width: 80%;
}
textarea.virtuemart:hover, textarea.customer-comment:hover{
    color: #000;
    background: #e8e8e8;
}
label.invalid, span.red{
    color: red;
}
.output-billto span.values,.output-shipto span.values,.floatleft, span.floatleft{
    float: left;
}
.output-billto span.values,.output-shipto span.values {
    padding-right: 5px;
}
.joomlaCoreField {
    background-color: #FFFFDD;
}
.vm-pagination{
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 10px;
}
.vm-pagination ul {
    --pagination-padding-x:.75rem;
    --pagination-padding-y:.375rem;
    --pagination-font-size:1rem;
    --pagination-color:var(--link-color);
    --pagination-bg:var(--body-bg);
    --pagination-border-width:var(--border-width);
    --pagination-border-color:var(--border-color);
    --pagination-border-radius:var(--border-radius);
    --pagination-hover-color:var(--link-hover-color);
    --pagination-hover-bg:var(--tertiary-bg);
    --pagination-hover-border-color:var(--border-color);
    --pagination-focus-color:var(--link-hover-color);
    --pagination-focus-bg:var(--secondary-bg);
    --pagination-focus-box-shadow:0 0 0 .25rem #01015640;
    --pagination-active-color:#fff;
    --pagination-active-bg:#010156;
    --pagination-active-border-color:#010156;
    --pagination-disabled-color:var(--secondary-color);
    --pagination-disabled-bg:var(--secondary-bg);
    --pagination-disabled-border-color:var(--border-color);
    padding-left:0;
    list-style:none;
    display:flex 
}
.vm-pagination .pagenav {
    padding:var(--pagination-padding-y)var(--pagination-padding-x);
    font-size:var(--pagination-font-size);
    color:var(--pagination-color);
    background-color:var(--pagination-bg);
    border:var(--pagination-border-width)solid var(--pagination-border-color);
    text-decoration:none;
    transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    display:block;
    position:relative 
}
@media (prefers-reduced-motion:reduce) {
    .vm-pagination .pagenav {
        transition:none 
    }
}
.vm-pagination a.pagenav:hover {
    z-index:2;
    color:var(--pagination-hover-color);
    background-color:var(--pagination-hover-bg);
    border-color:var(--pagination-hover-border-color) 
}
.vm-pagination .pagenav:focus {
    z-index:3;
    color:var(--pagination-focus-color);
    background-color:var(--pagination-focus-bg);
    box-shadow:var(--pagination-focus-box-shadow);
    outline:0 
}
.vm-pagination li > span.pagenav{
    z-index:3;
    color:var(--pagination-active-color);
    background-color:var(--pagination-active-bg);
    border-color:var(--pagination-active-border-color) 
}
.vm-pagination li.pagination-prev > span.pagenav, .vm-pagination li.pagination-start > span.pagenav, .vm-pagination li.pagination-next > span.pagenav, .vm-pagination li.pagination-end > span.pagenav{
    color:var(--pagination-disabled-color);
    pointer-events:none;
    background-color:var(--pagination-disabled-bg);
    border-color:var(--pagination-disabled-border-color) 
}
.vm-pagination li:not(:first-child) .pagenav {
    margin-left:calc(var(--border-width)*-1);
}
.vm-pagination li:first-child .pagenav{
    border-top-left-radius:var(--pagination-border-radius);
    border-bottom-left-radius:var(--pagination-border-radius) 
}
.vm-pagination li:last-child .pagenav{
    border-top-right-radius:var(--pagination-border-radius);
    border-bottom-right-radius:var(--pagination-border-radius) 
}
.vm-pagination li > span.pagenav, .active > .page-link{
    background-color: var(--pagination-color);
    border-color: var(--pagination-color);
}
.vm-page-counter{
    margin-left:auto;
    color: #717171;
    margin-bottom: 8px;
}
@media screen and (max-width: 992px) {
    .vm-pagination {
        flex-direction: column;
        align-items: center;
    }
    .vm-page-counter{
        margin-left:initial;
    }
    .vm-pagination ul {
        flex-wrap: wrap;
        justify-content: center;
        display: flex;
    }
}
td.orders-key{
    font-weight: bold;
    text-align: left;
}
.manufacturer-view-default .row .manufacturer .spacer {
    padding: 6px;
}
.product-field-display a img{
    display: block;
}
.product-related-products, .product-related-categories{
    padding-bottom: 10px;
}
.product-related-products img, .product-related-categories img {
    margin: 0 auto;
    min-height: 250px;
    height: 250px;
    max-height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    object-fit: contain;
}
.product-fields .product-field-type-P{
    clear: both;
    border-bottom: 1px solid #EEEEEE;
    margin-top: 18px;
}
.product-field-type-P .product-fields-title{
    font-size: 120%;
}
div.product-field.product-field-type-B,div.product-field.product-field-type-S,div.product-field.product-field-type-I{
    float: left;
    text-align: left;
}
.product-field-type-R, .product-field-type-Z{
    float: left;
    margin: 0 16px;
}
.product-fields-title-wrapper{
    order: -1;
    font-weight: bold;
    padding: 4px 0;
    display: flex;
    flex: 1;
}
.view-productdetails .product-fields-title-wrapper{
    padding: 4px 4px 4px 0;
}
.product-field-type-S ul {
    margin: 0;
    padding: 0 0 0 15px;
}
.vm-customfield-mod img,.vm-customfield-cart img{
    vertical-align: middle;
    width: 16px;
}
.vm-img-desc{
    display: none;
}
.vmpayment_name, .vmpayment_cost, .vmshipment_name, .vmshipment_cost{
    padding: 0 2px;
}
.vmpayment_description,.vmshipment_description {
    color: gray;
    font-size: 9px;
    padding: 0 2px;
}
.vmpayment_cardinfo {
    color: gray;
    font-size: 9px;
}
.virtuemart_search .vm-search-custom-search-input{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
span.vm-search-descr{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 0.9em;
    margin-top: 10px;
}
.virtuemart_search input[type='text'],.virtuemart_search input[type='submit']{
    height: 35px;
    border: 1px solid gray;
}
.virtuemart_search input[type='submit']{
    background: #e9ecef;
    border-left-width: 0;
}
.product-fields .product-field{
    width: 100%;
    float: left;
    display: inline-block;
    margin-bottom: 3px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: .95em;
}
.productdetails-view .product-fields .product-field{
    align-items: flex-start;
    text-align: left;
}
.product-fields .product-field label.other-customfield {
    width: 25%;
    float: left;
    position: relative;
    top: 20px;
    left: -18px;
    margin-bottom: 27px;
    text-align: center;
}
.product-fields .product-field-type-M {
    display: block;
}
.product-fields .product-field-type-M input[type=radio] {
    display: block;
    margin: 10px;
}
.product-fields .product-field-type-M label {
    display: inline-block;
}
.product-fields .product-field-type-M img {
    display: block;
    vertical-align: text-top;
    float: right;
}
.product-field-display {
    vertical-align: middle;
}
.product-fields .product-field .vm-img-desc {
    font-size: 9px;
}
.vm-cart-item-name {
    text-align: left;
    overflow: hidden;
}
.vm-cart-item-sku {
    text-align: left;
}
.vm-cart-item-basicprice{
    min-width: 64px;
    width: 5%;
    text-align: center;
}
.vm-cart-item-quantity{
    min-width: 100px;
    width: 10%;
    text-align: center;
}
.vm-cart-item-tax{
    min-width: 64px;
    width: 5%;
    text-align: center;
}
.vm-cart-item-discount{
    min-width: 64px;
    width: 5%;
    text-align: center;
}
.vm-cart-item-total{
    min-width: 64px;
    width: 5%;
    text-align: center;
}
.vm-search-custom-values-group {
    display: block;
    float: left;
    background-color: #f2f2f2;
    margin: 4px;
    padding: 4px;
}
.buttonBar-right{
    text-align: right;
    float: right;
}
.userfields_info{
    font-weight: bold;
    display: block;
    margin: 0px 0px 8px 0px;
}
.product-container a {
    color: inherit;
    font-weight: bold;
}
.vm-product-descr-container h2 {
    min-height: 51px;
    margin-bottom: 0px;
}
.vm-product-descr-container-0 {
    min-height: 50px;
    margin-bottom: 6px;
    padding: 0 5px;
}
.navigation-wrapper ~ .vm-product-descr-container-1 {
    margin-top: 0;
}
.vm-product-descr-container-1 {
    min-height: 90px;
    margin-bottom: 6px;
    padding: 0 5px;
    margin-top:30px;
}
.vm-product-descr-container-1 > h2, .vm-product-descr-container-0 > h2 {
    font-size: 18px;
    line-height: 20px;
    margin: 0 0 10px 0;
    text-align: center;
    height: 60px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}

.vmLoadingDiv, .vmLoadingDiv:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
}
.vmLoadingDiv {
    display: none;
    background: unset !important;
    position: fixed;
    z-index: 1000;
    top: 45% !important;
    left: 50% !important;
    width: 50px !important;
    height: 50px !important;
    transform: translateX(-50%);
    font-size: 6px;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(0, 0, 0, 0.5);
    border-right: 1.1em solid rgba(0, 0, 0, 0.5);
    border-bottom: 1.1em solid rgba(0, 0, 0, 0.5);
    border-left: 1.1em solid rgba(0, 0, 0, 0);
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
.vmLoading .vmLoadingDiv {
    display: block;
}
.vmLoadingDiv .vmLoadingDivMsg {
    position: relative;
    top: 50%;
}
.vm-products-horizon.vm-col {
    width: 100%;
}


.cart-summary td, .cart-summary th {
    border: 1px solid #ddd;
}
.vm-payment-plugin-single label, .vm-shipment-plugin-single label {
    display: inline;
}
.chzn-container, .chzn-drop{
    max-width: 100%;
}
.product-field-type-C .chzn-container {
    margin-bottom: 10px;
}
.vm-categories-wall{
    list-style:none;
    margin:0 0 20px;
    padding:0;
}
.vm-categories-wall a{
    font-weight:bold;
    display:block 
}
.vm-categories-wall-catwrapper{
    margin-bottom:15px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.vm-categories-wall-img{
    margin-bottom:10px 
}
.vm-categories-wall .width50:nth-child(2n +1), .vm-categories-wall .width33:nth-child(3n +1), .vm-categories-wall .width25:nth-child(4n +1), .vm-categories-wall .width20:nth-child(5n +1), .vm-categories-wall .width16:nth-child(6n +1){
    clear:left 
}
body:not(.view-productdetails) .product-container{
    border: 1px solid #ddd;
/*    margin: 2px;*/
    display: flex;
    flex-direction: column;
}
body:not(.view-productdetails) .product-container > div:nth-last-child(3){
    margin-top: auto;
}
body:not(.view-productdetails) .product-container .product-field.product-field-type-S{
    flex-direction: row;
}
body:not(.view-productdetails) .product-container .product-field.product-field-type-S .product-fields-title-wrapper ~ .product-field-display{
    width: 50%;
    text-align: right;
}
@media all and (max-width: 980px) {
    div#nav {
        display: none;
    }
    div#contentarea {
        padding: 0;
    }
    .vm-product-container{
        flex-direction: column;
    }
    .vm-product-container .vm-product-media-container, .vm-product-container .vm-product-details-container {
        width: 100%;
        float: none;
        margin-bottom: 15px;
        margin-right: 0;
    }
    .productdetails-view .product-description-outer iframe{
        height: 250px;
    }
    .vm-product-container .vm-product-media-container{
        order:0 
    }
    .vm-product-container .additional-images{
        order:1 
    }
    .vm-product-container .vm-product-details-container{
        order:2 
    }
    .vm-pagination ul {
        flex-wrap: wrap;
        justify-content: center;
        display: flex;
    }
    body:not(.view-productdetails) .product-container .product-field .product-fields-title-wrapper, body:not(.view-productdetails) .product-container .product-field .product-field-display {
        width:auto;
    }
    .view-productdetails .ask-a-question {
        display: flex;
        justify-content: center;
    }
    .view-productdetails .manufacturer .manuModal img{
        object-position:center;
    }
}
@media all and (max-width: 800px) {
    div#line {
        display: none;
    }
    div#nav {
        display: none;
    }
    div.vendor-store-desc {
        display: none;
    }
    div[class*="vm-col-"] {
        width: 49%;
    }
    .vm-col-3 {
        width: 49%;
    }
    h1#logo {
        margin-left: 0;
    }
}
@media screen and (max-width: 768px) {
    .vm-categories-wall-catwrapper{
        width: 50%;
    }
    .vm-categories-wall .vm-categories-wall-catwrapper:nth-child(2n +1){
        clear:left;
    }
    .vm-categories-wall .width50:nth-child(2n +1), .vm-categories-wall .width33:nth-child(3n +1), .vm-categories-wall .width25:nth-child(4n +1), .vm-categories-wall .width20:nth-child(5n +1), .vm-categories-wall .width16:nth-child(6n +1){
        clear: none;
    }
    .row div[class*="width"]{
        width: 50%;
        float: none;
        margin-bottom: 15px;
    }
}
@media screen and (max-width: 480px){
    #header ul {
        text-align: center;
    }
    div.product {
        float: left;
        margin: auto;
        width: 49%;
    }
    .productdetails-view .spacer-buy-area {
        padding: 0;
    }
    .productdetails-view .addtocart-area, .productdetails-view .manufacturer, .productdetails-view .addtocart-bar{
        text-align: center;
    }
    .row div[class*="width"]{
        width: 100%;
    }
    div[class*="vm-col-"] {
        width: 100%;
    }
    .vm-two-per-line-products-mob.com_virtuemart.view-category .grid-child.container-component{
        grid-column: full-start/full-end;
        padding: 0 5px;
    }
    .vm-two-per-line-products-mob div[class*="vm-col-"] {
        width: 50% !important;
    }
    .vm-two-per-line-products-mob .category-view .product {
        padding: 0;
        margin: 0 0 5px 0;
    }
}
@media all and (max-width: 400px) {
    #header ul {
        right: 0px;
        left: 0px;
    }
}
@media screen and (max-width: 360px) {
    .vm-categories-wall-catwrapper{
        width: 100%;
    }
}
.customer-reviews h4{
    border-bottom: solid #CAC9C9 1px;
    font-size: 1.0em;
    margin: 0 0 10px;
    padding: 0 0 6px;
}
.write-reviews{
    text-align: center;
    margin: 20px 0 0;
}
.write-reviews h4{
    text-align: left;
}
.write-reviews h4 span{
    font-size: 1.0em;
    font-weight: 400;
    margin-left: 8px;
}
.write-reviews span.step{
    font-weight: 700;
    display: inline-block;
    margin: 0 0 8px;
}
.rating{
    text-align: center;
    margin: 0 0 20px;
    padding: 0;
}
.write-reviews ul.rating li{
    display: inline-block;
    list-style: none;
    text-align: center;
    padding: 0 5px;
}
.write-reviews ul.rating li span{
    display: block;
}
.write-reviews textarea.virtuemart{
    margin-bottom: 6px;
    display: inline-block;
}
.list-reviews .normal{
    border: solid #CAC9C9 1px;
    margin-bottom: 8px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    padding: 12px;
}
.list-reviews .normal blockquote,.list-reviews .highlight blockquote{
    margin-top: 12px;
    font-size: 12px;
    word-wrap: break-word;
}
.list-reviews .normal blockquote:before,.list-reviews .highlight blockquote:before{
    content: open-quote;
    font-weight: 700;
    font-size: 24px;
    padding-right: 6px;
}
.list-reviews .normal blockquote:after,.list-reviews .highlight blockquote:after{
    content: close-quote;
    font-weight: 700;
    font-size: 24px;
    padding-left: 6px;
}
.list-reviews .highlight{
    background: #f7f6f6;
    border: solid #CAC9C9 1px;
    margin-bottom: 8px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    padding: 12px;
}
.list-reviews span.date{
    float: right;
    display: block;
    color: #777;
    border-left: solid #CAC9C9 1px;
    border-bottom: solid #CAC9C9 1px;
    position: relative;
    top: -12px;
    right: -12px;
    font-size: 10px;
    -moz-border-radius-bottomleft: 4px;
    -webkit-border-bottom-left-radius: 4px;
    padding: 4px 6px 2px;
}
.vm2-stars0{
    background-position: 0 -358px;
    width: 64px;
    height: 13px;
}
.vm2-stars1{
    background-position: 0 -421px;
    width: 64px;
    height: 13px;
}
.vm2-stars2{
    background-position: 0 -484px;
    width: 64px;
    height: 13px;
}
.vm2-stars3{
    background-position: 0 -547px;
    width: 64px;
    height: 13px;
}
.vm2-stars4{
    background-position: 0 -610px;
    width: 64px;
    height: 13px;
}
.vm2-stars5{
    background-position: 0 -673px;
    width: 64px;
    height: 13px;
}
.vm2-stars_0{
    background-position: 0 -736px;
    width: 64px;
    height: 13px;
}
.vm2-stars_1{
    background-position: 0 -799px;
    width: 64px;
    height: 13px;
}
.vm2-stars_2{
    background-position: 0 -862px;
    width: 64px;
    height: 13px;
}
.vm2-stars_3{
    background-position: 0 -925px;
    width: 64px;
    height: 13px;
}
.vm2-stars_4{
    background-position: 0 -988px;
    width: 64px;
    height: 13px;
}
.vm2-stars_5{
    background-position: 0 -1051px;
    width: 64px;
    height: 13px;
}
.vm-product-rating-container {
    text-align: left;
    display: flex;
    flex-direction: column;
}
.ratingbox {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 24px;
    background: url("/components/com_virtuemart/assets/images/color-stars.png") repeat-x scroll 0 bottom transparent;
}
.ratingbox div, .ratingbox span {
    background: url("/components/com_virtuemart/assets/images/color-stars.png") repeat-x;
    display: block;
    width: 1%;
    height: 24px;
    position: static;
}
.browse-view .ratingbox{
    margin: 0 auto 15px;
}
.spacer-buy-area .ratingbox {
    margin-bottom: 15px;
}
div.vote, span.vote {
    display: block;
    margin-bottom: 4px;
    float: right;
    margin-left: 130px;
}
.category-ratingbox {
    position: relative;
    display: block;
    width: 60px;
    height: 12px;
    background: url("components/com_virtuemart/assets/images/color-stars-small.png") repeat-x scroll 0 bottom transparent;
}
.category-ratingbox div, .category-ratingbox span {
    background: url("components/com_virtuemart/assets/images/color-stars-small.png") repeat-x;
    display: block;
    width: 1%;
    height: 12px;
    position: absolute;
}
.stars-orange{
    background-position:0 0 !important;
}
.stars-red{
    background-position:0 -54px !important;
}
.stars-green{
    background-position:0 -108px !important;
}
.stars-blue{
    background-position:0 -162px !important;
}
.stars-purple{
    background-position:0 -216px !important;
}
@media screen and (max-width: 768px) {
    .spacer-buy-area .ratingbox {
        margin: 0 auto 15px;
    }
}
.manufacturer .manuModal{
    display: inline-flex;
    margin: 7px 0;
}
.manufacturer .manuModal img{
    max-height: 75px;
    max-width: 100%;
    object-fit: contain;
    width: 150px;
    object-position: left;
}
.viewproduct-manufacturer-label{
    margin-bottom: 5px;
    font-size: 0.95rem;
}
.manufacturer-image {
    width: 80px !important;
}
.tag-outer{
    position: absolute;
    display: flex;
    flex-direction: column;
    z-index: 1;
}
.tag-outer-left {
    left: 5px;
    top: 5px;
    align-items: flex-start;
}
.tag-outer-right {
    right: 5px;
    top: 5px;
    align-items: flex-end;
}
.tag{
    display: flex;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 10px;
    margin-bottom: 7px;
    align-items: center;
    justify-content: center;
}
.tag.new {
    background: #40c4ff;
    color: #fff;
}
.tag.sold {
    background: #adadad;
    color: #fff;
}
.tag.discount {
    background: #40c4ff;
    color: #fff;
}
.tag.discontinued{
    background: #40c4ff;
    color: #fff;
}
.com_virtuemart.view-user #com-form-login{
    margin-bottom: 20px;
    border-bottom: 2px solid #f2f2f2;
    padding-bottom: 15px;
}
.com_virtuemart.view-user #com-form-login > .width30 {
    width: auto;
    margin-right: 25px;
}
.com_virtuemart.view-user #com-form-login , #com-form-login .userdata{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width:100%;
    justify-content: center;
}
.com_virtuemart.view-user #com-form-login-username, #com-form-login-password, #com-form-login-remember {
    width: 100%;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
}
.com_virtuemart.view-user #com-form-login-remember {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
.com_virtuemart.view-user label[for='remember']{
    padding-right: 5px;
}
.com_virtuemart.view-user #com-form-login-remember input.default{
    margin-left: 15px;
}
.com_virtuemart.view-user #com-form-login-remember input.default, .com_virtuemart.view-user button[type="submit"], .com_virtuemart.view-user button[type="reset"]{
    order: 1;
    border: unset;
    padding: 5px 20px;
    background: var(--btn-bg-color);
    color: var(--btn-color);
    font-weight: bold;
}
.com_virtuemart.view-user button[type="reset"]{
    background: #e9e9ed;
    color: #333;
}
.com_virtuemart.view-user .adminForm.user-details{
    width: 100% !important;
}
.com_virtuemart.view-user h1{
    font-size: 26px;
    line-height: 1.1;
    font-weight: normal;
    text-transform: uppercase;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid #E5E5E5;
    text-align: center;
}
.com_virtuemart.view-user h2{
    font-size: 24px;
    line-height: 1.1;
    color: #555;
    margin: 0 0 20px;
    text-align: center;
}
.com_virtuemart.view-user .userfields_info{
    font-size: 20px;
    line-height: 1.1;
    color: #555;
    margin: 0 0 20px;
    font-weight: normal;
    padding: 0;
    margin: 10px 0;
}
.com_virtuemart.view-user select{
    width: 100% !important;
}
label.invalid, span.red {
    background-color: #fff;
    color: #A94442;
}
.com_virtuemart.view-user #adminForm{
    display: flex;
    flex-direction: column;
}
.com_virtuemart.view-user #adminForm table tr{
    border-bottom: 15px solid transparent;
}
.com_virtuemart.view-user #adminForm .buttonBar-right{
    order: 1;
    float: unset;
    text-align: center;
}
.com_virtuemart.view-user input,.com_virtuemart.view-user select{
    display: block;
    padding: 0.5rem 0.5rem;
    font-size: 1rem;
    line-height: 1.25;
    color: #777;
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0px;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.com_virtuemart.view-user .user-details input{
    width: 100%;
}
.com_virtuemart.view-user .form-control:focus, .com_virtuemart.view-user select:focus, .com_virtuemart.view-user textarea:focus, input:focus, .com_virtuemart.view-user .uneditable-input:focus, .com_virtuemart.view-user .inputbox:focus {
    border-color: #333 !important;
}
.com_virtuemart.view-user .invalid,.com_virtuemart.view-user .has-error select,.com_virtuemart.view-user .has-error textarea,.com_virtuemart.view-user .has-error input, .uneditable-input, .com_virtuemart.view-user .has-error .inputbox {
    border-color: #A94442 !important;
}
#fancybox-wrap {
    left: 50% !important;
    top:50% !important;
    transform: translate(-50% -50%) !important;
    max-width: 100vw !important;
}
#fancybox-outer{
    display: flex;
}
#fancybox-outer .continue_link,#fancybox-outer .showcart{
    width: 50%;
    border-radius: 0;
    margin-bottom: 15px;
}
#fancybox-outer{
    display: flex;
    flex-direction: column;
}
#fancybox-content,#fancybox-title{
    max-width: 100%;
}
#fancybox-close {
    top: -20px !important;
    right: -10px !important;
}
.col-tax .PricetaxAmount,.col-tax .PricetaxAmount span,.col-tax .PricediscountAmount,.col-tax .PricediscountAmount span {
    font-size: inherit !important;
}
.vmpayment{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.vmpayment .vmCartPaymentLogo{
    width: 28px;
    margin-right: 3px;
}
.vmproduct{
    display: flex;
}
.vmproduct .product-container{
    flex: 1 1 0px;
    width: auto;
}
.vmproduct .product-container .spacer a:first-of-type:not(.notify):not(.ask-a-question){
    min-height: 250px;
    height: 250px;
    max-height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.vmproduct .product-container .spacer a:first-of-type img {
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.vmproduct .product-container a:nth-of-type(2) {
    font-size: 18px;
    line-height: 20px;
    margin: 10px 5px;
    text-align: center;
    height: 60px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}
.product-container .productdetails {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    margin: 0 10px;
}
.vmproduct .product-container .product-price{
    text-align: center 
}
@media screen and (max-width: 992px) {
    .productdetails-view .vm-product-container .product-price {
        position: fixed;
        bottom: 0;
        left: 0;
        background: #f3f3f3;
        border-top: 1px solid #eeeeee;
        width: 45%;
        margin: 0;
        height: 65px;
        display: flex;
        flex-wrap: wrap;
        z-index: 2;
        font-size: 16px;
        line-height: 16px;
        white-space: nowrap;
        align-items: center;
        justify-content: center;
        border-top-left-radius: 8px;
        border-top: 1px solid #e9e9ed;
        padding-right: 10px;
    }
    .productdetails-view .vm-product-container .addtocart-bar {
        position: fixed;
        bottom: 0;
        margin: 0;
        right: 0;
        border-top: 1px solid #e9e9ed;
        background: #f3f3f3;
        width: 55.1%;
        height: 65px;
        justify-content: center;
        flex-wrap: nowrap;
        z-index: 2;
        border-top-right-radius: 8px;
    }
    .productdetails-view .vm-product-container span.addtocart-button span.addtocart-button, .productdetails-view .vm-product-container span.addtocart-button input.addtocart-button, .productdetails-view .vm-product-container span.addtocart-button input.notify-button, .productdetails-view .vm-product-container span.addtocart-button span.addtocart-button-disabled {
        font-size: 14px;
        padding: 12px 6px;
    }
    .productdetails-view .vm-product-container .quantity-box .quantity-input{
        width: 35px !important;
    }
    .productdetails-view span.vm-price-desc {
        min-width: 16px;
        margin: 0 5px 0px 0;
    }
    .productdetails-view .vm-product-container h1 {
        order: 0;
    }
    .productdetails-view .vm-product-container .spacer-buy-area {
        order: 1;
    }
    .productdetails-view .vm-product-container .product-short-description {
        order: 2;
    }
}
.proopc-btn-info{
    background:var(--btn-bg-color) !important;
    color:var(--btn-color) !important;
    transition: all 0.2s linear !important;
}
.proopc-btn-info:hover{
    background:var(--btn-bg-hover-color) !important;
    color:var(--btn-hover-color) !important;
}
#ProOPC div.proopc-input-append input[type="text"].proopc-qty-input, #ProOPC div.proopc-input-append input[type="number"].proopc-qty-input {
    max-width: 50px;
    width: 50px;
}
.vm-product-media-container.product-media-carousel{
    justify-content:flex-start;
}
.product .product-container .dots, .product .product-container .arrow{
    visibility:hidden;
    opacity:0;
    transition:visibility 0.3s linear,opacity 0.3s linear;
}
@media (hover: hover) {
    .product:hover .product-container .dots, .product:hover .product-container .arrow{
        visibility:visible;
        opacity:1;
    }
}
@media (hover: none) {
    .product .product-container .dots, .product .product-container .arrow{
        visibility:visible;
        opacity:1;
    }
}
.related-products-wrapper{
    display: flex;
}
.related-products-wrapper:not(.keen-slider){
    flex-wrap: wrap;
}
.related-products-wrapper > div {
    margin: 0;
    padding: 0 15px;
}
.related-products-wrapper:not(.keen-slider) > div{
    flex: 50%;
}
#fancybox-content .product-related-products > h4{
    order: -1;
    font-weight: normal;
}
.additional-images.keen-slider img{
    margin: 0 
}
.additional-images.keen-slider > div {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    float: unset;
}
.additional-images.keen-slider > div.active {
    border: 2px dashed #adadad;
}
.vm-product-media-container .navigation-wrapper{
    width: 100%;
}
.vm-product-media-container .navigation-wrapper .dots{
    display: none 
}
.product-image-wrapper img{
    object-fit: contain;
}


/* custom filters */
.addtocart-area .cf4all_wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.customfield_wrapper > label{
    margin-bottom: 8px;
}

/* one page checkout */
#ProOPC{
    margin-bottom: 50px;
}
#ProOPC select{
    height: 28px !important;
}