/* ------------------------------------  */
/* ---------- SITE FRAMEWORK ----------  */
/* ------------------------------------  */

html { scroll-behavior: smooth; overflow-x: hidden; overflow-y: scroll; }
body { font-family: "Parkinsans", sans-serif; font-size: 1rem; line-height: 1.4; background: #fff; overflow: hidden; }
:is(.site-header, .content-wrap, .site-footer) * { box-sizing: border-box; }
.content-div { min-height: 600px; }
.ui-autocomplete { z-index: 10001 !important; }

/* DISPLAY CLASSES */
.full-width-fix { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.hidden { display: none; }
.hideImportant { display: none !important; }

/* SITE FORMS */
input::placeholder { font-family: inherit; }
textarea { font-family: inherit; }
select { width: 100%; border: 1px solid #DBDBDB; height: 50px; padding: 0 10px; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: url(../images/chevron-down-black.svg) no-repeat 98% center #fff; }
input[type=text], input[type=date], input[type=tel], input[type=number], input[type=email], input[type=password], textarea { width: 100%; height: 50px; background-color: #fff; border: 1px solid #DBDBDB; padding: 0 10px; box-sizing: border-box; font-size: 0.875rem; color: var(--mainColour); transition: 0.2s ease-in-out all; }
:is(input[type=text], input[type=date], input[type=tel], input[type=number], input[type=email], input[type=password], textarea, select):focus { border-color: #000; }
textarea { height: 100px; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
:is(input, select, textarea).input-error { border-color: #a30e0e !important; }
.site-form-field { padding: 10px 0; }
.site-form-label { font-size: 1rem; color: #3B3B3D; padding: 5px 0; }
img { max-width: 100%; max-height: 100%; }

/* ----- TYPOGRAPHY ----- */
h1, h2, h3, h4, h5, h6 { display: block; color: var(--headingColour); font-family: "Lexend", sans-serif; margin: 0; padding: 0 0 10px 0; font-weight: 600; }
h1 { font-size: 3rem; }
h2 { font-size: 2.625rem;}
h3 { font-size: 2rem;}
h4 { font-size: 1.75rem;}
h5 { font-size: 1.5rem; }
h6 { font-size: 1.25rem; }
p { padding: 5px 0 20px 0; margin: 0; font-size: 1rem; color: var(--textColour);}
a { text-decoration: none; color: #5EA843; }
a:focus-visible { background-color: #f9dc4a; color: #000; outline: 1px solid #000; }
ul { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 0.875rem; color: var(--textColour); list-style-type: disc; }
ul li { padding: 0 0 15px 0; line-height: 20px; }
ol { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 0.875rem; color: var(--textColour); list-style-type: decimal; }
ol li { padding: 0 0 5px 0; }
hr { color: #D8D8D8; background: #D8D8D8; height: 1px; border: 0; margin-bottom: 20px; position: relative; }

/* Button Classes */
.button-primary { display: inline-flex; align-items: center; justify-content: center; padding: 0px 30px; margin: 0; line-height: 1; height: 54px; color: #fff; border: 1px solid #4F8E39; text-align: center; background: #4F8E39; text-decoration: none; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 500;  border-radius:5px;}
.button-primary:hover { color: #fff; background: #235244; border-color: #235244;}
.button-secondary { display: inline-flex; align-items: center; justify-content: center; padding: 0px 30px; margin: 0; line-height: 1; height: 54px; background: var(--mainColour); border: 1px solid var(--mainColour); text-align: center; color: #fff; text-decoration: none; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 500; border-radius:5px; }
.button-secondary:hover { background: #457C31; color: #fff; border-color:#457C31; }
.button-tertiary { display: inline-flex; align-items: center; justify-content: center; padding: 0px 30px; margin: 0; line-height: 1; height: 54px; background: #1F492C; border: 1px solid #1F492C; text-align: center; color: #fff; text-decoration: none; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 500;  border-radius:5px;}
.button-tertiary:hover { background: #1D4228; border-color: #1D4228; color: #fff; }
.button-white { display: inline-flex; align-items: center; justify-content: center; padding: 0px 30px; margin: 0; line-height: 1; height: 54px; color: #204C3F; border: #1F493D; text-align: center; background: #fff; text-decoration: none; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 500;  border-radius:5px;}
.button-white:hover { color: #fff; background: #457C31; }


/* Animations */
.empty-loader:not(.hidden):empty { display: flex; align-items: center; justify-content: center; padding: 5px; }
.empty-loader:not(.hidden):empty:after { content: ''; width: 20px; height: 20px; border: 2px solid #fff; border-color: var(--mainColour) transparent transparent; border-radius: 50%; animation: spin 1s infinite; }
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
a.skiptocontent { position: absolute; top: 0; left: 0; opacity: 0; width: 1px; height: 1px; }
a.skiptocontent:focus, a.skiptocontent:active { display: flex; align-items: center; justify-content: center; height: 30px; padding: 0 20px; border: 1px solid #000; background: #f9dc4a; color: #000; font-size: 0.875rem; font-weight: bold; opacity: 1; width: auto; z-index: 10000; }

/* ------------------------------------  */
/* ------------ SITE DESIGN -----------  */
/* ------------------------------------  */

/* ----- SITE HEADER ----- */

.admin_panel+.site-header { margin-top: 31px; }
header.site-header { position: relative; z-index: 1000; }
.mobile-menu-overlay { display: none; }

/*-- TOP STRAP --*/
.top-wrap { height: 40px; background: var(--mainColour); }
.top-wrap>div { display: flex; align-items: center; gap: 10px; height: 100%; padding: 0 10px; justify-content: space-between; }
.top-wrap a { color: #fff; font-size: 0.875rem;}
.top-left{display: flex; align-items: center; gap:15px;}
.top-phone { display: flex; align-items: center; gap: 5px;}
.top-phone:before { content: ''; width: 20px; height: 30px; background: url(../images/top-phone.svg) no-repeat left center; }
.top-right { display: flex; justify-content: flex-end; }

.top-email{display: flex; align-items: center; gap: 5px;}
.top-email:before{content: ''; width: 15px; height: 15px; background: url(../images/top-email.svg) no-repeat left center;}

.top-social{display: flex; align-items: center; gap:15px;}
.top-social a{height: 18px; width: 18px; background-size: contain; background-position: center; background-repeat: no-repeat;}
.top-social a.fb{background-image: url(../images/top-fb.svg);}
.top-social a.ig{background-image: url(../images/top-ig.svg);}

/*-- HEADER WRAP --*/
.header-wrap { background: #fff; height: 150px; }
.header-wrap>div { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 0 10px; }
.header-left { display: flex; align-items: center; justify-content: flex-start; }
header .logo { padding: 10px 0; height: 100%; display: flex; align-items: center; width: 400px; flex: 0 0 auto; }
header .logo img { max-height: 100%; max-width: 100%; width: auto; height: auto; }
.header-mid { display: flex; align-items: center; justify-content: center; }
.site-search { display: flex; height: 50px; background: #fff; border: 1px solid var(--border); flex: 1; }
.site-search input { flex: 1; height: 100%; padding: 0 15px; box-sizing: border-box; background: none; border: 0; font-size: 0.875rem; font-family: inherit; border: 1px solid transparent; }
.site-search input:focus-visible { border-color: #071B3A; }
.site-search .search-button:focus-visible { background-color: #f9dc4a; }
.site-search input::placeholder { font-size: 0.875rem; color: inherit; }
.site-search .search-button { width: 50px; height: 100%; background: url(../images/icon-search.svg) no-repeat center; border: 0; outline: 0; }
.header-right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
header .favourites { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 70px; height: 100%; flex: 0 0 auto; gap: 5px; color: #000000; visibility: hidden; }
header .favourites:not(.hidden) { visibility: visible; }
header .favourites:before { content: ''; width: 22px; height: 22px; background: url(../images/heart.svg) no-repeat center; }
.account-wrap { height: 48px; width: 48px; display: flex; border-radius: 100%; background: var(--mainColour); margin: 0 20px; align-items: center; justify-content: center; 
    flex: 0 0 auto;}
.my-account { display: flex; width: 30px; height: 30px; background: url(../images/account-white.svg) no-repeat center;  }
.shopping-cart { width: 130px; flex: 0 0 auto; height: 50px; border-radius: 5px; background: var(--mainColour); display: flex; align-items: center; justify-content: center; }
.small-cart { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 100%; position: relative; padding: 0 10px 0 15px; color: #fff; }
.small-cart:before { content: ''; width: 24px; height: 24px; background: url(../images/cart-white.svg) no-repeat center; background-size: contain; }
.small-cart:after { content: ''; width: 10px; height: 10px; background: url(../images/arrow-right-green.svg) no-repeat center; background-size: contain; }
.small-cart>div { display: flex; align-items: center; justify-content: center; background: var(--secondaryColour); width: 24px; height: 24px; border-radius: 50%; position: absolute; top: -2px; left: 30px; }
.small-cart>div span { font-size: 0.625rem; text-align: center; color: #fff; }

/*-- MENU WRAP --*/
.menu-wrap { background: var(--secondaryColour); position: relative; height: 60px; border-width: 1px 0; }
.menu-wrap>div { height: 100%; }
.menu-wrap>div>nav { display: flex; align-items: center; height: 100%; padding: 0 10px; }

/* Main Menu */
.main-menu { display: flex; height: 100%; list-style: none; padding: 0; margin: 0; align-items: stretch; display: flex; align-items: center; gap: 40px; }
.main-menu ul { list-style: none; padding: 0; margin: 0; display: none; }
.main-menu>li { height: 100%; padding: 0; position: relative; display: flex; align-items: center; flex-direction: column; justify-content: center; }
.main-menu>li>a { display: flex; align-items: center; justify-content: center; height: 100%; color: #fff; font-weight: 600; text-align: center; font-size: 0.875rem; width: 100%; text-decoration: none; }
.main-menu>li a:hover {}
.main-menu>li:after { content: ''; width: 30px; height: 3px; }
.main-menu>li:first-child { padding-left: 0; }
.main-menu>li:last-child { padding-right: 0; }
.main-menu>li>ul { width: 300px; padding: 0 10px; box-sizing: border-box; background: var(--background); border: 1px solid var(--border); border-width: 0 1px 1px; position: absolute; left: 0; z-index: -1; top: 100%; opacity: 0; transition: 0.2s ease-in-out all; }
.main-menu>li.menu_open ul.active { z-index: 10; opacity: 1; display: flex; align-items: flex-start; flex-direction: column; gap: 5px; }
.main-menu>li:last-child>ul { left: initial; right: 0; }
.main-menu>li>ul>li { padding: 0; position: relative; line-height: 30px; width: 100%; }
.main-menu>li>ul>li>a { display: flex; align-items: center; padding: 5px 0; color: var(--mainColour); text-decoration: none; }
.main-menu>li>ul>li>ul { width: 300px; padding: 10px; box-sizing: border-box; position: absolute; left: 100%; z-index: -1; top: 0; opacity: 0; transition: 0.2s ease-in-out all; background: var(--background); border: 1px solid var(--border); }
.main-menu>li>ul>li.menu_open>ul.active { z-index: 10; opacity: 1; }
.main-menu>li:last-child>ul>li>ul { left: initial; right: 100%; }
.main-menu>li>ul>li>ul>li { padding: 0; }
.main-menu>li>ul>li>ul>li>a { display: flex; align-items: center; padding: 5px 0; color: #000; text-decoration: none; }

/*-- FOOTER WRAP --*/
.footer-wrap { background: var(--footerColour); border-top: 1px solid var(--border); padding: 40px 0;}
.footer-wrap > div { display: flex; align-items: flex-start; gap:20px; padding: 0 15px;}
.footer-col { flex: 1; }
.footer-col-title { color: var(--mainColour); font-weight: bold; font-size: 1.25rem; display: flex; flex-direction: column; padding: 0; margin: 0 0 20px; line-height: 30px; gap: 10px; }
.footer-col .footer-col-title:after { content: ''; width: 20px; height: 3px; background: var(--secondaryColour); border-radius: 50px; }
.footer-contact { font-size: 0.875rem; display: flex; flex-direction: column; gap: 20px; }
.footer-contact .location { display: flex; align-items: flex-start; line-height: 26px; }
.footer-contact .location:before { content: ''; width: 30px; height: 30px; background: url(../images/pin.svg) no-repeat left center; }
.footer-contact a { display: flex; align-items: center; color: var(--textColour);}
.footer-contact a.call:before { content: ''; width: 30px; height: 30px; background: url(../images/phone.svg) no-repeat left center; }
.footer-contact a.mail { text-decoration: underline; }
.footer-contact a.mail:before { content: ''; width: 30px; height: 30px; background: url(../images/mail.svg) no-repeat left center; }

.payment-logos{display: flex; align-items: center; gap:10px; margin-bottom: 20px;}


.footer-social { display: flex; align-items: center; gap: 10px; padding: 10px 0; }
.footer-social>a { display: block; width: 26px; height: 26px; transition: ease-in-out all .3s;}
.footer-social>a:hover{transform: translateY(-5px);}
.footer-social>a.fb { background: url(../images/icon-fb.svg) no-repeat center; background-size: contain; }
.footer-social>a.ig { background: url(../images/icon-ig.svg) no-repeat center; background-size: contain; }

.footer-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
.footer-menu>li { padding: 0; margin: 0; }
.footer-menu>li>a { color: var(--textColour); font-size: 0.875rem; transition: ease-in-out all .3s; text-decoration: none; }
.footer-menu>li>a:hover{text-decoration: underline;}
.footer-menu ul { display: none; }

/*-- BYLINE --*/
.byline-wrap { background: var(--bylineColour); padding: 30px 0;}
.byline-wrap > div { display: flex; flex-direction: column; align-items: center; padding: 0 15px; gap: 15px; }

.byline-menu { display: flex; align-items: center; justify-content: center; list-style: none; padding: 0; margin: 0; flex-wrap:wrap; row-gap:10px; }
.byline-menu>li { padding: 0 10px; font-size: 1rem; border-right: 1px solid #fff; }
.byline-menu>li:last-child { border: 0; }
.byline-menu>li>a { color: #fff; text-decoration: none; }
.byline-wrap > div > a { color: #fff; text-decoration: none; }

.pop-overlay { position: absolute; z-index: 10000; top: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.74); opacity: 0; display: flex; justify-content: center; }
.pop-overlay>div>a { position: absolute; width: 30px; height: 30px; background: url(../images/close.svg) no-repeat center; z-index: 5; top: 5px; right: 5px; }
.pop-overlay>div { background: #fff; position: absolute; background: #fff; padding: 20px; margin: 10px; max-width: 600px; min-width: 300px; flex: 0 0 auto; font-size: 1rem; line-height: 26px; border-radius: 5px; }
.pop-overlay.pop-image>div { max-width: 100vw; max-height: 100vh; }
.pop-overlay.pop-image>div img { max-width: 100%; max-height: 100%; }
.pop-buttons { display: flex; margin: 10px 0; align-items: center; justify-content: space-between; }

/* -- TEXT MODULE -- */
.text_module_wrap { position: relative; }
.text_module_container { position: relative; z-index: 1; }
.text_module_before { position: absolute; left: calc(-1140px / 2); width: 100vw; top: 0; height: 100%; z-index: -1; }
.text_module_after { position: absolute; width: 100vw; top: 0; height: 100%; z-index: -1; }

/* -- SPACING MODULE -- */
.spacing_module { display: flex; align-items: center; justify-content: center; background: transparent; position: relative; z-index: 1; transition: 0.2s ease-in-out all; }
.spacing_module span { opacity: 0; text-align: center; font-size: 1.5rem; font-weight: bold; transition: 0.2s ease-in-out all; }
.spacing_module.admin_logged:hover { background: #efefef; }
.spacing_module.admin_logged:hover span { opacity: 1; }

/*Fullscreen Gallery*/
.flexslider { height: auto; position: relative; }
.flexslider:not(.full-width-fix) .flex-direction-nav { display: none; }
.flex-viewport { height: 100% !important; }
.flexslider .slides { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.flexslider .slides>li { display: none; -webkit-backface-visibility: hidden; position: relative; margin: 0; padding: 0; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; height: 100%; min-height: 100px; }
.flexslider .slides { height: 100%; }
.flexslider .slides>li.flex-active-slide { display: flex !important; flex-direction: column }
.flexslider .slides>li>a { display: block; height: 100%; }
.flexslider .slides>li>img, .flexslider .slides>li>a>img { width: 100%; display: block; z-index: 4; }
.flexslider .slides:after { content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .flexslider .slides { display: block; }
* html .flexslider .slides { height: 1%; }
.no-js .flexslider .slides>li:first-child { display: block; }
.flexSliderContainer.arrow { position: relative; }
.flexSliderContainer.arrow .flexslider { margin-bottom: -30px; }
.flexSliderContainer.arrow .slides>li, .flexSliderContainer.arrow .slides>li>a { clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); -webkit-clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); }
.flexSliderContainer.parallax .slides>li { background-attachment: fixed; }
.flex-caption { display: flex; flex-direction: column; height: 100%; margin: 0 auto; gap: 30px; z-index: 1; }
.flex-caption>div { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; height: auto; }
.flex-caption>div.background { background: var(--topbarColour); padding: 20px 40px; }
.flex-caption:empty { display: none; }
.flex-caption.halign-right { align-items: flex-end; }
.flex-caption.halign-left { align-items: flex-start; }
.flex-caption.halign-center { align-items: center; }
.flex-caption.valign-top { justify-content: flex-start; }
.flex-caption.valign-center { justify-content: center; }
.flex-caption.valign-bottom { justify-content: flex-end; padding-bottom: 40px; }

/*Fullscreen gallery paging buttons*/
.flex-control-paging { position: absolute; bottom: 20px; display: flex; left: calc(50% - 800px); width: 1600px; align-items: center; gap: 8px; justify-content: center; z-index: 60; list-style: none; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 15px; }
.flex-control-paging>li { padding: 0; margin: 0; font-size: 0; display: flex; align-items: center; justify-content: center; }
.flex-control-paging>li>a { width: 16px; height: 16px; box-sizing: border-box; border: 1px solid var(--mainColour); background: #fff; transition: ease-in-out all .3s; border-radius: 50%; }
.flex-control-paging>li>a.flex-active { background: var(--mainColour); }

/*Fullscreen gallery arrows*/
.flex-direction-nav { position: absolute; top: 50%; margin: 0; padding: 0; width: 100%; list-style: none; }
.flex-direction-nav li { position: absolute; z-index: 10; top: calc(50% - 30px); width: 40px; height: 60px; cursor: pointer; transition: ease-in-out all .3s; padding: 0; left: 20px; background: rgba(255, 255, 255, 0.62); display: flex; align-items: center; justify-content: center; }
.flex-direction-nav li a { font-size: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.flex-direction-nav li a:after { content: ""; height: 27px; width: 15px; background: url(../images/gallery-nav.svg) no-repeat center; }
.flex-direction-nav li.flex-nav-next { right: 20px; transform: rotate(180deg); left: initial; }
.flex-direction-nav li:hover { background: rgba(255, 255, 255, .8); }

/*Contact Form*/
.contact-form { background: #fff; border: 1px solid #e1e1e1; padding: 20px; margin: 20px 0; border-radius: 3px; }
.contact-form .cf_header { color: var(--headingColour); font-weight: 700; display: flex; align-items: center; gap: 10px; font-size: 1.625rem; margin-bottom: 15px; }
.contact-form .cf-input { line-height: 30px; padding-bottom: 10px; }
.contact-form .cf-select { line-height: 30px; padding-bottom: 10px; display: inline-block; width: 100%; }
.contact-form .cf-text { font-size: 18px; color: var(--headingColour); font-weight: 500; line-height: 26px; margin-bottom: 20px; }
.contact-form label, .contact-form legend { width: 100%; color: var(--headingColour); font-size: 1rem; margin: 0; line-height: 26px; margin-bottom: 5px; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=date], .contact-form textarea, .contact-form select { width: 100%; height: 42px; font-size: 0.875rem; border: 1px solid #e1e1e1; box-sizing: border-box; padding: 0 10px; transition: ease-in-out all .5s; color: var(--headingColour); }
.contact-form :is(input[type=text], .contact-form input[type=email], .contact-form input[type=date], .contact-form textarea, .contact-form select):focus { border-color: var(--headingColour); }
.contact-form input[type=checkbox]:focus { border-color: #f9dc4a; box-shadow: 0 0 5px rgba(0, 0, 0, 0.75); }
.contact-form input[type=radio]:focus { border-color: #f9dc4a; box-shadow: 0 0 5px rgba(0, 0, 0, 0.75); }
.contact-form select option { color: #000; }
.contact-form label span, .denotes span { color: #DC0D37; font-size: 0.75rem; position: relative; top: -5px; }
.contact-form textarea { resize: none; height: 130px; font-family: inherit; }
.contact-form :is(.cf-radiobox, .cf-checkbox) { padding-bottom: 10px; }
.contact-form :is(.cf-radiobox, .cf-checkbox)>span { display: flex; align-items: center; color: var(--headingColour); font-size: 0.875rem; }
.contact-form :is(.cf-radiobox input[type=radio], .cf-checkbox input[type=checkbox]) { margin-right: 10px; accent-color: var(--headingColour); }
.contact-form .cf-validation { text-align: center; height: 0; padding: 10px 0; box-sizing: border-box; font-size: 1rem; color: var(--headingColour); font-weight: bold; transition: all .2s ease-in-out; }
.contact_form_footer { display: flex; justify-content: space-between; }
.contact-form .cf-buttons { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; }
.contact-form .cf-buttons .denotes { color: var(--headingColour); font-size: 0.813rem; }
.contact-form .cf-buttons a.cf-reset { display: none; }

/*Layout Block Module*/
.block-layout-module { display: flex; flex-direction: column; background: #FFFFFF; padding: 20px 0; }
.block-layout-module .layout-block { margin: 0; display: flex; }
.block-layout-module .layout-image { width: 50%; position: relative; z-index: 5; display: flex; align-items: center; justify-content: flex-end; }
.block-layout-module .layout-image img { max-width: 100%; width: auto; height: auto; }
.block-layout-module .layout-content { width: 50%; display: flex; position: relative; }
.block-layout-module .layout-inner { width: 800px; padding: 30px 20px; display: flex; flex-direction: column; align-items: flex-start; position: relative; gap: 15px; z-index: 10; justify-content: center; }
.block-layout-module .layout-heading { display: flex; flex-direction: column; gap: 10px; }
.block-layout-module .layout-heading span { font-size: 2.25rem; line-height: 40px; position: relative; display: flex; font-weight: bold; color: var(--headingColour); 
    align-items: flex-start; margin: 0; font-family: "Lexend", sans-serif; }
.block-layout_module .layout-content * {padding: 0;}

/*Layout Button*/
.block-layout-module .layout-block { display: flex; align-items: center;  }
.block-layout-module .layout-buttons { display: flex; align-items: center; gap: 10px; }

/*Layout Position*/
.block-layout-module .layout-pos-left { flex-direction: row-reverse; }
.block-layout-module .layout-pos-left .layout-image { justify-content: flex-start; }
.block-layout-module .layout-pos-left .layout-content { justify-content: flex-end; }
.block-layout-module .layout-pos-right .layout-content { justify-content: flex-start; }

.block-layout-module .layout-pos-right{background: #CDDFC6;}
.block-layout-module .layout-pos-right .layout-buttons a:first-child{background: #fff; border-color: #fff; color: var(--textColour);}
.block-layout-module .layout-pos-right .layout-buttons a:last-child{background: #4F8E39; border-color: #4F8E39; color: #fff;}

/*System edit controls*/
.AB-editContentContainer { display: flex; align-items: flex-end; }
.AB-editing .__contentbox { z-index: 3000; }

/*Animation*/
@keyframes shadow-pulse {
    0% { box-shadow: 0 0 0 0px rgba(0, 0, 0, .6); }
    100% { box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); }
}

.sr-alert { position: fixed; left: 100%; }

/* ----------------------- */
/* ----- SEARCH PAGE ----- */
/* ----------------------- */

.search-page.category-page .cat-hidden { display: none !important; }
.search-page.product-page .prod-hidden { display: none !important; }
.search-page { display: flex; flex-direction: column; gap: 20px; padding: 20px 0; }

/* search header */
.search-header { display: flex; align-items: center; justify-content: space-between; height: 80px; padding: 0 10px; background: var(--background); }
.search-title { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.search-title h1 { font-size: 1.5rem; line-height: 24px; font-weight: 600; padding: 0; }
.search-results-found { font-size: 1rem; color: var(--mainColour); }
.search-order { display: flex; align-items: center; gap: 10px; }
.search-order span { font-size: 1rem; color: var(--mainColour); font-weight: 600; width: 100px; text-align: right; }
.sort-search { width: 180px; }
.sort-search:focus { border-color: #071B3A }

/* Search Results */
.search-results-wrap { display: flex; align-items: flex-start; gap: 20px; }
.search-filters { width: 280px; flex: 0 0 auto; background: #fff; border: 1px solid var(--border); }
.search-filters-buttons { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px; gap: 10px; }
.filter { border-bottom: 1px solid var(--border); }
.filter-header { display: flex; align-items: center; justify-content: space-between; padding: 0 10px; height: 50px; font-size: 18px; font-weight: 600; cursor: pointer; color: #212529; }
.filter-header:after { content: ''; transition: 0.3s all ease-in-out; width: 20px; height: 20px; background: url(../images/chevron-down-black.svg) no-repeat center; }
.filter.active .filter-header:after { transform: rotate(180deg); }
.filter-list { display: none; }
.filter.active .filter-list { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px; }
.filter-list a { color: var(--mainColour); text-decoration: none; padding: 0 5px; display: flex; align-items: center; height: 25px; font-size: 0.938rem; gap: 5px; text-transform: uppercase; }
.filter-list a.active { border-radius: 3px; border: 1px solid var(--border); background: #fff; }
.filter-list a.active:after { content: ''; width: 20px; height: 20px; background: url(../images/tick.svg) no-repeat center; }
.apply-filters { width: 100%; }
.clear-filters { text-align: center; text-decoration: underline; line-height: 30px; color: #000; }
.search-results { flex: 1; max-width: 100%; width: 0; }
.product-list, .category-list { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 20px; padding: 0px 0 20px; flex: 1; width: 100%; }
.active-filters { width: 100%; display: flex; align-items: center; gap: 10px; margin: 0px 0 20px; }
.active-filters:empty { display: none; }
.active-filters a { color: var(--mainColour); text-decoration: none; padding: 0 10px; display: flex; align-items: center; height: 44px; font-size: 0.938rem; gap: 5px; text-transform: uppercase; border: 1px solid var(--border); }
.active-filters a:before { content: ''; width: 20px; height: 20px; background: url(../images/cancel.svg) no-repeat center; }
.search-filters.cat-hidden+.product-list { width: 100%; }

/* -- Product Block -- */
.product-block { width: calc((100% - 60px) / 4); background: #fff; border: 1px solid var(--border); box-sizing: border-box; font-family: "Lexend", sans-serif;}
.search-filters+.search-results .product-block { width: calc((100% - 40px) / 3); }
.product-block .product-image { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: var(--productAspect); position: relative; overflow: hidden; }
.product-block .product-image a { border: 1px solid transparent; }
.product-block .product-image a:focus { border-color: #000; }
.product-block .product-image .product-sticker { font-weight: 600; position: absolute; top: 0; left: 0; }
.product-block .product-image .product-no-stock { background: #fff; border: 1px solid #000; color: #000; font-size: 1rem; font-weight: 600; position: absolute; bottom: 0; left: 0; right: 0; line-height: 40px; text-align: center; }
.product-block .product-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; overflow: hidden; text-decoration: none; position: relative; }
.product-block .product-image a:focus-visible::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(249, 220, 74, 0.3); pointer-events: none; }
.product-block .product-image img { width: auto; height: 100% !important; max-width: none !important; }
.product-block .product-image a.add-to-favourites { position: absolute; top: 5px; right: 5px; width: 20px; height: 20px; background: url(../images/heart-empty.svg) no-repeat center; background-size: contain; font-size: 0; display: none; }
.product-block .product-image a.add-to-favourites.is-favourite { background-image: url(../images/heart.svg); }
.product-block:hover .product-image a.add-to-favourites { display: flex; }
.product-block .product-info { padding: 10px; box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; }
.product-block .product-title { display: flex; align-items: flex-start; height: 66px; font-size: 1.125rem; justify-content: flex-start; overflow: hidden; }
.product-block .product-title a { color: var(--mainColour); text-decoration: none; font-weight:bold; }
.product-block .product-price { display: flex; align-items: flex-end; justify-content: flex-start; gap: 10px; padding: 0; font-weight: 600; color: var(--mainColour); height: 40px; }
.product-block .product-price .main-price { font-size: 18px; line-height: 16px; order: 1;}
.product-block .product-price .was-price { font-size: 0.75rem; font-weight: 400; line-height: 12px; order: 2;}
.product-block .product-price .was-price span { text-decoration: line-through; }
.product-block .product-price .was-price:not(.hidden)+.main-price { color: var(--secondaryColour); }
.product-block .product-buttons { display: flex; align-items: center; justify-content: center; padding: 10px 0; }
.product-block .product-buttons a { width: 100%; height: 60px; padding: 0 10px; }

/* -- Category Block -- */
.category-block { width: calc((100% - 60px) / 4); cursor: pointer; box-sizing: border-box; background: #fff; color: #fff; border-radius: 5px; overflow: hidden;}
.category-block .cat-image { width: 100%; aspect-ratio: var(--categoryAspect); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.category-block .cat-image img { height: 100%; width: auto !important; max-width: none !important; }
.category-block .cat-title { display: flex; align-items: center; justify-content: center; height: 70px; box-sizing: border-box; transition: 0.2s ease-in all; font-size: 1rem; font-weight: 600; color: #fff; text-align: center; text-decoration: none; transition: 0.2s ease-in all; background:var(--mainColour) }

/* -- PAGER -- */
.search-pager { display: flex; align-items: center; width: auto; height: 60px; justify-content: center; gap: 10px; position: relative; background: var(--background); }
.pager-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.pager-link a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 18px; color: #000; text-decoration: none; }
.pager-link.hidden { display: none !important; }
.pager-current-page a { color: var(--secondaryColour); text-decoration: underline; font-weight: 600; }
.pager-prev-button, .pager-next-button { background: var(--mainColour); color: #fff; margin-right: auto; height: 100%; width: 180px; }
.pager-next-button { margin-right: initial; margin-left: auto; }
.pager-next-button a, .pager-prev-button a { color: #fff; text-transform: uppercase; font-size: 18px; font-weight: 600; display: flex; align-items: center; justify-content: center; text-decoration: none; gap: 5px; }
.pager-next-button.disabled a, .pager-prev-button.disabled a { background: #B1B4B2; }
.pager-next-button a:after, .pager-prev-button a:before { content: ''; width: 10px; height: 10px; background: url(../images/chevron-right-white.svg) no-repeat center; background-size: contain; }
.pager-prev-button a:before { transform: rotate(180deg); }

/* ------------------- */

/* ----- MODULES ----- */

/* ------------------- */

/* -- Product Module -- */

.product-module { padding: 20px 0; box-sizing: border-box; }
.product-module.bg-on { background: var(--background); }
.product-module.full-width-fix { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.pm-container { padding: 0; box-sizing: border-box; }
.product-module.full-width-fix .pm-container { padding: 0 10px; }
.product-module:not(.full-width-fix) .pm-container { width: 100%; }

/* titles */
.pm-title { margin-top: 20px; display: flex; justify-content: center; align-items: center; }
.pm-title span { font-size: 2rem; line-height: 40px; color: var(--mainColour); font-weight: 600; text-align: center; }
.pm-subtitle { display: flex; align-items: center; justify-content: center; }
.pm-subtitle span { font-size: 18px; line-height: 26px; color: var(--mainColour); text-align: center; }

/* gallery */
.pm-gal-wrap { position: relative; padding: 20px 0; }
.pm-slide { display: flex; justify-content: center; width: 25%; }

/* List View */

/* Carousel View */

.pm-gal-wrap.carousel .pm-gal-inner { flex-wrap: nowrap; gap: 20px 0; }

/* navigation */
.pm-gal-wrap.carousel .pm-gal-nav { display: flex; justify-content: center; align-items: center; width: 40px; height: 60px; position: absolute; top: calc(50% - 30px); cursor: pointer; background: var(--mainColour); }
.pm-gal-wrap.carousel .pm-gal-nav-disabled { opacity: 0.3; cursor: default; }
.pm-gal-wrap.carousel .pm-gal-nav::after { content: ""; display: block; width: 15px; height: 15px; border: solid #fff; transform: rotate(45deg); }
.pm-gal-wrap.carousel .pm-gal-prev { left: -60px; }
.pm-gal-wrap.carousel .pm-gal-prev::after { border-width: 0 0 3px 3px; margin-left: 5px; }
.pm-gal-wrap.carousel .pm-gal-next { right: -60px; }
.pm-gal-wrap.carousel .pm-gal-next::after { border-width: 3px 3px 0 0; margin-right: 5px; }

/* pagination */
.pm-gal-wrap.carousel .pm-gal-pagination { overflow: hidden; margin: 15px 0; position: relative; }
.pm-gal-wrap.bullets .pm-gal-pagination { display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 30px 0; position: relative; gap: 20px; }
.pm-gal-wrap.carousel .swiper-pagination-bullet { height: 20px; width: 20px; background: #fff; border: 1px solid var(--mainColour); border-radius: 100%; font-size: 0; opacity: 1; transition: ease-in-out all .3s; cursor: pointer; margin: 0; }
.pm-gal-wrap.carousel .swiper-pagination-bullet-active { background: var(--mainColour); }
.pm-gal-wrap.carousel .swiper-pagination-bullet-active-prev, .pm-gal-wrap.carousel .swiper-pagination-bullet-active-next { opacity: 0.6 }
.pm-gal-wrap.carousel.dynamic .pm-gal-pagination { display: flex; justify-content: center; align-items: center; }
.pm-gal-wrap.carousel.dynamic .pm-gal-pagination span { background: #fff; border: 1px solid var(--mainColour); opacity: 1; height: 20px; width: 20px; transform: none; flex-shrink: 0; margin: 0 5px; }
.pm-gal-wrap.carousel.dynamic .pm-gal-pagination .swiper-pagination-bullet-active { background: var(--mainColour); transform: scale(1) !important; }
.pm-gal-wrap.carousel.dynamic .pm-gal-pagination :is(.swiper-pagination-bullet-next-next, .swiper-pagination-bullet-active-prev-prev) { transform: scale(.33) !important; }
.pm-gal-wrap.carousel.dynamic .pm-gal-pagination :is(.swiper-pagination-bullet-active-next, .swiper-pagination-bullet-active-prev) { transform: scale(.6) !important; }
.pm-gal-wrap.carousel .swiper-pagination-bullet:focus { background-color: #f9dc4a; }

/* scrollbar */
.pm-gal-scrollbar { width: 100%; height: 8px; background: #4475ba2c; margin: 10px 0; }
.pm-gal-scrollbar-drag { width: 100px; height: 100%; background: #4476BA; border-radius: 5px; cursor: grab; }
.pm-gal-wrap.list .pm-gal-nav { display: none; }
.pm-gal-wrap.list .pm-gal-scrollbar { display: none; }
.pm-gal-wrap.list .pm-gal-pagination { display: none; }
.pm-gal-wrap.scrollbar .pm-gal-pagination { display: none; }
.pm-gal-wrap:not(.scrollbar) .pm-gal-scrollbar { display: none; }

/* -- Category Module -- */
.category-module { padding: 20px 0; box-sizing: border-box; }
.category-module.bg-on { background: var(--background); }
.category-module.full-width-fix { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.cm-container { padding: 0; box-sizing: border-box; }
.category-module.full-width-fix .cm-container { padding: 0 10px; }
.category-module:not(.full-width-fix) .cm-container { width: 100%; }

/* titles */
.cm-title { display: flex; justify-content: center; align-items: center; }
.cm-title span { font-size: 2rem; line-height: 40px; color: var(--mainColour); font-weight: 600; text-align: center; }
.cm-subtitle { display: flex; align-items: center; justify-content: center; }
.cm-subtitle span { font-size: 18px; line-height: 26px; color: var(--mainColour); text-align: center; }

/* gallery */
.cm-gal-wrap { position: relative; padding: 20px 0; }
.cm-slide { display: flex; justify-content: center; width: 25%; }

/* List View */

/* Carousel View */

.cm-gal-wrap.carousel .cm-gal-inner { flex-wrap: nowrap; gap: 20px 0; }

/* navigation */
.cm-gal-wrap.carousel .cm-gal-nav { display: flex; justify-content: center; align-items: center; width: 40px; height: 60px; position: absolute; top: calc(50% - 30px); cursor: pointer; background: var(--mainColour); }
.cm-gal-wrap.carousel .cm-gal-nav-disabled { opacity: 0.3; cursor: default; }
.cm-gal-wrap.carousel .cm-gal-nav::after { content: ""; display: block; width: 15px; height: 15px; border: solid #fff; transform: rotate(45deg); }
.cm-gal-wrap.carousel .cm-gal-prev { left: -60px; }
.cm-gal-wrap.carousel .cm-gal-prev::after { border-width: 0 0 3px 3px; margin-left: 5px; }
.cm-gal-wrap.carousel .cm-gal-next { right: -60px; }
.cm-gal-wrap.carousel .cm-gal-next::after { border-width: 3px 3px 0 0; margin-right: 5px; }

/* pagination */
.cm-gal-wrap.carousel .cm-gal-pagination { overflow: hidden; margin: 15px 0; position: relative; }
.cm-gal-wrap.bullets .cm-gal-pagination { display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 30px 0 10px 0; position: relative; gap: 20px; }
.cm-gal-wrap.carousel .swiper-pagination-bullet { height: 20px; width: 20px; margin: 0; background: #fff; border: 1px solid var(--mainColour); border-radius: 100%; font-size: 0; opacity: 1; transition: ease-in-out all .3s; cursor: pointer; }
.cm-gal-wrap.carousel .swiper-pagination-bullet-active { background: var(--mainColour); }
.cm-gal-wrap.carousel .swiper-pagination-bullet-active-prev, .cm-gal-wrap.carousel .swiper-pagination-bullet-active-next { opacity: 0.6 }
.cm-gal-wrap.carousel.dynamic .cm-gal-pagination { display: flex; justify-content: center; align-items: center; }
.cm-gal-wrap.carousel.dynamic .cm-gal-pagination span { background: #fff; border: 1px solid var(--mainColour); opacity: 1; height: 20px; width: 20px; transform: none; flex-shrink: 0; margin: 0 5px; }
.cm-gal-wrap.carousel.dynamic .cm-gal-pagination .swiper-pagination-bullet-active { background: var(--mainColour); transform: scale(1) !important; }
.cm-gal-wrap.carousel.dynamic .cm-gal-pagination :is(.swiper-pagination-bullet-next-next, .swiper-pagination-bullet-active-prev-prev) { transform: scale(.33) !important; }
.cm-gal-wrap.carousel.dynamic .cm-gal-pagination :is(.swiper-pagination-bullet-active-next, .swiper-pagination-bullet-active-prev) { transform: scale(.6) !important; }
.cm-gal-wrap.carousel .swiper-pagination-bullet:focus { background-color: #f9dc4a; }

/* scrollbar */
.cm-gal-scrollbar { width: 100%; height: 8px; background: #4475ba2c; margin: 10px 0; }
.cm-gal-scrollbar-drag { width: 100px; height: 100%; background: #4476BA; border-radius: 5px; cursor: grab; }
.cm-gal-wrap.list .cm-gal-nav { display: none; }
.cm-gal-wrap.list .cm-gal-scrollbar { display: none; }
.cm-gal-wrap.list .cm-gal-pagination { display: none; }
.cm-gal-wrap.scrollbar .cm-gal-pagination { display: none; }
.cm-gal-wrap:not(.scrollbar) .cm-gal-scrollbar { display: none; }

/* ------------------------ */

/* ----- DETAILS PAGE ----- */

/* ------------------------ */

.details-page { padding: 0; display: flex; flex-direction: column; }
.details-header { display: flex; align-items: center; height: 60px; gap: 10px; }
.details-header>a { color: var(--mainColour) !important; text-decoration: underline !important; text-transform: uppercase; }
.details-page-container { display: flex; align-items: flex-start; gap: 20px; }
.details-page-left { width: 50%; padding-right: 10px; box-sizing: border-box; }

/* product thumbnails */
.small-images-gal-wrap { margin: 10px 0; }
.small-image { height: 80px; aspect-ratio: var(--productAspect); display: flex; align-items: center; justify-content: center; cursor: pointer; overflow: hidden; }
.small-image img { max-height: 100%; height: 100%; width: auto; max-width: none !important; }

/* Product Images with carousel */
.product-image-gal-wrap { position: relative; min-height: 200px; }
.product-image-gal-wrap .product-sticker { position: absolute; top: 0; left: 0; z-index: 100; }
.product-image-gal .product-image a { width: 100%; aspect-ratio: var(--productAspect); overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative; }
.product-image-gal .product-image a:focus-visible::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(249, 220, 74, 0.3); pointer-events: none; }
.product-image-gal .product-image a img { width: auto; height: 100% !important; max-width: none !important; }

/* product image gallery nav */
.pi-gal-nav { display: flex; align-items: center; background: #fff; justify-content: center; width: 40px; height: 60px; position: absolute; top: calc(50% - 30px); cursor: pointer; z-index: 100; }
.pi-gal-nav-disabled { display: none; }
.pi-gal-nav::after { content: ""; display: block; width: 13px; height: 22px; background: url(../images/chevron-right-black.svg) no-repeat center; }
.pi-gal-prev { left: 0px; }
.pi-gal-prev::after { transform: rotate(180deg); }
.pi-gal-next { right: 0px; }

/* product thumbnails */

/* 
.small-images-wrap {display:flex; align-items: center; justify-content: center;}
.small-images-gal-wrap {position:relative;}
.small-images-gal {width:100%;}
.small-image {height:80px; margin: 0 5px; position:relative; padding: 10px 0;}
.small-image.slick-slide {height:80px;}
.small-image a {display:flex; align-items: center; justify-content: center; width:100%; height:100%; cursor:pointer;}
.small-image a img {max-height:100%; max-width: 100%; height: auto; width:auto;} */

/* product thumbnails gallery nav */

/* 
.psi-gal-nav {display:flex; align-items: center; justify-content: center; width:20px; height:30px; background: #ffffffb3; position:absolute; top:calc(50% - 15px); z-index:1;}
.psi-gal-nav.swiper-button-disabled {display: none;}
.psi-gal-nav::after {content:""; display: block; width:8px; height:8px; border: solid #3A3A39; transform:rotate(45deg);}
.psi-gal-prev {left:0;}
.psi-gal-prev::after {border-width:0 0 1px 1px;}
.psi-gal-next {right:0;}
.psi-gal-next::after {border-width:1px 1px 0 0;}  
*/

.details-page-right { width: 50%; padding-left: 10px; box-sizing: border-box; }

/* product details */
.product-title { justify-content: center; }
.product-title h1 { font-weight: bold; font-size: 2rem; }
.product-sale-title { font-size: 1.75rem; color: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; font-weight: 600; background: var(--secondaryColour); line-height: 40px; }
.product-price { gap: 20px; padding: 10px 0; }
.product-price .product-price { font-size: 1.75rem; line-height: 38px; color: var(--mainColour); }
.product-price .product-rrp-price { font-size: 1rem; line-height: 26px; color: var(--mainColour); text-decoration: line-through; }
.product-price .product-rrp-price:not(.hidden)+.product-price { color: var(--secondaryColour); font-weight: bold; }
.product-price .product-rrp-price:not(.hidden)+.product-price:before { content: "NOW "; }
.product-label-wrap { display: flex; align-items: center; justify-content: flex-start; gap: 20px; padding: 10px 0; }
.product-label { display: flex; align-items: center; justify-content: center; height: 35px; background: var(--background); padding: 0 25px; font-size: 0.813rem; color: #000; gap: 5px; }
.product-short-description { padding: 10px 0; font-size: 0.875rem; line-height: 24px; }
.product-short-description:empty { display: none; }

/* variations */
.product-selector { display: flex; flex-direction: column; gap: 20px; }
.product-selector>div:not(.hidden) { display: flex; flex-direction: column; gap: 10px; }
.product-selector>div:not(.hidden)>div { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.product-selector>div:not(.hidden)>div>a:not(.hidden) { display: flex; padding: 0 10px; align-items: center; justify-content: center; background: var(--mainColour); color: #fff; opacity: .5; height: 40px; font-size: 0.875rem; border-radius: 15px; transition: 0.2s ease-in-out all; }
.product-selector>div:not(.hidden)>div>a.active { opacity: 1; }

/* quantity */
.quantity-wrap { width: 130px; }
.quantity-wrap .quantity-label { font-size: 1.063rem; color: #000; padding: 5px 0; }
.quantity-wrap .quantity { display: flex; align-items: center; height: 50px; width: 100%; box-sizing: border-box; background: #fff; }
.quantity-wrap .quantity a { display: flex; align-items: center; justify-content: center; width: 40px; height: 100%; font-size: 1.313rem; color: #000; font-weight: bold; border: 1px solid var(--border); background: var(--background); }
.quantity-wrap .quantity input { flex: 1; height: 100%; background: none; border: solid var(--border); border-width: 1px 0; box-sizing: border-box; font-size: 1rem; color: #000; text-align: center; }

/* add to cart */
.add-to-cart-row:not(.hidden) { display: flex; align-items: flex-end; gap: 20px; padding: 10px 0; }
.add-to-cart { flex: 1; text-transform: uppercase; gap: 10px; padding: 0 10px; }
.add-to-cart:before { content: ''; width: 20px; height: 20px; background: url(../images/cart-white.svg) no-repeat center; background-size: contain; transition: 0.2s all ease-in-out; }
.add-to-cart:hover:before { background-image: url(../images/cart.svg); }

/* Added to cart */
.added-to-cart { max-width: 600px; width: 100%; }
.added-to-cart-title { display: flex; align-items: center; justify-content: flex-start; font-size: 1.625rem; line-height: 28px; color: #000; font-weight: 600; }
.added-to-cart-product { display: flex; align-items: center; gap: 20px; margin: 20px 0; }
.added-to-cart-image { width: 100px; aspect-ratio: var(--productAspect); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.added-to-cart-image img { width: auto; height: 100% !important; max-width: none !important; }
.added-to-cart-info { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px; font-size: 1rem; }
.added-to-cart-info>div { display: flex; align-items: center; gap: 10px; }
.added-to-cart-info>div>span { width: 100px; flex: 0 0 auto; }
.out-of-stock-wrap:not(.hidden) { height: 60px; background: var(--background); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: var(--mainColour); text-transform: uppercase; margin: 10px 0; }

/* Delivery */
.product-meta { display: flex; align-items: center; justify-content: flex-start; padding: 10px 0; gap: 20px; }
.product-meta a { font-size: 0.875rem; color: var(--mainColour); display: flex; align-items: center; gap: 5px; text-decoration: underline; }
.product-meta a:before { content: ''; width: 25px; height: 15px; background: url(../images/delivery.svg) no-repeat center; background-size: contain; }
.product-meta a.add-to-favourites:before { background-image: url(../images/heart-empty.svg); }
.product-meta a.add-to-favourites.is-favourite:before { background-image: url(../images/heart.svg); }
.product-meta a.add-to-favourites:after { content: 'Add to favourites'; }
.product-meta a.add-to-favourites.is-favourite:after { content: 'Remove from favourites'; }

/* Description */
.product-description-wrap { background: var(--background); padding: 20px; margin: 20px 0; }
.product-description-tabs { display: flex; align-items: center; gap: 20px; }
.product-description-tabs a, .associations-wrap h2 { font-size: 1.5rem; color: var(--mainColour); font-weight: 600; display: flex; flex-direction: column; }
.product-description-tabs a:not(.active) { opacity: .8; }
.associations-wrap h2:after { content: ''; width: 30px; height: 4px; background: var(--secondaryColour); margin: 10px 0; }
.product-description-tabs a:after { content: ''; width: 100%; height: 2px; background: var(--mainColour); margin: 5px 0 10px 0; }
.product-description-tabs a:not(.active):after { background: none; }
.product-description-tab-content>div:not(.active) { display: none; }

/*-- Associations --*/
.associations-wrap { padding: 40px 0px; }
.associations-container { padding: 0px 10px; }

/*-- Associations (Carousel) --*/
.associations-gal-wrap { position: relative; }
.associations-gal { width: 100%; padding: 20px 0; }
.ag-gal-nav { display: flex; align-items: center; background: #fff; justify-content: center; width: 40px; height: 60px; position: absolute; top: calc(50% - 30px); cursor: pointer; }
.ag-gal-nav-disabled { display: none; }
.ag-gal-nav::after { content: ""; display: block; width: 13px; height: 22px; background: url(../images/chevron-right-black.svg) no-repeat center; }
.ag-gal-prev { left: -50px; }
.ag-gal-prev::after { transform: rotate(180deg); }
.ag-gal-next { right: -50px; }

/* ---------------------- */

/* ------ CHECKOUT ------ */

/* ---------------------- */

/*----- LARGE CART -----*/

body[data-page=checkout] .top-wrap, body[data-page=checkout] .header-wrap, body[data-page=checkout] .menu-wrap, body[data-page=checkout] .footer-wrap, body[data-page=checkout] .byline-wrap { display: none; }
.shopping-checkout { flex-direction: column; }
.cart-title { display: flex; align-items: center; justify-content: flex-start; gap: 10px; padding: 10px 0; }
.cart-title span { font-size: 18px; color: #393A3D; font-weight: bold; text-transform: capitalize; }
.cart-title::before { content: ""; display: block; width: 24px; height: 24px; background: url(../images/cart.svg) no-repeat center; background-size: contain; }
.cart-product { display: flex; align-items: center; justify-content: space-between; background: #fff; border: 1px solid #D8E1EB; box-sizing: border-box; margin: 10px 0; padding: 10px; gap: 4px; }
.cart-product-left { display: flex; align-items: center; justify-content: flex-start; height: 100%; }
.cart-product-image { box-sizing: border-box; width: 60px; }
.cart-product-image img { max-width: 50px; max-height: 50px; width: auto; height: auto; }
.cart-product-details { box-sizing: border-box; height: 100%; }
.cart-product-title span { font-size: 0.75rem; line-height: 18px; color: #393A3D; font-weight: bold; }
.cart-product-variations span { font-size: 0.625rem; line-height: 16px; color: #393A3D; }
.cart-product-sku span { font-size: 0.75rem; line-height: 16px; color: #393A3D; }
.cart-discount { font-size: 0.625rem; line-height: 14px; color: #dc3545; font-weight: bold; }
.cart-product-right { display: flex; align-items: center; justify-content: space-between; }
.cart-product-quantity-wrap { box-sizing: border-box; }
.cart-product-quantity { display: flex; align-items: center; justify-content: center; width: 90px; height: 35px; background: var(--background); }
.cart-product-quantity a { display: flex; align-items: center; justify-content: center; width: 30%; height: 60%; font-size: 1.25rem; font-weight: bold; color: var(--mainColour); }
.cart-product-quantity input { width: 40%; height: 100%; text-align: center; background: none; border: 0; }
.cart-product-update { padding-top: 5px; }
.cart-product-update a { display: flex; align-items: center; justify-content: center; gap: 5px; }
.cart-product-update a { font-size: 0.75rem; color: #575757; text-decoration: underline; }
.cart-product-price { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 100%; width: 110px; }
.cart-product-price span { font-size: 0.875rem; color: #393A3D; font-weight: bold; }
.cart-product-remove { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: var(--background); }
.cart-product-remove a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: url(../images/icon-delete.svg) no-repeat center; background-size: 15px; }
.cart-lines { padding: 20px 0; }
.cart-line { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #E3E3E3; }
.cart-line.total { border: 0; margin-bottom: 40px; }
.cart-line>div { font-size: 18px; color: #3B3B3D; text-transform: capitalize; }
.cart-line.discount-line { margin-bottom: 40px; }
.cart-line.discount-line>div { color: #4476BA; font-size: 0.75rem; }
.cart-line.total>div { font-weight: bold; }
.cart-line.vat-line>div { font-size: 0.75rem; }

/*----- CHECKOUT -----*/
.site-body[data-page=checkout] .site-header, .site-body[data-page=checkout] .site-footer { display: none; }
.checkout-page { display: flex; min-height: 1000px; }
.checkout-left { padding: 40px 20px 200px 20px; padding-left: calc((100vw - 1200px) / 2); width: 50%; box-sizing: border-box; background: #fff; }
.checkout-right { padding: 130px 20px 200px 20px; padding-right: calc((100vw - 1200px) / 2); width: 50%; box-sizing: border-box; background: #F8F7F6; }
.back-to-shopping-wrap { padding: 10px 0 20px; }
.back-to-shopping-wrap a { font-size: 0.75rem; color: #575757; text-decoration: underline; }
.checkout-logo { padding: 20px 0; }
.checkout-logo img { max-width: 225px; }
.checkout-button { display: flex; align-items: center; justify-content: center; gap: 5px; height: 35px; width: 265px; background: #fff; border: 1px solid #74AF43; border-radius: 3px; }
.checkout-button span { font-size: 0.75rem; color: #393A3D; }
.checkout-button.tick::before { content: ""; display: block; width: 15px; height: 15px; background: url(../images/tick-green.svg) no-repeat center; background-size: contain; }
.checkout-logger { padding: 10px 0; }
.checkout-logger-title { padding: 5px 0; }
.checkout-logger-title span { font-size: 1rem; line-height: 20px; color: #393A3D; font-weight: bold; }
.checkout-logger-title span a { color: #4476BA; text-decoration: underline; font-weight: normal; }

/* logger popup */
.login-popup { }
.login-popup-title { padding: 10px 0; }
.login-popup-title span { font-size: 18px; color: #3B3B3D; font-weight: 600; }
.login-popup .login-form { }
.login-popup .login-form-field { padding: 10px 0; }
.login-popup .login-form-label { font-size: 0.875rem; color: #3B3B3D; font-weight: 600; padding: 5px 0; }
.login-popup .login-form-input { width: 60%; }
.login-popup .login-form-input input { width: 100%; height: 35px; border: 1px solid #D8E1EB; padding: 0 10px; box-sizing: border-box; }
.checkout-section-title { display: flex; align-items: center; justify-content: flex-start; padding: 10px 0; }
.checkout-section-title span, .checkout-section-title h1 { font-size: 2rem; line-height: 48px; color: var(--mainColour); font-weight: bold; }
.checkout-card { background: #FFFCFC; border: 1px solid #EEEAEA; width: 100%; margin: 10px 0; padding: 20px; box-sizing: border-box; }
.checkout-card-header { }
.checkout-card-title { display: flex; align-items: center; gap: 10px; height: 60px; width: 100%; }
.checkout-card-title > label { font-size: 18px; line-height: 28px; color: var(--mainColour); font-weight: bold; display: flex; align-items: center; width: 100%; }
.checkout-card-title>label>span { margin-left: auto; display: flex; align-items: center; font-weight: normal; }
.checkout-card-title>span { font-size: 18px; line-height: 28px; color: var(--mainColour); font-weight: bold; display: flex; align-items: center; width: 100%; }
.checkout-card-title>span>span { margin-left: auto; display: flex; align-items: center; font-weight: normal; }
.checkout-card-inner { padding: 10px 0; box-sizing: border-box; }
.checkout-card-inner-title { font-size: 0.875rem; line-height: 24px; }
.checkout-card-subtitle span { font-size: 1rem; color: #3B3B3D; }
.checkout-card-field { padding: 10px 0; }
.checkout-card-input { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
.checkout-card-input span { font-size: 1rem; line-height: 18px; color: #3B3B3D; }
.checkout-card-input input[type=checkbox] { width: 18px; height: 18px; margin: 0; padding: 0; border-color: #000; border-radius: 2px; accent-color: #4476BA; }
.checkout-card-input input[type=checkbox]:focus { outline: 1px solid #000; }
.checkout-card-input.checkbox span { font-size: 0.875rem; color: #393A3D; }
.delivery-select-wrap { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
.delivery-selector { width: 60%; }
.delivery-price { }
.delivery-price span { font-size: 1rem; font-weight: bold; color: #000; }
.free-delivery-wrap { padding: 10px 0; }
.checkout-card.expandable .checkout-card-header { position: relative; cursor: pointer; display: flex; }
.checkout-card.expandable:not(.noarrow) .checkout-card-header::after { content: ""; display: block; width: 8px; height: 8px; border: solid #393A3D; border-width: 0 2px 2px 0; transform: scale(1, 1) rotate(45deg); position: absolute; right: 15px; top: calc(50% - 6px); transition: 0.2s ease-in-out all; }
.checkout-card.expandable .checkout-card-header.active::after { transform: scale(-1, -1) rotate(45deg); }
.checkout-card.expandable .checkout-card-content { display: none; }
.checkout-card[data-card=promo] .checkout-card-content { padding-top: 10px; position: relative; }
.checkout-card[data-card=promo] .checkout-card-subtitle span { font-size: 0.75rem; }
.checkout-card[data-card=details] .checkout-card-title span { font-size: 1.5rem; }
.checkout-card[data-card=details] .checkout-card-subtitle { padding: 10px 0; }
.checkout-card[data-card=details] .checkout-card-subtitle span { font-size: 1rem; color: #393A3D; font-weight: bold; }
.checkout-form { padding: 10px 0; }
.checkout-form-title { display: flex; align-items: center; justify-content: flex-start; padding: 10px 0; }
.checkout-form-title span { font-size: 0.875rem; color: #393A3D; font-weight: bold; }
.checkout-form-field { padding: 10px 0; position: relative; }
.checkout-form-label { font-size: 1rem; color: #3B3B3D; padding: 5px 0; }
.checkout-form-input { margin: 5px 0; }
.checkout-form[data-form=billing] { display: none; }
.checkout-card[data-card=tnc] { padding: 0 20px; }
.checkout-card[data-card=tnc] .checkout-card-input span a { color: #4476BA; text-decoration: underline; }
.checkout-card[data-card=paymethods] { padding: 0px 20px 20px; }
.checkout-card[data-card=paymethods] .checkout-card-subtitle { padding: 10px 0; }
.checkout-card[data-card=paymethods] .checkout-card-subtitle span { font-size: 1rem; color: #393A3D; font-weight: bold; }
.delivery-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.delivery-option { border: 1px solid #D8E1EB; padding: 10px; background: #fff; width: 100%; box-sizing: border-box; cursor: pointer; color: #3B3B3D; }
.delivery-option:hover { color: #3B3B3D; }
.deliveryopt-row { display: flex; align-items: center; gap: 10px; }
.deliveryopt-title { font-size: 0.938rem; line-height: 24px; }
.deliveryopt-radio { display: flex; flex-grow: 0; flex-shrink: 0; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid #000; border-radius: 50%; padding: 3px; cursor: pointer; }
.delivery-option.active .deliveryopt-radio::after { content: ""; width: 100%; height: 100%; display: block; background: #000; border-radius: inherit; }
.payment-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.payment-option { border: 1px solid #D8E1EB; padding: 10px; background: #fff; width: 100%; box-sizing: border-box; cursor: pointer; transition: all 0.3s ease-in-out; color: #000000; }
.payment-option.active { border-color: var(--secondaryColour); }
.payopt-row { display: flex; align-items: flex-start; gap: 10px; }
.payopt-details { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; flex: 1; }
.payopt-title { font-size: 0.938rem; display: flex; align-items: center; height: 40px; }
.payopt-description { width: 100%; }
.payopt-radio { display: flex; flex-grow: 0; flex-shrink: 0; width: 20px; height: 20px; box-sizing: border-box; border: 2px solid #000; border-radius: 50%; padding: 3px; cursor: pointer; margin: 10px 0; }
.payment-option.active .payopt-radio::after { content: ""; width: 100%; height: 100%; display: block; background: #000; border-radius: inherit; }
.payopt-image { align-self: center; width: 100px; }
.payment-option img { width: 100%; max-height: auto; }
.save-order { width: 100%; text-transform: uppercase; height: 60px; }
.continue-button-wrap button:focus-visible { background: #f9dc4a; color: #000; }

/*Payment Page*/
.payment-header { margin: 0 0 25px; box-sizing: border-box; display: flex; flex-direction: column; }
.payment-header>div { display: flex; flex-wrap: wrap; gap: 10px; }
.payment-header h1 { color: #000000; font-weight: bold; font-size: 1.875rem; margin: 0 0 15px; padding: 0; }
.payment-header>div>div { width: calc((100% - 20px) /3); font-size: 0.75rem; color: #000; line-height: 24px; }
.payment-content { margin: 0 0 20px; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; }
.payment-content h3 { color: #000; font-weight: bold; font-size: 18px; margin: 0 0 10px; padding: 0; position: relative; }
.payment-content .payment-order-summary { width: calc(33% - 10px); padding: 10px; box-sizing: border-box; background: #f9f9f9; display: flex; flex-direction: column; }
.payment-content .payment-delivery { width: calc(33% - 10px); padding: 10px; box-sizing: border-box; font-size: 0.75rem; background: #f9f9f9; }
.payment-content .payment-delivery p { font-size: 0.75rem; color: #000; padding: 0 0 15px; line-height: 20px; }
.payment-content .payment-order-summary span { font-weight: bold; font-size: 0.75rem; line-height: 28px; }
.payment-content .payment-order-summary .payment-cart-products>div { border-bottom: 1px solid #F2EFEF; display: flex; align-items: center; justify-content: space-between; }
.payment-content .payment-order-summary .payment-cart-products>div>div { line-height: 20px; padding: 5px 0; font-size: 0.75rem; color: #000; }
.payment-content .payment-cart-calculations { border-bottom: 1px solid #F2EFEF; padding: 5px 0; }
.payment-content .payment-cart-calculations>div { padding: 5px 0; display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem; color: #000; line-height: 20px; }
.payment-content .payment-total { display: flex; align-items: center; justify-content: space-between; border: 0; }
.payment-content .payment-total>div { padding: 5px 0; font-size: 0.75rem; color: #000; line-height: 20px; font-weight: bold; }
.payment-pay { box-sizing: border-box; }
.payment-pay h1 { color: #000000; font-weight: bold; font-size: 1.875rem; margin: 0; padding: 0; }
.payment-pay label { font-size: 1rem; color: #000000; font-weight: normal; }
.payment-pay .payment-button-container { display: flex; justify-content: space-between; align-items: center; }
.payment-pay .payment-button-container p { line-height: 24px; color: #000000; font-size: 1rem; padding: 0; }
.payment-pay .payment-button-container img { margin: 10px 0 0; }
.payment-pay .payment-button { cursor: pointer; line-height: 40px; padding: 0 20px; }
.payment-pay .payment-fields { margin-bottom: 25px; }
.payment-footer { display: flex; align-items: center; justify-content: center; padding: 20px 0; margin: 20px 0 30px; box-sizing: border-box; background: #f9f9f9; }
.payment-footer p { font-size: 1rem; color: #000; line-height: 24px; text-align: center; padding: 0; }
.group-area, .icon-group-area { border: 1px solid #aaa; margin: 5px 0; padding: 2px; }

/* ------------------------ */

/* ------ MEMBERSHIP ------ */

/* ------------------------ */

/* ----- SIGNUP PAGE ----- */

.signup-page { padding: 50px 0 0; display: flex; align-items: flex-start; gap: 20px; }
.signup-header { background: var(--mainColour); height: 140px; color: #fff; font-size: 2rem; font-weight: 600; }
.signup-header .container { height: 100%; display: flex; align-items: center; gap:10px;}
.signup-header .container::before{content: ""; height: 24px; width: 20px; background: url(../images/account-icon.svg) center no-repeat; flex-shrink: 0;}
.signup-tab-headers { display: flex; align-items: flex-start; justify-content: flex-start; gap: 10px; }
.signup-tab-header { display: flex; align-items: center; justify-content: center; height: 70px; padding: 0 30px; background: #fff; border: solid var(--border); 
    border-width: 1px 1px 0; position: relative; z-index: 0; text-align: center; cursor: pointer; font-weight: 600; color: var(--mainColour); border-radius: 5px 5px 0 0;}
.signup-tab-header:hover { color: var(--mainColour); }
.signup-tab-header.active { background: var(--mainColour);; color: #fff; z-index: 2; }
.signup-tab-content { border: 1px solid var(--border); background: #fff; margin-top: -1px; z-index: 1; position: relative; }
.signup-tab { display: none; padding: 20px; }
.signup-tab.active { display: block; position: relative; z-index: 1; }
.signup-tab-left { flex: 1; box-sizing: border-box; }
.signup-tab-right { width: 350px; flex: 0 0 auto; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; }
.signup-right-header { margin-top: 50px; font-size: 1rem; font-weight: 600; line-height: 26px; }
.signup-right-bullets { display: flex; flex-direction: column; gap: 10px; }
.signup-right-bullets>div { display: flex; align-items: center; gap: 10px; font-size: 18px; height: 40px; }
.signup-right-bullets>div:before { content: ''; width: 15px; height: 15px; background: url(../images/tick.svg) no-repeat center; }
.signup-tab-text { color: var(--mainColour); font-size: 18px; line-height: 26px; }
.signup-bottom { display: flex; flex-direction: column; gap: 20px; margin: 40px 0; font-size: 1rem; }
.signup-bottom a { color: inherit; text-decoration: underline; }
.signup-page .signup-form, .signup-page .login-form { padding: 10px 0; }
.signup-form-field { padding: 10px 0; }
.signup-form-label { font-size: 1rem; color: #3B3B3D; padding: 5px 0; }
.signup-form-input { width: 100%; }
.signup-page-button { margin: 10px 0; width: 100%; text-transform: uppercase; }
.forgot-button { color: #255E99; }
.login-error { text-align: center; font-size: 1rem; color: #990000; line-height: 40px; }
.login-form { margin-bottom: 20px; }

/* forgot password popup */
.forgot-password.login-form { flex-direction: column; align-items: center; }
.forgot-password.login-form span { display: block; font-size: 1.25rem; color: #1C1B1B; margin: 0 0 10px; text-align: center; }

/* ----- DASHBOARD ----- */
.dashboard-header { background: var(--background); border: 1px solid var(--border); border-width: 0 0 1px 0; color: var(--mainColour); }
.dashboard-header .container { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 5px; padding: 0 10px; font-size: 1rem; }
.dashboard-header span:nth-child(1) { font-size: 1.5rem; font-weight: 600; }
.dashboard-header span:nth-child(2) { margin-left: auto; display: flex; align-items: center; font-weight: 600; gap: 5px; }
.dashboard-header span:nth-child(2):before { content: ''; width: 15px; height: 17px; background: url(../images/account.svg) no-repeat center; background-size: contain; }
.dashboard-header a { color: var(--mainColour); text-decoration: underline; }
.dash-tabs { display: flex; align-items: stretch; min-height: 700px; }
.dash-tab-titles { background: var(--background); width: 40%; display: flex; flex-direction: column; border-right: 1px solid var(--border); }
.dash-tab-titles a { height: 80px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: flex-end; position: relative; background: #fff; color: #302F2F; transition: 0.2s all ease-in-out; }
.dash-tab-titles a span { width: 200px; display: flex; align-items: center; gap: 10px; color: #302F2F; text-transform: uppercase; font-weight: 600; transition: 0.2s all ease-in-out; }
.dash-tab-titles a span:before { content: ''; width: 20px; height: 20px; background: transparent no-repeat center; transition: 0.2s all ease-in-out; }
.dash-tab-titles a[data-tab='orders'] span:before { background-image: url(../images/dash-order.svg); }
.dash-tab-titles a[data-tab='orders'].active span:before { background-image: url(../images/dash-order-white.svg); }
.dash-tab-titles a[data-tab='details'] span:before { background-image: url(../images/dash-account.svg); }
.dash-tab-titles a[data-tab='details'].active span:before { background-image: url(../images/dash-account-white.svg); }
.dash-tab-titles a[data-tab='delivery-addresses'] span:before { background-image: url(../images/dash-address.svg); }
.dash-tab-titles a[data-tab='delivery-addresses'].active span:before { background-image: url(../images/dash-address-white.svg); }
.dash-tab-titles a[data-tab='password'] span:before { background-image: url(../images/dash-password.svg); }
.dash-tab-titles a[data-tab='password'].active span:before { background-image: url(../images/dash-password-white.svg); }
.dash-tab-titles a.active span { color: #fff; }
.dash-tab-titles a.active { background: #242424; }
.dash-tab-titles a:hover { text-decoration: underline; }
.dash-tab-content>div { display: none; }
.dash-tab-inner.active { display: block; padding: 20px 0 0 20px; }
.dash-order-row-wrap { border: 1px solid var(--border); border-bottom: 0; overflow: hidden; }
.dash-order-row-wrap:first-of-type { border-radius: 5px 5px 0 0; }
.dash-order-row-wrap .dash-order-headings { background: var(--background); padding: 0 10px; height: 50px; color: #25242B; font-weight: 600; font-size: 1rem; }
.dash-order-row-wrap:last-child { border-bottom: 1px solid var(--border); border-radius: 0 0 5px 5px; }
.dash-order-row { display: flex; align-items: center; justify-content: flex-start; height: 50px; }
.dash-order-row-wrap:nth-child(even) { background: var(--background); }
.dash-order-row>div { width: 20%; }
.dash-order-row>div.ref { flex: 1; width: auto; }
.dash-order-info { padding: 0 10px; font-size: 0.875rem; }
.dash-order-info>div span { color: #25242B; }
.dash-order-row .view { width: 60px; }
.dash-order-info .view-invoice { display: flex; align-items: center; }
.dash-order-info .view-invoice:before { content: ''; width: 20px; height: 20px; background: url(../images/order-blue.svg) no-repeat center; }
.dash-forms-wrap { display: flex; }
.dash-form { width: 50%; padding: 10px; box-sizing: border-box; background: var(--background); border: 1px solid var(--border); margin-bottom: 20px; }
.dash-form-field { padding: 10px 0; }
.dash-form-label { font-size: 1rem; color: #3B3B3D; padding: 5px 0; }
.dash-form-input { width: 100%; }
.dash-form-button-row { padding: 10px 0; }

/* logged in addresses */
.member-addresses { width: 100%; display: flex; flex-wrap: wrap; gap: 15px; }
:is(.billing-address, .delivery-address) { display: flex; box-sizing: border-box; gap: 10px; flex-wrap: wrap; }
:is(.billing-address, .delivery-address) input { height: 20px; margin: 0 5px; }
:is(.billing-address, .delivery-address) div { font-size: 0.875rem; line-height: 18px; color: #393A3D; }
:is(.billing-address, .delivery-address) div span { font-weight: bold; font-size: 1rem; color: #1871B4; }
.address-button-row { display: flex; width: 100%; }
.pop-overlay { position: absolute; z-index: 10000; top: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.2); opacity: 0; display: flex; justify-content: center; }
.pop-overlay>div { background: #fff; position: absolute; background: #fff; padding: 20px; margin: 10px; max-width: 90%; max-height: 90%; width: fit-content; height: fit-content; flex: 0 0 auto; font-size: 1rem; line-height: 26px; }
.pop-overlay>div>a { position: absolute; width: 30px; height: 30px; background: url(../images/close.svg) no-repeat center; z-index: 5; top: 5px; right: 5px; }
.pop-overlay.pop-image>div { max-width: 100vw; max-height: 100vh; }
.pop-overlay.pop-image>div img { max-width: 100%; max-height: 100%; }
.pop-buttons { display: flex; margin: 10px 0; align-items: center; justify-content: space-between; }

/* new address popup */
.add-address-popup h2 { color: #1871B4;}
.edit-address-box :is(input, select) { width: 100%; height: 35px; padding: 0 10px; box-sizing: border-box; background: #FBF9F5; border: 1px solid #ECEBEA; margin: 5px 0; color: #393A3D; }
.address-form { display: flex; flex-direction: column; gap: 10px; width: 600px; }
.address-form>div { display: flex; flex-direction: column; gap: 10px; }
.address-form>div:nth-child(2), .address-form>div:last-child { align-items: center; flex-direction: row; gap: 5px; }
.address-form>div>input { width: 100%; }
.address-form>div>input::placeholder { text-transform: capitalize; }
.address-form>div>input:focus, .address-form>div>select:focus, .address-form>div>textarea:focus { border-color: #071B3A; }
.address-form>div>textarea { height: 100px; width: 100%; }
.address-form button { border: 0; background: #5EB229; display: flex; align-items: center; justify-content: center; color: #fff; height: 40px; padding: 0 20px; font-weight: bold; text-transform: uppercase; cursor: pointer; }
.address-form button:focus { outline: 1px solid #071B3A; }
.address-form button:nth-child(1) { margin-right: auto; background: #65707D; }
.member-address { border: 1px solid var(--border); background: #fff; font-size: 0.875rem; line-height: 18px; padding: 20px 5px 5px; width: calc((100% - 20px) / 2); height: 240px; display: flex; align-items: flex-start; position: relative; }
.dash-tab-inner .member-address { width: calc((100% - 40px) / 4); }
.member-address>div:first-child { content: ''; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--mainColour); padding: 3px; margin: 0 10px; }
.dash-tab-inner .member-address>div:first-child { display: none; }
.checkout-card .member-address.chosen>div:first-child:after { content: ''; display: block; width: 100%; height: 100%; background: var(--mainColour); border-radius: 50%; }
.checkout-card .member-address:not(.chosen) { cursor: pointer; }
.billing-check { display: flex; align-items: center; gap: 10px; }
.billing-check input:focus { outline: 1px solid #000; }
.member-address .address-buttons { position: absolute; bottom: 10px; right: 10px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.add-address { width: 100%; }
.edit-address:not(.add-address) { width: 30px; height: 30px; background-image: url(../images/icon-edit.svg); background-repeat: no-repeat; background-position: center; display: block; }
.delete-address { width: 30px; height: 30px; background-image: url(../images/icon-delete.svg); background-repeat: no-repeat; background-position: center; display: block; }
.use-address { width: 30px; height: 30px; background-image: url(../images/icon-use.svg); background-repeat: no-repeat; background-position: center; display: block; }
.checkout-card .member-address:not(.chosen) { cursor: pointer; }

/* ---- Content Layout Module ---- */
.content-layout-module { }
.content-layout-block { display: flex; flex-direction: row; align-items: center; }
.content-layout-block .layout-image { width: 50%; flex: 0 0 auto; display: flex; align-items: center; }
.content-layout-block .layout-image iframe { width: 100%; height: 580px; }
.content-layout-block .layout-texts { padding: 0 30px; width: 50%; display: flex; flex-direction: column; width: 580px; }
.content-layout-block .layout-texts>.layout-description { width: 100%; }
.content-layout-block .layout-inner { display: flex; flex-direction: column; gap: 15px; }
.content-layout-block .layout-texts { position: relative; }
.content-layout-block .layout-texts h1 { font-size: 2rem; line-height: 36px; padding: 0; margin-bottom: 15px; }
.content-layout-block .layout-texts div:first-child { width: 100%; }
.content-layout-block .layout-texts p { color: var(--mainColour); font-size: 1rem; line-height: 28px; padding: 0; }

/*Layout Side*/
.content-layout-module.layout-left .content-layout-block { flex-direction: row-reverse; }
.content-layout-module.layout-left .content-layout-block .layout-texts { align-items: flex-end; }
.content-layout-module.layout-right .content-layout-block .layout-image { justify-content: flex-end; }

/*Layout Buttons*/
.content-layout-block .layout-buttons { width: 100%; display: flex; align-items: flex-start; gap: 10px; }
.content-layout-block .layout-buttons a { margin: 0; }

@media (min-width:768px) {
    .footer-menu-wrap{display: block !important;}
    .footer-col-title{pointer-events: none !important;}
} 


/*---------LARGE DESKTOP < 1199px---------*/
@media (min-width:1200px) {
    .mobile:not(.desktop-large), .tablet:not(.desktop-large), .desktop:not(.desktop-large) { display: none !important; }
    .content_wrap { min-height: 600px; }
}

/*---------DESKTOP < 1199px---------*/
@media (min-width:992px) and (max-width:1199px) {
    .mobile:not(.desktop), .tablet:not(.desktop), .desktop-large:not(.desktop) { display: none !important; }
    .block-layout-module .layout-inner { width: 100%; }
    .block-layout-module .layout-image { align-items: flex-start; }
    .swipe { height: 575px; }

    /* ----- MODULES ----- */

    /* -- Product Module -- */
    .pm-gal.list .product-block { width: 226px; }
    .pm-gal.list .product-image { height: 170px; }
    .pm-gal.carousel .product-block { width: 100%; }
    .pm-gal.carousel .product-image { height: 170px; }

    /* -- Category Module -- */
    .cm-gal.list .category-block { width: 226px; }
    .cm-gal.carousel .category-block { width: 100%; }

    /* ----- SEARCH PAGE ----- */
    .product-list { gap: 12px; }

    /* -- Product Block -- */

    /* ----- DETAILS PAGE ---- */

    /* associations */
    .associations-gal .product-block { }

    /* ----- CHECKOUT ---- */
    .checkout-left { padding-right: 10px; padding-left: calc((100vw - 950px) / 2); }
    .checkout-right { padding-left: 10px; padding-right: calc((100vw - 950px) / 2); }
    .cart-product-quantity { width: 100px; height: 35px; }
    .dash-tab-inner .member-address { width: calc((100% - 30px) / 3); }
}

/* -------------------------------------------------------------------------------------------------------- DESKTOP END  */

/* ------------------------------------------------- */
/* --------------TABLET & MOBILE ------------------- */
/* ------------------------------------------------- */

/*---------Tablet & Mobile---------*/
@media (max-width:991px) {
    .footer-container { flex-wrap: wrap; padding: 30px 10px 0; }
    .top-wrap { position: relative; z-index: 1001; }

    /* ----- MODULES ----- */

    /* -- Fullscreen Gallery -- */
    .flex-direction-nav li { left: 0; }
    .flex-direction-nav li.flex-nav-next { right: 0; }

    /* ----- SITE HEADER ----- */
    .top-wrap>div, .header-wrap>div { width: 100%; }

    /* -- HEADER WRAP -- */
    header .logo { max-width: 270px; }
    .header-wrap { height: 70px; border-bottom: 1px solid var(--border); }
    .my-account { width: auto; padding-left: 30px; background: url(../images/account-white.svg) no-repeat left center; align-items: center; font-size: 0.75rem; }
    .menu-toggle { display: block; width: 26px; height: 20px; position: relative; z-index: 1002; }
    .menu-toggle>div { width: 100%; height: 3px; border-radius: 5px; background: var(--mainColour); position: absolute; transition: 0.2s ease-in-out all; }
    .menu-toggle>div.top { top: 0; }
    .menu-toggle>div.mid { top: calc(50% - 1.5px); opacity: 1; }
    .menu-toggle>div.btm { bottom: 0; }
    .menu-toggle.active>div.top { transform: rotate(-45deg); top: 40%; }
    .menu-toggle.active>div.mid { opacity: 0; }
    .menu-toggle.active>div.btm { transform: rotate(45deg); bottom: 45%; }

    /* ----- MOBILE MENU ----- */
    .mobile-menu-overlay { width: 100vw; height: 100%; background: #071b3a6c; position: absolute; top: 0; left: 0; z-index: -1; opacity: 0; pointer-events: none; transition: 0.2s ease-in-out all; }
    .mobile-menu-overlay.active { display: block; z-index: 1000; opacity: 1; pointer-events: initial; }
    .mobile-menu-wrap { width: 100%; background: #efefef; padding: 10px; box-sizing: border-box; position: absolute; top: 0; right: -50%; opacity: 0; transition: 0.2s ease-in-out all; }
    .mobile-menu-overlay.active .mobile-menu-wrap { right: 0; opacity: 1; }
    header .menu-wrap.active { display: flex !important; position: absolute; right: 0; top: 40px; width: 60%; background: #E8F5E8; padding: 0px 0; height: auto; z-index: 1001; }
    header .menu-wrap.active .container { width: 100%; }
    header .delivery-link { display: flex; align-items: center; height: 80px; gap: 5px; border-bottom: 1px solid var(--border); color: var(--mainColour); padding: 0 10px; }
    header .delivery-link a { color: inherit; }
    header .delivery-link:before { content: ''; width: 30px; height: 30px; background: url(../images/delivery-black.svg) no-repeat left center; }
    header .menu-wrap.active .container .main-menu-wrap { padding: 0; flex-direction: column; width: 100%; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu { width: 100%; list-style: none; padding: 0; margin: 0; flex-direction: column; align-items: flex-start; gap: 0; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 0 10px; width: 100%; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>a { color: #071b3a; font-size: 0.875rem; line-height: 18px; height: 40px; display: flex; align-items: center; justify-content: space-between; font-weight: 600; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li.has-sub-items>a span { content: ""; width: 30px; height: 30px; background: url(../images/chevron-down-black.svg) no-repeat center; transition: 0.2s ease-in-out all; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li.has-sub-items.active>a span { transform: scale(-1, -1); }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul { display: none; width: 100%; list-style: none; padding: 10px; margin: 0; box-sizing: border-box; position: relative; top: initial; left: initial; right: initial; background: #fff; border: 0; z-index: 1; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li.active>ul { display: flex; flex-direction: column; opacity: 1; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul>li { padding: 0; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul>li>a { font-size: 0.875rem; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul>li>ul { display: none; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul>li.active>ul { display: flex; flex-direction: column; opacity: 1; width: 100%; list-style: none; padding: 10px; margin: 0; box-sizing: border-box; position: relative; top: initial; left: initial; right: initial; background: #fff; border: 0; z-index: 1; }
    header .menu-wrap.active .container .main-menu-wrap .main-menu>li>ul>li>ul { display: block; position: relative; left: 0; z-index: 1; top: 0; opacity: 1; border: 0; }
    
    .page-menu { list-style: none; padding: 10px; margin: 0; display: flex; flex-direction: column; width: 100%; }
    .page-menu>li { padding: 0; margin: 0; font-size: 0.875rem; }
    .page-menu>li>a { color: var(--mainColour); text-decoration: none; height: 30px; display: flex; align-items: center; }
    .page-menu>li ul { display: none; }
    .close-menu {  display: flex; align-items: center; font-size: 0.75rem; text-decoration: underline; color: var(--textColour); }
    .main-menu-wrap .my-account {  padding-left: 30px; background: url(../images/account.svg) no-repeat left center; align-items: center; font-size: 0.875rem; color: var(--textColour); }

    .menu-footer{display: flex; justify-content: space-between; align-items: center; width: 100%; height: 60px;}

    .shopping-cart { width: 30px; background: none; border: 0; margin: 0 20px; }
    .small-cart { padding: 0; font-size: 0; }
    .small-cart:after { display: none; }
    .small-cart:before{background-image: url(../images/cart-green.svg);}
    .small-cart>div { left: auto; right: -8px; }
    
    .search-title h1 { padding: 0; }
    .search-results-wrap { flex-direction: column; gap: 0; }
    .search-filters { width: 100%; }
    .search-order span { display: none; }
    .filter-button { color: var(--mainColour); font-weight: bold; text-transform: uppercase; font-weight: 600; display: flex; align-items: center; justify-content: flex-start; height: 50px; }
    .filter-button:before { content: ''; width: 30px; height: 30px; background: transparent no-repeat center; }
    .search-filters.active .filter-button:before { background-image: url(../images/cancel.svg); }
    .search-filters:not(.active) .filter-button:after { content: ''; transition: 0.3s all ease-in-out; width: 20px; height: 20px; background: url(../images/chevron-down-black.svg) no-repeat center; margin-left: auto; margin-right: 10px; }
    .search-filters:not(.active) .filters, .search-filters:not(.active) .search-filters-buttons { display: none; }
    .product-description-tabs a:after { height: 4px; width: 30px; }
    .product-description-tabs a:after { width: 30px; height: 4px; }
    .product-description-tabs a { width: 100%; position: relative; }
    .product-description-tabs a::before { content: ""; height: 12px; width: 12px; border: solid var(--mainColour); border-width: 0 2px 2px 0; transform: rotate(45deg); position: absolute; right: 10px; top: 10px; transition: ease-in-out all .3s; }
    .product-description-tabs a.active::before { transform: rotate(225deg); top: 15px; }
    .back-to-shopping-wrap { padding: 0; }
    .checkout-logo { padding: 0; }
    .dash-tab-content { width: 100% !important; }
    .dash-tab-inner.active { padding: 0; border-bottom: 1px solid var(--border); }
    .tab-link { padding: 0 10px; border-bottom: 1px solid var(--border); display: flex; align-items: center; height: 60px; font-weight: 600; text-transform: uppercase; font-size: 0.938rem; color: var(--mainColour); }
    .tab-link:after { content: ''; width: 10px; height: 10px; background: url(../images/chevron-down-black.svg) no-repeat center; background-size: contain; margin-left: auto; }
    .tab-link.active { border-bottom: 0; }
    .tab-link.active:after { transform: rotate(180deg); }
    .dash-order-row-wrap { border-radius: 0 !important; }
    .dash-form { width: 100%; border-width: 0; background: none; padding-top: 0; }
    .delivery-address { padding: 0 10px 10px; }

    /* ----- MODULES ----- */

    /* -- Fullscreen Gallery -- */
    div.fullscreen-fade .arrows { display: none !important; }

    /* ----- MODULES ----- */

    /* -- Product Module -- */
    .pm-slide { width: calc(100% / 3); }
    .pm-gal-wrap.carousel .pm-gal-nav { display: none; }
    .pm-gal.carousel .product-block { width: 100%; }
    .pm-gal.carousel .product-image { height: 180px; }

    /* -- Category Module -- */
    .cm-slide { width: calc(100% / 3); }
    .cm-gal.list .category-block { width: 244px; }
    .cm-gal-wrap.carousel .cm-gal-nav { display: none; }
    .cm-gal.carousel .category-block { width: 100%; }

    /* ----- CHECKOUT ---- */
    .checkout-page { flex-wrap: wrap; }
    .checkout-top { width: 100%; padding: 20px 20px 20px; order: 1; }
    .checkout-left { width: 100%; padding: 20px 20px 20px; order: 3; }
    .checkout-right { width: 100%; padding: 20px 20px 20px; order: 2 }
    .signup-page { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding: 20px 10px; flex-direction: column; }
    .signup-tab-left { width: 100%; }
    .signup-bottom { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; margin-top: 20px; margin-bottom: 20px; padding: 20px 10px; }
    .signup-header .container { width: 100%; padding: 0 10px; }
    .product-block .product-image a.add-to-favourites { display: flex; }
}

/* -------------------------------------------------------------------------------------------------------- TABLET & MOBILE END  */

/* --------------------------------------- */

/* --------------TABLET------------------- */

/* --------------------------------------- */
@media (min-width:768px) and (max-width:991px) {
    .desktop-large:not(.tablet), .desktop:not(.tablet), .mobile:not(.tablet), .tablet-hidden { display: none !important; }

    /*Footer*/
    .footer-wrap > div{flex-wrap: wrap;}
    .footer-outro{flex: initial; width: 100%; align-items: center; display: flex; flex-direction: column;}
    .footer-col:last-child .footer-col-title{align-items: center;}

    /* ----- Search Page ----- */
    .search-header { padding: 20px; }
    .product-list { gap: 10px; }
    .product-list .product-block { width: calc((100% - 30px) / 4) !important; }
    .product-block .product-price .main-price { font-size: 1rem; }
    .product-block .product-price .was-price:not(.hidden)+.main-price:before { content: ''; }
    .product-block .product-buttons a { padding: 0; }
    .category-block { width: calc((100% - 40px) / 3); }
    .category-block .catTitle { height: 70px; }
    .category-block .catTitle a { font-size: 18px; }

    /* ---------------------- */
    /* ----- MEMBERSHIP ----- */
    /* ---------------------- */

    /* ----- Dashboard ------ */
    .product-title h1 { font-size: 1.75rem; line-height: 38px; }
    .footer-container .footer-col:last-child { width: 100%; flex: 0 0 auto; align-items: center; text-align: center; margin: 20px 0; }
    .footer-container .footer-col:last-child .footer-col-title { align-items: center; }
    .signup-header { height: 110px; font-size: 1.875rem; }
    .footer-container .footer-col:last-child { margin: 40px 0; }

    /*Text Module*/
    .text_module_before { left: calc(-768px / 2); }

    /*Layout Block*/
    .block-layout-module .layout-inner { width: 100%; padding: 0 20px 30px; }
    .block-layout-module .layout-block { align-items: flex-start; }
    .block-layout-module .layout-buttons>a.layout-link { background: #018185; }
}

/* -------------------------------------------------------------------------------------------------------- TABLET END  */

/* --------------------------------------- */

/* --------------MOBILE------------------- */

/* --------------------------------------- */
@media (max-width:767px) {
    .tablet:not(.mobile), .desktop:not(.mobile), .desktop-large:not(.mobile), .mobile-hidden { display: none !important; }

    /* -------------------------------------------------------------------- */

    /* ----- TYPOGRAPHY ----- */
    h1 { font-size: 1.875rem;  }
    h2 { font-size: 1.625rem; }
    h3 { font-size: 1.5rem;  }
    h4 { font-size: 1.375rem;  }
    h5 { font-size: 1.25rem;  }
    h6 { font-size: 1.125rem;  }
    p { font-size: 0.875rem;  padding: 5px 0 15px 0; }
    img { max-width: 100%; vertical-align: middle; }

    .button-primary, .button-secondary, .button-tertiary, .button-white{padding: 0 20px; font-size: 0.875rem; height:50px;}
    
    /*Header*/
    header .logo { max-width: 150px; }
    header .menu-wrap.active { width: 100%; }
    .header-wrap { margin-bottom: 50px; }
    .site-search { width: 100%; position: absolute; top: 100%; left: 0; border-width: 1px 0; }
    header .favourites { flex-direction: row; color: #fff; margin-left: auto; }
    header .my-account { font-size: 0; }

        /*Footer*/
    .footer-wrap{padding: 50px 0;}
    .footer-wrap > div{flex-direction: column; max-width: 600px; gap:0;}
    .footer-col{width: 100%;}
    .footer-col-title, .footer-menu{width: 100%;}
    .footer-intro{margin-bottom: 30px; display: flex; flex-direction: column;}
    .footer-contact{gap:10px;}

    .footer-menu-container > h4{line-height: 50px; position: relative; transition: ease-in-out all .3s;
        margin: 0;}
    .footer-wrap > div > div:nth-child(3) > h4{border-top: 0;}
    .footer-menu-container.active h4{border-bottom-color: transparent;}
    .footer-menu-container.active > h4::after{transform: rotate(225deg);}
    .footer-menu {gap:15px; margin: 10px 0;}

    /*Byline*/
    .byline-wrap > div > a{font-size: 0.75rem;}

    /* ----- MODULES ----- */

    /* -- Full Screen Gallery -- */
    .frame.main { background: none; border: 0; border-radius: 0; box-shadow: none; }
    .fsg, .fullscreen-fade { min-width: 100%; height: auto; max-width: 100vw !important; }
    div.fullscreen-fade div.slide { background-repeat: no-repeat; background-size: cover; }
    div.fullscreen-fade div.slide .banner { padding: 20px 10px; width: 100%; box-sizing: border-box; }
    div.fullscreen-wrap, div.fullscreen-wrap div { max-width: initial !important; }
    .label { float: none; width: 100%; }
    .value { float: none; width: 100%; }

    /* ----- MODULES ----- */
    .category-module .container, .product-module .container { width: 100%; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
    .cm-title span, .pm-title span { font-size: 1.75rem; line-height: 38px; font-weight: 600; }
    .cm-subtitle span, .pm-subtitle span { font-size: 1rem; line-height: 26px; font-weight: 400; }

    /* ----- Search Page ----- */


    /*Fullscreen Gallery*/
    .full-width-fix .flex-caption.halign-center { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .full-width-fix .flex-caption.halign-left { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .full-width-fix .flex-caption.halign-right { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .flex-control-paging { left: 0; width: 100%; padding: 0 10px; }
    .flex-caption>div.background { padding: 20px; }
    .flex-direction-nav li { width: 21px; height: 32px; }
    .flex-direction-nav li a:after { width: 8px; height: 14px; background-size: contain; }

    /*Contact Form*/
    .contact-form { padding: 20px 10px; }
    .contact-form .cf_header { font-size: 1.5rem; }
    .contact-form .cf-text { font-size: 0.875rem; margin-bottom: 10px; }
    .contact-form label { font-size: 0.875rem; }
    .contact-form .cf-buttons { flex-direction: column; align-items: flex-start; gap: 10px; }
    .contact-form .cf-buttons a { margin-left: auto; }

    /*Text Module*/
    .text_module_before { left: calc(-320px / 2); }

    /*Layout Module*/
    .block-layout-module { gap: 0; }
    .block-layout-module .layout-block { flex-direction: column; padding: 0; gap: 24px; }
    .block-layout-module :is(.layout-image, .layout-content) { width: 100%; }
    .block-layout-module .layout-image { justify-content: center !important; }
    .block-layout-module .layout-inner { width: 100%; padding: 0 10px 24px; gap: 20px; }
    .block-layout-module .layout-heading h1 { font-size: 1.3753rem; line-height: 22px; padding: 0; }
    .block-layout-module .layout-content :is(p, li) { font-size: 0.875rem; line-height: 26px; padding: 0; margin: 0; }
    .search-header { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; flex-direction: column; align-items: flex-start; padding: 10px 5px; height: auto; gap: 10px; }
    .search-order, .sort-search { width: 100%; }
    .search-filters { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; flex-direction: column; align-items: flex-start; border-width: 1px 0; }
    .product-list { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding: 0 5px; }
    .product-list .product-block { width: calc((100% - 20px) / 2) !important; }
    .pager-link:not(.pager-prev-button):not(.pager-next-button):not(.pager-current-page) { display: none; }
    .pager-prev-button, .pager-next-button { width: 91px; font-size: 18px; }
    .category-block { width: calc((100% - 20px) / 2); }
    .product-block .product-price { flex-direction: column; align-items: center; justify-content: flex-start; }
    .details-header { flex-wrap: wrap; }
    .details-header:not(:empty) { padding: 10px 0; }
    .details-page-container { flex-direction: column; }
    .details-page { padding: 0 5px; }
    .details-page-left, .details-page-right, .product-description-wrap { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding: 0 5px; }
    .product-title h1 { font-size: 1.75rem; line-height: 36px; }
    .product-sale-title { font-size: 1.5rem; }
    .product-price .was-price { font-size: 0.75rem; }
    .product-price .main-price { font-size: 1.5rem; }
    .product-meta a { font-size: 0.75rem; }
    .add-to-cart-row { flex-direction: column; align-items: flex-start; }
    .add-to-cart { flex: 0 0 auto; width: 100%; }
    .product-description-wrap { padding: 10px; }
    .ag-gal-nav { display: none; }
    .dash-order-row>div { width: 30%; }
    .dash-order-row .view { width: 20px; }
    .dashboard-header .container { flex-wrap: wrap; justify-content: flex-start; padding: 10px; width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
    .dashboard-header .container>span:first-child { width: 100%; }
    .dashboard-header .container>span:nth-child(2) { margin-left: 0; }
    .cart-product { flex-direction: column; gap: 5px; }
    .cart-product-left { width: 100%; height: auto; }
    .cart-product-quantity-wrap { display: flex; align-items: center; gap: 10px; }
    .free-delivery-wrap { line-height: 22px; }
    .checkout-card-inner-title { margin-bottom: 5px; }
    .checkout-card-input.checkbox span { font-size: 0.75rem; }
    .payment-header>div>div { width: 100% !important; }
    .payment-content { flex-direction: column; gap: 10px; }
    .payment-content>div { width: 100% !important; }

    /** Content Layout **/
    .content-layout-block { flex-direction: column !important; }
    .content-layout-block .layout-image { width: 100%; }
    .content-layout-block .layout-buttons { justify-content: center; flex-direction: column; align-items: center; }
    .content-layout-block .layout-buttons a { width: 100%; }
    .content-layout-block .layout-inner { text-align: center; align-items: center; gap: 30px; }
    .content-layout-block .layout-texts { width: 100%; padding: 20px 10px; }
    .content-layout-block .layout-texts h1 { margin: 0; }
    .signup-page { padding: 20px 5px; }
    .signup-header { height: 90px; font-size: 1.25rem; }
    .signup-bottom { padding: 0 5px; }
    .byline-menu>li { font-size: 0.875rem; }
    .byline-container>a { font-size: 0.75rem; }
    .member-address { width: 100%; }
    .pop-buttons { flex-direction: column-reverse; gap: 20px; align-items: stretch; }
}

/* ------- MOBILE END ------- */
