html {scroll-behavior: smooth;}
body {
    font-family: -apple-system, BlinkMacSystemFont,"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",sans-serif;
    background-color: #f7f7f7;
}


/* Buttons/Links */
.btn, .btn-secondary {
    background-color: #000000;
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    border: none;
    font-weight: 700;
}

.btn:hover {background-color:#292525;color: white;}
.btn-secondary {color: black;background-color: transparent; border-bottom: 2px solid transparent;}
.btn-secondary:hover {border-bottom: 2px solid black; color: black;}

/* Backgrounds */
.bg-black {background-color: black;}
.bg-dark {background-color: #292929;}
.bg-white {background-color: white;}
.bg-primary {background-color: white;}
.bg-secondary {background-color: #00CCFF;}
.bg-secondary-secondary {background-color:rgb(12, 163, 201)}
.bg-highlight {background-color: #8d47ce;}
.bg-highlight-opacity {background-color: #8d47ce83;}
.bg-highlight-secondary {background-color: #7733b8;}
.bg-green {background-color: #16C43F}
.bg-navy {background-color: #051570}
.bg-green-opacity {background-color:#16c43f2c;}
.bg-red {background-color: red}
.bg-red-opacity {background-color:rgba(255, 0, 0, 0.212);}
.bg-transparent {background-color: transparent;}
.bg-notifications {background-color: rgb(236, 236, 236);}

/* Text colors */
.text-white {color: white;}
.text-black {color: black;}
.text-highlight {color: #8d47ce}
.text-primary {color: #585858;}
.text-secondary {color: #D1D1D1}
.text-green {color:#16C43F}
.text-red {color:rgb(230, 57, 57)}

/* Badges */
.badges {z-index: 2;}
.badge {padding: 5px 10px; display: inline-block; margin-right: 5px; text-align:center;}
.badge.d-block {margin-right: 0; margin-bottom: 5px;}

/* Rounded */
.rounded-small {border-radius: 7px;}
.rounded-big {border-radius: 20px;}
.rounded-left-small {border-radius: 7px 0px 0px 7px}
.rounded-right-small {border-radius: 0px 7px 7px 0px}
.rounded-right-big {border-radius: 0px 20px 20px 0px}
.rounded-right-small {border-radius: 20px 0px 0px 20px}

/* Typography */
.font-bold {font-weight: bold}
.font-light {font-weight: 300;}
.font-medium {font-weight:400;}
.text-center {text-align: center;}
.text-right {text-align: right;}
h1,h2,h3 {font-weight: bold;}
.category-title {background-color: rgba(255, 255, 255, 0.192); color: white; border: 2px solid white;padding: 8px 15px;text-align: center; font-size: 25px; font-weight: bold}
.title {text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 10px;}
.text-truncate { white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.text-big {font-size: 20px; font-weight: bold;}
.text-xl-big {font-size: 40px; font-weight: bold;}
.h1 {font-weight: bold; font-size: 40px;}
.spacing {letter-spacing: 1.4px;}

/* Borders */
.border {border: 2px solid #f7f7f7}
.border-highlight {border: 2px solid #FE9B07;}
.border-green {border: 2px solid #16C43F;}
.border-top {border-top: 2px solid #f7f7f7}
.border-bottom {border-bottom: 2px solid #f7f7f7}
.border-right {border-right: 2px solid #f7f7f7}
.border-left {border-left: 2px solid #f7f7f7}
.border-transparent {border: 2px solid transparent;}
.border-0 {border:0}

/* Input fields */
input {background-color: #F0F0F0; border: 0; padding: 10px}
input[type="checkbox"] {
    width: 1.15em;
    height: 1.15em;
    vertical-align: middle;
}

/* General */
.w-100 {width: 100%;}
.h-100 {height: 100%;}
.w-50 {width: 50%;}
.rotate180 {transform: rotate(180deg)}
.absolute {position: absolute}
.relative {position: relative}
.center {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.top-right {position: absolute; top:0px; right: 0px;}
.top-left {position: absolute; top:0px; left: 0px;}
.float-right {float:right;}
.float-left {float:left;}
.object-fill {width:100%;height:100%;object-fit: fill;}
.object-cover {width:100%;height:100%;object-fit: cover;}
.object-contain {width:100%;height:100%;object-fit: contain;}
.grid-fill {width: 100%; height: 100%;}
.no-link {text-decoration: none; color: inherit;}
.no-link:hover {color: inherit;}
.shadow {box-shadow: rgba(100, 100, 111, 0.1) 0px 7px 29px 0px;}
.clearfix {overflow: auto;}
.clearfix::after {content: "";clear: both;display: table;}
.pointer {cursor: pointer; user-select: none;}
.video-wrapper {position: relative;padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.play-button {background-color: rgba(248, 205, 205, 0.644); width: 75px; height: 75px; border-radius: 50%; color: white; -webkit-animation: pulse 5s infinite; box-shadow: 0px 0px 13px 9px rgba(228, 219, 219, 0.19); }
.play-button i {font-size: 30px; text-align: center;}
@-webkit-keyframes pulse {
    0% {
        transform: scale(0.8);
    }
    70% {
        transform: scale(1.1);
    }
      100% {
        transform: scale(0.8);
    }
  }
.vertical-middle {vertical-align: middle;}
.mw-100 {max-width:100%;}
.overflow-hidden {overflow:hidden;}
.form-field {position: relative;}
.form-field div {width: 30px;height: 30px;right: 10px;top: 7px; position: absolute;}
.form-field input {width: 100%;}
.form-field button {border: 0; top: 50%;left: 50%;transform: translate(-50%, -50%);position: absolute; color: white; background: transparent;}
.circle {width: 40px; height: 40px; border-radius: 50%; background-color: rgb(231, 231, 231); cursor:pointer;position:relative;}

/* Header */
.logo {max-width: 100%;}

.header-stars .text-rating  {width: 30px; height: 30px; background-color: #2AB746; display: inline-block; color: white; line-height: 30px;}
.header-stars .text-rating.fa-star-o {background-color: rgb(223, 223, 223);}
.header-basket {width: 50px;height: 50px; border-radius: 50%;}
.header-basket-amount {top: -5px;right: -5px;width: 25px;height: 25px;border-radius: 50%;}
.basket-mobile-header {padding: 5px 0px;}
.header-basket-info { float: right; padding-left: 10px; }
/* Navigation */

.nav-item {
    display: inline-block;
    padding: 15px 5px;
    color: black;
}

.nav-item > a { color: rgb(0, 0, 0);}
.nav-item a {text-decoration: none; cursor: pointer;}

nav > .nav-item  {
    font-weight: 500;
    font-size: 18px;
}

.trigger-mega-menu:hover > .mega-menu {display: flex;}
.trigger-dropdown-menu:hover > .dropdown-menu {display: block;}

.mega-menu {
    padding: 20px;
    z-index: 10;
    width: 100%;
    left: 0;
    top: 40px;
    display: none;
}

.dropdown-menu {
    display: none;
    z-index: 10;
    padding: 20px;
}

.mega-menu-title {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 10px;
    color: black;
}

/* Mobile navigation */

.mobile-menu-visible {
    overflow:auto;
}

.mobile-navigation-links {
  overflow-x: hidden;
  overflow-y: auto;
}

.mobile-menu-item, .mobile-menu-item a {
   text-transform: uppercase;
   letter-spacing: 1.4px;
   font-weight: 500;
   font-size: 18px; 
   color: black;
   text-decoration: none;
   padding: 10px 0px;
}

.mobile-submenu a {
    color: black;
    text-decoration: none;
}

.mobile-submenu {
    position: absolute;
    top: 0;
    right: -150vw;
    background-color: white;
    width: 100vw;
    overflow: auto;
    z-index: 100000;
    transition: .3s;
    padding: 0px .75rem;
    height: 100%;
}

.trigger-mobile-menu::after {
    content: url(/i/arrow-right.svg);
    font-size: 12px;
    margin-top: 5px;
    float: right;
}

.mobile-submenu .mobile-menu-item, .mobile-submenu .mobile-menu-item a {
    padding: 0;
}

/* Live search */

#full-screen-search {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10000000;
    overflow: auto;
}

.live-search-landing-pages, .live-search-categories {
    max-height: 500px;
    overflow: auto;
}

/* Front */


/* Include product */

.product {padding: 10px; height:100%; padding-bottom: 80px;}

.product-img-wrapper {
    position: relative;
    padding-bottom: 75%;
    height: 0;
}

.product-border {
        border-right: 1px solid rgb(233, 233, 233);
    border-bottom: 1px solid rgb(233, 233, 233);
}

.product-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product .badge {
    font-size: 10px;
}

.product .btn.not-in-stock {
    background-color:rgb(214, 99, 79);
}

/* Include product -> Include atb list view */

.atb-list-view-bottom {
    position: absolute;
    bottom: 0;
    width: calc(100% - 45px);
}


/* Include category */

.category {
    background: linear-gradient(180deg, rgba(255,255,255,1) 25%, rgba(246,246,246,1) 25%)
}

.category-img-wrapper {
    position: relative;
    padding-bottom: 75%;
    height: 0;
}

.category-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Category */

.category-read-more div {padding: 5px 30px}

.category-search div {width: 30px;height:30px;border-radius:50%; right: 10px; top:7px;}
.category-search button {position: absolute;border: 0; border-radius: 50%; background-color: transparent;}

/* Category filter/sort */

.filter-title {
    margin-bottom: 5px;
}

.filter-title::first-letter {
    text-transform:capitalize;
}

.category-filter-dropdown {
    width: calc(100% - 24px);
    max-height: 300px;
    overflow: auto;
    z-index: 5;
    border-radius: 0px 0px 7px 7px;
}

.category-filter-dropdown div {
    padding: 10px 5px;
}

.category-filter-dropdown div input[type="checkbox"]{
    margin-right: 10px;
}

.category-filter-dropdown div label{
    max-width: 100%;
}

.filter-hover-overlay {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background-color: rgba(0, 0, 0, 0.236);
    z-index: 100;
    display: none;
}

/* Single product - image slider */

#product-slider {
    position: relative;
    overflow: hidden;
}

#product-slider .badges {
    top: 10px;
    left: 10px;
}

.big-product-image {
    position: relative; 
    padding-bottom: 75%;
    height: 0;
}

.product-slider-small-image{
    display: inline-block;
    background-color: white;
    width: 100%;
    height: 100px;
    padding: 10px;
    overflow: hidden;
    cursor: pointer;
}

.product-slider-small-image img {width:100%;height:100%;object-fit: contain;}

.big-product-image img, .small-product-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-slider-image .badges {
    position: absolute;
    top: 10px;
    left: 10px;
}

.product-slider-arrows {
    position: absolute;
    z-index: 2;
    width: 100%;
    transform: translate(-50%, calc( -50% - 25px ));
}

.product-slider-arrow-right, .product-slider-arrow-left {
    position: absolute;
    top: 0;
    right: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color:rgb(41, 41, 41);
    color: rgb(252, 252, 252);
    cursor: pointer;
    font-size: 30px;
}

.product-slider-arrow-left {left: 20px;}

.trigger-bulk-discount-modal {cursor: pointer;user-select: none;}

.cheapest-on-tp {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 6;
    display: inline-block;
}

.cheapest-on-tp img {
    float: right;
    max-width: 100px;
}

/* Breadcrumbs */

.breadcrumbs-path a:hover {
    color: #0a58ca;
}

/* Single product - Rating breakdown */

.outer-product-rating {width: 300px;max-width: 100%; height: 20px; background-color: rgb(241, 241, 241); margin-bottom: 10px;border-radius: 3px;overflow:hidden;}
.outer-product-rating:last-child{margin-bottom:0px;}
.inner-product-rating {height: 20px;border-radius: 3px}
.text-rating {color: #76DB98}
.bg-rating-5 {background-color: #76DB98}
.bg-rating-4 {background-color: #B7EA83}
.bg-rating-3 {background-color: #F6D757}
.bg-rating-2 {background-color: #FBB851}
.bg-rating-1 {background-color: #F17A54}

.product-rating {
    height: 24px;
}

.no-star-wrapper.avg, .star-wrapper.avg {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

.no-star-wrapper {
    position: absolute;
}

.star-wrapper {
    position: absolute;
    white-space: nowrap;
}
.star {
    overflow: hidden;
}

/* Single product - include_add_to_basket */

.product-variant {padding: 3px 7px; margin-right: 10px; border-radius: 5px;margin-bottom: 10px;}
.product-variant.selected {padding-right: 15px; border-color: #16C43F;}
.product-variant-selected {top: 4px; right: -10px; width: 20px; height: 20px; border-radius: 50%;}
.product-variant-selected i {font-size: 10px;}
#select-variant, #input-bigger-than-max, .list-view-input-bigger-than-max {border-left: 3px solid rgb(226, 47, 15);}
.atb-input {width:50px; border-radius: 7px 0px 0px 7px;}
.atb-btn {width: calc(100% - 50px); border-radius: 0px 7px 7px 0px;}

/* Single product - Bulk discount modal popup  */

.modal-overlay {width:100vw;height:100vh;position:fixed;top:0;left:0;background-color:rgba(0, 0, 0, 0.432);z-index:1000;}
.modal-content {width: 600px;max-width:90%; background-color: white; max-height: 80%; overflow: auto;}

/* Single product - Sticky add to basket */

.sticky-add-to-basket {
    position: fixed;
    bottom: -200px;
    transition: 1s;
    width: 100%;
    margin: 0px auto;
    overflow: hidden;
    z-index: 100;
}

/* Single product - countdown */

#countdown {
    
}

/* Notifications */

.notifications-number {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 14px;
}

.notifications {
    width: 400px;
    max-width: 100%;
    z-index: 10;
    max-height: 600px;
    overflow-y: auto;
    transition: 1s ease 0s;
    top: 40px;
    color: black;
}

/* Blog posts */

.blog-post-img-wrapper {
    position: relative;
    padding-bottom: 66.66%;
    height: 0;
}

.blog-post-img-wrapper .tags {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
}

.blog-post-img-wrapper .tags .tag {
    display: inline-block;
    margin-right: 5px;
    padding: 5px 10px;
    border-radius: 50px;
}

.blog-post-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-post-img-wrapper .blog-post-overlay {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color:rgba(0, 0, 0, 0.432);
    color: white;
    font-size: 20px;
    padding: 10px;
    font-weight: bold;
}

.blog-post-img-wrapper .blog-post-overlay span {
    position: absolute;
    bottom: 10px;
}

.blog-post .blog-post-img-wrapper {
    padding-bottom: 25%;
}

/* Basket */

.basket-input {height: 10px; width: 25px; padding: 0px 0px; font-size: 14px; text-align: center; outline: none;}
.basket-quantity span {padding: 0px 10px; cursor: pointer; user-select: none;}
.basket-img-box {position: relative;padding-bottom: 100%;}
.basket-img-box .amount {width: 20px; height: 20px; border-radius: 5px;}
.basket-img-box img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: contain;}
.basket-img-box .top-right {top: -10px; right: -10px; z-index: 5;}
.basket-img-box .amount input {background-color: transparent; border: 0; width: 20px; height:20px; font-size: 12px; padding: 0; color: white; text-align: center;}

/* Address */

.checkout-input-wrapper {position: relative; margin: 5px 0px;}
.checkout-input-wrapper input, .checkout-input-wrapper select, .checkout-input-wrapper textarea {padding: 10px; width: 100%; background-color: white; border:1px solid rgb(236, 236, 236); border-radius: 7px;}
.checkout-input-wrapper select {padding: 10px;}
.checkout-input-wrapper span {position:absolute;left:20px; top:10px;}
.checkout-background {padding: 50px 0px;min-height: 80vh;background:rgba(246,246,246,1);}

.prefixed-phone-number {
    position: absolute;
    padding: 10px;
    border-right: 1px solid rgb(236, 236, 236);
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    text-align: center;
    width: 110px;
    cursor: pointer;
}
.prefixed-phone-number img {margin-right: 5px;}
.select-prefix img, .prefixed-phone-number img, .prefix-dropdown-option img {max-width: 20px;}
.prefixed-phone-input {padding-left: 120px;}

.prefix-dropdown {
    width: auto;
    background-color: white;
    position: absolute;
    z-index: 3;
    top: 50px;
    border-radius: 7px;
}

.prefix-dropdown-option {padding: 10px 10px; cursor: pointer;}
.prefix-dropdown-option:hover {background-color: rgb(238, 243, 255); border-radius: 7px;}
.prefix-dropdown-option img {margin-right: 10px}
.prefixed-phone-number span {position: static;}

/* Shipping */

/* Thanks */

.thanks-icons {
    width: 100%;
    padding-top: 100%;
    position: relative;
}

.thanks-icons i {
    font-size: 30px;
}

/* Product_review */

.product-review .star {
    font-size: 40px;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    padding: 0 3px;
}

.product-review {
    background-color: white;
    padding: 20px;
    text-align: center;
}

/* Footer */

.footer-title {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 10px;
}

.footer-some-icon-wrapper {
    width: 40px;
    height: 40px;
    display: inline-block;
}

.footer-some-icon {width: 40px;height:40px;margin-right: 10px; margin-bottom: 10px;}
.footer-some-icon .fa {font-size: 25px;}

.footer-payment-icon {margin-right: 5px;}


/* Admin toolbar */

.admin-toolbar {
    position: fixed;
    left: 0;
    top: 50vh;
    background-color: #F6F6F6;
    z-index: 500;
}

.admin-toolbar-hidden {
    position: absolute;
    width: 400px;
    left: 60px;
    top: 0;
    background-color: #F6F6F6;
    display: none;
}

.trigger-hidden-toolbar:hover > .admin-toolbar-hidden {
    display: block;
}

.admin-toolbar div {
    padding: 10px 20px;
}

.admin-toolbar-icon {
    font-size: 20px !important;
    color: black;
}

.unfiltered-product-counter {
    position: fixed;
    left: 0;
    top: 30%;
}

/* Media queries */

@media  screen and (max-width: 751px) {
    .category-horizontal-grid {
        grid-template-columns: 1fr !important;
    }
    .checkout-background {
        background: rgb(246,246,246);
        height: auto;
    }
    .newsletter-signup {margin-top: 0px;}
    .slideable {
        display: block;
        overflow: auto;
        overflow-y: visible;
        white-space: nowrap;
    }
    .notifications {
        width: 100%;
        right: 0px;
        border-radius: 20px 20px 0px 0px;
        max-height: 400px;
    }
    .blog-post .blog-post-img-wrapper {
        padding-bottom: 50%;
    }
    .blog-post .blog-post-overlay {
        width: 100%;
        text-align: center;
    }
}

@media  screen and (max-width: 1200px) {
    .h1 {
        font-size: calc(1.375rem + 1.5vw);
    }
}