html {
    scroll-behavior: smooth;
}

/* Commented Out - We shouldn't Rely on This for Overflow Settings Since it Breaks Sticky Position Elements */
html,
body {
    /*overflow-x: hidden !important;*/
}

body {
    /*overflow: hidden;*/
}




/* WP Notices */
.components-notice__actions {
    display: none !important;
}




/* custom scrollbar */
/* width */
::-webkit-scrollbar {

}
/* Track */
::-webkit-scrollbar-track {

}
/* Handle */
::-webkit-scrollbar-thumb {

}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {

}


/* --- Container Settings --- */
.container-fluid {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.container {
    width: 1800px;
    max-width: 100%;
}

/*** Block Frames - For Blocks that need white space around them ***/
.framed_desktop {
    max-width: calc(100% - 40px);
}

@media(max-width: 991.98px) {
    .container-padding {
        padding-left: 40px;
        padding-right: 40px;
    }

    .framed_desktop {
        max-width: 100%;
    }
    /*** Add this if you want the frame to happen on mobile too ***/
    .framed_mobile {
        max-width: calc(100% - 40px);
    }
}

@media(max-width: 767.98px) {
    .container-padding {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media(max-width: 575px) {
    .container-padding {
        padding-left: 15px;
        padding-right: 15px;
    }
    .framed_mobile {
        max-width: calc(100% - 30px);
    }
}



/*** Site Wide Border Radius Options ***/
:root {
    --global-border-radius: 20px;
    --form-field-border-radius: 3px;
}

@media(max-width: 767.98px){
    :root {
        --global-border-radius: 10px;
    }
}



.relative,
.position-relative {
    position: relative;
}
img {
    max-width: 100%;
    height: auto;
}

.one-hundred-height {
    height: 100%;
}
.white {
    color: #fff!important;
}
.opacity0 {
    opacity: 0;
}
.white_bg {
    background: #fff;
}
body,
p {

}

p {

}
p.breadcrumbs {

}
a {
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

img {
    margin: 0;
    padding: 0;
}


ul,
ol {
    padding-inline-start: 18px;
}

ul li,
ol li {

}

header ul,
header ol,
footer ul {
    padding: 0;
}
header ul li,
header ol li,
footer ul li {
    padding-left: 0;
}

footer a {
}

footer ul li {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
footer ul li a {

}
@media(max-width: 767.98px) {
    footer ul li a {

    }
}

footer p {

}

@media(max-width: 767.98px) {

}
@media(min-width: 768px) and (max-width: 991.98px) {

}
@media(min-width: 992px) and (max-width: 1400px) {

}


@media(min-width: 576px) and (max-width: 767.98px) {

}

a.link-no-underline {
    text-decoration: none;
}

i,
em,
.italic {
    font-style: italic;
}

b,
strong,
.bold {

}


header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
}
header.fixed {
    position: fixed;
}

header.sticky {

}
.headerLogo {

}
header > *,
.header-logo-and-menu,
.headerLogo {
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}

.navbar {
    padding: 0;
}

.block{
	max-width:100%;
	overflow:hidden;
}

/*** Awesome ACF Image Settings ***/

.image-4by3 {
    padding-bottom: 75%;
    position: relative;
    overflow: hidden;
}

.image-16by9 {
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
}
.image-square {
    padding-bottom: 100%;
    position: relative;
    overflow: hidden;
}

.image-square.object > img {

}


.image-4by3 > img,
.image-16by9 > img,
.image-square > img {
    position: absolute;
    top: 50%;
    object-position: center;
    left: 50%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    height: 100%;
    width: 100%;
    transition: ease all .3s;
}


.image-4by3.size-contain > img,
.image-16by9.size-contain > img,
.image-square.size-contain > img {
    object-fit: contain;
}

a.fill {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.loader {
    margin-bottom: 0;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    border: 8px solid #f3f3f3;
    border-top: 8px solid rgb(110, 112, 117);
    width: 60px;
    height: 60px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.align-center {
    justify-content: center;
    flex-direction: column;
    align-content: center;
}
.align-start {
    justify-content: center;
    flex-direction: column;
    align-items: start;
}

/** Single blog post **/
.single-nw-blog .cat-date {
    margin-bottom: 15px;
}

/** 404 page **/
.page404 .secondary_banner {
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
}




/*** Carousel overrides ***/
@media(max-width:767.98px) {
    .product-slider-with-description .pr-mobile_product_slider {
    }
    .product-grid-item .product-grid-item__inner {
    }
    .product-slider-with-description .product-slider > .slick-list {
        padding: 0 27% 0 0 !important;
    }

}

/*** Hide cookie reject button ***/
.cky-prefrence-btn-wrapper .cky-btn-reject,  .cky-btn-reject{
    display: none;
}
/** Hide recaptcha badge **/
.grecaptcha-badge {
    visibility: hidden;
}

.coupon-black15,
.coupon-black20,
.coupon-black40 {
    display: none !important;
}

/*** Timer ***/
.sitewide-banner .timer {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -10px;
}
.sitewide-banner .timer .days,
.sitewide-banner .timer .hours,
.sitewide-banner .timer .minutes,
.sitewide-banner .timer .seconds {
    display: flex;
    color: #000;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 24px;
    padding-right: 3px;
}

.sitewide-banner .timer span {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: white;
    padding: 3px;
    color: black!important;
    border-radius: 5px;
    border: 1px solid #A4A4A4;
    width: 24px;
    height: 24px;
    margin-right: 3px;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
}
@media(max-width: 575.98px){
    .sitewide-banner .timer {
        margin-left: 0px;
        padding: 8px 0px;
    }
    .sitewide-banner .timer .days, .sitewide-banner .timer .hours, .sitewide-banner .timer .minutes, .sitewide-banner .timer .seconds {
        flex-direction: column;
        font-size: 7px;
        line-height: 14px;
        text-align: center;
    }
    .sitewide-banner {
        align-items: center;
    }
}

.pinterest-for-woocommerce-image-wrapper {
    display: none!important;
}

@media(max-width:575.98px) {
    .cky-consent-container.cky-box-bottom-left.cky-hide,
    .cky-btn-revisit-wrapper.cky-revisit-bottom-left {
        display: none!important;
    }
}

/* Make chat & salesfire widgets sit behind mobile nav */
div#chat-widget-container,
div#chat-widget-container iframe,
#chat-widget-container,
#chat-widget-container iframe {
    z-index: 10 !important;
}
div#sf-digi iframe {
      z-index: 10 !important;
}
.sf-digi iframe,
#sf-digi iframe {
  z-index: 10 !important;
}

/* Colour fixes for search plugin UI */
.dfd-guided-filters-header button,
.dfd-root a,
.dfd-root a:visited,
div.dfd-slider-tooltip,
button.dfd-delete-link-button,
button.dfd-clear-filters-button,
button.dfd-view-all-link-button {
	color: var(--black) !important;
}
.dfd-carousel-arrow svg {
	fill: var(--black) !important;
}
.dfd-embedded .dfd-back-to-top-button {
	display: none !important;
}

/* Adjacent sibling CSS */
.primary_banner_2 + .category-slider > div > div {
	padding-top: 2rem !important;
}
@media (max-width: 575px) {
	.primary_banner_2 + .category-slider > div > div {
		padding-top: 0 !important;
	}
}
.video_poster_with_lightbox + .blog-feed > div > div {
	padding-top: 0 !important;
}

/*** Out of stock badge ***/
.product-grid-item  a.woocommerce-LoopProduct-link {
    display: block;
}
.badge-out-of-stock {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 99;
    font-weight: normal;
    font-size: 12px;
    line-height: 16px;
    font-family: DM Sans, sans-serif;
    text-transform: uppercase;
    padding: 5px 10px;
    background: #000;
    border-radius: 22px;
    color: #FFFFFF;
}

@media(max-width: 767.98px) {
    .badge-out-of-stock {
        font-size: 9px;
        line-height: 12px;
        padding: 3px 8px;
        left: 5px;
        bottom: 5px;
    }
}
/* Trustpilot footer widget — reserve space to prevent CLS */
.trustbox-mini--widget-wrapper {
    margin-left: 0;
    max-width: 180px;
    min-height: 150px;
}
@media(max-width:767.98px) {
    .trustbox-mini--widget-wrapper {
        margin: 0 auto;
        min-height: 100px;
    }
}

iframe[src*="trust-moto-payments"]{
	min-height: 1000px !important;
}

/* Override Doofinder sale price colour */
.dfd-card-price--sale {
	color: red !important;
}