/* General layout */
.wb-prostore-block{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
}
.wb-prostore-block>.productFilters{
    flex-basis:300px;
    width:300px;
    flex-grow:0;
    flex-shrink:0;
    
    background:#f1f1f1;
}
.wb-prostore-block>.productListingArea{
    flex-basis:100%;
    flex-grow:1;
}

/* Product compare screen */
.productCompareArea{
    width:100%;
}
.productCompareScroller{
    width:100%;
    overflow-x:auto;
    position:relative;
}
.productCompareScroller .productCompareTable{
    width:auto;
    max-width:none;
    
    border-collapse: collapse;
    background:#f1f1f1;
}
.productCompareTable tr:nth-child(2n-1){
    background:#fff;
}
.productCompareTable th,
.productCompareTable td{
    min-width:200px;
    padding:8px 8px;
    line-height:1.4;
    border:2px solid white;
}
.productCompareTable th{
    width:200px;
    width:calc( 200px - 4px );
    background:#f1f1f1;
    position:sticky;
    left:-2px;
    z-index:4;
}
.productCompareTable tr:nth-child(2n-1) th{
    background:#fff;
}
.productCompareFooter{
    text-align:right;
    width:100%;
}
.productCompareFooter .inlineLink{
    display:inline-block;
}

/* Keyword search input */
.searchBox_input>input{
    background:#fff;
    width:100%;
    padding:12px 8px;
}

.productLogo{
    margin:1em 1em 0 1em;
    width:100%;
    width:calc( 100% - 2em );
}

/* Filter Boxes */
.filterBox,
.searchBox{
    margin:1em;
}
.searchBox{
    margin-top:5px;
}
.filterBox_title,
.searchBox_title{
    background:#1F2E57;
    color:#fff;
    margin:0;
    padding:8px;
    text-transform:capitalize;
}
.filterBox_options{
    background:#fff;
    max-height:300px;
    overflow-y:auto;
    border-left:1px solid #777;
    border-right:1px solid #777;
}
.filterItem__grey label{
    color:#999;
}
.filterBox_actions,
.searchBox_actions{
    display:flex;
}
.filterBox_btn,
.searchBox_btn{
    flex-grow:1;
    flex-basis:50%;
    text-align:center;
    text-transform: uppercase;
    font-weight:bold;
    cursor:pointer;
    padding:12px 5px;
    background:#777;
    color:#fff;
}
.filterBox_btnPri,
.searchBox_btnPri{
    background:#1F2E57;
    color:#fff;
}
.filterBox_nav{
    padding:12px 10px;
    color:#1F2E57;
    background:#fff;
    border-left:1px solid #777;
    border-right:1px solid #777;
    cursor:pointer;
}
.filterBox_parent{
    font-size:0.9em;
    opacity:0.8;
    padding:8px 5px 2px 5px;
}
.filterBox_options input[type="checkbox"]{
    clear:left;
    vertical-align: top;
    position: relative;
    top: 3px;
}
.filterBox_options label{
    display:inline-block;
    width:calc( 100% - 20px );
}

/* Dimension sliders */
.filterBox__slider{
    margin:10px 0;
}
.sliderBar__bar{
    position:relative;
    background:rgba(0,0,0,0.2);
    height:4px;
    margin:10px 0;
}
.sliderBar__progress{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#1F2E57;
}
.sliderBar__handle {
    position:absolute;
    top:-5px;
    left:0;
    height:14px;
    width:14px;
    margin-top:-0.5px;
    cursor:pointer;
    background:#444;
    border-radius:50%;
    z-index:2;
}
.sliderBar__handle_right{
    margin-left:-14px;
}
.sliderBar__inputs{
    display:flex;
    justify-content:space-between;
}
.sliderBar__input_right{
    text-align:right;
}

/* Compare link */
.productCompareLink{
    margin: 1em;
    padding:8px 0;
    font-weight:bold;
    text-transform:uppercase;
    cursor:pointer;
    text-align:center;
}
.inlineLink{
    color:#1F2E57;
    cursor:pointer;
}

/* ProductListing Header */
.productHeader{
    display:flex;
    padding:10px;
}
.productOrderSelect{
    border:none;
    font-weight:bold;
    cursor:pointer;
    background:transparent;
    outline:none;
    border-radius:0;
}
.productStats{
    text-align:right;
    flex-grow:1;
}

/* Product Listing */
.productListing{
    display:flex;
    flex-wrap:wrap;
}
.productListing>.productInd,
.productListing>.categoryInd{
    flex-basis:calc( 25% - 20px );
    margin:10px;
    
    border:1px solid #777;
    /* cursor:pointer; */
}
.productListing>.productInd{
    padding-top:5px;
}
.productListing>.categoryInd{
    cursor:pointer;
}
.productImage,
.categoryImage{
    width: 100%;
    height: 0;
    display:block;
    padding-bottom: 66%;
    position: relative;
    overflow: hidden;
    background:url( '../img/placeholder.png' );
    background-color: #fff;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.categoryImage{
    background-size: cover;
}
.productTitle,
.productDescription{
    padding:0 5px;
}
.productInd{
    padding-bottom:60px;
    position:relative;
}
.productActions{
    position:absolute;
    bottom:0;
    width:100%;
    
    display:flex;
    
    border-top:1px solid #777;
}
.productActions>.productButton{
    flex-basis:50%;
    flex-grow:0;
    flex-shrink:1;
    
    border-right:1px solid #777;
}
.productCompareTable .productButton{
    background:#444;
    color:#fff;
    margin:5px 0;
}
.productButton{
    font-size:0.8;
    line-height:1.1;
    text-transform:uppercase;
    text-align:center;
    padding:8px 2px;
    cursor:pointer;
}
.productButton:last-child{
    border-right:0;
}
.productButton svg{
    display:block;
    margin:0 auto;
}
.productButton .add_txt{
    padding-top:5px;
}
.productButton.in_list,
.productButton.in_compare{
    background: #1F2E57;
    color: #fff;
}

.scrollLoader__inner{
    text-align:center;
    padding:20px 10px;
    cursor:pointer;
}

/* Error message */
.errorMsg{
    flex-basis: 100%;
    text-align:center;
    height:auto !important;
    display:block;
    padding:50px 20px;
    background:#eee;
    border-bottom:3px solid #ED1B2E;
    margin:16px 8px;
}

/* Loading spinner */
.ps_loader,
.ps_loader:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
}
.ps_loader {
    margin: 20px auto;
    font-size: 6px;
    position: relative;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(0, 83, 159, 0.2);
    border-right: 1.1em solid rgba(0, 83, 159, 0.2);
    border-bottom: 1.1em solid rgba(0, 83, 159, 0.2);
    border-left: 1.1em solid rgb(0, 83, 159);
    -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);
    }
}
