

/* LOADER */

.product-loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(154, 171, 179, 0.40);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

.product-loader-wheel {
    animation: spin 1s infinite linear;
    border: 4px solid #0a92cd;
    border-left: 4px solid #fff;
    border-radius: 50%;
    height: 50px;
    width: 50px;
}

/*.product-loader-text:after {
    content: 'Loading';
    animation: load 2s linear infinite;
}*/

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

/*@keyframes load {
    0% {
        content: 'Laden';
    }
    33% {
        content: 'Laden.';
    }
    67% {
        content: 'Laden..';
    }
    100% {
        content: 'Laden...';
    }
}*/

/* END LOADER*/


/*************************** PRODUCTS TOOLBAR **************************/

.products-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 1px solid #C7D2D9;
    margin-bottom: 24px;
}

.products-toolbar > div {
    margin-bottom: 12px;
}

.products-count {
    display: flex;
    align-items: center;
}

.products-count > span {
    font-size: 18px;
    letter-spacing: -0.2px;
    margin-left: 6px;
}

.products-sorting {
    display: flex;
    align-items: center;
}

.products-sorting label {
    white-space: nowrap;
    margin-right: 8px;
}

.products-sorting select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    background: #fff url(/assets/icons/icon-arrowdown-darkgrey-12.svg) right 8px center no-repeat;
    border: 1px solid #C7D2D9;
    border-radius: 4px;
    padding: 0 24px 0 8px;
    height: 40px;
    line-height: 40px;
    width: 100%;
    font-size: 14px;
    cursor: pointer;
}

.products-sorting select:hover {
    border-color: #9AABB3;
}

.products-sorting select:focus-visible {
    border-color: #0092D2;
}




/*************************** SCROLL TO RESULTS **************************/

#product-scroll-to-results {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}

#product-scroll-to-results a {
    display: inline-block;
    position: sticky;
    bottom: 80px;
    margin-bottom: 80px;
    background: #fff;
    box-shadow: 0 8px 20px 0 rgba(22,60,92,0.10);
    padding: 8px 16px 8px 52px;
    border-radius: 4px;
    border: 3px solid #fff;
}

#product-scroll-to-results a:before {
    content: '';
    display: block;
    width: 40px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #0092D2 url(/assets/icons/icon-arrowscrolltotop-white-20.svg) center center no-repeat;
    border-radius: 4px;
}

#product-scroll-to-results a:hover:before {
    background-color: #003247;
}

#product-scroll-to-results a span {
    font-weight: 600;
}





/*************************** PRODUCT TILES **************************/

.product-tiles {
    display: flex;
    flex-wrap: wrap;
    margin: -10px -10px 14px -10px;
}

/******************** PRODUCT TILE *********************/

.product-tile {
    display: flex;
    flex-direction: column;
    width: calc(25% - 20px);
    margin: 10px;
    padding: 12px 12px 16px 12px;
    background-color: #fff;
    border-radius: 0 0 4px 4px;
}

.product-tile:hover {
    box-shadow: 0 8px 20px 0 rgba(22, 60, 92, 0.1), inset 0 5px 0 0 #003247;
}

/******************** PRODUCT IMAGE *********************/

.product-tile-image-wrapper {
    margin: 8px;
    position: relative;
}

/******************** INSTANCE COUNT ********************/

.product-tile-instance-count {
    position: absolute;
    top: 0;
    left: 0; 
    display: flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: -0.36px;
    line-height: 16px;
    background: #003247;
}

.product-tile-instance-icon {
    margin-right: 8px;
}


/******************** ADD TO FAVOURITES ********************/

.product-tile-add-to-favourites {
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background: transparent;
    width: 24px;
    height: 24px;
    padding: 0;
}

/******************** IMAGE ********************/

.product-tile-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 210px;
}

.product-tile-image img {
    max-width: 100%;
    max-height: 100%;
    pointer-events: none;
}

/******************** STANDARDS ********************/

.product-tile-standards-wrapper {
    font-size: 0;
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
}

.product-tile-standard-icon {
    background: #fff;
    border-radius: 100%;
    padding: 4px;
    margin: 2px;
    border: 2px solid #0092D2;
}


/******************** PRODUCT INFO *********************/

.product-tile-info-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.product-tile-info {
    margin: 8px;
}

.product-tile-brand {
    font-size: 12px;
    color: #003247;
    letter-spacing: -0.15px;
    line-height: 16px;
    margin-bottom: 6px;
}

.product-tile-category {
    font-size: 12px;
    letter-spacing: -0.15px;
    line-height: 16px;
    background: url(/assets/icons/icon-arrowforward-blue-12.svg) left 2px no-repeat;
    padding-left: 16px;
    display: block;
    margin-bottom: 6px;
}

.product-tile-title {
    display: block;
    margin-bottom: 6px;
}

.product-tile-data {
    font-size: 12px;
    letter-spacing: -0.15px;
    line-height: 16px;
    margin-bottom: 6px;
}

.product-tile-data:last-child {
    margin-bottom: 12px;
}

.product-tile-stock.in-stock {
    background: url(/assets/icons/icon-check-round-green-16.svg) left top no-repeat;
    padding-left: 20px;
    color: #0eae0e;
    letter-spacing: -0.1px;
    line-height: 16px;
    font-weight: 600;
}



/******************** PRODUCT ADD TO CART *********************/

.product-tile-price-container {
    margin: 8px;
}

.product-tile-price .price {
    font-size: 23px;
    line-height: 32px;
    letter-spacing: -0.6px;
    font-weight: 700;
}

.product-tile-price .unit {
    color: #74838A;
    letter-spacing: -0.1px;
    line-height: 18px;
    font-weight: 600;
}

.product-tile-tax {
    color: #74838A;
    letter-spacing: -0.1px;
    line-height: 18px;
    font-weight: 600;
}

.product-tile-attribute-selector {
    margin: 8px;
    display: flex;
    flex-direction: column;
}

.product-tile-attribute-selector label {
    flex: 100%;
    margin: 0 0 2px 0;
    font-size: 12px;
    color: #003247;
    letter-spacing: -0.15px;
    line-height: 16px;
    font-weight: 400;
}

.product-tile-attribute-selector select {
    flex: 100%;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    background: #fff url(/assets/icons/icon-arrowdown-darkgrey-12.svg) right 8px center no-repeat;
    border: 1px solid #C7D2D9;
    border-radius: 4px;
    padding: 0 8px;
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    cursor: pointer;
}

/********************* QUANTITY ******************/

.product-tile-quantity-wrapper {
    padding: 4px;
    display: flex;
    flex-wrap: wrap;
}

.product-tile-quantity-wrapper .quantity-wrapper {
    margin: 4px;
    flex: 1 0 auto;
}

.product-tile-quantity-wrapper .quantity-button {
    width: 39px;
    height: 38px;
}

.product-tile-quantity-wrapper .quantity-wrapper input[inputmode="numeric"] {
    height: 38px;
    width: 40px;
    flex: 1;
}

.product-tile-quantity-wrapper .primary-button.medium.add-to-cart-button {
    margin: 4px;
    flex: 10 0 auto;
}

