/* ===================================================================
EKM Custom Theme Stylesheet
=================================================================== */

/* #Global Styles */
html {
    box-sizing: border-box;
    font-size: 62.5%;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    background: var(--body-bg);
    font-size: var(--font-size-md);
    font-family: var(--font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: var(--font-weight-regular);
    color: var(--body-text-color);
    line-height: var(--body-line-height);
    overflow-x: hidden;
}

main {
    display: block;
}

a {
    color: var(--link-color);
}

a,
img {
    border: none;
    text-decoration: none;
}

a:hover {
    opacity: 0.9;
}

input,
select {
    font-family: var(--font-family) !important;
    outline: none;
}

input,
textarea {
    -webkit-appearance: none;
}

.ul-reset {
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}

svg {
    display: block;
    vertical-align: top;
}

img {
    max-width: 100%;
    height: auto !important;
    vertical-align: middle;
}

* iframe {
    max-width: 100%;
}

/* #Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.main-prod-title {
    color: var(--heading-text-color);
    line-height: var(--heading-line-height);
}

strong, b {
    font-weight: var(--font-weight-semi-bold);
}

/* #Currency Selector Styles */
.cur-text-dd {
    position: relative;
    display: inline-block;
    cursor: pointer;
    padding-left: 1.6rem;
}

.cur-text-dd-btn {
    display: flex;
    align-items: center;
}

.cur-text-dd .cur-text-dd-code {
    color: var(--body-text-color);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.cur-text-dd-options .cur-text-dd-code {
    color: var(--body-text-color);
}

.cur-text-dd-code,
.cur-text-dd-symbol {
    flex: 1;
}

.cur-text-dd.no-symbol .cur-text-dd-symbol {
    display: none;
}

.cur-text-dd-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    background: #fff;
    box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.2);
    margin: 0.5rem 0 0 1.6rem;
}

.cur-text-dd-options.show {
    display: block;
}

.cur-text-dd-option {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 4px 6px;
    text-decoration: none;
}

.cur-text-dd-option:hover {
    background: var(--highlight-bg);
}

.cur-text-dd .icon-flags--custom {
    border-radius: 50%;
    height: 14px;
    width: 14px;
    background-position: center;
    object-fit: cover;
    background-size: unset;
    background-color: unset;
    margin-right: 5px;
}

i.icon-flags--custom:before {
    border: unset;
}

svg.svg-inline--fa.fa-chevron-down.fa-w-14 {
    width: 9px;
    fill: var(--body-text-color);
    margin-left: 5px;
}

/* Product Wrapper Base Styles */
.prod-item {
    position: relative;
}

.prod-item-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.prod-item-name-ellipsis {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
}

.prod-item-name-ellipsis>font {
    display: block;
}

.prod-item-rrp {
    font-size: var(--font-size-sm);
    color: var(--secondary-text-color);
    text-decoration: line-through;
}

.short-desc {
    font-size: var(--font-size-sm);
}

/* #Category Page Base Styles */
.category-products,
#category-products {
    width: 100%;
}

.ekm-sortby label {
    margin-right: 0.6rem;
}

.sortby-results {
    align-self: center;
}

.ekm-sortby label {
    margin-right: 0.8rem;
}

select#ekm-sortby-option {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: var(--font-size-sm);
    padding: 0.8rem 3rem 1rem 1rem;
    border: 0.2rem solid var(--border-color);
    border-radius: var(--btn-border-radius);
    background-color: #fff;
    background-image: url(//themes.cdn.ekm.net/themes/master/2271/images/chevron-down.svg?v=50C3FE71-5088-4E1C-91C4-FE9CD9D3F89C);
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position: 92%;
    cursor: pointer;
    outline: none;
}

.ekm_clear_filters_btn {
    font-size: var(--font-size-md);
    border-radius: var(--btn-border-radius);
}

.ekm-filterby-clear-button {
    padding: 1rem 1.6rem;
}

.filter-content-m .ekm_clear_filters_btn {
    margin-top: 1.6rem;
}

.filter-sidebar-d {
    width: 24rem;
}

.filter-content h3 {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semi-bold);
}

.ekm_clear_filters_btn {
    border: 0.2rem solid var(--border-color) !important;
    background: #fff;
}

.filter-item-list {
    display: none;
}

.ekm-filter-count {
    color: var(--secondary-text-color);
}

.filter-item-check {
    font-size: var(--font-size-sm);
    line-height: 1.3;
}

.filter-item-check input[type="checkbox"] {
    cursor: pointer;
    position: absolute;
    opacity: 0;
    z-index: 1;
}

.filter-item-check input[type="checkbox"]:not(:checked)+label,
[type="checkbox"]:checked+label {
    cursor: pointer;
    padding-left: 3rem;
    padding-top: 0.35rem;
    position: relative;
}

.filter-item-check input[type="checkbox"]:not(:checked)+label:before,
[type="checkbox"]:checked+label:before {
    background: #fff;
    border: 0.1rem solid var(--border-color);
    content: "";
    height: 1.8rem;
    left: 0;
    position: absolute;
    top: 0.3rem;
    width: 1.8rem;
}

.filter-item-check input[type="checkbox"]:not(:checked)+label:after {
    opacity: 0;
    transform: scale(0);
    -webkit-transform: scale(0);
}

.filter-item-check input[type="checkbox"]:not(:checked)+label::after,
[type="checkbox"]:checked+label::after {
    background: var(--primary-color);
    color: #fff;
    content: "\f00c";
    font-family: FontAwesome;
    font-size: 0.8rem;
    height: 1.2rem;
    left: 0.3rem;
    line-height: 1.2rem;
    position: absolute;
    text-align: center;
    top: 0.6rem;
    width: 1.2rem;
}

form[name="product-filter"] .ui-slider-horizontal {
    height: 0.6rem;
    margin-bottom: 0.8rem;
    margin-left: 0.4rem;
    width: 97%;
}

.filter-price-slider {
    padding-top: 0.4rem;
}

.price-label {
    font-weight: var(--font-weight-semi-bold) !important;
}

.filter-item-heading {
    position: relative;
    cursor: pointer;
}

.filter-content-m .ekm_clear_filters_btn {
    margin-top: 0px;
    margin-left: 15px;
    margin-bottom: 15px;
    border: 0.2rem solid var(--border-color);
}

.filter-content-m .ekm_clear_filters_btn svg {
    fill: var(--body-text-color);
}

/* #Product Page Base Styles */
span#_EKM_PRODUCTADDCARTMESSAGE {
    margin-top: unset !important;
}

/* Product Page Price Table */
.ekm-bulk-discount {
    border: 0.2rem solid var(--border-color) !important;
    color: var(--body-text-color) !important;
    margin: 3rem 0;
    width: 100%;
}

.ekm-bulk-discount th {
    background: var(--highlight-bg) !important;
}

.ekm-bulk-discount th,
.ekm-bulk-discount td {
    background: #fff;
    border-color: var(--border-color);
}

.ekm-bulk-discount td.ekm-bulk-discount-unit-price {
    color: var(--body-text-color) !important;
}

.in-stock {
    color: var(--ekm-success-colour-text);
    font-weight: var(--font-weight-semi-bold);
}

.in-stock::before {
    content: "\f00c";
    font-family: FontAwesome;
    font-weight: normal;
    margin-right: 0.4rem;
}

.oo-stock {
    color: var(--ekm-warning-colour-text);
}

.oo-stock:before {
    content: "\f00d";
    font-family: FontAwesome;
    font-weight: normal;
    margin-right: 0.4rem;
}

.loyalty-points {
    font-size: var(--font-size-sm);
}

/* Label and Input Styles */
.main-prod-options select {
    padding-left: 1rem !important;
    border-radius: var(--btn-border-radius);
    font-size: var(--font-size-sm) !important;
    background: #fff;
}

label.options-label {
    padding-bottom: 1rem;
}

.ekm-productoptions-radio-option-label {
    margin-right: unset !important;
    border-radius: 50px !important;
}

.ekm-productoptions-radio-option-wrapper.with-label {
    padding: 0.5rem 0 0 0 !important;
    min-width: 50px !important;
    margin-right: 1rem;
}

.ekm-productoptions-size-option:checked+label {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff;
}

.options-label {
    display: block;
    padding-bottom: 0.2rem;
}

.options-select,
.options-textfield,
.options-textarea,
.image-uploader {
    display: block;
    position: relative;
    width: 100%;
}

.main-prod-options select,
.ekm-productoptions-input-text,
.ekm-productoptions-textarea {
    border: 0.2rem solid var(--border-color);
    width: 100%;
}

.main-prod-options select,
.ekm-productoptions-input-text {
    padding-bottom: 1.4rem;
    padding-top: 1.4rem;
    width: 100%;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.main-prod-options select {
    cursor: pointer;
    padding-left: 0.4rem;
}

.options-select-dropdown:after {
    color: #777;
    content: "\f107";
    font-family: FontAwesome;
    font-size: var(--font-size-md);
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 2rem;
}

.ekm-productoptions-input-text {
    padding-left: 1rem;
}

.ekm-productoptions-textarea {
    font-size: var(--font-size-sm);
    max-width: 100%;
    padding: 1rem;
}

._EKM_OPTIONIMAGE_BUTTON {
    font-size: var(--font-size-md);
}

.ekm-productoptions-radio-option-label {
    border-radius: 50% !important;
}

.ekmps-product-add-to-cart:hover {
    opacity: 0.9;
}

.product-specs ul li:nth-child(odd) {
    background: var(--highlight-bg);
}

.wishlist-wrapper {
    margin-top: 2rem;
}

.wishlist-wrapper svg path {
    transition: fill 0.2s ease-in-out;
    -webkit-transition: fill 0.2s ease-in-out;
}

.wishlist-wrapper button:hover {
    opacity: 1;
}

.wishlist-btn {
    background: none;
    border: 0;
    color: var(--body-text-color);
    cursor: pointer;
    padding: 0;
}

.wishlist-text {
    font-family: var(--font-family);
    margin-left: 1rem;
    font-size: var(--font-size-md);
}

.wishlist-btn:hover .wishlist-text {
    opacity: 0.9;
}

.wishlist-heart {
    border-radius: 50%;
    height: 36px;
    position: relative;
    width: 36px;
}

.wishlist-heart svg {
    height: 20px;
    left: 50%;
    margin-top: 1px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    width: 20px;
}

.wishlist-heart-inner-color {
    fill: #333;
}

.wishlist-heart-outer-color,
.wishlist-btn:hover .wishlist-heart-inner-color,
.wishlist-heart-icon-added {
    fill: #e8e8e8;
}

.wishlist-heart {
    background: #333;
}

/* Back In Stock Form Styles */
#ekm-backinstock-text {
    font-size: var(--font-size-md);
}

#ekm-backinstock-text .fa-envelope-o {
    margin-right: 0.6rem;
}

#ekm-backinstock-email {
    border: 0.2rem solid var(--border-color);
    border-right: none;
    height: 4rem;
    margin-top: 1rem;
    padding-left: 1rem;
    width: calc(100% - 6rem);
}

#ekm-backinstock-button {
    background: var(--primary-color);
    border: none;
    color: #fff;
    cursor: pointer;
    height: 4rem;
    width: 6rem;
}

#ekm-backinstock-button:hover {
    opacity: 0.9;
}

.ekm-calc-wrapper {
    background-color: var(--highlight-bg);
}

#jquery-overlay {
    z-index: 9999 !important;
}

#jquery-lightbox {
    z-index: 99999 !important;
}

span#_EKM_PRODUCTADDCARTMESSAGE {
    margin-top: 1.5rem;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.prod-page-qty {
    background: var(--highlight-bg);
    justify-content: center;
    height: 5rem;
    border-radius: var(--btn-border-radius);
}

.prod-page-qty-down-btn,
.prod-page-qty-up-btn {
    cursor: pointer;
    height: auto;
    position: relative;
    width: 4rem;
}

.prod-page-qty input {
    border: none;
    font-weight: 400;
    background-color: var(--highlight-bg);
    height: 100%;
    text-align: center;
    width: 4rem;
}

.prod-page-qty-down-btn:after,
.prod-page-qty-up-btn:after {
    font-family: FontAwesome;
    font-size: 1rem;
    left: 50%;
    position: absolute;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.prod-page-qty-down-btn:after {
    content: "\f068";
}

.prod-page-qty-up-btn:after {
    content: "\f067";
}

.product-tabs-wrapper {
    width: 100%;
}

.tab-wrapper {
    max-width: none !important;
}

.tab-header-wrapper input[type=radio]:checked+label+.tab {
    padding-top: 2rem;
}

.tab-header-wrapper .tab {
    border-top: 0.1rem solid var(--border-color);
    padding: 3rem 0rem;
    border-bottom: none;
}

.tab-header-wrapper .tab {
    border-bottom: 0 !important;
}

/* #Product Accordion Styles */
.global-acdn-content {
    display: none;
}

.global-acdn-header {
    display: block;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.2;
    padding-bottom: 2rem;
    padding-top: 2rem;
    position: relative;
    width: 100%;
}

.global-acdn-header.prod-acdn-header:after {
    font-family: FontAwesome;
    font-size: var(--font-size-sm);
    font-weight: normal;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.global-acdn-header.prod-acdn-header:after {
    content: "\f067";
}

.global-acdn-active.prod-acdn-header:after {
    content: "\f068";
}

.prod-acdn-wrapper {
    border-bottom: 0.1rem solid var(--border-color);
}

.prod-acdn-header,
.prod-acdn-header:after {
    color: var(--body-text-color);
}

.prod-acdn-header:after {
    right: 0;
}

.prod-attributes-width span {
    flex-basis: 50%;
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
}

.main-product-description {
    margin-left: auto;
    margin-right: auto;
}

.prod-desc {
    font-size: var(--font-size-md);
}

.prod-specs ul span:nth-child(2n+1) li {
    background-color: var(--highlight-bg);
}

/* #Customer Reviews Styles */
.prod-average-stars .fa-star {
    font-size: 2rem;
}

.prod-average-count {
    color: var(--body-text-color);
    font-size: var(--font-size-md);
    margin-left: 0.6rem;
}

.review {
    background: var(--highlight-bg);
    position: relative;
}

.review::before {
    border-bottom: 1rem solid var(--border-color);
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    content: "";
    left: 2rem;
    position: absolute;
    top: -1rem;
}

.review-block {
    margin-bottom: 4rem;
}

.review-block:last-child {
    margin-bottom: 0;
}

.s-row__bar::before {
    background: var(--review-stars) !important;
}

.ekm-pr-menu {
    padding: 0 !important;
}

.ekm-pr-rating {
    color: var(--secondary-text-color) !important;
}

.shopui-select-field>select {
    border: 0.2rem solid var(--border-color) !important;
    border-radius: var(--btn-border-radius) !important;
}

/* #Product List & Product Image Styles */
.prod-item-image,
.ekm-search-page-item__image,
.main-image-container,
.thumbnail-image {
    font-size: 0;
    height: 0;
    position: relative;
    padding-bottom: 100%;
}

.prod-item-image a img,
.ekm-search-page-item__image a img,
.main-image-container a img,
.thumbnail-image a img {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
}

.prod-item-image a img,
.ekm-search-page-item__image a img,
.main-image-container a img,
.thumbnail-image a img {
    max-height: 100%;
    max-width: 100%;
}

.thumbnail-no-image {
    display: none;
}

.main-prod-image,
.thumbnail-image,
.main-prod-image-empty {
    font-size: 0;
    height: 0;
    padding-bottom: 100%;
    position: relative;
}

.prod-item-image>img {
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
}

.main-prod-image a img,
.thumbnail-image a img {
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.ekm-product-image-badge-wrapper img {
    max-width: inherit;
    vertical-align: baseline;
    max-height: none;
}

.shopui-product-variant-preview__choice--size {
    line-height: normal;
    padding: 6px 8px;
}

@media (min-width: 768px) {
    .review-count-m {
        display: none;
    }
}

@media (max-width: 768px) {
    .review-count-d {
        display: none;
    }

    .prod-review-stars-wrapper {
        gap: 0;
    }
}

.prod-review-stars-wrapper {
    gap: 0.5rem;
}

.customer-review-count {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
    color: var(--secondary-text-color);
    margin-left: 0.5rem;
}

.prod-review-stars {
    color: var(--highlight-bg);
    font-size: 0;
    line-height: 1;
}

.prod-review-stars-1 .fa:nth-child(1),
.prod-review-stars-2 .fa:nth-child(-n+2),
.prod-review-stars-3 .fa:nth-child(-n+3),
.prod-review-stars-4 .fa:nth-child(-n+4),
.prod-review-stars-5 .fa:nth-child(-n+5) {
    color: var(--review-stars);
}

.fa-star {
    font-size: var(--font-size-md);
    padding-left: 0.2rem;
}

.prod-item-count {
    color: var(--secondary-text-color);
    font-size: var(--font-size-xs);
    margin-left: 0.2rem;
}

/* #Plus & Minus Icon Styles */
.filter-minus:after,
.filter-plus:after {
    font-family: FontAwesome;
    font-size: 1rem;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 1rem;
    font-weight: normal;
}

.filter-plus:after {
    content: "\f067";
}

.filter-minus:after {
    content: "\f068";
}

/* #Pagination Styles */
.pagination {
    text-align: center;
}

.pagination a {
    display: inline-block;
    border-radius: var(--btn-border-radius);
    color: var(--body-text-color);
    transition: background 0.3s ease, border 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.pagination-link {
    border: 0.1rem solid var(--border-color);
    margin-left: 0.2rem;
    margin-right: 0.2rem;
    padding: 1rem 1.7rem;
}

.pagination-link:hover {
    background: var(--primary-color);
    border: 0.1rem solid var(--primary-color);
    color: #fff;
    opacity: 1;
}

.pagination-current-page,
.pagination-current-page:hover {
    background: var(--highlight-bg);
    color: var(--secondary-text-color);
    border: 0.1rem solid var(--border-color);
    transition: background 0.3s ease, color 0.3s ease, border 0.3s ease;
}

/* #Contact Page Styles */
.contact-form h1 {
    margin: 0 0 2rem !important;
}

.contact-form-row label {
    width: 11rem !important;
}

.contact-form-row input,
.contact-form-row textarea {
    background: #fff !important;
    border: 0.1rem solid var(--border-color) !important;
    box-shadow: none !important;
    width: calc(100% - 11rem) !important;
}

#contact-form-submit input {
    background: var(--primary-color) !important;
    border: none !important;
    border-radius: 0 !important;
    margin-left: 11rem !important;
    padding: 1.4rem !important;
}

#contact-form-submit#contact-form-submit input {
    width: 12rem !important;
}

.contact-form p.required {
    margin-left: 11.5rem !important;
}

.contact-form-row textarea {
    font-size: var(--font-size-sm);
}

/* #Customer Review Page Styles */
.ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row .text-field {
    background: #fff !important;
    border: 0.1rem solid var(--border-color) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}

.ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button {
    background: var(--primary-color) !important;
    border: none !important;
    color: #fff;
    cursor: pointer;
    padding: 1.4rem !important;
    width: 12rem;
}

.ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button:hover {
    opacity: 0.9;
}

.ekm-pr-header .ekm-pr-cta {
    text-decoration: none;
    color: var(--btn-text-color) !important;
    background-color: var(--primary-color) !important;
    padding: var(--btn-padding) !important;
    font-weight: var(--font-weight-semi-bold) !important;
}

.ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row textarea.text-field {
    font-size: var(--font-size-sm);
}

/* #Search Page Styles */
.ekm-search-page-search-box form {
    display: flex;
    flex-wrap: wrap;
}

.ekm-search-page-item__wrapper {
    text-align: left !important;
}

.ekm-search-page-intro__title {
    margin-bottom: 1rem;
}

.ekm-search-page {
    padding: 0 !important;
}

.ekm-search-page-search-box {
    border: none !important;
}

.ekm-search-page-search-box__label {
    font-size: 2rem;
    font-weight: var(--font-weight-semi-bold);
    margin-bottom: 2rem !important;
    text-align: center;
    width: 100%;
}

#ekm-search-page-search-box__field {
    background: #fff;
    border-color: var(--border-color);
    border-right: none;
    color: var(--body-text-color);
    padding-left: 1.2rem;
}

.ekmps-search-button.ekm-search-page-search-box__button {
    background: var(--primary-color) !important;
    border: 0;
    color: #fff;
    margin-left: 0;
    padding: 0;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.ekmps-search-button.ekm-search-page-search-box__button:hover {
    opacity: 0.8;
}

.ekm-search-page-results {
    margin-top: -4rem;
}

.ekm-search-page-item__wrapper {
    padding: 4rem 1.2rem 1.2rem 1.2rem !important;
}

.ekm-search-page-item__wrapper {
    width: 24% !important;
}

.ekm-search-page-item__image.ekm-search-page-item__image--empty {
    padding-top: 0 !important;
}

.ekm-search-page-item__name {
    margin-top: 1.6rem !important;
}

.ekm-search-page-item__name a {
    color: var(--body-text-color);
}

.ekm-search-page-item__price {
    font-weight: var(--font-weight-semi-bold) !important;
    color: var(--body-text-color) !important;
    margin-top: 1rem !important;
}

.ekm-search-page-item-details {
    text-align: left;
}

/* #Shop UI/Modal Styles */
.shopui-exit-modal__overlay {
    background-color: #222;
}

body .shopui-exit-modal__window {
    background-color: #222;
    border-radius: 2px;
    box-shadow: none;
}

.shopui *:not(.shopui-icon) {
    font-family: var(--font-family) !important;
}

.shopui-section__title {
    font-weight: var(--font-weight-semi-bold) !important;
    color: var(--body-text-color) !important;
}

body .shopui-exit-modal__title {
    font-weight: var(--font-weight-semi-bold);
    color: var(--body-text-color);
}

body .shopui-exit-modal__message {
    font-weight: var(--font-weight-semi-bold);
    color: var(--body-text-color);
}

.shopui-exit-modal__window .shopui-text-field {
    border: 2px solid var(--border-color);
    font-size: var(--font-size-md);
    border-radius: 2px;
}

body .shopui-exit-modal__window .shopui-button--primary,
body .shopui-exit-modal__window a.shopui-button--primary {
    border-color: var(--primary-color);
    background-color: var(--primary-color);
}

body .shopui-exit-modal__window .shopui-button--primary:hover,
body .shopui-exit-modal__window a.shopui-button--primary:hover {
    border-color: var(--primary-color);
    background-color: var(--primary-color);
    opacity: 0.9;
}

.shopui-button--primary,
a.shopui-button--primary {
    background-color: var(--primary-color) !important;
    font-weight: var(--font-weight-semi-bold);
    border-color: unset !important;
}

.shopui-cookie-modal .shopui-button {
    border-radius: var(--btn-border-radius) !important;
}

.shopui-eu-bar-content .shopui-eu-bar-button a {
    border-radius: var(--btn-border-radius) !important;
}

.shopui-exit-modal__custom-padding {
    background-color: #fff;
}

.shopui-exit-modal__custom-padding input[type="number"] {
    border: 1px solid #DEDFE0;
    background-color: var(--highlight-bg);
}

body .shopui-exit-modal__message {
    color: var(--body-text-color) !important;
}

body .shopui-exit-modal__title {
    color: var(--body-text-color) !important;
}

body .shopui-exit-modal__window .shopui-button--primary,
body .shopui-exit-modal__window a.shopui-button--primary {
    border-radius: var(--btn-border-radius) !important;
    height: 6rem;
    font-weight: var(--font-weight-semi-bold) !important;
    align-items: center;
    justify-content: center;
    display: flex;
}

.shopui-view-full-details.u-padding-bottom a {
    color: var(--primary-color) !important;
    font-weight: var(--font-weight-semi-bold);
}

.shopui-form-row,
.shopui-form-row-flex-column {
    background-color: #fff;
}

.shopui-icon-check:before {
    color: var(--ekm-success-colour-text);
}

.shopui-icon-shopping-basket:before {
    content: unset !important;
}

.shopui-message__actions {
    padding-bottom: unset !important;
}

.shopui-variant-label {
    font-weight: normal;
}

.shopui-variant-label span {
    font-weight: var(--font-weight-semi-bold);
}

.shopui-variant-price {
    font-weight: var(--font-weight-semi-bold);
}

.ekm-pr-menu {
    padding: 0px;
}

.ekm-softcart-links a {
    border-radius: var(--btn-border-radius) !important;
    padding: 1rem 2rem !important;
}

.u-margin-bottom {
    display: none;
}

/* #Softcart Styles */
.ekm-softcart-gotocheckout {
    border-radius: 0 !important;
}

span.js-ekm-softcart-price {
    font-weight: var(--font-weight-semi-bold);
}

.ekm-softcart-continue {
    color: var(--primary-color) !important;
}

.ekm-softcart-gotocheckout {
    background: var(--primary-color) !important;
}

.ekm-softcart-screen {
    z-index: 9999 !important;
}

.ekm-softcart-wrapper {
    z-index: 99999 !important;
}

/* #Cart Page Styles */
.ekmpscart-cart-items-column-header {
    background: var(--highlight-bg) !important;
}

.ekmpscart-checkout-button.ekmpscart-checkout-button-continue a,
.ekmpscart-estimate-delivery-row-button a {
    color: var(--primary-color) !important;
}

.ekmpscart-checkout-button.ekmpscart-checkout-button-checkout {
    background: var(--primary-color) !important;
}

/* #Forgotten Password Styles */
form[name="lostemail"] input,
form[name="lostemail"] table[width] {
    width: 100%;
}

form[name="lostemail"] input[name="thelostemail"] {
    border: 0.1rem solid var(--border-color);
    margin-top: 1rem;
    padding: 1.6rem 1.2rem;
}

form[name="lostemail"] table,
form[name="lostemail"] tbody,
form[name="lostemail"] tr,
form[name="lostemail"] td,
form[name="lostemail"] font {
    display: block;
}

form[name="lostemail"] table,
form[name="lostemail"] tr,
form[name="lostemail"] td {
    margin: 0;
    padding: 0;
}

form[name="lostemail"] input[value="Request Password"] {
    background: var(--primary-color) !important;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-size: var(--font-size-md);
    height: 4rem;
    width: 20rem;
}

form[name="lostemail"] input[value="Request Password"]:hover {
    opacity: 0.8;
}

@media (min-width: 768px) {
    /* Desktop View Styles - Table of contents
    â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“
    - #Header Styles
    - #Desktop Navigation Styles
    - #Category Page Styles
    - #Category Filter Styles
    - #Product Page Styles
    - #Product List & Product Image Styles
    - #Footer Styles
    - #Search Page Styles  
    - #Contact Page Styles
    */

    /* #Header Styles
    â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“â€“ */
    .logo a {
        font-size: 3rem;
    }

    .logo img {
        display: block;
        max-height: 7rem;
    }

    .login-input-label {
        font-size: var(--font-size-sm);
        font-weight: var(--font-weight-semi-bold);
    }

    .login-input-field {
        font-size: var(--font-size-md);
        height: 4.8rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .cart-btn-item-count {
        font-size: var(--font-size-sm);
        left: 59%;
        padding-bottom: 1rem;
        position: absolute;
        top: 46%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    #ekm_minicart_item_count_message {
        line-height: 1.2;
    }

    .search-content form {
        border-bottom: 0.3rem solid #222222;
        display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
    }

    .ekmps-search-field {
        background: none;
        border: none;
        flex: 1;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        padding-right: 1.4rem;
        width: calc(100% - 4rem);
    }

    .login-input-label {
        text-align: left;
    }

    .close-btn {
        position: absolute;
        right: 2rem;
        top: 2rem;
    }

    /* #Desktop Navigation Styles */
    .nav-active {
        position: relative;
    }

    .nav-active .mega-menu {
        display: block;
    }

    /* Mega Menu Base Styles */
    .mega-menu {
        box-shadow: 0 0.6rem 0.6rem 0 rgba(0, 0, 0, 0.2);
        display: none;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        z-index: 99999;
    }

    .mega-menu-item {
        display: block;
        padding-bottom: 1.6rem;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .mega-menu ul {
        flex-flow: wrap;
        -ms-flex-flow: wrap;
        max-height: 80vh;
        overflow-x: auto;
    }

    /* Navigation Chevron Styles */
    .nav-chevron-down>a:after,
    .nav-chevron-up>a:after {
        font-family: FontAwesome;
        font-size: var(--font-size-sm);
        font-weight: inherit;
        padding-left: 0.6rem;
        position: relative;
    }

    .nav-chevron-down>a:after {
        content: "\f107";
    }

    .nav-chevron-up>a:after {
        content: "\f106";
        top: -0.01rem;
    }

    /* #Category Page Styles */
    .main-short-desc {
        font-size: var(--font-size-md);
    }

    .sortby-d {
        font-size: var(--font-size-md);
        position: relative;
        top: -0.5rem;
    }

    .sortby-dd-d {
        text-align: right;
    }

    .category-prod-heading-m {
        display: none;
    }

    .incategory-desc {
        font-size: var(--font-size-md);
        line-height: 2;
        text-align: center;
    }

    .main-content-category .prod-item {
        margin-bottom: 2rem;
    }

    /* #Category Filter Styles */
    .filter-section-m {
        display: none;
    }

    .filter-sidebar-d {
        width: 22rem;
    }

    /* #Product Page Styles */
    .main-prod-stock-m,
    .main-short-desc-m,
    .main-prod-social-m,
    .main-prod-code-m {
        display: none!important;
    }

    .reviewer {
        display: flex;
        align-items: baseline;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        flex-wrap: wrap;
        -ms-flex-wrap: wrap;
    }

    .main-prod-social-d {
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        flex-wrap: wrap;
        -ms-flex-wrap: wrap;
    }

    .main-prod-social-d span {
        display: flex;
        margin-right: 0.5rem;
    }

    .options-select-dropdown:after {
        right: 0.1rem;
    }

    .ekm-productoptions-size-option-label {
        font-size: var(--font-size-sm) !important;
        border: 0.2rem solid var(--border-color) !important;
        border-radius: var(--btn-border-radius) !important;
        font-weight: var(--font-weight-medium);
        background: #fff!important;
    }

    /* #Search Page Styles */
    .ekm-search-page-search-box {
        width: 100%;
        margin: 4rem auto 6rem !important;
        padding: 0 !important;
    }

    #ekm-search-page-search-box__field,
    .ekmps-search-button.ekm-search-page-search-box__button {
        height: 6rem;
    }

    /* #Contact Page Styles */
    .contact-form form {
        width: 100%;
    }

    .main-content-general font b>a {
        display: block;
    }

    .contact-form,
    .ekmps-write-your-own-review,
    .main-content-general font b>a {
        margin-left: auto;
        margin-right: auto;
        width: 60%;
    }
}

@media only screen and (min-width: 0px) and (max-width: 768px) {

    /* Responsive Styles */

    /* #Mobile Header Styles */
    .header-logo-section {
        flex: 1;
        padding: 0.5rem 2rem;
    }

    .header-btn {
        width: 5rem;
    }

    .header-bar {
        min-height: 5rem;
    }

    .logo a {
        font-size: 2rem;
    }

    .logo img {
        max-height: 3rem;
    }

    .nav-d,
    .search-wrapper-d,
    .acc-wrapper-d {
        display: none;
    }

    .login-input-label {
        font-size: var(--font-size-sm);
    }

    .login-input-field {
        height: 4.2rem;
        padding: 0 0.6rem;
    }

    .logged-in-welcome,
    .logged-in-links {
        font-size: var(--font-size-md);
    }

    .search-btn {
        margin-left: 1.5rem;
    }

    .search-box form {
        margin: 0 2rem;
        width: 100%;
    }

    .cart-btn-item-count {
        font-size: 1rem;
        left: 54%;
        padding-bottom: 0.6rem;
        top: 44%;
        transform: translate(-50%, -50%);
    }

    #ekm_minicart_item_count_message {
        line-height: 1.2;
    }

    /* #Mobile Navigation Styles */
    .ekmps-search-field {
        border: none;
        width: calc(100% - 4rem);
    }

    /* #Mobile Category Page Styles */
    .sortby-d,
    .filter-sidebar-d,
    .sortby-results {
        display: none !important;
    }

    .incategory-desc {
        font-size: var(--font-size-sm);
    }

    .category-prod-heading-m {
        background: var(--highlight-bg);
        font-size: var(--font-size-sm);
    }

    .category-name-m {
        flex: 1;
        text-align: right;
    }

    .breadcrumbs {
        font-size: var(--font-size-sm);
    }

    .category-prod-section {
        flex-wrap: wrap;
    }

    .category-products {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .filter-btn-m,
    .sortby-btn-m {
        border: 0.2rem solid var(--border-color);
        padding: 1rem 0 1rem 0;
        border-radius: var(--btn-border-radius);
    }

    .filter-section-btn-m span,
    .filter-content h3 {
        font-size: var(--font-size-md);
        margin-bottom: 0;
    }

    .ekm_clear_filters_btn {
        max-width: 100%;
    }

    select#ekm-sortby-option {
        background-position: 97%;
    }

    /* #Category Mobile Filter/Sortby Button Styles */
    .filter-section-m {
        position: relative;
        text-align: center;
    }

    .filter-m,
    .sortby-m {
        flex: 1;
        -webkit-box-flex: 1;
        -ms-flex: 1;
    }

    .filter-btn-m,
    .sortby-btn-m {
        border: 0.2rem solid var(--border-color);
        cursor: pointer;
        font-weight: var(--font-weight-semi-bold);
        padding-bottom: 1rem;
        padding-top: 1rem;
        position: relative;
    }

    .filter-btn-active-m {
        background: var(--primary-color);
        border: 0.2rem solid var(--primary-color);
        color: #fff;
    }

    .filter-content {
        border-bottom: unset;
    }

    .filter-btn-active-m::after {
        content: "";
        border-bottom: 1rem solid var(--highlight-bg);
        border-left: 1.2rem solid transparent;
        border-right: 1.2rem solid transparent;
        position: absolute;
        bottom: -2rem;
        left: 50%;
        transform: translateX(-50%);
        transition: border-bottom-color 0.3s ease;
    }

    .filter-section-btn-m span::after {
        content: "\f078";
        margin-left: 0.6rem;
        font-family: FontAwesome;
        font-size: 1rem;
        font-weight: normal;
        position: relative;
        bottom: 0.2rem;
        transition: color 0.3s ease;
    }

    .filter-btn-active-m span::after {
        content: "\f077";
        transition: color 0.3s ease;
    }

    .filter-content-m,
    .sortby-content-m {
        background-color: var(--highlight-bg);
        color: var(--body-text-color);
        display: none;
        left: 0;
        margin-top: 1.8rem;
        position: absolute;
        text-align: left;
        width: 100%;
        z-index: 1;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .filter-section-btn-m span {
        position: relative;
    }

    .filter-minus:after,
    .filter-plus:after {
        top: 50%;
    }

    .sortby-dd-m {
        font-weight: var(--font-weight-semi-bold);
        line-height: 1;
        text-align: center;
    }

    #ekm-sortby-option {
        border: 0.2rem solid var(--border-color);
        margin-top: 1rem;
        padding: 1.4rem 0.4rem;
        width: 100%;
    }

    .ekm_clear_filters_btn {
        max-width: 46% !important;
    }

    .main-short-desc {
        font-size: var(--font-size-sm);
    }

    /* Back In Stock Form Styles */
    #_EKM_PRODUCTADDCARTMESSAGE {
        display: block;
    }

    .ekm-product-image-badge {
        width: 4.8rem;
    }

    .main-prod-social-m span {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }

    .options-select-dropdown:after {
        right: 0.4rem;
    }

    .ekm-productoptions-size-option-label {
        font-size: var(--font-size-sm) !important;
        border: 0.2rem solid var(--border-color) !important;
        border-radius: var(--btn-border-radius) !important;
        font-weight: var(--font-weight-medium);
        background: #fff!important;
    }

    .ekmProductAttributeWrapper .prod-attributes-value {
        display: block;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .main-prod-info-wrapper,
    .main-prod-atc-wrapper {
        text-align: left;
    }

    .main-price-wrapper {
        justify-content: left;
    }

    .quantity-atc-wrapper {
        flex-direction: column;
    }

    .prod-page-qty input {
        width: 10rem;
    }

    .prod-page-qty-down-btn,
    .prod-page-qty-up-btn {
        width: 100%;
    }

    .prod-page-qty-down-btn:after,
    .prod-page-qty-up-btn:after {
        transition: color 0.3s ease;
    }

    .prod-page-qty-down-btn:hover:after,
    .prod-page-qty-up-btn:hover:after {
        color: var(--primary-color);
        transition: color 0.3s ease;
    }

    .main-prod-stock-d,
    .main-short-desc-d,
    .main-prod-social-d,
    .main-prod-code-d {
        display: none!important;
    }

    /* #Product Accordion Styles */
    .write-review,
    .review {
        font-size: var(--font-size-md);
    }

    /* #Product List & Product Image Styles */
    .prod-item-price {
        font-size: var(--font-size-md);
    }

    /* #Contact Page Styles */
    .contact-form h1 {
        font-size: 2rem !important;
    }

    /* #Customer Review Page Styles */
    .ekmps-write-your-own-review .ekmps-review-header {
        font-size: 2rem !important;
    }

    .ekmps-write-your-own-review .ekmps-form-section .ekmps-form-section-header {
        font-size: var(--font-size-md) !important;
    }

    /* #Search Page Styles */
    .ekm-search-page-item__wrapper {
        width: 49% !important;
    }
}

@media only screen and (min-width: 0px) and (max-width: 479px) {
    /* Responsive Styles - Table of contents
    - #Category Filter Styles 
    - #Product Tabs Styles
    - #Product List & Product Image Styles
    - #Search Page Styles 
    - #Quick View Styles
    */

    /* #Category Filter Styles */
    .filter-content {
        flex-basis: 100%;
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
    }

    /* #Product Tabs Styles */
    .product-tabs>label {
        font-size: var(--font-size-sm);
    }

    /* #Search Page Styles */
    .ekm-search-page-item__wrapper {
        width: 100% !important;
    }

    .ekm-search-page-search-box__field {
        width: 70% !important;
    }

    .ekmps-search-button.ekm-search-page-search-box__button {
        width: 30%;
    }
}

/* #Quick View Styles */
.ekm-softcart-field-colour-label {
    color: var(--body-text-color);
}

.quickview-parent {
    position: relative;
}

.quickview-btn {
    display: block;
    text-align: center;
}

.quickview-parent {
    margin-bottom: 2% !important;
}

.quickview-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9;
    display: none;
}

.quickview-btn-wrapper {
    opacity: 1 !important;
    box-shadow: none !important;
    position: relative !important;
    top: 0 !important;
    transform: translateY(0px) !important;
    padding: 0 !important;
    height: auto !important;
    left: 0px !important;
    margin-top: 0;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

body .shopui-exit-modal__window {
    background-color: #fff;
}

@media only screen and (min-width: 769px) {
    .main-content .quickview-parent,
    .recently-viewed-products .quickview-parent {
        margin-bottom: 2% !important;
    }
}

/* #Trade Account Styles */
.trade-account a {
    font-weight: var(--font-weight-semi-bold);
    color: var(--link-color);
}

p.trade-account {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semi-bold);
}