/* "Popular searches for {Category}" block (audit recommendation #1
   from competitor pass — Lions's pattern, auto-generated from the
   aggregates cache). Renders below the related-categories block,
   cross-linking into the brand × category, colour × category and
   material × category matrix URLs that already exist in the sitemap
   but were previously orphaned (no internal links from parent).
   Threshold ≥5 products per chip matches the matrix indexability
   gate — never links to a NOINDEX'd page... */
.popular-searches{margin:32px 0;padding:28px 0 0;border-top:1px solid #e6e7e9;text-align:left}
/* Title matches .swipe-row-title (26px / 600 / left aligned) so it reads as
   the same family as Pick up where you left off / blog / related-products
   etc. Was 1.15rem — undersized next to those. */
.popular-searches-title{font-size:26px;margin:0 0 16px;font-weight:600;text-align:left;color:#222}
.popular-searches-row{margin-bottom:14px}
.popular-searches-row:last-child{margin-bottom:0}
.popular-searches-rowtitle{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#666;margin:0 0 8px;font-weight:600}
.popular-searches-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.popular-searches-chips a{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;background:#f5f5f5;border:1px solid #ececec;border-radius:14px;color:#333;text-decoration:none;font-size:.85rem;line-height:1.3;transition:background .12s ease,border-color .12s ease}
.popular-searches-chips a:hover{background:#fff;border-color:#F68600;color:#141414}
.popular-searches-count{color:#888;font-size:.72rem;font-weight:500}

/* Product card merchant identity strip (UX-H1). Renders below the price
   on every listing card to surface which retailer the click goes to —
   the single biggest CTR-to-merchant lift per the pre-launch competitor
   pass against idealo / ufurnish / Kelkoo. Logo flexes left, "View at
   {merchant} →" right; the whole card link target is unchanged so this
   is a visual affordance, not a competing click region. Mobile keeps
   the merchant text but truncates with ellipsis if the name is long. */
.product_merchant_strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid #ececec;text-decoration:none;color:#666;font-size:.78rem;line-height:1.2;min-height:28px}
.product_merchant_strip:hover{color:#141414}
.product_merchant_strip:hover .product-card-merchant-cta{text-decoration:underline}
.product_merchant_strip .product-card-merchant-logo{flex:0 0 auto;max-height:22px;max-width:64px;width:auto;height:auto;object-fit:contain;display:block;background:transparent;border:0;padding:0;border-radius:0}
.product_merchant_strip .product-card-merchant-logo.merchant-logo-text{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0;background:transparent;border:0;border-radius:0;font-size:.7rem;font-weight:600;color:#555;letter-spacing:.02em}
.product-card-merchant-cta{flex:1 1 auto;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* CookieConsent v3 (Orestbida) — brand-colour overrides via the lib's CSS
   custom properties. Default Accept button is a near-black; brand orange
   (#F68600) reads warmer + matches the rest of the site CTA palette.
   Hover one step darker for affordance. Reject button stays in the
   secondary neutral palette so Accept and Reject remain visually
   equal-weight per PECR — same size, same spacing, just different hue. */
:root, #cc-main {
	--cc-btn-primary-bg: #F68600;
	--cc-btn-primary-border-color: #F68600;
	--cc-btn-primary-color: #fff;
	--cc-btn-primary-hover-bg: #d97500;
	--cc-btn-primary-hover-border-color: #d97500;
	--cc-btn-primary-hover-color: #fff;
}

/* RRP label rendered before the strikethrough price. Keeps the claim as
   "Recommended Retail Price" — a manufacturer figure — rather than a
   "was £X" claim that would need 30-day verification under DMCC 2024. */
.rrp-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:inherit;opacity:.7;margin-right:2px}

/* WCAG 2.2 AA — visually-hidden helper for skip-link target + offscreen
   labels. Standard accessibility pattern (clip-path + 1px size). */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:0;left:0;z-index:10000;padding:8px 16px;background:#141414;color:#fff;font-weight:600;text-decoration:none;transform:translateY(-110%);transition:transform .12s ease}
.skip-link:focus{transform:translateY(0);outline:2px solid #F68600;outline-offset:2px}

/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}


/*!
 * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 */
/* Lucide-inline-SVG icon utilities — replaces the entire Font Awesome
   bundle that previously sat on this line (174 KB minified). All icons
   are emitted via lhs_icon() in core/icons.php. */

/* Base. Default behaviour assumes icon-before-text (the most common
   pattern across the templates). Icon-only contexts reset the margin
   below — flex containers with their own gap, share buttons, slider
   arrows, accordion toggles, etc. */
.lhs-icon {
  display: inline-block;
  vertical-align: -0.15em;
  flex-shrink: 0;
  margin-right: 0.4em;
}

/* Icon-only contexts where we don't want trailing margin. Each entry is
   a place where lhs_icon() renders alone inside a flex/positioned
   container with its own spacing. */
.splide__arrow .lhs-icon,
.social_sharing .lhs-icon,
.product_filter .arrow .lhs-icon,
.product_filter .close .lhs-icon,
.close .lhs-icon,
.featured_save .lhs-icon,
.featured-save .lhs-icon,
.product-save-badge .lhs-icon,
.recently-viewed-clear .lhs-icon,
.share-trigger-native .lhs-icon,
.product-share .social_sharing svg.lhs-icon { margin-right: 0; }

/* Icon-AFTER-text contexts ("Filter By [icon]", "Sort By [icon]") want
   margin-left rather than margin-right. */
.filter_btn .lhs-icon,
.sort_btn .lhs-icon,
.collapsible_heading .lhs-icon { margin-right: 0; margin-left: 6px; transition: transform 0.2s ease; }
.collapsible_heading.is-open .lhs-icon { transform: rotate(180deg); }

/* The collapsible-on-mobile-arrow icons are toggled in/out via parent
   .active class — they sit on their own and shouldn't carry margin. */
.collapsible-on-mobile-arrow-down,
.collapsible-on-mobile-arrow-up { margin-right: 0 !important; }

/* Section heading icons (Description / Specifications / Our review of)
   need a touch more breathing room than the body-line default — bumping
   to 0.5em pulls them off the heading text comfortably. */
.collapsible-on-mobile-heading .lhs-icon,
.product_share .header .lhs-icon,
.product-share .header .lhs-icon { margin-right: 0.5em; }

/* Spinner — replaces fa-spin keyframe. Used on the redirect splash
   loader and anywhere we want a rotating icon. */
.lhs-spin { animation: lhs-icon-spin 1.4s linear infinite; transform-origin: center; }
@keyframes lhs-icon-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }


/*!
 * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}.b-container,.b-container-fluid,.b-container-lg,.b-container-md,.b-container-sm,.b-container-xl,.b-container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.b-container,.b-container-sm{max-width:540px}}@media (min-width:768px){.b-container,.b-container-md,.b-container-sm{max-width:720px}}@media (min-width:992px){.b-container,.b-container-lg,.b-container-md,.b-container-sm{max-width:960px}}@media (min-width:1200px){.b-container,.b-container-lg,.b-container-md,.b-container-sm,.b-container-xl{max-width:1140px}}@media (min-width:1400px){.b-container,.b-container-lg,.b-container-md,.b-container-sm,.b-container-xl,.b-container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}





/**
 * Swiper 8.4.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 12, 2022
 */
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:rgb(0,0,0)}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}

.swiper-pagination-bullets {margin-top: 10px;}
.swiper-pagination-bullet {width: 10px;	height: 10px;}
#how-work-carousel .swiper-button-next:after, #how-work-carousel .swiper-button-prev:after {font-size: 1.6em; opacity: 0.25;}


/*
BS5 - Breakpoints
X-Small	None	<576px
Small	sm	=576px
Medium	md	=768px
Large	lg	=992px
Extra large	xl	=1200px
Extra extra large	xxl	=1400px
*/

/* core colours */

:root {
	--header-background-color: #FFF;
	--nav-background-color: #FFF;
	--nav-text-color: #141414;
	--nav-text-color: #4b654d;
  --nav-text-hover-color: #141414;
  --sub-menu-background: #FFF;
  --sub-menu-border: #93ada8;
  --usp-bar-background: #F7F7F7; 
  --usp-bar-border: #F68600;
	--usp-bar-text: #141414;
  --hero-text-color: #FFF;
  --hero-button-bg-color: #FFF;
	--hero-button-text-color: #000;
  --hero-button-bg-hover-color: #333;
	--hero-button-text-hover-color: #FFF;
	--text-header-color: #333;
	--header-intro-text: #333;
	--text-body-color: #141414;
	--text-body-link-color: #141414;
  --button-bg-color: #93ADA8;
  --button-text-color: #FFF;
  --button-bg-hover-color: #666;
  --footer-search-background-color: #D14900;
	--footer-text-color: #FFF;
	--search-background-color: #F68600;
	--search-text-color: #808080;
  --footer-background-color: #3E3E3E;
  --footer-background-text-color: #FFF;
  --footer-bottom-background-color: #2F2D2E;
  --footer-header-text-color: #FFF;
  --footer-bottom-text-color: #FFF;
	--footer-bottom-text-link-color: #FFF;
  --footer-bottom-text-link-color: #FFF;
  --product-main-info-box-background: none;
  
  --product-buy-button-background: #D14900;
	--product-buy-button-text: #FFF;
	--product-buy-button-background-hover: #333;
	--product-buy-button-text-hover: #FFF;
  
  --product-buy-info-button-background: #FFF;
	--product-buy-info-button-text: #000;
	--product-buy-info-button-background-hover: #333;
	--product-buy-info-button-text-hover: #FFF;
  
  --product-share-box-background: #e9efee;

  --blog-category-link-color: #767676;
}


/* Common
--------------------------------------------------------------------------------*/
#foxyform_embed_link_704103 {display: none !important;}

.button {
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
}

.button:hover {background-color: var(--button-bg-hover-color);}

em, i {
  font-style: italic;
}
strong, b {
  font-weight: 700;
}
h1, h2, h3, h4, h1 a, h2 a {
  color: var(--text-header-color);
  margin: 0 0 0.5em;
  font-weight: 300;
  line-height: 1;
}
h1 {
  font-size: 2em;
}
h2 {
  font-size: 21px;
}
h3 {
  font-size: 14px;
}

a {
	font-weight: 400;
  color: var(--text-body-link-color);
  text-decoration: underline;
}
p {
  margin: 0 0 1.2em;
  font-size: 15px;
  line-height: 1.5;
}

.body-text.basic-content-page h2 {
	font-size: 26px;
	margin: 1.5em 0 0.25em 0;
}

.body-text.basic-content-page h3 {
	font-size: 20px;
	margin: 0.75em 0 0.1em 0;
}


input[type=text], input[type=password], input[type=email], textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
  color: #566372;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
}
input[type=reset], input[type=submit] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
  font-family: Arial, Helvetica, sans-serif;
}

.left {
  float: left;
}
.right {
  float: right;
}
.center {
  margin: 0 auto;
  text-align: center;
}

.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}

.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:before,
.clearfix:after {
  content: "\0020";
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}
.clearfix:after {
  clear: both;
}
img {
  max-width: 100%;
  height: auto;
}

::-webkit-input-placeholder {
  font-style: italic;
}
:-moz-placeholder { /* Firefox 18- */
  font-style: italic;
}
::-moz-placeholder {  /* Firefox 19+ */
  font-style: italic;
}
:-ms-input-placeholder {  
  font-style: italic;
}


body {
  color: var(--text-body-color);
  font-family: Hind, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 300;
}

.basic-content-page {
	margin: 2em 0 5em 0;
}

body.prevent-scrolling {
  overflow: hidden;
  /* position:fixed + JS-set inline top is what actually locks scroll on
   * iOS Safari (overflow:hidden alone does not). JS preserves the pre-lock
   * scrollTop and restores it on unlock — see lockBodyScroll() in script.js. */
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}

.body-text h2 {
	font-size: 24px;
	margin: 1em 0 0.25em 0;
	text-align: left;
}

.sitemap h2 {
	font-size: 22px;
	margin: 1em 0 0.5em 0;
	text-align: left;
}

/* Main stying colours - grouped so can quickly be changed
--------------------------------------------------------------------------------*/
#header {
  background: var(--header-background-color, #fff);
  border-bottom: 5px solid var(--usp-bar-border);  
}

.logo {
  margin: 18px 0 12px 0;
  padding: 0;
  width: 275px;
}

.search {
  margin: 15px 0;
  float: right;
  height: 40px;
}

.footer-search .search {
  margin: 0;
}

.nav .menu > li {
  color: var(--nav-text-color);
}

.nav .menu > li > a {
  color: var(--nav-text-hover-color); 
}

.nav .sub-menu {
	background: var(--sub-menu-background);
  border-top: 2px solid var(--sub-menu-border);
}
#mobile-nav {
  display: none;
}

/* Grid
--------------------------------------------------------------------------------*/
.container {
  margin-left: auto;
  margin-right: auto;
  padding-right: var(--bs-gutter-x,.75rem);
  padding-left: var(--bs-gutter-x,.75rem);
  max-width: 1300px;
}

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  margin: 0;
  width: 100%;
}

.logo {
  display: block;
  float: left;
}
.logo img {
  display: block;
}

.search_form {
  position: relative;
  width: 592px;
}
.search_form input[type=text] {
  border: 1px solid #6b6b6b;
  color: #000;
  float: left;
  height: 40px;
  padding: 0 40px 0 14px;
  width: 100%;
}
.search_form input[type=submit] {
  display: none;
  background: #333;
  color: #FFF;
  border: 0;
  float: left;
  width: 40px;
  height: 40px;
}

.search_form input[type=submit]:hover {
  background: #AAA;
  cursor: pointer;
}

/* Search icon — sits as an absolute-positioned overlay on the right of
   the form. Was .fa-search; now targets any svg child of the form
   (only one is rendered: the lhs_icon('search') call). */
.search_form > svg.lhs-icon,
.search_form .lhs-icon-search {
  color: #c6c6c6;
  width: 18px;
  height: 18px;
  right: 12px;
  top: 11px;
  position: absolute;
  cursor: pointer;
  margin: 0;
  pointer-events: none;
}

.main-content .search_form, .footer-search .search_form {
  width: 50%;
  margin: 0 auto;
}

.nav {
	background-color: var(--nav-background-color);
  border-bottom: 0;
  font-size: 0;
}
.nav .container {
  position: relative;
}
.nav .menu {
  margin: 0 -10px;
}
.nav .menu > li {
  display: inline-block;
  height: 40px;
}

.nav .menu > li:after {
  content: "|";
}
.nav .menu > li:last-child:after {
  content: "";
}
.nav .menu > li > a {
  line-height: 40px;
  display: inline-block;
  font-size: 16px;
  padding: 0 15px;
  text-decoration: none;
  font-weight: 500;
}
.nav .menu > li > a.sale {
	color: #BF0000;
}

.nav a:hover {
  text-decoration: underline;
}

.nav .sub-menu {
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.25);
  font-size: 0;
  visibility: hidden;
  -webkit-transition: visibility 100ms linear 300ms;
  transition: visibility 100ms linear 300ms;
  padding: 10px 0 5px;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  z-index: 10;
}
.nav li:hover .sub-menu {
  visibility: visible;
}
.nav .sub-menu-col {
  display: inline-block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  vertical-align: top;
}
.nav .sub-menu-col-1-2 {
  padding: 0 10px;
  width: 50%;
}
.nav .sub-menu-col-1-3 {
  padding: 0 10px;
  width: 33%;
}
.nav .sub-menu-col-1-4 {
  padding: 0 10px;
  width: 25%;
}
.nav .sub-menu .heading {
  font-size: 18px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 5px;
  padding: 5px 0;
  text-transform: uppercase;
}
.nav .sub-menu ul {
  list-style: none;
  padding-bottom: 10px;
}
.nav .sub-menu li {
  display: block;
}
.nav .sub-menu a {
  display: inline-block;
  font-size: 15px;
  padding: 5px 0;
  text-decoration: none;
}
.nav .sub-menu .sub-menu-back {
  color: #666;
  display: none;
  line-height: 40px;
  padding: 0;
}
.nav .mobile-show-sub-menu-arrow {
  display: none;
}

div, a, button {transition: background-color 0.7s ease 0s, color 0.7s ease 0s;}

.nav .home_nav {
  color: #b6b6b5;
  float: left;
  line-height: 40px;
  height: 40px;
  padding: 0;
}
.nav .home_nav i {
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.nav .menu_trigger {
  display: none;
  float: right;
  line-height: 40px;
  height: 40px;
  padding: 0;
}
.nav .menu_trigger i {
  color: #000;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: 0;
}

.nav a.menu_trigger:hover {
  background-color: transparent;
}

.nav li.mobile-only {
	display: none;
}

.homepage .main-content {margin-top: 0;}

.hero-container {
  /* 65vh — enough for a confident hero while still letting the next row
     (stores heading + first logo row) peek above the fold on most viewports. */
  height: 65vh;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Full-bleed image: <picture> + <img> rather than a CSS background, so the
   browser can preload it (fetchpriority=high) and so the image swap is a
   one-line attribute change in the template instead of an inline style. */
.hero-container .hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-container .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Dark gradient overlay — bottom-left strong, top-right transparent — keeps
   white text WCAG AA legible regardless of which campaign image is loaded.
   Two stacked gradients: one bottom-anchored for vertical contrast under the
   text block, one diagonal so the right side of the image is still visible. */
.hero-container .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0) 80%),
    linear-gradient(135deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 55%);
  pointer-events: none;
}

.hero-stuff {
  width: 100%;
  position: absolute;
  z-index: 2;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  padding: 0 1.5rem;
}

.hero-stuff h1 {
  color: #fff;
  /* Playfair Display — high-contrast modern serif, popular on home /
     lifestyle / aggregator sites. Loaded via the Hind+Playfair combined
     Google Fonts call in head.php. The Times-stack fallback is kept for
     the brief moment before the webfont swaps in. */
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 6.4em;
  line-height: 1.05;
  margin-bottom: 0.15em;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 18px rgba(0,0,0,0.45);
}

.hero-stuff .sub-header {
  color: #fff;
  font-size: 2em;
  line-height: 1.3;
  margin: 0 auto 1.2em;
  max-width: 28em;
  text-shadow: 0 1px 10px rgba(0,0,0,0.5);
}

.hero-stuff .hero_btn {
  background-color: #F68600;
  color: #fff;
  font-size: 1.4em;
  font-weight: 600;
  padding: 0.65em 2.2em;
  border-radius: 999px;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.hero-stuff a.hero_btn { text-decoration: none; }
.hero-stuff .hero_btn:hover,
.hero-stuff .hero_btn:focus-visible {
  background-color: #d97500;
  color: #fff;
  transform: translateY(-1px);
}
.hero-stuff .hero_btn span { display: inline-block; transition: transform 0.15s ease; }
.hero-stuff .hero_btn:hover span { transform: translateX(3px); }

/* --- Quick-link chip variant ----------------------------------------
   When the campaign has populated quick_links, the hero swaps from the
   centred-button layout to a bottom-left text block (John Lewis / M&S
   pattern). 3–5 underlined links sit below the sub-headline; a faint
   chevron at the bottom centre cues "scroll for more". The chevron is
   particularly useful for older / less-internet-fluent visitors who
   don't reflexively scroll past full-bleed media. */
.hero-container.hero-with-links .hero-stuff {
	/* Bottom-left aligned: anchor at left edge, push down to lower third.
	   Width-cap so the headline doesn't bleed across the full width on
	   ultrawide. */
	top: auto;
	left: 0;
	transform: none;
	bottom: 14%;
	padding: 0 1.5rem 0 4%;
	max-width: 720px;
	text-align: left;
}
/* Mobile: split the headline+sub from the chip row. The desktop
   bottom:14% put h1 + sub + chips in a tight bottom-left cluster; on
   mobile that crowded everything together. Span hero-stuff from top
   to bottom and use flex column with space-between so the headline
   reads as the hero (top) and the chips drop down near the bottom
   (separately, with their own breathing room). */
@media (max-width: 767px) {
	.hero-container.hero-with-links .hero-stuff {
		top: 8%;
		bottom: 14%;
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	.hero-container.hero-with-links .hero-stuff h1 {
		font-size: 2.8em;
		line-height: 1.05;
		margin: 0 0 0.25em;  /* tight gap to sub-header */
	}
	.hero-container.hero-with-links .hero-stuff .sub-header {
		margin: 0;
	}
	/* Push the chip row to the bottom of the flex container so the
	   headline + sub stay tight together at top, chips drop down with
	   breathing room. justify-content:space-between would put a gap
	   in the MIDDLE between h1 and sub which the user explicitly
	   didn't want. */
	.hero-container.hero-with-links .hero-quick-links {
		margin-top: auto;
	}
}
.hero-container.hero-with-links .hero-stuff .sub-header {
	margin: 0 0 1em 0;
	max-width: 32em;
}
.hero-quick-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em 1.2em;
}
.hero-quick-links li { margin: 0; padding: 0; }
.hero-quick-links a {
	color: #fff;
	font-size: 1.15em;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	text-decoration-thickness: 1px;
	text-shadow: 0 1px 8px rgba(0,0,0,0.5);
	padding: 4px 0;
	transition: opacity 0.15s ease;
}
.hero-quick-links a:hover,
.hero-quick-links a:focus-visible {
	opacity: 0.78;
	color: #fff;
	text-decoration-thickness: 2px;
}

.hero-scroll-hint {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	color: #fff;
	opacity: 0.85;
	text-decoration: none;
	padding: 6px 10px;
	border-radius: 999px;
	transition: opacity 0.15s ease, transform 0.2s ease;
	animation: hero-scroll-bounce 2.4s ease-in-out infinite;
}
.hero-scroll-hint:hover,
.hero-scroll-hint:focus-visible {
	opacity: 1;
	color: #fff;
	animation-play-state: paused;
	transform: translateX(-50%) translateY(2px);
}
.hero-scroll-hint svg {
	display: block;
	filter: drop-shadow(0 1px 6px rgba(0,0,0,0.45));
}
@keyframes hero-scroll-bounce {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50%      { transform: translateX(-50%) translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
	.hero-scroll-hint { animation: none; }
	html { scroll-behavior: auto; }
}
/* Smooth-scroll for anchor jumps (the hero-scroll-hint chevron, plus any
   other in-page #anchor we add later). Reduced-motion users get instant
   jumps via the rule above. */
html { scroll-behavior: smooth; }

#how-work-carousel {
  padding-left: 40px;
  padding-right: 40px;
}
/* "How LoveHomeStyle works" 4-step strip — sits between page content
   and footer-search. Replaces the old .footer-how-we-work Splide block.
   Numbered orange steps connected by a faint line so it reads as a flow,
   not four disconnected USPs. Stacks on mobile. */
.how-it-works {
	background-color: #fafafa;
	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
	padding: 20px 0;
}
/* Section tagline above the 4-step icons. Mirrors the merchant-strip
   "Compare prices from your favourite stores" label so the two strips
   read as a matched pair visually. */
.how-it-works-tagline {
	font-size: 14px;
	font-weight: 500;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-align: center;
	margin: 0 0 14px;
}
.how-it-works-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	align-items: start;
	position: relative;
}
/* Faint connector line between steps, sits behind the numbered circles. */
.how-it-works-list::before {
	content: '';
	position: absolute;
	top: 18px;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	background: linear-gradient(to right, transparent 0%, #e3e3e3 6%, #e3e3e3 94%, transparent 100%);
	z-index: 0;
}
.how-it-works-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 1;
}
.how-it-works-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #F68600;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 10px;
	box-shadow: 0 0 0 4px #fafafa; /* matches strip bg, hides connector under circle */
}
.how-it-works-body h3 {
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 4px;
	color: #222;
}
.how-it-works-body p {
	font-size: 14px;
	line-height: 1.45;
	color: #555;
	margin: 0;
	max-width: 22em;
}
@media (max-width: 767px) {
	.how-it-works { padding: 20px 0; }
	/* Mobile: horizontal swipe row, no panel boxes, with peek both sides
	   so the first slide lands centered. Resets are explicit because the
	   desktop rules above use position: absolute on ::before for the
	   connector line — without resetting `position` it would still be
	   abs-positioned on mobile and wouldn't take flex space. */
	.how-it-works-list {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		grid-template-columns: none;
		gap: 14px;
		padding: 0;
		margin: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		position: static;  /* reset desktop's relative — no need for connector positioning */
		/* Right-edge fade-out — same pattern the blog/recently-viewed
		   carousels use to cue "more content this way". Off-screen slides
		   blend into the section background instead of butting against a
		   hard cut-off. Mask gradient: fully opaque from the left until
		   the last 48px where it fades to transparent. */
		-webkit-mask-image: linear-gradient(to right,
			#000 0,
			#000 calc(100% - 48px),
			transparent 100%);
				mask-image: linear-gradient(to right,
			#000 0,
			#000 calc(100% - 48px),
			transparent 100%);
	}
	.how-it-works-list::-webkit-scrollbar { display: none; }
	/* Connector line + flex spacers share the ::before / ::after pseudos.
	   On mobile we kill the connector line entirely (it was a 4-col grid
	   visual) and reuse ::before / ::after as static flex spacers so the
	   first slide lands centered. Each spacer is 15% (= (100% - 70%) / 2). */
	.how-it-works-list::before,
	.how-it-works-list::after {
		content: '';
		display: block;
		flex: 0 0 15%;
		position: static;     /* reset desktop's absolute */
		top: auto;
		left: auto;
		right: auto;
		height: auto;
		background: none;     /* kill the connector gradient */
		z-index: auto;
	}
	.how-it-works-step {
		flex: 0 0 70%;
		scroll-snap-align: center;
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto;
		column-gap: 12px;
		align-items: center;
		text-align: left;
		background: transparent;
		border: 0;
		padding: 6px 0;
		position: static;
		z-index: auto;
	}
	.how-it-works-num {
		grid-column: 1;
		grid-row: 1;
		width: 50px;
		height: 50px;
		font-size: 20px;
		margin-bottom: 0;
		box-shadow: none;  /* connector line is hidden, no need for the bg-blocking shadow */
	}
	.how-it-works-body {
		grid-column: 2;
		grid-row: 1;
		text-align: left;
	}
	.how-it-works-body h3 { font-size: 15px; margin: 0 0 2px; font-weight: 600; }
	.how-it-works-body p { font-size: 13px; max-width: none; line-height: 1.35; }
}


.footer-search {
	background-color: var(--footer-search-background-color);
	padding: 2em 0 2em 0;
}

.footer-search .header-search {
	color: var(--footer-text-color);
	text-align: center;
	font-size: 1.9em;
	line-height: 1.2em;
	margin: 0 0 10px 0;
}

.footer-search.grey {
	background-color: var(--search-background-color);
	margin: 1em 0;
}

.footer-search.grey .header-search {
	background-color: var(--search-text-color);
}

.footer {
	background-color: var(--footer-background-color);
  color: var(--footer-background-text-color);
  padding: 50px 0 30px 0;
}

.footer-bottom {
	background-color: var(--footer-bottom-background-color);
  padding: 1em 0;
  text-align: center;
}

.footer .footer-header h5 {
	color: var(--footer-header-text-color);
  font-size: 1.4em;
  margin-bottom: .5em;
  line-height: 1.2;
}

.footer-bottom {
	color: var(--footer-bottom-text-color);
}

.footer-bottom-links {
	display: flex;
	justify-content: space-between;
}

.footer-bottom ul li {
	display: inline-block;
	list-style-type: none;
	padding: 0 0.5em;
}

.footer-bottom ul li a {
	text-decoration: none;
}

.footer a {
  color: var(--footer-bottom-text-link-color);
  font-size: 1.1em;
  text-decoration: none;
  padding: 6px 0;
  margin-bottom: 5px;
  display: block;
}

.footer a.logo-footer {
	padding: 0;
	margin: 0;
}

/* Override .footer a's display:block so inline links inside the
   affiliate disclosure paragraph (e.g. "how we make money") flow with
   surrounding text instead of breaking onto their own line. The old
   `margin-left: 20px` here was a leftover from a list-spacing hack
   that also pushed that disclosure link sideways — list spacing is
   already handled by .footer-bottom ul li {padding: 0 0.5em}. */
.footer-bottom a {
	color: var(--footer-bottom-text-link-color);
	display: inline;
	padding: 0;
	margin: 0;
}

.footer a:hover {
  text-decoration: underline;
}
.footer_widgets {
  margin: 0 -10px 25px;
}
.footer_widgets .column {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; 
  padding: 0 10px 20px;
}
.footer_widgets li {
  margin: 12px 0;
  line-height: 16px;
}
.footer_left {
  color: #bbb;
  float: left;
}
.footer_left a {
  color: #bbb;
  white-space: nowrap;
}
.footer_right {
  color: #bbb;
  float: right;
}
.footer_right a {
  color: #bbb;
}
.social_links li {
  margin: 5px 0 18px 0;
}

.social_links a {
  display: inline-block;
  height: 20px;
  white-space: nowrap;
}
.social_links i {
  color: #bcbcbc;
  font-size: 20px;
  vertical-align: middle;
  width: 20px;
  margin-right: 8px;
}

/* (was .social_links i.fa-facebook-f { margin: 0 4px } — FA-era rule, dead post-Lucide; spacing now handled by .lhs-icon default margin-right) */

.main-content {
  padding: 0 0 30px;
  margin-top: 3em;
  min-height: 15em;
}

.sidebar {
  margin-bottom: 50px;
}

.sidebar .widget {
	min-width: 205px;
}

/* Desktop filter sidebar — DROPPED sticky positioning 2026-04-27.
 * The sticky rule pinned the sidebar to top: 20px on desktop, but with
 * long filter lists (50+ brands, deep colour/material lists) the sidebar
 * was taller than the viewport and the natural-scroll behaviour broke:
 * the user could only see the top portion, and to reach lower filters
 * they had to scroll the page (which the sticky kept pinning back) or
 * scroll within the sidebar itself (no internal overflow set). Net
 * effect was filter items below the fold that were unreachable.
 * Reverting to a normal block-flow sidebar — page scroll naturally
 * reveals the bottom of the sidebar. Mobile slide-in panel unchanged. */

.textbox {
  background: #7e8683;
  color: #fff;
  margin-bottom: 10px;
  padding: 10px;
}

.delivery_box {
	padding: 25px;
}

.textbox.brands {
  padding: 16px;
}

.textbox.brands p {
  font-size: 15px;
  display: inline;
  margin: 0;
}

.textbox.brands p a {
  color: #FFF;
  display: inline-block;
  padding: 10px 5px;
}

.textbox h3 {
  color: #fff;
  font-size: 20px;
}
.textbox p:last-child {
  margin-bottom: 5px;
}
.textbox2 {
  background: #EEE;
  color: #444;
  border: 1px solid #BBB;
}
.textbox2 h2 {
  color: #444;
}

.featured {
  margin-bottom: 40px;
  position: relative;
}
.featured img {
  display: block;
}
.featured_text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
  background: #000;
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: 26px;
  line-height: 30px;
  font-style: italic;
  padding: 12px 33px;
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 470px;
}

.featured_text img {padding: 0 0 8px 0;}

.featured_save {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%; 
  background: #E10000;
  color: #FFF;
  font-size: 40px;
  line-height: 35px;
  padding: 25px 40px;
  position: absolute;
  right: 14px;
  top: 15px;
  width: 180px;
  height: 180px;
  text-align: center;
}
.featured_save .number {
  display: block;
  font-size: 53px;
  line-height: 57px;
}

/* Match the product-tile badge: small red rectangle, top-LEFT, no
   border-radius circle. Old style was a 100px circle floating top-right
   and felt heavy + dated next to the new tile design. */
.product_image .featured_save {
  width: auto;
  height: auto;
  top: 12px;
  left: 12px;
  right: auto;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1;
  border-radius: 4px;
  background: #d11e1e;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  z-index: 2;
  opacity: 1;
  white-space: nowrap;
}
.product_image .featured_save .number {
  display: inline;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
}

.title {
  font-size: 22px;
  margin-bottom: 1em;
}
.grid_styling {
  color: #444;
  position: relative;
}

.grid_styling .grid_item a {
  text-decoration: none;
}

.grid_styling .product {
   margin-bottom: 36px;
   position: relative;
}

.grid_styling .grid_item img {
  width: 100%;
}

/* ============================================================
   PRODUCT TILE — single component for listings, more-from-{X}
   carousels, recently-viewed, today's deals. Visual goals:
   - Clean white card, calm hover (opacity dim on image, border
     shift on card — no translateY lift, no drop-shadow)
   - Generous font sizes for the 50+ home-shopper audience
     (16px name / 20px price minimum)
   - Price hierarchy: current price big-bold-left, RRP small-
     strikethrough-right with lighter colour
   - Discrete merchant logo at bottom; no "View at {X}" text
   ============================================================ */
.product {
   display: flex;
   flex-direction: column;
   background: #fff;
   border: 0;
   border-radius: 6px;
   overflow: hidden;
   height: 100%;
}

/* ----- Image area ---------------------------------------- */
.product .product_img_wrap {
   position: relative;
   background: #fff;
}
.product .product_img {
   display: block;
   position: relative;
   aspect-ratio: 1 / 1;
   overflow: hidden;
   text-align: center;
}
.product .product_img img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   display: block;
   transition: opacity 0.18s ease;
   padding: 8px;
}
.product:hover .product_img img {
   opacity: 0.92;
}

/* Discount badge — top-LEFT rounded strip (was a 50px circle).
   Reference: the brand-style rectangular "50% Off" pill seen on
   modern e-commerce. Auto-width to fit "9% OFF" / "£12 OFF" /
   "50% OFF" without breaking. */
.product .featured_save {
   position: absolute;
   top: 4px;
   left: 4px;
   right: auto;
   width: auto;
   height: auto;
   min-width: 0;
   /* Cap to ~half of a tile so big-£ savings ("£968 OFF!") don't dominate
      the image. nowrap prevents wrapping; if content exceeds max-width it
      truncates. Slimmer font-size + tighter padding too — the badge should
      whisper "this is on sale", not shout. */
   max-width: 50%;
   border-radius: 4px;
   padding: 4px 8px;
   font-size: 11px;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.03em;
   z-index: 2;
   text-transform: uppercase;
   background: #d11e1e;
   color: #fff;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   text-align: left;
}

/* Compare checkbox — BOTTOM-right of the image. Ghost styling so it sits
   over the image without a white pill that competes for attention with
   the badge top-left.
   Bug fix 2026-04-27: the GLOBAL .compare-check-wrap rule (in compare.css)
   sets `top: 8px`. When this product-tile override added `bottom: 6px`
   without resetting `top`, an absolutely-positioned element with BOTH top
   AND bottom defined STRETCHES to span the full height between them — so
   the pill rendered at full image height regardless of any visual content
   inside it. The user found that adding `height: 20px` worked around this;
   the proper fix is to explicitly reset `top: auto` (and left, for symmetry)
   so the bottom-right anchoring takes precedence. */
.product .product_img_wrap > .product_img {
   display: block;
   position: relative;
}
.product .compare-check-wrap {
   position: absolute;
   top: auto;        /* reset the global top:8px so bottom:6px wins */
   left: auto;
   bottom: 6px;
   right: 6px;
   z-index: 2;
   background: rgba(255, 255, 255, 0.7);
   backdrop-filter: blur(2px);
   -webkit-backdrop-filter: blur(2px);
   padding: 3px 7px;
   font-size: 11px;
   border-radius: 3px;
}
.product .compare-check-wrap input[type=checkbox] {
   width: 12px;
   height: 12px;
   flex: 0 0 12px;
}
.product .compare-check-wrap span {
   font-size: 11px;
}

/* ----- Info area ----------------------------------------- */
.product .product_info {
   border-top: none;
   padding: 12px 12px 10px;
   flex: 1 1 auto;
   display: flex;
   flex-direction: column;
}
.product .product_name {
   color: #1a1a1a;
   font-size: 16px;
   font-weight: 500;
   text-decoration: none;
   margin: 0 0 10px;
   line-height: 1.35;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   min-height: 2.7em;
}
.product a.product_name {
   display: -webkit-box;
}
.product a.product_name:hover {
   color: #F68600;
}

/* Price row: current price (left, dominant) + RRP (right, secondary). */
.product .product_price_row {
   display: flex;
   align-items: baseline;
   justify-content: flex-start;
   flex-wrap: wrap;
   gap: 8px;
   margin: 0 0 10px;
}
.product .product_price {
   color: #1a1a1a;
   font-size: 20px;
   font-weight: 700;
   text-decoration: none;
   line-height: 1.1;
   white-space: nowrap;
}
.product .product_rrp,
.product a.product_rrp {
   color: #999;
   font-size: 14px;
   font-weight: 400;
   text-decoration: line-through !important;
   line-height: 1.1;
   white-space: nowrap;
}
.product .product_rrp .rrp-label {
   text-decoration: none;
   margin-right: 2px;
   font-size: 11px;
   color: #aaa;
   letter-spacing: 0.02em;
}

/* Merchant logo at bottom — small, discrete, no chip, centred so all
   tiles in a row align visually regardless of merchant logo width. */
.product .product_merchant_strip {
   margin-top: auto;
   padding-top: 8px;
   border-top: 1px solid #f0f0f0;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   min-height: 32px;
}
.product .product_moreinfo {
  float: right;
  margin-right: 5px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%; 
  border: 1px solid #9c9c9c;
  color: #9c9c9c;
  display: block;
  font-family: Georgia, serif;
  font-size: 15px;
  font-style: italic;
  margin-top: 5px;
  width: 18px;
  height: 18px;
  text-align: center;
  text-decoration: none;
  line-height: 18px;
}
.product .product_moreinfo:hover {
  border-color: #444; 
  color: #444;
}
.grid_header {
  line-height: 30px;
}
.grid_header .title {
  float: left;
}

.boxes {
  width: 31%;
  height: 200px;
  float: left;
  display: block;
  background-color: #EEE;
  margin: 10px 1% 10px 1%;
}

.boxes:last-child {margin-right: 0;}
 
/* --- Categories masonry (homepage) --------------------------------
   CSS Grid with 4 columns and fixed row height; tiles span 1×1, 2×1
   or 2×2 via .info-block-{span} modifier classes. The whole tile is
   a single <a>, so the entire image area is clickable. Object-fit:
   cover lets each tile use any source aspect ratio without distortion.
   Hover zoom on the image keeps the discovery feel modern without
   moving the tile itself (less layout-shifty than translate-on-hover). */
.info-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 220px;
	gap: 10px;
}
.info-block-hero     { grid-column: span 2; grid-row: span 2; }
.info-block-wide     { grid-column: span 2; grid-row: span 1; }
.info-block-tall     { grid-column: span 1; grid-row: span 2; }
.info-block-standard { grid-column: span 1; grid-row: span 1; }

.info-block {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	color: #fff;
	text-decoration: none;
	background: #f3f3f3;  /* skeleton colour while image loads */
}
.info-block picture,
.info-block img {
	display: block;
	width: 100%;
	height: 100%;
}
.info-block img {
	object-fit: cover;
	transition: transform 0.5s ease;
}
.info-block:hover img,
.info-block:focus-visible img {
	transform: scale(1.04);
}
.info-block:before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	/* Two-stop gradient — deeper at top so the white H3 stays legible
	   regardless of which photo is loaded; transparent in the middle
	   so the image still reads. Hero gets a slightly stronger overlay
	   via the .info-block-hero override below. */
	background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 45%);
}
.info-block-hero:before {
	background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0) 60%, rgba(0,0,0,0.4) 100%);
}

@media (max-width: 991px) {
	.info-grid { grid-template-columns: repeat(2, 1fr); }
	/* Hero shrinks to a banner (full-width but single row) and tall
	   collapses to standard so we don't get awkward gaps on tablet. */
	.info-block-hero { grid-column: span 2; grid-row: span 2; }
	.info-block-wide { grid-column: span 2; grid-row: span 1; }
	.info-block-tall { grid-column: span 1; grid-row: span 2; }
}
@media (max-width: 575px) {
	.info-grid { grid-auto-rows: 160px; gap: 8px; }
	.info-block-hero { grid-column: span 2; grid-row: span 2; }
}
/* --- end categories masonry --------------------------------------- */


.logo-box {
	display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5em;
  height: 100%;
  box-sizing: border-box;
	border: solid 1px #BBB;
}

.info-block h3 {
	position: absolute;
	left: 0;
	right: 0;
	top: 1.2em;
	z-index: 2;  /* above .info-block:before overlay */
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: center;
	color: #FFF;
	text-transform: uppercase;
	text-shadow: 0 1px 8px rgba(0,0,0,0.45);
	pointer-events: none;
}
/* Hero tile gets a beefier title since it's the visual anchor. */
.info-block-hero h3 {
	font-size: 30px;
	letter-spacing: 0.05em;
}
@media (max-width: 575px) {
	.info-block h3 { font-size: 16px; top: 0.9em; }
	.info-block-hero h3 { font-size: 20px; }
}

.header-content h1 {
	font-size: 1.75em;
	font-weight: 400;
}
.footer-content h2 {
	text-align: left;
	font-size: 1.5em;
	margin-bottom: 0.4em;
}

.seemore {
  color: #484949;
  float: right;
  font-size: 14px;
  font-style: italic;
  text-decoration: none;
}
.seemore span {
  text-decoration: underline;
}
.seemore:after {
  content:'\0020\003E';
}

.price_filter {
  text-align: left;
}
/* Price filter — slider + £from–£to inputs + apply arrow.
   idealo-mobile pattern adapted for the desktop sidebar (also works on
   mobile when the filter drawer opens). Slider drag updates the input
   fields live; releasing the thumb (or pressing apply) commits the
   filter and refreshes the grid. Bucket links underneath stay as-is —
   they're SEO-friendly URLs and a faster "give me ~£100" tap path. */

.price-slider {
  position: relative;
  height: 32px;
  margin: 14px 6px 6px;
  /* Mobile scroll fix: native range inputs default to touch-action:auto,
     which lets the browser interpret a touch-drag on the thumb as either
     slider input OR a scroll pan — and in the conflict the slider area
     would lock vertical page scroll. pan-y here (and on the thumb below)
     tells the browser: vertical pans on this element are SCROLLS, not
     slider input. Horizontal pans still flow to the input as drag-to-
     change-value. The user reported the slider locking page scroll on
     mobile — this resolves it. */
  touch-action: pan-y;
}

/* Loading state during AJAX filter apply — dim the swap targets so the
   user can see something is happening without a layout shift. */
.lhs-filtering .row > .content,
.lhs-filtering .row > .sidebar {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.12s ease-out;
}
.price-slider-track,
.price-slider-range {
  position: absolute;
  top: 14px;
  height: 4px;
  border-radius: 2px;
  pointer-events: none;
}
.price-slider-track {
  left: 0;
  right: 0;
  background: #d8dde2;
}
.price-slider-range {
  background: #0066cc;
}
/* Two stacked range inputs occupy the same space; pointer-events on
   the track itself is disabled so only the thumb circles capture events
   (otherwise the upper input would block the lower one). */
.price-slider-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 32px;
  margin: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none;
  touch-action: pan-y;  /* see .price-slider rule above for rationale */
}
.price-slider-thumb::-webkit-slider-runnable-track { background: transparent; height: 4px; }
.price-slider-thumb::-moz-range-track             { background: transparent; height: 4px; }
.price-slider-thumb::-webkit-slider-thumb {
  -webkit-appearance: none;
  pointer-events: auto;
  width: 18px;
  height: 18px;
  margin-top: -7px;
  background: #fff;
  border: 2px solid #0066cc;
  border-radius: 50%;
  cursor: grab;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: transform 0.1s;
}
.price-slider-thumb::-moz-range-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  background: #fff;
  border: 2px solid #0066cc;
  border-radius: 50%;
  cursor: grab;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}
.price-slider-thumb:active::-webkit-slider-thumb { cursor: grabbing; transform: scale(1.08); }
.price-slider-thumb:active::-moz-range-thumb     { cursor: grabbing; transform: scale(1.08); }
.price-slider-thumb:focus { outline: none; }
.price-slider-thumb:focus::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.18); }
.price-slider-thumb:focus::-moz-range-thumb     { box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.18); }

.price_form {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  margin: 8px 0 12px;
}
.price_form .price_currency {
  color: #7e8683;
  font-size: 14px;
  margin-left: 2px;
}
.price_form input[type=number] {
  box-sizing: border-box;
  border: 1px solid #d0d5db;
  background: #fff;
  border-radius: 6px;
  width: 0;            /* flex grows them */
  flex: 1 1 auto;
  min-width: 0;
  padding: 8px 8px;
  font-size: 14px;
  color: #222;
  text-align: right;
  transition: border-color 0.15s, box-shadow 0.15s;
  -moz-appearance: textfield;
}
.price_form input[type=number]::-webkit-outer-spin-button,
.price_form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.price_form input[type=number]:hover { border-color: #9aa0a6; }
.price_form input[type=number]:focus {
  outline: none;
  border-color: #0066cc;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.12);
}
.price_form .price_apply_btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #0066cc;
  border: 1px solid #0066cc;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  padding: 0;
}
.price_form .price_apply_btn:hover { background: #0055aa; border-color: #0055aa; }
.price_form .price_to {
  flex: 0 0 auto;
  color: #7e8683;
  font-size: 13px;
  padding: 0 2px;
}

.category_header {
  margin-bottom: 25px;
  margin-top: 20px;
  text-align: center;
}
.category_header .price_filter {
  display: none;
  margin-bottom: 15px;
}
.category_header .price_filter h2 {
  float: left;
  line-height: 24px;
  margin: 0 15px 0 0;
}
.category_header .price_form input[type=text] {
  width: 128px;
}
.category_header .price_form .price_to {
  margin: 0 6px;
}
.category_header .price_form input[type="submit"] {
  margin-left: 15px;
  width: 40px;
}
.breadcrumbs {
  font-size: 13px;
  line-height: 20px;
  margin: 0 0 20px 0;
}
.breadcrumbs .title {
  font-size: 13px;
  margin: 0;
  line-height: 1.5em;
}
.category_header .breadcrumbs {
  float: left;
}
.sort {
  float: right;
  width: 200px;
  position: relative;
}
.mobile_sort_options {
    display: none;
}
.collapsible_heading,
.filter_btn {
  background: #f0f0f0;
  display: flex;            /* flex so the icon can push to the far right */
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  line-height: 40px;
  padding: 0 10px;
  text-decoration: none;
  text-align: left;
}
/* Sort By's chevron sits at the right edge of the pill (was left-attached
   with margin-left: 6px). Cleaner read on mobile where the dropdown sits
   between Filter By + nothing — the right-floated chevron mirrors a real
   <select> dropdown affordance. */
.sort_btn .lhs-icon,
.filter_btn .lhs-icon {
   margin-left: auto;
}

a.collapsible_heading:hover {
  background-color: #DDD;
}

.collapsible_heading i,
.filter_btn i {
  color: #888;
  float: right;
  margin-top: 12px;
}
.sort_options {
  background: none repeat scroll 0 0 #f0f0f0;
  border-bottom: 1px solid #ccc;
  display: none;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 10;
}
.sort_options a {
  border-top: 1px solid #ccc;
  display: block;
  font-size: 14px;
  padding: 10px;
  text-align: left;
  text-decoration: none;
}
.sort_options a:hover {
  background: #ddd;
}

.nav-links {
  font-size: 16px;
  line-height: 40px;
  margin: 0 0 30px 0;
  text-align: center;
}
.per_page_switch {
  display: block;
  margin-bottom: 5px;
}
.page-numbers {
  position: relative;
}
.page-numbers ul {
  display: inline-block;
  font-size: 0;
  margin: 0;
}
.page-numbers li {
  display: inline-block;
  font-size: 16px;
}
.page-numbers li a,
.page-numbers .page-numbers {
  box-sizing: border-box;
  border: 1px solid #DDD;
  display: inline-block;
  margin: 0 6px;
  min-width: 44px;
  padding: 2px 15px 0px 15px;
  text-decoration: none;
}

.page-numbers li a:hover {background-color: #444; color: #FFF;}
.page-numbers a.prev:hover, .page-numbers a.next:hover {background-color: #444; color: #FFF;}

.page-numbers li .current {
  cursor: default;
  background: #DDD;
  color: #141414;
  border: 1px solid #999;
}

.page-numbers .prev {
	border: 1px solid #DDD;
	padding: 2px 10px 0 17px;
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: none;
}

.page-numbers .non-active-btn {
	border-color: #E1E1E1;
	color: #DDD;
	cursor: default;
}

.page-numbers a.non-active-btn:hover {
	background-color: #FFF;
	color: #DDD;
}

/* (was .page-numbers .prev .far / .next .far — FA-era pagination chevron
   margin; Lucide chevrons inherit the .lhs-icon default margin-right and
   the prev/next CSS no longer ships any FA glyph anyway.) */
.page-numbers .next {
	border: 1px solid #DDD;
	padding: 2px 17px 0 10px;
  position: absolute;
  top: 0;
  right: 0;
  text-decoration: none;
}

.category_footer {
  text-align: center;
}

.product_wrap {
  font-size: 15px;
  padding-bottom: 10px;
}

.product_wrap .header {
	font-weight: bold;
	margin: 1em 0 0.2em 0;
}

.product_wrap .header i:first-child {
	margin-right: 9px;
}

.product_image {
  display: block;
  position: relative;
  float: left;
  width: 100%;
}
.product_image img {
  display: block;
  margin: 0 auto;
}

/* Product image column — let the image dictate its own height so
   portrait/landscape products don't get letterboxed with huge blank
   space top & bottom. Fixed max-height keeps oversized originals in
   check. The previous padding-top:100% aspect-ratio trick reserved a
   square box regardless of image dimensions; most product shots aren't
   exactly square so it always rendered as empty padding. */
.product-carousel-wrapper {
  width: 100%;
  position: relative;
}
.product-carousel-splide {
  padding: 0 !important;
  position: relative;
}
/* Arrow buttons — only visible on multi-image carousels (.has-multiple).
   Mirrors the .swipe-row-splide arrow visual: round white pill with
   border + shadow, vertically centred over the image edges. */
.product-carousel-splide.has-single .splide__arrows { display: none; }
.product-carousel-splide .splide__arrows {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}
.product-carousel-splide .splide__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: auto;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #e1e3e5;
  border-radius: 50%;
  color: #2c2c2c;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  transition: opacity 0.2s, background 0.15s, transform 0.15s;
  opacity: 1;
}
.product-carousel-splide .splide__arrow--prev { left: 12px; }
.product-carousel-splide .splide__arrow--next { right: 12px; }
.product-carousel-splide .splide__arrow:hover:not(:disabled) {
  background: #f7f7f7;
  transform: translateY(-50%) scale(1.05);
}
.product-carousel-splide .splide__arrow:disabled {
  opacity: 0;
  pointer-events: none;
}
.product-carousel-splide .splide__arrow svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  display: block;
}
/* Splide injects the same right-pointing chevron SVG for both arrows;
   flip the prev one horizontally so it reads as a back arrow. */
.product-carousel-splide .splide__arrow--prev svg {
  transform: scaleX(-1);
}
@media (hover: none) {
  .product-carousel-splide .splide__arrows { display: none; }
}
.product-carousel-splide .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-carousel-splide .splide__slide img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 560px;          /* cap so a 2000px-tall product doesn't dominate */
  object-fit: contain;
  display: block;
}
@media (max-width: 767px) {
  .product-carousel-splide .splide__slide img { max-height: 420px; }
}

.product-carousel-thumbs {
  margin: 10px -5px;
  display: flex;
}
.product-image-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  font-size: 14px;
  color: #555;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  padding-bottom: 1px;
  transition: color 0.15s;
}
.product-image-cta:hover,
.product-image-cta:focus-visible {
  color: #F68600;
}
.product-image-cta .lhs-icon {
  width: 14px;
  height: 14px;
}
.product-carousel-thumbs .thumb {
  float: left;
  border: 1px solid #ddd;
  flex: 0 1 20%;
  margin: 0 5px;
  opacity: 0.6;
}
.product-carousel-thumbs .thumb-inner {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}
.product-carousel-thumbs .thumb img {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.product-carousel-thumbs .thumb.is-active {
  border-color: #999;
  opacity: 1;
}

.product_details {
  float: left;
  width: 100%;
}
.product_details p{
  margin: 0 0 0.4em;
}
.product_desc {
  margin-top: 14px;
}

/* Click-to-expand product description — MOBILE ONLY.
   On desktop (≥768px) the description renders fully; the clamp + Read
   more affordance only kicks in below the breakpoint where vertical
   space is precious and a 30-line description pushes everything below
   the fold. The .product-desc-more element is hidden by default so
   even if the JS adds .is-clamped on a desktop, no Read more appears
   (and the clamp itself does nothing without the @media). */
.product-desc-body {
  position: relative;
  cursor: default;
  outline: none;
}
/* Specificity bump: the parent .collapsible-on-mobile-content has a
   `span { display: block }` rule (0,1,1) that beats a plain
   `.product-desc-more { display: none }` (0,1,0) — Read more leaked
   onto desktop because of that. Scope to .product-desc-body for
   (0,2,0) which wins, and !important the inline-block in the @media
   below for the same reason. */
.product-desc-body .product-desc-more {
  display: none;
}
@media (max-width: 767px) {
  .product-desc-body.is-clamped {
    cursor: pointer;
  }
  .product-desc-body.is-clamped .product-desc-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 0;
  }
  .product-desc-body.is-clamped .product-desc-more {
    display: inline-block !important;
    margin-top: 4px;
    color: #0066cc;
    font-weight: 500;
    font-size: 0.95em;
  }
  .product-desc-body.is-clamped .product-desc-more::before {
    content: '\2026 ';  /* leading ellipsis hints "more text below the fold" */
    color: #555;
  }
  .product-desc-body.is-clamped:focus-visible {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
    border-radius: 3px;
  }
}

.product_details .product_name {
  font-size: 30px;
  font-weight: 400;
  text-decoration: none;
  margin-bottom: 0;
}

.product-extra-info {
	margin-top: 1em;
}

.product_rating {
  color: #e8df7f;
  line-height: 24px;
  margin-bottom: 20px;
}
.product_rating .star_rating {
  float: left;
}
.product_rating .read {
  font-size: 14px;
  float: left;
  margin-left: 15px;
}

.user_reviews span {
	display: block;
}
.star-rating {
	font-size: 24px;
	color: #EEE;
	margin: 4px 0 10px 0;
}

.product_sidebar {
  float: left;
  width: 100%;
}
.product_main_area {
	background: var(--product-buy-info-box-background);
  font-size: 14px;
  margin-bottom: 10px;
  padding: 0px;
  position: relative;
}
.product_price {
  color: #333;
  font-size: 26px;
}
.product_price_merchant, .product_price_merchant a {
  color: #666;
  text-decoration: none;
}
/* Consolidated buy_btn rule (was split across two competing definitions
   at lines ~2230 and ~2346 — the later 43% / inline-block one was a
   legacy two-button side-by-side layout that no longer ships. Merged
   here: brand colours from the legacy rule + width cap from the new
   one. The duplicate further down is now removed, and the visual
   matches what the user asked for: 70% width, max 360px, single line). */
.product_wrap .buy_btn {
  display: block;
  width: 70%;
  max-width: 360px;
  font-size: 17px;
  line-height: 42px;
  padding: 3px 0 0;
  margin: 15px 0 5px;
  text-align: center;
  text-decoration: none;
  background-color: var(--product-buy-button-background);
  color: var(--product-buy-button-text);
  border: 1px solid var(--product-buy-button-background);
}
.product_wrap .buy_btn:hover,
.product_wrap .buy_btn:focus-visible {
  background-color: var(--product-buy-button-background-hover);
  border-color: var(--product-buy-button-background-hover);
  color: var(--product-buy-button-text-hover);
}

.product_wrap .product_price {
	color: #333;
	font-weight: 500;
}

.product_wrap .discounted-price {
	font-weight: 300;
	color: #888;
	font-style: normal;
	font-size: 15px;
	text-decoration: line-through;
}

/* New pricing block — main price dominant, RRP strikethrough, coloured save pill.
   Replaces the old "Was £X Now £Y" inline treatment (D19 punch-list). */
.product_wrap .product_price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px 12px;
	line-height: 1.1;
}
.product-price-main {
	font-size: 32px;
	font-weight: 600;
	color: #222;
}
.product-price-was {
	font-size: 16px;
	font-weight: 400;
	color: #888;
}
.product-price-was s {
	text-decoration: line-through;
}
.product-save-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: #e04e1f;
	padding: 6px 10px;
	border-radius: 999px;
	letter-spacing: 0.2px;
}
/* "Lowest in N days" — green pill placed alongside the save badge.
   Only renders when the current price ties or beats the historical
   min within the longest matching window. Subtle tick glyph reads
   as "verified low" rather than promotional. */
.product-lowest-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #1f6f3a;
	background: #e8f5ec;
	border: 1px solid #c9e2cc;
	padding: 5px 9px 5px 7px;
	border-radius: 999px;
	letter-spacing: 0.2px;
}
.product-lowest-badge svg { flex-shrink: 0; }

/* Specifications block (middle col, 6/3/3 layout) — vertical list of
   category / brand / colour / material / structured spec. Tighter
   line-height than body copy so a long spec list reads as a tight
   metadata column rather than prose. */
.product-spec-list {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}
.product-spec-list a { color: #0066cc; text-decoration: underline; }
.product-spec-list a:hover { color: #0055aa; }

/* See-full-details link sits below the description; visually lighter than the
   primary buy button so it doesn't compete. */
.product-see-more-details {
	display: inline-block;
	margin-top: 10px;
	font-size: 14px;
	color: #555;
	text-decoration: underline;
}
.product-see-more-details:hover {
	color: #222;
}

.buy_btn .lhs-icon {
	margin-left: 6px;
	margin-right: 0;
}

/* Duplicate .product_wrap .buy_btn rule deleted — merged into the
   single definition higher in the file (search for "Consolidated
   buy_btn"). The legacy 43% / inline-block sizing was for a two-button
   side-by-side layout that no longer ships. */

.product_wrap .info_btn {
	background-color: var(--product-buy-info-button-background);
	border: 1px solid #000;
	color: var(--product-buy-info-button-text);
}

.product_wrap .info_btn:hover {
	background-color: var(--product-buy-info-button-background-hover);
	color: var(--product-buy-info-button-text-hover);  
}


.product_main_area .stock_btn {
  font-size: 14px;
  font-style: italic;
  margin: 13px 0 3px;
  text-align: center;
}

/* Modernised product share — one unified component for desktop + mobile.
   Flex row of equal-size icon buttons. Native Web Share button lives
   in the same row, unhidden by JS when navigator.share is available
   (saves space + avoids the old slide-up mobile sheet). */
.product-share,
.product_share {
  margin-bottom: 10px;
}
.product-share .header,
.product_share .header {
  color: #333;
  font-size: 15px;
  margin: 0 0 8px;
  font-weight: 600;
}
.product-share .header i,
.product_share .header i { margin-right: 6px; color: #666; }
.product-share .share-header-icon {
  vertical-align: text-bottom;
  margin-right: 6px;
  color: #666;
}
.product-share .social_sharing svg {
  display: block;
}

.product-share .social_sharing,
.product_share .social_sharing {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-share .social_sharing li,
.product_share .social_sharing li {
  display: block;
  flex: 0 0 auto;
  width: auto;
  padding: 0;
}
/* Honour the [hidden] HTML attribute — without this, the explicit
   display:block above wins and elements stay visible. Affects the
   share-native <li> (only revealed when navigator.share works) and
   the share-feedback flash text. */
.product-share [hidden],
.product_share [hidden] { display: none !important; }
.product-share .social_sharing a,
.product-share .social_sharing button,
.product_share .social_sharing a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #d0d5db;
  background: #fff;
  color: #444;
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s;
}
.product-share .social_sharing a:hover,
.product-share .social_sharing button:hover,
.product_share .social_sharing a:hover {
  background: #f7f7f7;
  border-color: #9aa0a6;
  color: #111;
  transform: translateY(-1px);
}

.share-whatsapp  { color: #25cc64 !important; }
.share-facebook  { color: #3b5998 !important; }
.share-pinterest { color: #bd081c !important; }
.share-email     { color: #555   !important; }
.share-copy      { color: #444   !important; }
.share-trigger-native { color: #0066cc !important; border-color: #0066cc !important; }
.share-trigger-native:hover { background: #0066cc !important; color: #fff !important; }

.product-share .share-feedback {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  color: #2e5a34;
  background: #eef6ef;
  border: 1px solid #c9e2cc;
  padding: 3px 8px;
  border-radius: 3px;
}

.product-image-box {
	position: relative;
	min-height: 500px;
}

.product-image-box img {
	background-color: #EEE;
	font-size: 11px;
	line-height: 12px;
}

.product_footer_buttons {
	display: none;
}

.product_share_mobile {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.product_share_mobile.active {
  opacity: 1;
  pointer-events: auto;
  display: block;
}

.product_share_mobile .inner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  padding: 20px;
}

.product_share_mobile .inner .close {
  position: absolute;
  bottom: 100%;
  right: 0;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  padding: 20px;
}

.product_share_mobile .inner p {
  font-size: 18px;
  margin-bottom: 15px;
}

.product_share_mobile .inner .item {
  display: block;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
}

.product_share_mobile .inner .item > * {
  vertical-align: middle;
}

.product_share_mobile .inner .icon {
  font-size: 32px;
  margin-right: 15px;
}

/* (was .product_share_mobile .inner .icon.fal — old slide-up share
   sheet; the whole .product_share_mobile component was deleted when
   we unified share to .product-share. Rule removed.) */

.product_share_mobile .item:not(:last-child) {
  margin-bottom: 20px;
}

.product_share_mobile_btn {
  display: none;
  position: absolute;
  top: -10px;
  right: 0px;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  z-index: 1;
  line-height: 1;
  border-radius: 50%;
  border: 1px solid #888;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 3;
}

.product_share_mobile_btn span {
  margin-left: -3px;
  margin-bottom: -2px;
}

@media screen and (max-height: 420px) {
  .product_share_mobile .item:not(:last-child) {
    margin-bottom: 5px;
  }

  .product_share_mobile .inner .close {
    bottom: auto;
    top: 0;
    color: inherit;
  }
}

.product_delivery {
  border: 2px solid #D9D9D9;
  font-size: 12px;
  padding: 10px;
}
.product_delivery p {
  margin-bottom: 0.5em;
}
.product_delivery .delivery_title {
  font-size: 14px;
  margin-bottom: 5px;
}


.tabs a {
  padding: 5px 10px;
}
.tab_title {
  display: none;
}
.tab_panel {
  display: none;
}

.similar_products {
  padding: 30px 0 0 0;
}

.recently-viewed-products {
	background-color: #F1F1F1;
	padding: 1.5em 1.5em 0 1.5em;
	margin-bottom: 1em;
	position: relative;
}

.recently-viewed-products .header-main {
  font-size: 22px;
  line-height: 24px;
  margin-bottom: 34px;
  text-align: center;
}

.similar_products .header-main {
  font-size: 18px;
  line-height: 1.2em;
  margin-bottom: 34px;
  text-align: center;
}

.product_loading {
  display: none;
  font-size: 20px;
  position: absolute;
  bottom: 15px;
  width: 100%;
  text-align: center;
}

.product_footer {
	text-align: center;
	margin: 30px 0 50px 0;
}

.load_more_btn {
	display: block;
	width: 25%;
  font-size: 16px;
  line-height: 20px;
  padding: 0.7em 3em 0.6em 3em;
  margin: 0 auto;
  text-decoration: none;
  text-align: center;
  border: 1px solid #000;
  background-color: var(--product-buy-info-button-background);
	color: var(--product-buy-info-button-text);
}

.load_more_btn:hover{
	background-color: var(--product-buy-info-button-background-hover);
	color: var(--product-buy-info-button-text-hover);  
}

.search_form_2 {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;  
  float: right;
  margin-bottom: 20px;
  width: 640px;
  position: relative;
}

.search_form_2 input[type=text] {
  border: 5px solid #93ADA8;
  color: #624e6b;
  float: left;
  margin-right: 7px;
  height: 40px;
  padding: 0 40px 0 14px;
  width: 100%;
}
.search_form_2 input[type=submit] {
  display: none;
  border: 0;
  background: #93ADA8;
  color: #fff;
  font-size: 16px;
  font-style: italic;
  line-height: 40px;
  text-align: center;
  height: 40px;
  width: 40px;
  position: absolute;
  right: 0;
  top: 0;
}

.search_form_2 input[type="submit"]:hover {cursor: pointer; background-color: #666;}

.search_form_2 > svg.lhs-icon,
.search_form_2 .lhs-icon-search {
  color: #c6c6c6;
  width: 18px;
  height: 18px;
  right: 12px;
  top: 11px;
  position: absolute;
  cursor: pointer;
  margin: 0;
  pointer-events: none;
}
.search_form_2.fullwidth {
  width: 100% !important;
}

.search_results_title span {
  font-weight: 700;
}
.search_page .search_form_2 {
  float: none;
  margin-bottom: 40px;
  width: 100%;
}
.search-result-header .search-term {
  font-style: italic;
}
.search-result-header .revise-search-form {
  margin: 0;
}

/* The blog div itself draws its own top border + padding (see .blog
   rule below) so the outer .blog-section container doesn't need extra
   top padding — adding it stacked the spacing and produced an oversized
   gap between Amazon block and blog header on the homepage. The class
   stays on the container as a hook for future per-section overrides. */
.blog-section {
	/* no padding-top — handled by .blog's border + padding */
}

.blog-carousel .post-title,
.swipe-row-blog .post-title,
.blog .post-title,
.post-title {
	font-size: 18px;
	line-height: 20px;
	font-weight: 500;
	padding: 0.15em 0;
}
/* Hide the "Furniture, Living Room" tag row above blog post titles in
   any carousel/swipe context — the category line eats space, doesn't
   add discovery value at this scale, and the user wanted the post
   title to be the visual anchor. The /design-ideas index grid keeps
   the tags (different .blog-carousel parent there). */
.swipe-row-blog .post-cat,
.blog-swipe .post-cat,
.blog-carousel .post-cat,
.swipe-row-blog .post-meta,
.blog-swipe .post-meta {
	display: none;
}
/* Drop the default underline on blog post titles in every render context
   (homepage carousel, /design-ideas grid, "more posts" rows, etc.). The
   visited-state colour shift is enough hover affordance — underlines on
   card titles compete visually with body-link underlines elsewhere. */
.post-title a,
.post-title a:hover,
.post-title a:focus-visible {
  text-decoration: none;
}
.blog-carousel .post-cat a {
  color: var(--blog-category-link-color);
  font-weight: 100;
  text-transform: uppercase;
  text-decoration: none;
}


.redirect {
  color: #333;
  font-size: 20px;
  margin: 120px auto 0;
    padding: 0 10px;
  max-width: 540px;
  text-align: center;
}
.redirect_inner {
  background: #eee;
  padding: 48px 60px;
}
.redirect h1 {
  color: #333;
  font-size: 32px;
  margin-bottom: 18px;
  white-space: nowrap;
  letter-spacing: -0.01em;
}
@media (max-width: 480px) {
  .redirect h1 { font-size: 26px; }
}
.redirect a {
  color: #444;
}

/* Merchant trust signal on the redirect splash — logo plus "Taking you
   to {Merchant}" copy reassures users mid-redirect that the destination
   is the retailer they expect, not a phishing target. */
.redirect-merchant {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  margin: 0 0 18px;
}
.redirect-merchant-logo {
  max-width: 220px;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid #e1e3e5;
  border-radius: 8px;
  padding: 10px 16px;
}
.redirect-merchant .merchant-logo-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: #fff;
  border: 1px solid #e1e3e5;
  border-radius: 8px;
  font-weight: 600;
  font-size: 22px;
  color: #444;
}

body.blog .entry-content ul {
  list-style: disc;
  margin: 10px 0 10px 20px;
}

body.blog .entry-content ul li {
  font-size: 14px;
  padding: 3px 0;
}

.homepage .main-content {
  background-color: #FFF;
  padding-bottom: 0;
}

.column2 {
  width: 16%;
}

.home_search {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(0,0,0,0.6);
  top: 10%;
  left: 0;
  right: 0;
  margin: 0 auto; 
  width: 40%;
  position: absolute;
  padding: 20px;
}
.home_search h1, .home_search h2 {
  color: #fff;
  font-size: 28px;
  line-height: 1;
  text-align: left;
  margin-bottom: 0.1em;
}
.home_search p {
  color: #FFF; 
  text-align: left;
  font-size: 15px;
  margin: 0;
}
.home_search a {
  color: #FFF;
}
.home_search .search {
  display: block;
  float: none;
  margin: 15px 0 0;
}
.home_search .search .search_form {
  padding-right: 50px;
  position: relative;
}
.home_search .search .search_form input[type="text"] {
  border: 0;
  width: 100%;
}
.home_search .search .search_form input[type="submit"] {
  background: #e9e6e1;
  color: #555;
  position: absolute;
  top: 0;
  right: 0;
}
.home_search .search .search_form input[type="submit"]:hover {
  background: #c9c6c1;
}

.search_form input[type="text"] {
	padding-left: 12px;
	font-size: 1em;
}

.search_form input[type="text"]:focus {
  border-color: #66afe9;
  outline: 0;
}

h2 {
  color: #333;
  font-size: 30px;
  margin: 1em 0;
  text-align: center;
  position: relative;
}

.header-intro {
	color: var(--header-intro-text);
  font-size: 30px;
  line-height: 1.3em; 
  margin: 1em 0;
  text-align: center;
  position: relative;
}

.search-result-header-content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}
.search-result-header-content p {
  margin-bottom: 0;
}

.search-result-header-content.open {
  display: block;
}
.search-result-header-content .read-more {
  display: inline-block;
  margin-top: 1em;
}

/* Category / brand / store page header — H1 + top-intro paragraph layout.
   The H1 sits between the breadcrumb above and the short top-intro paragraph
   below, then the product-count H2 below that.
   Selector chain `.header-content .search-result-header h1` (specificity
   0,2,1) is deliberate — it beats the legacy mobile rule `.header-content
   h1 { text-align: center }` at line ~4156 which would otherwise centre
   the title at <=992px. Don't simplify back to `.search-result-header h1`. */
.header-content .search-result-header h1 {
	font-weight: 600;
	font-size: 2em;
	text-align: left;
	margin: 1.5em 0 0.25em 0;
	line-height: 1.15;
}
.category-top-intro {
	margin: 0 0 1em 0;
}
.category-top-intro p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}

/* Long-form editorial body that renders BELOW the product grid (set in
   site/search-templates/default.php and emitted by search_results.php
   inside <section class="category-long-copy">). Without these rules the
   content inherits the base h1/h2/h3 weight:300 — too light for a body
   article. Headings here override to 600 weight, larger sizes, explicit
   left-align, and proper top margins so the reader's eye finds the
   section breaks. text-align:left is set explicitly on each rule so a
   parent's text-align:center (e.g. mobile USP bar wrappers) can't bleed
   into the body content under any breakpoint. */
.category-long-copy {
	/* Single source of truth for category/brand/store long-form body
	   styling. (The duplicate block in core/assets/css/stores-brands.css
	   was removed when this consolidated rule was introduced.)
	   Horizontal padding matches Bootstrap's column-gutter offset
	   (var(--bs-gutter-x) * .5, ~12px each side) so the section's
	   content edges align with the product-grid columns above instead
	   of sitting flush against the container edges (which read "too
	   wide" next to the gridded content). */
	padding: 1.25rem calc(var(--bs-gutter-x, 1.5rem) * 0.5);
	margin: 2.5rem 0 1.5rem;
	border-top: 1px solid #eef0f3;
	color: #222;
	font-size: 16px;
	line-height: 1.65;
	text-align: left;
	/* Anchor offset — the top-intro "Read more →" jumps here; without
	   this the heading sits flush against the viewport top. */
	scroll-margin-top: 1rem;
}
/* Inline link inside the top-intro paragraph that scrolls to the long-form
   body below the grid. Deliberately understated — italic, no underline, no
   bold, inherits the surrounding text colour — so it reads as an aside
   rather than competing with the H1 / product count line. */
.category-top-intro-readmore {
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	margin-left: 0.25em;
}
.category-top-intro-readmore:hover { text-decoration: underline; }
/* Mobile-only: clip the long-copy section to roughly the first heading +
   first paragraph, with a fade gradient and a "Read more …" button that
   reveals the rest. Desktop renders the full body inline (no clipping,
   no button). The 16em max-height is deliberately chosen to land mid-
   way through paragraph one for any plausible H2/H3 + body combination —
   adjust here if the editorial template grows a longer first paragraph. */
.category-long-copy-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 0;
	/* Negative top-margin pulls the button up under the fade gradient so it
	   reads as part of the clipped paragraph rather than a detached button
	   sitting in whitespace. */
	margin: -0.75rem 0 0;
	font: inherit;
	font-weight: 600;
	color: var(--text-body-link-color);
	cursor: pointer;
}
.category-long-copy-toggle:hover { text-decoration: underline; }
@media (max-width: 767.98px) {
	.category-long-copy.js-collapsible-mobile:not(.is-expanded) .category-long-copy-body {
		max-height: 16em;
		overflow: hidden;
		position: relative;
	}
	.category-long-copy.js-collapsible-mobile:not(.is-expanded) .category-long-copy-body::after {
		content: '';
		position: absolute;
		left: 0; right: 0; bottom: 0;
		height: 5em;
		background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
		pointer-events: none;
	}
	.category-long-copy.js-collapsible-mobile:not(.is-expanded) {
		cursor: pointer;
	}
	.category-long-copy.js-collapsible-mobile:not(.is-expanded) .category-long-copy-toggle {
		display: inline-block;
	}
}
.category-long-copy h2 {
	font-size: 28px;
	font-weight: 600;
	text-align: left;
	margin: 1.75em 0 0.5em 0;
	line-height: 1.2;
	color: #111;
}
.category-long-copy h3 {
	font-size: 20px;
	font-weight: 600;
	text-align: left;
	margin: 1.5em 0 0.4em 0;
	line-height: 1.3;
	color: #111;
}
.category-long-copy p {
	margin: 0 0 1em 0;
	line-height: 1.65;
	text-align: left;
}
.category-long-copy ul,
.category-long-copy ol {
	margin: 0 0 1em 1.4em;
}
.category-long-copy a {
	text-decoration: underline;
}

.search-result-header h2 {
	font-size: 15px;
	line-height: 1.5;
  margin: 0 0 1em 0;
  text-align: left;
}
	

p.centered_link {
	text-align: center;
	font-size: 1.1em;
	margin: 0.75em 0 0 0;
}

.highlight_box {
	background-color: #FFF;
	margin-bottom: 1.7em;
}

.highlight_box .details {
	padding: 0.5em 0.7em 1em 0.5em;
	text-align: center;
}
.highlight_box .details .title {
	margin-bottom: 0.5em;
}

.highlight_box a {
	text-decoration: none;
}

.popular_brands .grid_item {
  margin-bottom: 30px;
  text-align: center;
}
.popular_brands .grid_item img {
  display: block;
}
.popular_brands .grid_item .details {
  background: #fff;
  padding: 10px;
  min-height: 80px;
}
.popular_brands .grid_item .title {
  margin: 4px 0 3px 0;
}

.best_stores_carousel {
  margin: 0 -10px;
  width: auto !important;
}

.blog {
	/* Top border removed — the featured-stores-grid section now sits between
	   today's deals and the blog with its own grey background, so a horizontal
	   rule above the blog heading would be a redundant visual break.
	   Extra top padding gives the heading breathing room from the grey panel. */
	padding: 56px 0 0;
}
.blog .swipe-row { margin: 0; }
.blog h2.lined,
.blog h2.section-heading-link {
	margin: 18px 0 16px;
	font-size: 22px;
	text-align: center;
}

.best_stores {
  margin-bottom: 40px;
}


/*! noUiSlider - 7.0.10 - 2014-12-27 14:50:47 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-target {
  position: relative;
  direction: ltr;
}
.noUi-base {
  width: 100%;
  height: 9px;
  position: relative;
}
.noUi-origin {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
}
.noUi-handle {
  position: relative;
  z-index: 1;
}
.noUi-stacking .noUi-handle {
  z-index: 10;
}
.noUi-stacking + .noUi-origin {
  *z-index: -1;
}
.noUi-state-tap .noUi-origin {
  -webkit-transition: left 0.3s, top 0.3s;
  transition: left 0.3s, top 0.3s;
}
.noUi-state-drag * {
  cursor: inherit !important;
}

/* Painting and performance;
 * Browsers can paint handles in their own layer.
 */
.noUi-base {
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 11px;
}
.noUi-horizontal .noUi-handle {
  width: 15px;
  height: 15px;
  left: -7px;
  top: -3px;
}

/* Styling;
 */
.noUi-background {
  background: #fff;
}
.noUi-connect {
  background: #E5E5E5;
  -webkit-transition: background 450ms;
  transition: background 450ms;
}
.noUi-origin {
  border-radius: 4px;
}
.noUi-target {
  border-radius: 4px;
  border: 1px solid #aaa;
}

/* Handles and cursors;
 */
.noUi-dragable {
  cursor: w-resize;
}
.noUi-handle {
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  background: #E6E6E6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") repeat-x scroll 50% 50%;
}
.noUi-active {
  border-color: #999;
}

/* Disabled state;
 */
[disabled].noUi-connect,
[disabled] .noUi-connect {
  background: #B8B8B8;
}
[disabled] .noUi-handle {
  cursor: not-allowed;
}

.widget {
  margin-bottom: 30px;
}
.filter_btn {
  display: none;
}
.product_filter {
  border: 2px solid #F0F0F0;
}
.product_filter_inner {
    padding: 0 10px;
}
/* Sidebar filters header — "Filters [N]" on the left, "Reset" on the
   right. Matches the idealo / Kelkoo pattern; gives the user a single
   visible escape hatch from any filter combination. */
.filter_header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 4px 0 12px;
  margin-bottom: 8px;
  border-bottom: 1px solid #e5e7ea;
}
.filter_header_title {
  font-size: 16px;
  font-weight: 700;
  color: #222;
  letter-spacing: -0.01em;
}
.filter_header_count {
  margin-left: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #7e8683;
}
.filter_header_reset {
  font-size: 14px;
  font-weight: 500;
  color: #0066cc;
  text-decoration: none;
}
.filter_header_reset:hover { text-decoration: underline; }

.product_filter .filter_container {
  border-bottom: 1px solid #d9d9d9;
  padding: 16px 0;
  position: relative;
}
.product_filter .filter_container:last-child {
  border: 0;
}

.product_filter a.arrow {
  position: absolute;
  top: 1px;
  right: -2px;
  color: #141414;
  font-size: 26px;
  padding: 14px 11px 14px 98%;
  text-decoration: none;
}

.product_filter a.arrow.collapsed {
  padding-bottom: 7px;
}

/* Filter accordion arrow toggle. Each .arrow contains BOTH chevron-up
   and chevron-down svgs; CSS shows one based on the parent's
   .collapsed state. Class-name selectors updated post-FA-migration —
   .fa-angle-up/down -> .lhs-icon-chevron-up/down. */
.product_filter .arrow .lhs-icon-chevron-up   { display: block; }
.product_filter .arrow .lhs-icon-chevron-down { display: none;  }
.product_filter .collapsed .arrow .lhs-icon-chevron-up   { display: none;  }
.product_filter .collapsed .arrow .lhs-icon-chevron-down { display: block; }
.product_filter .collapsed .filter_content {
  display: none;
}

.product_filter .filter_title {
  color: #141414;
  display: flex;
  align-items: center;
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 0;
  position: relative;
  /*font-size: 22px;
	margin: 0.75em 0;*/
}
.product_filter .filter_content {
  margin-top: 12px;
  max-height: 400px;
  overflow-x: hidden;
  overflow-y: auto;
}
.product_filter .filter_title .loading-container {
  position: relative;
  height: 18px;
  width: auto;
  margin-left: 5px;
}
.filter_brand .filter_content, 
.filter_store .filter_content {
  display: none;
}
.product_filter .filter_range {
  padding: 5px 7px;
}
.product_filter .filter_container ul {
  margin-left: 3px;
}
.product_filter .filter_container li {}

.product_filter .filter_container li a {
  text-decoration: none;
  display: inline-block;
  padding: 2px;
  margin-bottom: 5px;
  line-height: 1.25;
  font-weight: 300;
}
.product_filter .filter_container a.filter_remove {
  padding: 4px;
  font-weight: 500;
  font-style: italic;
}

.product_filter a.filter_remove:hover {
  text-decoration: line-through;
}

.product_filter .colour-swatch {
  border-width: 0;
  position: relative;
  width: 22px; height: 22px;
  margin: 3px 7px 5px -4px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  background: linear-gradient(135deg, #FFF, #FFF);
}

.product_filter .colour-swatch.Beige {background: linear-gradient(135deg, #A67C5B, #F6F7DD);}
.product_filter .colour-swatch.Blue {background: linear-gradient(135deg, #151682, #77b2ff);}
.product_filter .colour-swatch.Black {background: linear-gradient(135deg, #000, #BBB);}
.product_filter .colour-swatch.Brown {background: linear-gradient(135deg, #592d13, #c6902a);}
.product_filter .colour-swatch.Clear {border: 1px solid #DDD;}
.product_filter .colour-swatch.Cream {background: linear-gradient(135deg, #ece3b9, #fffde8);}
.product_filter .colour-swatch.Gloss {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #999 #f3f3f3 #f3f3f3 #999;}
.product_filter .colour-swatch.Gloss.Black {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #000 #858585 #858585 #000;}
.product_filter .colour-swatch.Gloss.White {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #f3f3f3 #fff #fff #f3f3f3;}
.product_filter .colour-swatch.Green {background: linear-gradient(135deg, #176f18, #06fd06);}
.product_filter .colour-swatch.Grey {background: linear-gradient(135deg, #8a8a8a, #d9d9d9);}
.product_filter .colour-swatch.Natural {background: linear-gradient(135deg, #ece2bf, #f7f4e5);}
.product_filter .colour-swatch.Nude {background: linear-gradient(135deg, #ece2bf, #f7f4e5);}
.product_filter .colour-swatch.Orange {background: linear-gradient(135deg, #c45800, #ffa700);}
.product_filter .colour-swatch.Pink {background: linear-gradient(135deg, #bb75af, #ffc0e3);}
.product_filter .colour-swatch.Purple {background: linear-gradient(135deg, #5300a6, #fc95ff);}
.product_filter .colour-swatch.Red {background: linear-gradient(135deg, #730000, #ff4f4f);}
.product_filter .colour-swatch.Teal {background: linear-gradient(135deg, #017C80, #92DEA0);}
.product_filter .colour-swatch.Terracotta {background: linear-gradient(135deg, #D3634C, #E2725B);}
.product_filter .colour-swatch.Turquoise {background: linear-gradient(135deg, #00C5CD, #3BFFE5);}
.product_filter .colour-swatch.White {background: linear-gradient(135deg, #e6e6e6, #fff);}
.product_filter .colour-swatch.Yellow {background: linear-gradient(135deg, #ead000, #fffd88);}

.product_filter .colour-swatch.Check {background-size: 6px 6px;	background-image: linear-gradient( 45deg, #555 25%, transparent 25%, transparent), linear-gradient(-45deg, #555 25%, transparent 25%, transparent), linear-gradient( 45deg, transparent 75%, #555 75%), linear-gradient(-45deg, transparent 75%, #555 75%);}
.product_filter .colour-swatch.Gingham {background: white; background-image: linear-gradient(90deg, rgba(200, 0, 0, .5) 50%, transparent 0), linear-gradient(rgba(200, 0, 0, .5) 50%, transparent 0); background-size: 10px 10px;}
.product_filter .colour-swatch.Patterned {background: linear-gradient(135deg, #655197 25%, rgba(0,0,0,0) 25.1%), linear-gradient(225deg, #655197 25%, rgba(0,0,0,0) 25.1%), linear-gradient(315deg, #655197 25%, rgba(0,0,0,0) 25.1%), linear-gradient(45deg,  #655197 25%, rgba(0,0,0,0) 25.1%), #ffffff; background-size: 8px 8px; background-position: -4px 0, -4px 0, 0 0, 0 0;}
.product_filter .colour-swatch.Striped {background: repeating-linear-gradient(135deg, #EEE, #EEE 3px, #444 3px, #444 6px);}
.product_filter .colour-swatch.Multicoloured {background: linear-gradient(135deg,rgba(255, 0, 0, 1) 0%,rgba(255, 154, 0, 1) 10%,rgba(208, 222, 33, 1) 20%,rgba(79, 220, 74, 1) 30%,rgba(63, 218, 216, 1) 40%,rgba(47, 201, 226, 1) 50%,rgba(28, 127, 238, 1) 60%,rgba(95, 21, 242, 1) 70%,rgba(186, 12, 248, 1) 80%,rgba(251, 7, 217, 1) 90%,rgba(255, 0, 0, 1) 100%);}
.product_filter .colour-swatch.Floral {background: linear-gradient(135deg, rgb(56, 189, 248), rgb(251, 113, 133), rgb(163, 230, 53));}
.product_filter .colour-swatch.Polka {background: #b33737; background-image: radial-gradient(white 30%, transparent 0), radial-gradient(white 30%, transparent 0); background-size: 9px 9px; background-position: 0 0, 14px 14px;}

.product_filter .colour-swatch.Brass {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%;	border-color: #BE8225 #E0E043 #E0E043 #BE8225;}
.product_filter .colour-swatch.Bronze {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #804A00 #B08D57 #B08D57 #804A00;}
.product_filter .colour-swatch.Chrome {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #dedeff #f1f1f1 #f1f1f1 #dedeff;}
.product_filter .colour-swatch.Copper {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #a17434 #ffdf84 #ffdf84 #a17434;}
.product_filter .colour-swatch.Gold {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #ffd75b #ffecb5 #ffecb5 #ffd75b;}
.product_filter .colour-swatch.Metallic {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #c5e1ff #f3f3f3 #f3f3f3 #c5e1ff;}
.product_filter .colour-swatch.Silver {border-style: solid; width: 0; height: 0; border-width: 11px; border-radius: 50%; border-color: #d9d9d9 #f6f2f2 #f6f2f2 #d9d9d9;}

.product_filter .colour-swatch.Wood {background-image: url("images/wood-pattern.png");}
.product_filter .colour-swatch.Ash {background-color: #ecd2af;}
.product_filter .colour-swatch.Beech {background-color: #d5a76c;}
.product_filter .colour-swatch.Birch {background-color: #f3e1c6;}
.product_filter .colour-swatch.Mahogany {background-color: #bd7541;}
.product_filter .colour-swatch.Maple {background-color: #d2bfa0;}
.product_filter .colour-swatch.Oak {background-color: #b67e54;}
.product_filter .colour-swatch.Pine {background-color: #fdcd70;}
.product_filter .colour-swatch.Walnut {background-color: #432616;}


.product_filter .close {
  display: none;
}

/* Mobile nav close (×) — script.js clones #main-nav into #mobile-nav,
   so the close span exists in BOTH. Hidden by default; the mobile
   drawer styles it visible at line ~3099. Without this, the SVG
   render of the x glyph leaks into desktop nav as a stray mark
   under "On Sale". */
#main-nav .menu-container .close { display: none; }


.active-filters {
  margin: 0 -3px 3em;
}
.active-filters-title {
  font-size: 17px;
  font-weight: 500;
}
.active-filters > a {
  display: inline-block;
  padding: 6px 10px 4px 10px;
  text-decoration: none;
}
.filter-tag {
  border: 1px solid #7e8683;
  text-decoration: none;
  margin: 0 6px 10px 0;
  border-radius: 3px;
}

.filter-tag i {
  vertical-align: middle;
  font-size: 15px;
  padding-left: 4px;
}


.toggle_btn i {
	margin: 0 10px 0 10px;
}

/* (was a .toggle_btn FA-glyph swap — the .toggle_btn element no longer
   exists in the templates; rules removed.) */
.feedback_title {
    margin: 1em 0 0 0;
}
.feedback_title a {
  display: block;
  padding: 15px 0 30px 0;
  color: #000;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
}
.feedback {
  display: none;
  padding-bottom: 30px;
}

.aboutus {
	margin-bottom: 0em;
}

img.signiture {
  float: right;
}


/* Other pages - about, contact etc */

img.about-logo {
  max-width: 100%;
}


img.about-website {
  float:right;
  width:45%;
  height:auto;
  margin: 0 0 0 4%;
}

dl {
  text-align: left;
}

dl dt {
  font-size: 21px;
  color: #333;
}
dl dd {
  font-size: 15px;
  margin-bottom: 2%;
}

.product-count-box {
  display: table;
	text-align: center;
	margin: 1em 0;
}

p.product_counts {
  display: inline-block;
  text-align: center;
  font-size: 33px;
  margin: 0 50px 0 0;
}

p.product_counts span {
  display: block;
  font-size: 15px;
}

.aboutus p {
  font-size: 14px;
}

.contact-form dl {
  text-align: left;
  margin-top: 16px;
}

.contact-form p {
  margin: 0;
}

.contact-form input {
  padding: 7px;
  border: 1px solid #CCC;
  margin: 0 0 18px 0;
  width: 70%;
}

.contact-form input[type=submit] {
  display: block;
  width: 70%;
}

.contact-form input[type=submit]:hover {
  background-color: #AAA;
  cursor: pointer;
}

.contact-form textarea {
  padding: 7px;
  border: 1px solid #CCC;
  width: 72%;
  margin: 0 0 18px 0;
}

.contact-form .clean {
  display: none;
}

/* Begin USP bar */
.usp-bar {
  display: block;
  background-color: var(--usp-bar-background);
  color: var(--usp-bar-text);
  width: 100%;
  font-size: 15px;
  padding: 8px 0;
  min-height: 24px;
}

.usp-bar ul {
  text-align: center;
	color: var(--usp-bar-text);
}

.usp-bar ul li {
  display: inline-block;
  margin: 0 3em 0 0;
}

.usp-bar .lhs-icon {
  margin-right: 6px;
}
/* End USP bar */

.brand-columns {
	column-count: 4;
}

.store-columns {
	column-count: 2;
}

.sitemap h1 {
	background-color: #EEE;
	padding: 15px 10px 10px 15px;
}

.sitemap h2 {
	background-color: #EEE;
	padding: 15px 10px 10px 15px;
}

.sitemap h3 a {
	font-weight: 500;
}

.sitemap .heading {
  font-weight: 500;
}
.sitemap li {
    margin: 0 0 12px 8px;
    line-height: 23px;
}

.sitemap li a {
    text-decoration: none;
    color: #666;
}
.sitemap li a:hover {
    text-decoration: underline;
}

.bg-white {
    background-color: #fff;
}

.collapsible-on-mobile {
    position: relative;
}

.collapsible-on-mobile-content li:last-child {
	padding-bottom: 10px;
}

.collapsible-on-mobile-arrow-down,
.collapsible-on-mobile-arrow-up {
    display: none;
}

.collapsible-on-mobile-content {
    display: block;
}

.collapsible-on-mobile-content span {
	display: block;
	margin: 0 0 1.2em;
}


/* Swiper slider */
.swiper {
  padding-bottom: 20px;
}
.swiper-pagination  {
  bottom: 0 !important;
}
.swiper-1234 .swiper-slide,
.swiper-124 .swiper-slide {
  box-sizing: border-box;
  flex-shrink: 0;
  margin: 0 !important;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  width: 25% !important;
}

/* Loading spinner */

.loading-container {
  position: absolute;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  transition: opacity .25s ease-in-out;
  z-index: 99;
}
.loading-spinner {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 3px solid rgba(88, 88, 88, .3);
  border-radius: 50%;
  border-top-color: rgb(88, 88, 88);
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
}
#page-loading-container {
  position: fixed;
  visibility: hidden;
  opacity: 0;
}
#page-loading-container .loading-spinner {
  width: 50px;
  height: 50px;
  border-color: rgba(244, 134, 35, .3);
  border-top-color: rgb(244, 134, 35);
}
.page-loading #page-loading-container {
  opacity: .85;
  visibility: visible;
}
@keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}


/*
*************************************
less than 1400px
*************************************
*/
@media only screen and (max-width: 1399px) {
  .container {
    box-sizing: border-box;
  }
	
	.hero-container {height: 65vh;}
	.hero-stuff h1 {font-size: 5.4em;}
	.hero-stuff .sub-header {font-size: 1.85em;}
	.hero-stuff .hero_btn {font-size: 1.3em;}

	/* .info-block height is now driven by the CSS Grid masonry's
	   grid-auto-rows + grid-row spans (see categories masonry block
	   above). The legacy fixed-height rule that lived here forced
	   every tile to 350px and broke the 2-row hero span. */

  .load_more_btn {
    width: 420px;
  }

  .home_search {
    width: 50%;
  }
}


/*
*************************************
less than 1200px
*************************************
*/
@media only screen and (max-width: 1200px) {
  .logo {display: inline-block; float: left; max-width: 40%;}
  .nav {text-align: center;}
  .nav .has-sub-menu {text-align: left;}
  .nav a {font-size: 14px; padding: 0 8px;}
  .remove-mob {display: none;}
  .product_filter .filter_content {max-height: 350px;}
	.hero-container {height: 60vh;}
	.hero-stuff h1 {font-size: 4.5em;}
	.hero-stuff .sub-header {font-size: 1.7em;}
	.hero-stuff .hero_btn {font-size: 1.2em;}
	/* .info-block sizing handled by masonry grid (see top of file). */
	.featured_text {bottom: 0; font-size: 20px; max-width: none;}
  .search_form_2 {width: 420px;}
  .load_more_btn {width: 50%;}
  .home_search {width: 50%;}
  .home_search h1, .home_search h2 {font-size: 24px;}
  h2 {font-size: 22px; margin: 1.5em 0 1.2em 0;}
  .header-intro {font-size: 22px; margin: 1.5em 0 1.2em 0;}
	p.centered_link {padding: 0; font-size: 1em;}
	.footer-search {padding: 1.75em 0 2.5em 0; margin: 0;}
	.footer-search .header-search {font-size: 1.6em;}
}

/*
*************************************
less than 992px
*************************************
*/
@media only screen and (max-width: 992px) {
  #header {
    position: sticky;
    top: 0;
    z-index: 10;
    transform: translateZ(0);
    transition: transform .5s ease-in-out;
  }
  #header.hidden {
    transform: translate3d(0, -100%, 0);
  }
  .logo {
    display: inline-block;
    /*width: 180px;*/
  }
  .search {
    clear: both;
    float: none;
  }
  .search .search_form {
    width: 60%;
  }
  	
  .footer-search {
   padding: 1.5em 0 2.2em 0;
 	}
  .footer-search .header-search {
  	font-size: 1.5em;
  }
  #mobile-nav {
    display: block;
  }
  #main-nav .menu-container {
    display: none;
  }
  .nav .menu_trigger {
    display: block;
    color: #000;
    height: 40px;
    line-height: 39px;
    position: absolute;
    right: 15px;
    top: -103px;
  }
  .nav a.menu_trigger {
    text-decoration: none;
    font-weight: 500;
    font-size: 18px;
  }
  .nav li.mobile-only {
		display: block;
		border-top: 1px solid #ccc;
	}
  .nav .menu li.mobile-only a {
  	display: block;
  	text-align: left;
  	padding: 14px 20px 12px 20px;
  }
  .nav .menu li.mobile-only a.mobile-menu-logo {
  	width: 55%;
  	margin: 1.5em 0 0 0;
  }
	.nav .menu li.mobile-only p {
		text-align: left;
		font-size: 17px;
		margin: 0 0 5px 20px;
  }
  .nav .menu li.mobile-only a:last-child {
  	margin-bottom: 1.5em;
  }
  
  #mobile-nav .container {
    position: relative;
  }

  #mobile-nav .menu-container {
    display: none;
    z-index: 200;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }

  #mobile-nav .menu-container .close {
    position: absolute;
    color: #fff;
    left: min(340px, 86.5%);
    top: 5px;
    padding: 10px;
    font-size: 32px;
  }

  #mobile-nav .menu {
    -webkit-box-shadow: 0 5px 5px 0px #323232;
    -moz-box-shadow:    0 5px 5px 0px #323232;
    box-shadow:         0 5px 5px 0px #323232;
    background: #FFF;
    border-top: 1px solid #ccc;
    margin: 0;

    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 85%;
    max-width: 330px;
    overflow: auto;
  }

  #mobile-nav .menu a,
  #mobile-nav .menu > li > a {
    font-size: 17px;
    padding: 14px 20px 12px 20px;
  }

  #mobile-nav .menu > li {
    border-top: 1px solid #ccc;
    display: block;
    text-align: left;
    height: auto;
  }
  
  #mobile-nav .menu > li > a {
    color: #666;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #mobile-nav .menu > li:first-child {
    border: 0;
  }
  #mobile-nav .menu > li:after {
    content: "";
  }

  #mobile-nav .sub-menu {
    display: none;
    position: static;
    visibility: visible;
    -webkit-transition: none;
    transition: none;
    box-shadow: none;
  }
  #mobile-nav .sub-menu-col {
    width: 50%;
  }
  #mobile-nav .sub-menu a {
      display: block;
    }

  #mobile-nav .menu.sub-menu-expanded > li {
    display: none;
  }
  #mobile-nav .menu.sub-menu-expanded > li.active {
    display: block;
  }
  #mobile-nav .menu.sub-menu-expanded > li.active .sub-menu {
    display: block;
  }

  #mobile-nav .mobile-show-sub-menu-arrow {
    display: block;
  }
  #mobile-nav .menu.sub-menu-expanded > li.active .mobile-show-sub-menu-arrow {
    display: none;
  }

  #mobile-nav .sub-menu .sub-menu-back {
    display: block;
    position: absolute;
    top: 14px;
    right: 0;
    padding: 0 20px;
  }
  #mobile-nav .sub-menu .sub-menu-back .lhs-icon {
  	margin-right: 5px;
  	width: 16px;
  	height: 16px;
  }
  #mobile-nav .sub-menu .heading {
    margin-left: 14px;
    margin-right: 14px;
  }
  #mobile-nav .sub-menu-col {
    display: block;
    width: auto;
  }
  #mobile-nav .sub-menu-col-1-4 {
     padding: 0;
  }

	.hero-container {height: 56vh;}
	.hero-stuff h1 {font-size: 3.6em;}
	.hero-stuff .sub-header {font-size: 1.5em; margin: 0em 0 1em 0;}
	.hero-stuff .hero_btn {font-size: 1.1em;}

  .main-content {
  	margin-top: 20px;
  }
  .home_search {
    top: 13%;
  }
  .home_search h1, .home_search h2 {
    font-size: 23px;
  }
  /* .info-block sizing handled by masonry grid (see top of file). */

  .page-numbers span.dropped_nav {
  	display: none;
  }
  
    /* Begin USP bar */
  @keyframes FadeInOut-one{
    0%{opacity:1;height:auto}
    30%{opacity:1;height:auto}
    33%{opacity:0;height:0}
    63%{opacity:0;height:0}
    66%{opacity:0;height:0}
    99.9%{opacity:0;height:0}
    100%{opacity:0;height:0}
  }

  @keyframes FadeInOut-two{
    0%{opacity:0;height:0}
    30%{opacity:0;height:0}
    33%{opacity:1;height:auto}
    63%{opacity:1;height:auto}
    66%{opacity:0;height:0}
    99.9%{opacity:0;height:0}
    100%{opacity:0;height:0}
  }

  @keyframes FadeInOut-three{
    0%{opacity:0;height:0}
    30%{opacity:0;height:0}
    33%{opacity:0;height:0}
    63%{opacity:0;height:0}
    66%{opacity:1;height:auto}
    96%{opacity:1;height:auto}
    100%{opacity:0;height:0}
  }

  .show-first{animation-name:FadeInOut-one;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:10s}
  .show-second{animation-name:FadeInOut-two;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:10s}
  .show-third{animation-name:FadeInOut-three;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:10s}
  .usp-bar-outer>ul>li{display:block;min-height:10px;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}
  .usp-bar-outer {
      text-align: center;
      padding: 12px;
      position: relative;
  }
  .usp-bar ul li {
    margin: 0;
  }
  /* End USP bar */
  
  .featured_text {
    bottom: 0;
    font-size: 16px;
    padding: 10px 15px;
  }
  .featured_save {
    font-size: 24px;
    line-height: 1;
    padding: 20px 20px;
    width: 120px;
    height: 120px;
  }
  .featured_save .number {
    font-size: 32px;
    line-height: 1;
  }
  
  .breadcrumbs {
    float: none !important;
    margin: 10px 0px !important;
    text-align: left;
  }
  .breadcrumbs .title {
    text-align: center;
  }
  
  .sort {
    clear: both;
    float: none;
    margin-bottom: 10px;
    width: 100%;
  }
  .nav-links {
    margin: 0 0 30px;
  }
  
  .category_footer .nav-links {
    margin: 0;
  }
  
  .breadcrumbs {
    font-size: 13px;
  }
  .similar_products h3,
  .recently-viewed-products h3 {
    font-size: 16px;
  }

  .search_form_2 {
    float: none;
    width: 100%;
  }
  .product_sidebar {
    clear: both;
    float: none;
    margin-left: 0;
    padding-top: 30px;
    width: auto;
  }
  .product_filter .filter_content {
  max-height: 300px;
  }
  
  .feedback_title {
    border-top: 1px solid #000;
	}
  .feedback_title a {
    padding: 2em 0 3em 0;
	}

  .product_wrap .header {
   	border-top: 1px solid #999;
    padding-top: 2em;
    margin: 0;
  }
	  
	.header-content h1 {
		font-size: 1.5em;
		margin: 0 0 1em 0;
		text-align: center;
	}
	.footer-content h2 {
		text-align: left;
		font-size: 1.5em;
		margin-bottom: 0.4em;
	}
	
	.body-text h1 {font-size: 22px;}
	.body-text h2 {font-size: 19px;}
	
	h2 {font-size: 20px; margin: 1.5em 0 1.2em 0;}
	.header-intro {font-size: 20px; margin: 0 0 0.75em 0;}
	.brand-columns {column-count: 3;}
	.logo {margin: 12px 0 12px 0;}
	.product_details .product_name {font-size: 28px; line-height: 32px;}
	.search_form input[type="text"] {padding-left: 10px; font-size: 12px;}
	.search_form > svg.lhs-icon { width: 16px; height: 16px; }
    
    .row.product-extra-info {
        box-sizing: content-box;
    }

  .swiper-1234 .swiper-slide {
    width: 33.3% !important;
  }
}

/*
*************************************
more than 700px
*************************************
*/
@media only screen and (min-width: 960px) {
  .nav ul {
    display: block !important;
  }
}

/*
*************************************
less than 768px
*************************************
*/
@media only screen and (max-width: 767px) { 
  .container {
    box-sizing: border-box;
  }  
  .category_page .main-content, .search_page .main-content, .product_page .main-content {
    margin-top: 19px;
  }
	.hero-container {height: 52vh;}
	.hero-stuff h1 {font-size: 2.9em;}
	.hero-stuff .sub-header {font-size: 1.3em; margin: 0.2em 0 1.3em 0;}
	.hero-stuff .hero_btn {font-size: 1.05em;}
  .delivery_box {
    display: none;
  }
  .search_page .search_form_2 {
    display: none;
  }
  .sidebar {
    margin-bottom: 0;
  }
  .product_filter .filter_title {
  	font-weight: 300;
  }
  .product_filter .filter_container li a {
  	padding: 6px 4px 6px 4px;
  	margin-bottom: 10px;
  }
  .logo {
    float: left;
    max-width: 45%;
  }
  .similar_products {
  	padding: 20px 0 0 0;
  }
  .product_footer {
	text-align: center;
	margin: 0 0 20px 0;
	}

  .search .search_form {
    width: 70%;
  }
  .footer_widgets .column {
    width: 50%;
  }
  .footer_widgets .column:nth-child(2n+1) {
    clear: both;
  }
  .footer_widgets .footer-header {
  	font-size: 1em;
  }
	.footer_widgets li {
    font-size: 14px; 
    font-weight: 300;
  }
  .footer-bottom .footer-bottom-links {
  	font-size: 14px;
  }
  .footer_left {
    float: none;
    text-align: center;
  }
  .footer_right {
    float: none;
    margin-top: 10px;
    text-align: center;
  }
  .main-content {
    padding: 0px 0 20px;
    margin-top: 20px;
  }
  .sidebar {
    float: none;
    width: auto;
  } 
  .main-content {
    float: none;
    width: auto;
  }

  .category_page .sidebar .delivery_box {
    display: none;
  }
  
  .product_image, .product_details, .product_sidebar {
    float: none;
    margin-left: 0;
    width: auto;
  }
  .product_filter .filter_content {
  max-height: 300px;
  }
  .product_details {
    padding-top: 15px;
  }
  .product-image-box {
    min-height: 100vw;
  }
  .filter_btn {
    /* display:flex (not block) so the inherited
       align-items + justify-content: space-between push the icon to
       the far right of the pill — matches Sort By's chevron behaviour. */
    display: flex;
  }
  .product_filter {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 10;
    padding: 0;
    border: none;
  }
  .product_filter_inner {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 92%;
    max-width: 460px;
    background-color: #fff;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: auto;
  }
  .product_filter .filter_container li a {
    display: block;
  }
  .product_filter .close {
    display: block;
    position: absolute;
    color: #fff;
    /* Anchor the close X just past the right edge of the inner panel
       (.product_filter_inner is width:92% max-width:460px), on the dark
       backdrop where it stays visible. The previous left:min(330px,85%)
       put it INSIDE the white panel on most mobile widths (e.g. iPhone
       414px: panel=381px wide, close at 330px = white-on-white = bug). */
    left: min(calc(92% + 4px), 464px);
    top: 0;
    padding: 10px;
    font-size: 32px;
    z-index: 11;
  }
  
  .price_form input[type=text] {
  border: 1px solid #444;
  width: 25%;
  padding: 8px 8px;
	}
	.price_form input[type=submit] {
	  background: #444;
	  border: 0;
	  color: #fff;
	  width: 30%;
	  padding: 10px 0;
	}
  
  .sort {
    position: relative;
    margin-bottom: 0;
  }
  .mobile_sort_options {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    font-size: 16px; /* Prevent iOS from zooming in */
  }
  .filter_sort_container {
    display: flex;
    margin: 0 -10px;
  }
  .filter_sort_container > div {
    width: 100%;
    margin: 0 10px;
    box-sizing: border-box;
  }
  .sort_options {
    position: static;
  }
  .home_search {
    width: 80%;
  }
  .aboutus p {
    font-size: 14px;
  }
  #brands-products h2 {
    font-size: 22px;
    text-align: center;
  }
  #brands-products h2 a{
    font-size: 19px;
    text-align: center;
  }
  .header-content h1 {
		font-size: 1.2em;
	}
	
	.category-description h1 {
		text-align: left;
		margin: 0.2em 0 0.2em 0;
	}
	
	.category-description a.read-more {
		display: block;
		margin: -0.5em 0 -1em 0;
	}
			
	
	.contact-form input {
		width: 95%;
	}
	.contact-form textarea {
		width: 99%;
	}
	.recently-viewed-products {
		padding: 1em 1em 0 1em;
	}
	
	.logo-footer {
		text-align: center;
		margin: -1em 0 2em 0;
	}
	
	h2 {font-size: 18px; margin: 1.5em 0 1em 0;}
	.header-intro {font-size: 18px; width: 90%; margin: 0 auto 0.5em auto;}
	.footer-search {margin: 0; padding: 0.5em 0;}
	.footer-search .header-search {font-size: 17px; width: 50%; margin: 0 auto 10px auto;}
	p.centered_link {padding: 0; font-size: 0.9em;}
	.product .product_name {font-size: 15px;}
	.product .product_rrp {font-size: 13px;}
	.product .product_price {font-size: 18px;}
	.info-block h3 {font-size: 18px; top: 1em;}	
	.footer a {font-size: 15px;}
	.footer .footer-header h5 {font-size: 1.2em; margin-bottom: 6px;}
	.aboutus {margin-bottom: 0em;}
	.footer-search {padding: 1.4em 0 1.75em 0;}
	.similar_products h3 {margin-bottom: 20px;}


  .swiper-1234 .swiper-slide,
  .swiper-124 .swiper-slide {
    width: 50% !important;
  }
}

/*
*************************************
less than 576px
*************************************
*/
@media only screen and (max-width: 576px) {
  .container {
    /*width: 320px;*/
  }
  .g-3, .gx-3 {
  	--bs-gutter-x: 0.75rem;
	}
	.row {
	 --bs-gutter-x: .75rem;
	}
  
	#header {border-width: 2px;}

  .logo {margin: 12px 0 10px 0;}

  .nav a.menu_trigger {font-size: 15px;}
  .nav .menu_trigger {top: -85px;}
  
  #header .search {
    margin: 5px 0;
  }
  .search .search_form {
    width: 100%;
  }
  #header .search_form input[type=text] {
  	height: 34px;
  }
  #header .search_form > svg.lhs-icon { width: 14px; height: 14px; top: 9px; }
  
  .popular_brands .grid_item .title {
    font-size: 17px;
  }
  /* Mobile rectangle badge — matches product-tile style. Inherits the
     non-circular rectangle from the parent rule; just trim padding/font
     so it sits cleanly in a smaller image area. */
  .product_image .featured_save {
    top: 8px;
    left: 8px;
    padding: 5px 9px;
    font-size: 12px;
  }
  .xs-remove {
    display: none;
  }
	.hero-container {height: 50vh; min-height: 360px;}
	.hero-stuff {width: 92%; padding: 0 0.5rem;}
	.hero-stuff a.hero_btn {display: inline-block;}
	.hero-stuff h1 {font-size: 2.8em; line-height: 1.1;}
	.hero-scroll-hint {display: none;}
	.hero-stuff .sub-header {font-size: 1.1em; margin: 0.5em auto 1.3em; max-width: 22em;}
	.hero-stuff .hero_btn {font-size: 1em; padding: 0.7em 1.6em;}
  
  .home_search {
    width: 90%;
  }
 	.info-box, .info-box.small {
 		height: 120px;
 	}
 	.logo-footer img {
 	width: 60%;
    margin: -0.5em auto 0 auto;
  }
  .footer a.logo-footer {
	  padding: 0;
	  margin: 0;
  }
  .footer-search {
   padding: 1.2em 0 1.4em 0;
 	}
	.footer-search .header-search {
 		width: 85%;
 	}
  .footer-search h2 {
  	font-size: 1.2em;
  }
  .footer-bottom-links {
	display: block;
	}
  .category_header {
    margin-bottom: 0px;
  }
  .category_header .price_filter h2 {
    margin-right: 10px;
  }
  .category_header .price_form input[type=text] {
    width: 76px;
  }
  .category_header .price_form .price_to {
    margin: 0 3px;
  }
  .category_header .price_form input[type="submit"] {
    margin-left: 10px;
  } 
  .product_filter .filter_content {
  max-height: 300px;
  }
  
  .breadcrumbs {
    font-size: 11px;
  }
  .product_image {
    margin-top: 2px;
  }
  .product_rating .read {
    margin-left: 15px;
  }
  .product_actions .buy_btn, .product_actions .stock_btn, .product_actions .more_btn {
    width: 140px;
  } 
  
  .product_details .buy_btn {width: 99%; display: block; margin: 20px auto 20px auto;}
  
  .product_actions .buy_btn, .product_actions .more_btn {
    font-size: 16px;
  }

  .product_share {
    display: none;
  }

  .product_share_mobile_btn {
    display: flex;
  }
  
  .product_footer_buttons {
	  display: block;
  }
  
  .product_footer_buttons {
	  margin: 1em 0;
  }
	.product_footer_buttons .buy_btn {
	width: 99%;
	display: block;
	margin: 1em auto;
}
  
  .footer-bottom a {
    margin-left: 0;
    display: block;
  }
  .footer .collapsible-on-mobile {
	  padding: 0;
	  margin: 12px 0 10px 0;
  }
  
  .footer .col-12 {
	  border-top: 1px solid rgba(255,255,255,0.2);
  }
  
  .footer .col-12:first-child {
	  border-top: none;
	  padding-bottom: 1em;
  }
  

  .product-carousel-thumbs {
    display: none;
  }
  ul.social_links {
  	margin: 0 0 15px 0;
  	display: flex;
  	flex-wrap: wrap;
		justify-content: center;
  }
  .footer-header.social_links {
  	display: none;
  }
  .footer-header .social_links {
  	display: none;
  }
  .social_links li {
  	display: inline-block;
  	margin: 0px 10px 0 10px;
  }
  .header-content h1 {
		font-size: 1.2em;
		font-weight: 500;
	}
	.brand-columns {column-count: 2;}
	.logo-box {padding: 1em;}


  .product_desc {
      margin-bottom: -23px;
  }
  .product_details p {
      margin: 0 0 1.8em;
  }

  .product_wrap .header {
      padding: 1.3em 1.8em 0.9em 0;
  }

  .feedback_title {
      margin: -7px 0 0 0;
  }

  .feedback_title a {
      padding: 1em 0;
  }

  /* (was .feedback_title .fa — feedback widget removed; rule stale.) */

  .collapsible-on-mobile .collapsible-on-mobile-arrow-down,
  .collapsible-on-mobile .collapsible-on-mobile-arrow-up {
      position: absolute;
      right: 0px;
      top: 0;
      bottom: 0;
      margin: auto 0;
      height: 14px;
  }

	.footer .collapsible-on-mobile .collapsible-on-mobile-arrow-down,
  .footer .collapsible-on-mobile .collapsible-on-mobile-arrow-up {
      font-size: 20px;
  height: 22px;
  }


  .collapsible-on-mobile-heading {
      position: relative;
      cursor: pointer;
  }

  .collapsible-on-mobile-arrow-down {
      display: inline-block;
  }

  .collapsible-on-mobile.active .collapsible-on-mobile-arrow-down {
      display: none;
  }

  .collapsible-on-mobile.active .collapsible-on-mobile-arrow-up {
      display: inline-block;
  }

  .collapsible-on-mobile .collapsible-on-mobile-content {
      display: none;
  }

  .collapsible-on-mobile.active .collapsible-on-mobile-content {
      display: block;
  }

  .swiper-1234 .swiper-slide,
  .swiper-124 .swiper-slide {
    width: 100% !important;
  }

  .search-result-header-content {
    -webkit-line-clamp: 2;
  }
}



@media only screen and (max-width: 320px) {
  .header .search .search_form {
    width: 213px;
  }
  .splash {
    min-width: auto;
    min-height: 250px;
  }
  .home_search h1, .home_search h2 {
    font-size: 19px;
  }
  .home_search {
    top: 8%;
  }
  .logo img {
    width: 150px;
  }

}

/* ===== Featured-stores grid (homepage, between deals + blog) =================
   Two-column layout: heading + CTA on the left, 3-up tile grid on the right.
   White tiles, full-colour logos (no greyscale) — distinct treatment from the
   merchant-strip carousel so users read this as "stores we cover" rather
   than "stores currently on sale". Mobile: stacks; tile grid drops to 2-up. */
.featured-stores-grid {
    background: #f4f6f8;
    padding: 64px 0;
    margin: 32px 0 0;
}
.featured-stores-grid-heading {
    font-size: 44px;
    font-weight: 300;
    line-height: 1.18;
    margin: 0 0 24px;
    color: #1a1f2c;
    text-align: left;
}
@media (max-width: 991.98px) {
    .featured-stores-grid-heading { font-size: 34px; }
}
.featured-stores-grid-cta {
    display: inline-block;
    color: #1a1f2c;
    text-decoration: underline;
    font-size: 15px;
}
.featured-stores-grid-tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    grid-auto-flow: dense;
    gap: 16px;
    aspect-ratio: 16 / 9;    /* shorter than square — total grid 75% of previous height */
}
@media (max-width: 767.98px) {
    .featured-stores-grid-tiles { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
    .featured-stores-grid-tiles { grid-template-columns: repeat(2, 1fr); }
}
/* Masonry sizing — same pattern as the categories masonry on the homepage.
   `dense` packs tiles greedily so a wide/hero tile doesn't leave a hole. */
.featured-stores-grid-tile-hero     { grid-column: span 2; grid-row: span 2; }
.featured-stores-grid-tile-wide     { grid-column: span 2; grid-row: span 1; }
.featured-stores-grid-tile-tall     { grid-column: span 1; grid-row: span 2; }
.featured-stores-grid-tile-standard { grid-column: span 1; grid-row: span 1; }
@media (max-width: 575.98px) {
    .featured-stores-grid-tile-hero,
    .featured-stores-grid-tile-wide { grid-column: span 2; grid-row: span 1; }
}
.featured-stores-grid-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 6px;
    padding: 24px 20px;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
    overflow: hidden;
    min-height: 0;            /* let aspect-ratio drive height */
}
.featured-stores-grid-tile:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,.08);
    transform: translateY(-2px);
}
.featured-stores-grid-tile img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
    display: block;
}
.featured-stores-grid-amazon {
    display: flex;
    align-items: center;
    line-height: 1;
}
.featured-stores-grid-amazon-word {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #232f3e;
    letter-spacing: -1px;
}
.featured-stores-grid-amazon-smile {
    width: 60px;
    height: 18px;
    margin-left: -2px;
    margin-top: 14px;
}
/* Amazon scales up inside the hero tile so the larger 2×2 card actually
   feels filled — the wordmark is rendered as text+SVG, not an <img>, so
   it doesn't pick up the .featured-stores-grid-tile-hero img size cap. */
.featured-stores-grid-tile-hero .featured-stores-grid-amazon-word { font-size: 64px; letter-spacing: -2px; }
.featured-stores-grid-tile-hero .featured-stores-grid-amazon-smile { width: 110px; height: 32px; margin-top: 26px; }
