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

:root { --mainColour: #01205D; --secondaryColour: #FCC81D; --tertiaryColour: #236d9f; --background: #EFEFEF; --border: #E5E1E1; --topBarColour: #0E2A60; --headerColour:#fff; --menuBarColour: #F8F8F8; --footerColour: #EFEFEF; --productAspect: 1/1; --categoryAspect: 1/1; --headingColour:#414141; --mainFont: 'Open Sans', sans-serif; --secondaryFont: 'Lato', sans-serif; --textColour:#3E3E3E;}

html { scroll-behavior: smooth; overflow-x: hidden; overflow-y: scroll; }
body { font-family: var(--mainFont); color: var(--textColour); font-size: 16px; overflow: hidden; }
body.site-body{background: var(--background);}
:is(.site-header, .content-wrap, .site-footer) * { box-sizing: border-box; }
.content-div { min-height: 600px; }
.ui-autocomplete { z-index: 10001 !important; }

/* APPRISE EDITS */
div.apprise { font-family: var(--mainFont); border-color: #D8E1EB; }
div.apprise .apprise-content{line-height: 24px;}
div.apprise .apprise-buttons button { background: var(--mainColour); border: 1px solid var(--mainColour); color: #fff; }
div.apprise .apprise-buttons button:hover { background: #fff; color: var(--mainColour); }

/* 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: var(--mainFont); }
textarea { font-family: var(--mainFont); }
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 #EFEFEF; padding: 0 10px; box-sizing: border-box; font-size: 14px; color: var(--textColour); transition: 0.2s ease-in-out all;}
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: 16px; color: #3B3B3D; padding: 5px 0; }

/* ----- TYPOGRAPHY ----- */
h1, h2, h3, h4, h5, h6 { display: block; color: var(--headingColour); margin: 0; padding: 0 0 10px 0; font-weight: bold; font-family: var(--secondaryFont);}
h1 { font-size: 50px; line-height: 58px; text-transform:uppercase; }
h2 { font-size: 43px; line-height: 48px; font-family: var(--mainFont);}
h3 { font-size: 38px; line-height: 46px; text-transform: uppercase;}
h4 { font-size: 31px; line-height: 38px; font-family: var(--mainFont);}
h5 { font-size: 17px; line-height: 28px; }
h6 { font-size: 16x; line-height: 24px; }
p { padding: 5px 0 20px 0; font-size: 16px; color: var(--textColour); line-height: 26px; }
a { text-decoration: none; color: #113273; }
a:focus-visible { background-color: #f9dc4a; color: #000; outline: 1px solid #000; }
ul { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 16px; color: var(--textColour); list-style-type: disc; line-height: 24px; }
ul li { padding: 0 0 15px 0; line-height: 20px; }
ol { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 16px; color: var(--textColour); list-style-type: decimal; line-height: 24px; }
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 60px; margin: 0; line-height: 1; height: 60px; 
    background: #F1B514; border: 1px solid #F1B514; text-align: center; color: #080808; text-decoration: none; font-family: var(--secondaryFont);
    transition: 0.2s ease-in all; font-size: 16px; font-weight: bold;  text-transform: uppercase; }
.button-secondary { display: inline-flex; align-items: center; justify-content: center; padding: 0px 60px; margin: 0; line-height: 1; height: 60px; 
    background: #fff; border: 1px solid #EBEBEB; text-align: center; color: #080808; text-decoration: none; font-family: var(--secondaryFont);
    transition: 0.2s ease-in all; font-size: 16px; font-weight: bold;  text-transform: uppercase; }

/* Animations */
.empty-loader:empty { display: flex; align-items: center; justify-content: center; padding: 5px; }
.empty-loader: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); }
}

/* ------------------------------------  */
/* ------------ 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: 60px; background: var(--topBarColour); }
.top-wrap>div { display: flex; align-items: center; gap: 10px; height: 100%; padding: 0 10px; justify-content: space-between; }
.top-wrap>div>div {display: flex; align-items: center; height: 100%;}
.top-wrap a { color: #fff; }
.top-left{font-family: var(--secondaryFont);}
.top-left a{padding: 0 15px; border-left: 1px solid #204283; height: 100%; display: flex; align-items: center;}
.top-left a:last-child{border-right: 1px solid #204283;}
.top-phone, .top-email { display: flex; align-items: center; gap: 10px; }
.top-phone:before { content: ''; width: 18px; height: 18px; background: url(../images/phone.svg) no-repeat center; flex-shrink:0; }
.top-email:before { content: ''; width: 26px; height: 26px; background: url(../images/email.svg) no-repeat center; flex-shrink: 0;}

.top-right { display: flex; justify-content: flex-end; align-items: center; gap:25px;}
.top-menu { height: 100%; }
.top-menu ul { display: flex; height: 100%; gap:15px; align-items: center; list-style: none; padding: 0; margin: 0; }
.top-menu ul li { list-style: none; padding: 0; height: 100%; margin: 0; display: flex; align-items: center;}
.top-menu ul li a { color: #FFFFFF; text-transform: uppercase; font-weight: 600; text-decoration: none; font-size: 13px;}
.top-social{height: 100%; display: flex; align-items: center;}
.top-social a{height: 100%; padding: 0 15px; border-left: 1px solid #204283; display: flex; 
    align-items: center; justify-content: center;}
.top-social a:first-child{border-right: 1px solid #204283;}
.top-social a::before{content: ""; height: 26px; width: 26px; background-position: center; background-repeat: no-repeat; background-size: contain;}
.top-social a.fb::before{background-image: url(../images/facebook.svg);}
.top-social a.ig::before{background-image: url(../images/instagram.svg);}
.top-social a.yt::before{background-image: url(../images/youtube.svg);}
.top-social a.tt::before{background-image: url(../images/tiktok.svg);}


/*-- HEADER WRAP --*/
.header-wrap { background: url(../images/watermark.svg) calc(100% - 100px) -40px no-repeat var(--headerColour); background-size: 106px; height: 240px; overflow: hidden;}
.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-wrap .logo { padding: 10px 0; height: 100%; display: flex; align-items: center; flex: 0 0 auto; }
.header-wrap .logo img { max-height: 100%; max-width: 100%; width: auto; height: auto; }

.header-right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.site-search { display: flex; height: 65px; background: var(--background); width: 540px;}
.site-search input { flex: 1; height: 100%; padding: 0 15px; box-sizing: border-box; background: none; border: 1px solid var(--border); font-family: inherit; }
.site-search input::placeholder {color: inherit; }
.site-search .search-button {  height: 100%; color: #222222; text-transform:uppercase; font-weight:bold; display: flex; align-items: center; gap:10px;
    background: var(--secondaryColour); padding: 0 35px;}
.site-search .search-button::before{content:""; height: 22px; width: 22px; background: url(../images/icon-search.svg) no-repeat center;}
.header-awards{display: flex; gap:15px; align-items: center;}
.header-awards img{max-height: 70px;}

/*-- MENU WRAP --*/
.menu-wrap { background: var(--menuBarColour); position: relative; height: 70px; border-bottom: 2px solid var(--secondaryColour); }
.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; 
    font-family: var(--secondaryFont);}
.main-menu ul { list-style: none; padding: 0; margin: 0; display: flex; align-items: flex-start; flex-direction: column; gap:5px;}
.main-menu>li { height: 100%; padding: 0; position: relative; display: flex; align-items: center; flex-direction: column; justify-content: center; }
.main-menu li a{text-transform: uppercase; font-size: 14px; font-weight: bold; color: var(--mainColour); text-decoration: none;} 
.main-menu>li>a { display: flex; align-items: center; gap:5px; justify-content: center; height: 100%; text-align: center; font-size: 15px; width: 100%;  }
.main-menu>li.has-sub-items>a::after{content: ""; height: 6px; width: 6px; border: solid var(--mainColour); border-width: 0 2px 2px 0; transform: rotate(45deg);}
.main-menu>li:first-child { padding-left: 0; }
.main-menu>li:last-child { padding-right: 0; }
.main-menu>li>ul { width: 380px; padding: 0 15px; box-sizing: border-box; background: #F8F9F9; border: 1px solid var(--border); border-width: 0 1px 1px; position: absolute; left: 0; z-index: -1; top: 100%; opacity: 0; visibility: hidden; transition: 0.2s ease-in-out all; border-top: 2px solid var(--secondaryColour);}
.main-menu>li ul.active { z-index: 10; opacity: 1; visibility: visible;  }
.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; }
.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: #F8F9F9; visibility:hidden; }
.main-menu>li>ul>li>ul.active { z-index: 10; opacity: 1; visibility:visible; }
.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; }

/*-- FOOTER WRAP --*/
.footer-wrap { background: var(--footerColour); border-top: 2px solid var(--secondaryColour); padding: 50px 0; font-family: var(--mainFont);
    color: var(--mainColour); font-size: 15px;}
.footer-container { display: flex; align-items: flex-start; gap:20px;}
.footer-col { flex: 1; }
.footer-col-title { font-size: 15px; text-transform: uppercase; display: flex; flex-direction: column; padding: 0; margin: 0 0 20px; 
    line-height: 30px; gap: 10px; color: var(--mainColour); }

.footer-col > .opening-times{line-height: 27px; font-size: 15px; display: flex; flex-direction: column; gap:5px; margin-top: 30px;}
.footer-col > .opening-times > span{text-transform: uppercase; font-weight: bold;}

.footer-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 15px; }
.footer-menu>li { padding: 0; margin: 0; }
.footer-menu>li>a {font-size: 15px;}

.footer-contact {display: flex; flex-direction: column; gap: 20px; }
.footer-contact .location{line-height: 26px; margin-top: 30px;}

/*-- BYLINE --*/
.byline-wrap { background: var(--topBarColour); padding: 25px 0; font-family: var(--secondaryFont);}
.byline-container { display: flex; justify-content: space-between; align-items: center;  gap: 10px; }
.byline-container>a { color: #fff; text-decoration: none; }
.footer-social{display: flex; gap:50px; align-items: center;}
.footer-social > a{height: 26px; width: 26px;}
.footer-social > a.fb{background: url(../images/facebook.svg) center no-repeat;}
.footer-social > a.ig{background: url(../images/instagram.svg) center no-repeat;}
.footer-social > a.yt{background: url(../images/youtube.svg) center no-repeat;}
.footer-social > a.tt{background: url(../images/tiktok.svg) center no-repeat;}

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

.youtube-iframe { width: 100%; aspect-ratio: 16/9; }

/* ----- TEXT MODULE ----- */
.text-wrap { }
.text-wrap.full-width-fix { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.text-wrap:not(.bg-on) { background: none !important; }
.text-container { padding: 0 10px; box-sizing: border-box; }

/* -- 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: 24px; 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; }

/* ----- CONTACT FORM ----- */
form.contact-form { border: 1px solid var(--border); width: 100%; margin: 20px auto 20px auto; 
    padding: 20px ; background-color: #fff; box-sizing: border-box; }
.cf-title { display: flex; align-items: center; justify-content: flex-start;  }
.cf-title span { font-size: 36px; line-height: 40px; color: #1D1D1D; font-weight: bold; padding-bottom: 10px; position: relative; }
.cf-line { clear: both; line-height: 30px; color: #393838; font-size: 14px; line-height: 26px; margin-bottom: 10px;}
.cf-line p { color: var(--textColour); font-size: 16px; line-height: 20px; margin: 0 0 5px; padding: 0 0 10px 0; }
.cf-label { float: left; width: 100%; font-size: 15px; line-height: 36px; color: #1D1D1D; }
.cf-label .cf-field { width: 100%; box-sizing: border-box; }
:is(.cf-checkbox, .cf-radio) .cf-label { float: left; width: auto; font-size: 14px; padding: 5px 0; line-height: 24px; color: #696969; font-weight: normal; }
:is(.cf-checkbox, .cf-radio) .cf-field { float: left; width: auto; padding: 5px; line-height: 24px; }
:is(.cf-checkbox, .cf-radio) input { width: 15px; height: 15px; accent-color: var(--mainColour); }
.cf-button-row { display: flex; align-items: flex-start; justify-content: space-between; padding: 5px 0; }
.cf-submit{width: 100%;}
.cf-submit input[type=submit] { display: block; text-transform: uppercase; width: 100%; cursor: pointer; }
p.denotes { font-size: 11px; color: #696969; padding: 0; font-weight: normal; }

/* ----- GALLERY ----- */
div.fullscreen-fade { opacity: 0; display: flex; justify-content: center; transition: opacity 0.3s ease-in-out 0s; position: relative; }
div.fullscreen-fade::before { content: ""; position: absolute; width: 100%; height: 100%; }
div.fullscreen-fade.full-width-fix { width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
div.fullscreen-fade:not(.full-width-fix) div.slide { background-size: contain; }
div.fullscreen-fade div.slide { float: left; position: relative; display: flex; align-items: center; background-position: center top; background-size: cover; background-repeat: no-repeat; height: 100%; }
div.fullscreen-fade.parallax-on div.slide { background-attachment: fixed; }
div.fullscreen-fade div.slide .banner { margin: 0 auto; width: 1200px; }
div.fullscreen-fade div.slide .frame { height: 100%; align-self: center; display: inline-block; padding: 16px 20px; }
div.fullscreen-fade div.slide .frame.frame-on { background: #00000080; }
div.fullscreen-fade div.slide .frame.frame-on * { color: #fff; }
div.fullscreen-fade div.slide .frame h1, div.fullscreen-fade div.slide .frame h2, div.fullscreen-fade div.slide .frame h3, div.fullscreen-fade div.slide .frame h4 { position: relative; }
div.fullscreen-fade div.slide .frame p { padding: 15px 0; margin: 0; line-height: initial; }

/* pagination */
div.fullscreen-fade .pagination { position: absolute; bottom: 60px; width: 1200px; height: 20px; display: flex; align-items: center; 
    justify-content: flex-start; padding: 0 10px; gap: 12px; z-index: 1; }
div.fullscreen-fade .pagination a { height: 12px; width: 12px; box-sizing: border-box; transition: ease-in-out all .5s; background: #2b467d; border-radius: 50%; }
div.fullscreen-fade .pagination a.selected { background:#fff; height:20px; width:20px; }

/* navigation */
div.fullscreen-fade .arrows-container{width: 1200px; position: absolute; top: calc(50% - 30px); display: flex; justify-content: space-between;
    pointer-events: none; padding: 0 10px;}
div.fullscreen-fade .arrows { display: flex; justify-content: center; align-items: center; width: 40px; height: 60px;  cursor: pointer; background: var(--topBarColour); pointer-events: initial; position: absolute;}
div.fullscreen-fade .arrows:after { content: ""; width: 12px; height: 12px; border: solid #fff; transform: rotate(45deg); }
div.fullscreen-fade .arrows.prev { left: -40px; }
div.fullscreen-fade .arrows.next { right: -40px; }
div.fullscreen-fade .arrows.prev:after { border-width: 0 0 2px 2px; margin-left: 5px; }
div.fullscreen-fade .arrows.next:after { border-width: 2px 2px 0 0; margin-right: 5px; }

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

.search-page.category-page .cat-hidden { display: none !important; }
.search-page.product-page .prod-hidden { display: none !important; }
.search-page { padding: 0 10px 40px 10px;}

/* search header */
.search-header {  height: 100px; width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; 
    margin-left: -50vw; margin-right: -50vw; background: var(--mainColour); margin-bottom: 15px;}
.search-header > div{padding: 0 10px; height: 100%; display: flex; align-items: center; justify-content: space-between;}
.back-button{display: flex; gap:10px; align-items: center; color: #fff; font-size: 21px; text-transform: uppercase;}
.back-button::before{content: ""; height: 10px; width: 10px; transform: rotate(45deg); border: solid #fff; border-width: 0 0 2px 2px;}
.search-title { display: flex; gap: 10px; justify-content: center; align-items: center;}
.search-title h1 { font-size: 21px; font-family: var(--mainFont); color: #fff; line-height: 30px; font-weight: bold; padding: 0; }
.search-results-found { font-size: 21px; color: #fff; }

/* Search Results */
.search-results-wrap { margin-bottom: 20px;}
.search-results { width: 100%; display:flex; flex-wrap: wrap; align-items: flex-start; gap:10px; }

/* -- Product Block -- */
.product-block { width: 100%; background: #fff; border: 1px solid #E3E3E3; display: flex; align-items: flex-start; gap:30px; padding: 30px; 
    box-sizing: border-box; }
.product-block .product-image { display: flex; align-items: center; justify-content: center; aspect-ratio: var(--productAspect); position: relative; overflow: hidden; width: 457px; height: 344px; flex-shrink: 0;}
.product-block .product-image a { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.product-block .product-image img { width: auto; height: auto; max-width:100%; max-height: 100%;}
.product-block .product-info-container { display: flex; align-items: flex-start; flex-direction: column; gap: 15px; padding: 10px 0; flex-grow: 1;}
.product-block .product-info{display: flex; flex-wrap: wrap; gap:7px;}
.product-block .product-info span{border-radius: 3px; padding: 12px 14px; color: #080808; background: #EFEFEF; font-family: var(--secondaryFont);
    font-size: 12px; line-height: 18px;}
.product-block .product-title { display: flex; align-items: flex-start; font-size: 21px; line-height: 28px; font-weight:600; padding:0; }
.product-block .product-title a { color: var(--mainColour); text-decoration: none; text-transform: uppercase;}
.product-block .product-description{border-bottom: 1px solid #E0DDDD; padding-bottom: 15px; width: 100%;}
.product-block .product-description > div{height: 80px; overflow: hidden; font-size: 15px; line-height: 20px; display: -webkit-box; 
    -webkit-line-clamp: 4; -webkit-box-orient: vertical;}
.product-block .product-buttons { display: flex; align-items: center; justify-content: center;  }
.product-block .product-buttons a {padding: 0 30px; font-size: 14px;}

/* -- Category Block -- */
.category-page .search-results{gap:20px;}
.category-block { width: calc((100% - 20px) / 2); cursor: pointer; box-sizing: border-box;  }
.category-block .cat-image { width: 100%; height: 335px; overflow: hidden; background-size: cover; background-repeat: no-repeat; background-position: center;
    border-radius: 10px 10px 0 0;}
.category-block .cat-info {display: flex; flex-direction: column; gap:15px; align-items: flex-start; padding: 30px; background: #fff;}
.category-block .cat-title {color: var(--mainColour); font-size: 27px; line-height: 33px; height: 33px; overflow: hidden; text-transform: uppercase;
    font-family: var(--secondaryFont); font-weight: bold;}
.category-block .cat-description *{padding: 0; line-height: 20px; height: 60px; overflow: hidden;}

/* -- PAGER -- */
.search-pager { display: flex; align-items: center; width: auto; height: 60px; justify-content: center; gap: 10px; position: relative; background:#d0d0d0; 
    margin-top: 30px;}
.pager-link { display: flex; align-items: center; justify-content: center; width: 30px; height: 40px; }
.pager-link a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 21px; color: var(--mainColour); 
    text-decoration: none; font-weight: 600;}
.pager-link.hidden { display: none !important; }
.pager-current-page a { font-weight: bold; }
.pager-prev-button, .pager-next-button { background: var(--mainColour); color: #fff; margin-right: auto; height: 100%; width: 60px; }
.pager-next-button { margin-right: initial; margin-left: auto; }
.pager-next-button.disabled a, .pager-prev-button.disabled a { background: #B1B4B2; }
.pager-next-button a:after, .pager-prev-button a:before { content: ''; width: 12px; height: 12px; border:solid #fff; border-width:3px 3px 0 0; 
    transform:rotate(45deg); }
.pager-prev-button a:before { transform: rotate(225deg); }


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

.details-page { padding: 0 10px; display: flex; flex-direction: column; }
.details-header {  height: 100px; width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; 
    margin-left: -50vw; margin-right: -50vw; background: var(--mainColour); margin-bottom: 20px;}
.details-header > div{padding: 0 10px; height: 100%; display: flex; align-items: center; justify-content: space-between;}

.details-page-container { display: flex; align-items: flex-start; gap: 20px; margin-bottom:30px; }
.details-page-left, .details-page-right { width: 50%; }

/* Product Images with carousel */
.product-image-gal-wrap { position: relative; min-height: 200px; }
.product-image-gal .product-image a { width: 100%; aspect-ratio: var(--productAspect); overflow: hidden; display: flex; 
    align-items: center; justify-content: center; }
.product-image-gal .product-image a img { width: auto; height: 100% !important; max-width: none !important; }

/*Product Images*/
.product-images { height: 440px; box-sizing: border-box; margin-bottom: 15px; position: relative; 
    display: flex; align-items: center; }
.product-images-items { height: 100%; }
.product-images-items .swiper-wrapper { align-items: center; width:100%; }
.product-images-item a { height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; }
.product-images-item a:focus-visible{background: none;}
.product-images-item img { max-width: 100%; max-height: 100%;}

/*Thumbnail images*/
.product-thumbnails {background: #fff; padding: 5px;}
.product-thumbnails .swiper-wrapper{flex-wrap: wrap; gap:25px; row-gap: 10px;}
.product-thumbnails .pt-item.swiper-slide {display: flex; align-items:center; justify-content:center; 
    width:auto; height:120px; border:2px solid transparent; transition: ease-in-out all .3s; cursor: pointer;}
.product-thumbnails .pt-item.swiper-slide.swiper-slide-thumb-active{border-color: var(--mainColour);}
.pt-item img{max-width: 100%; max-height: 100%; width: auto; height: auto;}

/* Product details */
.product-details-wrap{display: flex; flex-direction: column; background: #fff; margin-bottom: 15px; border: 1px solid #E8E8E8;}
.product-details-inner{display: flex; flex-direction: column; gap:20px; padding: 30px 15px; border-top: 1px solid #E8E8E8;}
.product-title {padding: 10px 15px; color: var(--mainColour); text-transform: uppercase; font-size: 24px; line-height: 30px; font-weight: 600;}
.product-details-inner .product-info{display: flex; gap:5px; flex-wrap: wrap; font-family: var(--secondaryFont); padding: 0 0 15px 0; 
    border-bottom:1px solid #EDEDED; }
.product-details-inner .product-info span{border-radius: 3px; background: #EFEFEF; font-size: 12px;  line-height:18px; color: #080808; padding: 13px 20px;}
.product-description * {line-height: 20px; font-size: 15px; padding: 0;}

/* Product Download */
.productDownloads{}
.downloadItems{display: flex; gap:10px; flex-wrap: wrap;}
.downloadItem a{padding: 0 45px;}

/* Product Form */
.product-form{background: #FFFFFF; display: flex; flex-direction: column; margin-bottom: 15px; border: 1px solid #E8E8E8;}
.product-form > span{color: var(--mainColour); padding:25px 15px; font-size: 18px; line-height: 24px; border-bottom: 1px solid #E8E8E8; 
    display: flex; align-items: center; gap:10px;}
.product-form > span::before{content: ""; height: 18px; width: 31px; background: url(../images/enquire.svg) center no-repeat; flex-shrink: 0;}
.product-form > span strong{font-weight: 600;}
.product-form > form{padding: 20px 15px; display: flex; flex-direction: column; gap:15px; align-items: flex-start;}
.product-form > form > div{display: flex; flex-direction: column; gap:5px; width: 100%;}
.product-form label{font-size: 12px; line-height: 18px; color: #2B2B2B; font-weight: 600;}
.product-form input{background:#F4F4F4; border-color: #DBDBDB; transition: ease-in-out all .3s;}
.product-form input:focus{border-color: var(--mainColour);}
.product-form a{padding: 0 45px;}

/*Product Video*/

.product-video:not(.hidden){background: #fff; display: flex; flex-direction: column;}
.product-video > span{display: flex; align-items: center; gap:10px; text-transform: uppercase; color: var(--mainColour); padding: 25px 15px;
    border-bottom: 1px solid #E8E8E8; font-weight: 600; font-size: 18px; line-height: 24px;}
.product-video > span::before{content: ""; height: 24px; width: 27px; flex-grow: 0; background: url(../images/video.svg) center no-repeat;}
.product-video > div{display: flex; padding: 10px 15px;}
.product-video > div > a{height: 320px; width: 100%; display: flex; justify-content: center; align-items: center; position: relative;}
.product-video > div > a > img{width: auto; height: auto; max-width: 100%; max-height: 100%;}
.product-video > div > a > svg{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.product-video iframe{height: 0; width: 0;}
.product-video iframe.show{width: 100%; height: 320px;}

/* Associations */
.associations_wrap { padding: 90px 0; background: linear-gradient(116deg, rgba(239,239,239,1) 0%, rgba(226,223,223,1) 100%); position: relative;}
.associations_wrap::after{content: ""; height: 260px; width: 200px; background: url(../images/watermark.svg); background-size: 285px; 
    z-index: 5; position: absolute; right: 0; bottom: 35px;}
.associations_wrap>div{ padding: 0 10px; position: relative; z-index: 10;}
.associations_wrap .associations_headings{display: flex; align-items: center;}
.associations_wrap h2 { color: var(--mainColour); font-size: 37px; line-height: 42px; padding: 0; margin: 0 0 25px 0; font-weight:bold;}
.associations_wrap .associations_produtcs { display: flex; width: 100%; }
.associations_products_container { position: relative; width: 100%; display: flex; flex-direction: column; gap:30px;}
.associations_products{width: 100%;}

.assoc-nav {position: absolute; height:60px; width:40px; background:var(--mainColour); top: calc(50% - 30px); transition: ease-in-out all .3s;
    cursor: pointer;}
.assoc-nav-prev{left: -50px;}
.assoc-nav-prev::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 0 0 3px 3px; 
    transform:rotate(45deg) translateY(-50%); position:absolute; left: 9px; top: 50%; }
.assoc-nav-next{right: -50px;}
.assoc-nav-next::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 3px 3px 0 0; 
    transform:rotate(45deg) translateY(-50%); position:absolute; right: 22px; top: 50%; }
.assocnav-disabled{opacity: 0.5;}

.assoc-pagination{display: flex; align-items: center; justify-content: flex-start; transform: none !important; 
    height: 20px; gap:10px; position: relative; margin-top: 20px;}
.assoc-pagination:before{content: ""; height: 1px; width: 100%; position: absolute; left: 0; top: -20px; background: #D3D3D3;}
.assoc-pagination span{background: #BFBFBF; opacity: 1; height: 12px; width: 12px; transform: none; flex-shrink: 0; margin: 0 !important; 
    transition: ease-in-out all .3s;}
.assoc-pagination span.active{background: var(--mainColour); height:20px; width:20px; }

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

/* -- Product Module -- */

.product-module { padding: 40px 0; box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; position: relative !important; 
    left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.pm-container {padding: 0 10px;}

/* titles */
.pm-title { display: flex; justify-content: flex-start; align-items: center; }
.pm-title span { font-size: 37px; line-height: 46px; color: var(--mainColour); font-weight: bold; text-transform: uppercase;}

/* gallery */
.pm-gal-wrap { position: relative; padding: 40px 0 0 0; display:flex; flex-direction:column; gap:40px; }
.pm-gal{width: 100%;}

.product-featured-block{padding: 0; flex-direction: column; gap:0;}
.product-featured-block .product-image{width: 100%; height: 278px;}
.product-featured-block .product-info-container{padding: 25px 15px; width: 100%;}
.product-featured-block .product-title{height: 70px; overflow: hidden;}
.product-featured-block .product-title a{font-size: 17px; line-height: 24px; font-weight: 600;}
.product-featured-block .product-buttons a, .product-featured-block .product-buttons {width: 100%;}

/* List View */
.product-module.list .pm-gal-inner { display: flex; flex-wrap: wrap; gap: 20px; }
.product-module.list .pm-gal-inner .product-block {  width: calc((100% - 60px) / 4);}
.product-module.list :is(.pm-gal-pagination, .pm-gal-nav){display: none !important;}

/* Carousel View */

/* navigation */
.pm-gal-nav {position: absolute; height:60px; width:40px; background:var(--mainColour); top: calc(50% - 30px); transition: ease-in-out all .3s;
    cursor: pointer;}
.pm-gal-prev{left: -50px;}
.pm-gal-prev::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 0 0 3px 3px; 
    transform:rotate(45deg) translateY(-50%); position:absolute; left: 9px; top: 50%; }
.pm-gal-next{right: -50px;}
.pm-gal-next::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 3px 3px 0 0; 
    transform:rotate(45deg) translateY(-50%); position:absolute; right: 22px; top: 50%; }
.pm-nav-disabled{opacity: 0.5;}

/* Pagination */
.pm-gal-pagination{display: flex; align-items: center; justify-content: flex-start; transform: none !important; 
    height: 20px; gap:10px; position: relative; margin-top: 20px;}
.pm-gal-pagination:before{content: ""; height: 1px; width: 100%; position: absolute; left: 0; top: -20px; background: #D3D3D3;}
.pm-gal-pagination span{background: #BFBFBF; opacity: 1; height: 12px; width: 12px; transform: none; flex-shrink: 0; margin: 0 !important; 
    transition: ease-in-out all .3s;}
.pm-gal-pagination span.active{background: var(--mainColour); height:20px; width:20px; }

/* -- Category Module -- */
.category-module { padding: 40px 0; box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; position: relative !important; 
    left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.cm-container {padding: 0 10px; position: relative;}
.cm-container::before{content: ""; height: 264px; width:264px; background: url(../images/watermark.svg) no-repeat center;
    position: absolute; right: 50px; top:-8px;}

/* titles */
.cm-title-wrap{z-index: 10; position: relative;}
.cm-title { display: flex; justify-content: flex-start; align-items: center; }
.cm-title span { font-size: 37px; line-height: 46px; color: var(--mainColour); font-weight: bold; text-transform: uppercase;}

/* gallery */
.cm-gal-wrap { position: relative; padding: 40px 0 0 0; display:flex; flex-direction:column; gap:40px; }
.cm-gal{width: 100%;}

/* List View */
.category-module.list .cm-gal-inner { display: flex; flex-wrap: wrap; gap: 20px;}
.category-module.list :is(.cm-gal-pagination-wrap, .cm-gal-nav){display: none !important;}
.category-module.list .category-block{width: calc((100% - 20px) / 2);}

/* Carousel View */
.category-module.carousel .category-block .cat-title {font-size: 16px;}

/* navigation */
.cm-gal-nav {position: absolute; height:60px; width:40px; background:var(--mainColour); top: calc(50% - 30px); transition: ease-in-out all .3s;
    cursor: pointer;}
.cm-gal-prev{left: -50px;}
.cm-gal-prev::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 0 0 3px 3px; 
    transform:rotate(45deg) translateY(-50%); position:absolute; left: 9px; top: 50%; }
.cm-gal-next{right: -50px;}
.cm-gal-next::before{content: ""; height: 12px; width: 12px; border: solid #fff; border-width: 3px 3px 0 0; 
    transform:rotate(45deg) translateY(-50%); position:absolute; right: 22px; top: 50%; }
.cm-nav-disabled{opacity: 0.5;}

/* pagination */
.cm-gal-pagination{display: flex; align-items: center; justify-content: flex-start; transform: none !important; 
    height: 20px; gap:10px; position: relative; margin-top: 20px;}
.cm-gal-pagination:before{content: ""; height: 1px; width: 100%; position: absolute; left: 0; top: -20px; background: #D3D3D3;}
.cm-gal-pagination span{background: #BFBFBF; opacity: 1; height: 12px; width: 12px; transform: none; flex-shrink: 0; margin: 0 !important; 
    transition: ease-in-out all .3s;}
.cm-gal-pagination span.active{background: var(--mainColour); height:20px; width:20px; }

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

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

.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: 12px; line-height: 18px; color: #393A3D; font-weight: bold; }
.cart-product-variations span { font-size: 10px; line-height: 16px; color: #393A3D; }
.cart-product-sku span { font-size: 10px; line-height: 14px; color: #393A3D; }
.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: 20px; 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: 12px; 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: 14px; 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; }
.cart-line>div { font-size: 18px; color: #3B3B3D; text-transform: capitalize; }
.cart-line.discount-line>div { color: #4476BA; }
.cart-line.total>div { font-weight: bold; }

/*----- CHECKOUT -----*/
.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: 12px; 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: 12px; 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: 16px; 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: 14px; 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: 32px; 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; }
.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: 14px; line-height: 24px; }
.checkout-card-subtitle span { font-size: 16px; 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: 16px; 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.checkbox span { font-size: 14px; 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: 16px; font-weight: bold; color: #000; }
.free-delivery-wrap { padding: 10px 0; }
.checkout-card.expandable .checkout-card-header { position: relative; cursor: pointer; }
.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: 12px; }
.checkout-card[data-card=details] .checkout-card-title span { font-size: 24px; }
.checkout-card[data-card=details] .checkout-card-subtitle { padding: 10px 0; }
.checkout-card[data-card=details] .checkout-card-subtitle span { font-size: 16px; 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: 14px; color: #393A3D; font-weight: bold; }
.checkout-form-field { padding: 10px 0; position: relative; }
.checkout-form-label { font-size: 16px; 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: 16px; color: #393A3D; font-weight: bold; }
.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; }
.payopt-row { display: flex; align-items: center; gap: 10px; }
.payopt-row.payopt-image { padding: 10px 0 0; }
.payopt-title { font-size: 15px; font-weight: bold; line-height: 24px; }
.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; }
.payment-option.payment-option-selected .payopt-radio::after { content: ""; width: 100%; height: 100%; display: block; background: #000; border-radius: inherit; }
.payment-option img { max-width: 80%; max-height: 35px; margin-left: 30px; }
.continue-button { width: 100%; text-transform: uppercase; height: 60px; }

/*Payment Page*/
.payment-header { padding: 0 10px; margin: 0 0 25px; box-sizing: border-box; display: flex; flex-direction: column; }
.payment-header>div { display: flex; flex-wrap: wrap; }
.payment-header h1 { color: #000000; font-weight: bold; font-size: 30px; margin: 0 0 15px; padding: 0; }
.payment-header>div>div { width: 30%; font-size: 12px; color: #000; line-height: 24px; }
.payment-header>div>div:nth-child(3), .payment-header>div>div:nth-child(6) { width: 50%; }
.payment-header>div>div:first-child, .payment-header>div>div:nth-child(4) { width: 20%; }
.payment-content { padding: 0 10px; 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: 12px; background: #f9f9f9; }
.payment-content .payment-delivery p { font-size: 12px; color: #000; padding: 0 0 15px; line-height: 20px; }
.payment-content .payment-order-summary span { font-weight: bold; font-size: 12px; 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: 12px; 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: 12px; 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: 12px; color: #000; line-height: 20px; font-weight: bold; }
.payment-pay { padding: 0 10px; box-sizing: border-box; }
.payment-pay h1 { color: #000000; font-weight: bold; font-size: 30px; margin: 0; padding: 0; }
.payment-pay label { font-size: 16px; 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: 16px; 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; margin: 20px 0 30px; box-sizing: border-box; background: #f9f9f9; }
.payment-footer p { font-size: 16px; 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: 32px; font-weight: 600; }
.signup-header .container_16 { height: 100%; display: flex; align-items: center; }
.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: 55px; padding: 0 30px; background: var(--background); 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); }
.signup-tab-header.active { background: #fff; color: var(--secondaryColour); z-index: 2; }
.signup-tab-header.active:after { content: ''; width: 20px; height: 2px; background: var(--secondaryColour); bottom: 0; left: calc(50% - 15px); position: absolute; }
.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: 16px; 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: 15px; line-height: 26px; }
.signup-bottom { display: flex; flex-direction: column; gap: 20px; margin: 40px 0; font-size: 16px; }
.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: 16px; 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: 16px; 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: 20px; 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_16 { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 5px; padding: 0 10px; font-size: 16px; }
.dashboard-header span:nth-child(1) { font-size: 24px; 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: 16px; }
.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: 14px; }
.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); }
.dash-form-field { padding: 10px 0; }
.dash-form-label { font-size: 16px; 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: 14px; line-height: 18px; color: #393A3D; }
:is(.billing-address, .delivery-address) div span { font-weight: bold; font-size: 16px; 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, .5); opacity: 0; display: flex; justify-content: center; }
.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: 16px; 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; font-family: 'Baloo 2'; }
.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; max-width: 400px; }
.address-form>div { display: flex; flex-direction: column; gap: 10px; }
.address-form>div:first-child, .address-form>div:last-child { align-items: center; flex-direction: row; gap: 5px; }
.address-form>div:first-child>input:first-child { width: 100px; flex: 0 0 auto; }
.address-form>div>input { width: 100%; }
.address-form>div>input::placeholder { text-transform: capitalize; }
.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:nth-child(1) { margin-right: auto; background: #65707D; }
.member-address { border: 1px solid var(--border); background: #fff; font-size: 14px; line-height: 18px; padding: 20px 5px 5px; width: calc((100% - 20px) / 2); height: 240px; display: flex; align-items: flex-start; position: relative; gap: 1 }
.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; }
.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 {padding: 80px 0; background: #EFEFEF; border: solid #E2DFDF; border-width:1px 0; }
.content-layout-module > div{padding: 10px 30px; position: relative;}
.content-layout-block { display: flex; flex-direction: row; align-items: center; background: var(--mainColour); z-index: 10; position: relative; min-height: 400px;}
.content-layout-block .layout-image { width: 50%; flex: 0 0 auto; display: flex; align-items: center; }
.content-layout-block .layout-image img{max-width: 100%; height: auto; width: auto;}
.content-layout-block .layout-texts { position: relative; width: 50%; display: flex; flex-direction: column; width: 50%; padding: 80px;}
.content-layout-block .layout-inner { display: flex; flex-direction: column; gap: 15px; width: 500px; max-width: 100%;}
.content-layout-block .layout-texts .layout-title h2{ font-size: 37px; line-height: 44px; font-weight: bold; padding: 0; 
    color: #fff; text-transform:uppercase; font-family:var(--secondaryFont);}
.content-layout-block .layout-texts .layout-description * { color: #fff; line-height: 24px; padding: 0; font-weight: 300;}

/*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; }

.content-layout-module > div::before{content: ""; height:264px; width:264px; background:url(../images/watermark.svg) center no-repeat; 
    position: absolute; z-index: 5;}
.content-layout-module .layout-left::before{top: -48px; left: 95px;}
.content-layout-module .layout-right::before{bottom: -48px; right: 95px;}

/*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; padding:0 20px; }

/* --------------------------------------- */
/* -------- LARGE SCREEN >1200px --------- */
/* --------------------------------------- */
@media only screen and (min-width:1200px) {
    .mobile:not(.desktop-large), .tablet:not(.desktop-large), .desktop:not(.desktop-large), .desktop-hidden { display: none !important; }

    /* ----- GRID STRUCTURE ----- */
    .container_16 { margin-left: auto; margin-right: auto; width: 1200px; }
    .container_16 .grid_1 { width: 55px; }
    .container_16 .grid_2 { width: 130px; }
    .container_16 .grid_3 { width: 205px; }
    .container_16 .grid_4 { width: 280px; }
    .container_16 .grid_5 { width: 355px; }
    .container_16 .grid_6 { width: 430px; }
    .container_16 .grid_7 { width: 505px; }
    .container_16 .grid_8 { width: 580px; }
    .container_16 .grid_9 { width: 655px; }
    .container_16 .grid_10 { width: 730px; }
    .container_16 .grid_11 { width: 805px; }
    .container_16 .grid_12 { width: 880px; }
    .container_16 .grid_13 { width: 955px; }
    .container_16 .grid_14 { width: 1030px; }
    .container_16 .grid_15 { width: 1105px; }
    .container_16 .grid_16 { width: 1180px; }
    .swipe { height: 575px; }
}

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


@media (min-width:960px){
    .footer-menu{display: flex !important;}
}

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

    /* ----- GRID STRUCTURE ----- */
    .grid_1 img, .grid_2 img, .grid_3 img, .grid_4 img, .grid_5 img, .grid_6 img, .grid_7 img, .grid_8 img, .grid_9 img, .grid_10 img, .grid_11 img, .grid_12 img, .grid_13 img, .grid_14 img, .grid_15 img, .grid_16 img { max-width: 100% !important; height: auto !important; }

    /*Header*/
    .top-menu ul{gap:10px;}
    .top-menu ul li a{font-size: 14px;}
    .top-left{font-size: 14px;}
    .top-right{gap:10px;}
    .top-social a, .top-left a{padding: 0 10px;}
    .site-search{width: 370px;}
    .site-search .search-button{padding: 0 20px;}
    .main-menu{gap:20px;}

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

    /*Gallery*/
    div.fullscreen-fade .pagination, div.fullscreen-fade .arrows-container {width: 100%;}

    /*Content Layout*/
    .content-layout-block .layout-texts{padding: 30px;}
    .content-layout-block .layout-texts .layout-title h2{font-size: 32px; line-height:40px; }
    .content-layout-module > div{padding: 10px 15px;}

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

    /* -- Product Block -- */
    .product-block .product-image {width: 360px; height: 290px;}

    /* -- Category Block -- */
    .category-block .cat-image {height: 280px;}
    .category-block .cat-title{font-size: 24px;}
    .category-block .cat-info{padding: 20px;}

    /*Product Module*/
    .product-featured-block .product-image{height: 225px; width: 100%;}
    .product-featured-block .product-info-container {padding: 20px 15px;}
    .product-featured-block .product-title{padding: 0;}
    .product-featured-block .product-title a {font-size: 16px;}


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

    /* ----- 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; }
}

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

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

@media (max-width:959px) {
    .container_16.resp-full-width { width: 100vw !important; max-width: 100vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; box-sizing: border-box; box-sizing: border-box; padding-left: 15px; padding-right: 15px; }
    div:not(.container_16).resp-full-width { width: 101vw !important; max-width: 101vw !important; position: relative !important; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; padding-left: 15px; padding-right: 15px; }
    .alpha, .omega { margin-left: 0; margin-right: 0; }

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

    /* -- TOP WRAP -- */
    .top-wrap > div{gap:0;}
    .top-wrap > div > div{flex: 1;}
    .top-left > a, .top-social, .top-social > a{flex: 1; justify-content: center; height: 40px;}
    .top-left > a.top-email{border-color:#EEF6FF;}
    .top-left a.top-phone{border-left: 0;}
    .top-social a{border-color: #EEF6FF;}
    .top-social a:first-child, .top-left a:last-child{border-right: 0;}

    /* -- HEADER WRAP -- */
    .header-wrap{background:#fff;}

    /* ----- MOBILE MENU ----- */
    .menu-wrap{border: 0; height: 60px; background: #E7EAED;}
    .menu-wrap > div{padding: 0;}
    .responsive-controls{height: 100%; display: flex; justify-content: space-between; align-items: center; position: relative; padding: 0 0 0 10px;}
    .menu-toggle{display: flex; gap:10px; align-items: center; text-transform: uppercase; color: var(--mainColour); font-size: 15px; font-weight: bold;}
    .menu-toggle > div{height: 22px; width: 28px; display: flex; flex-direction: column; gap:5px;}
    .menu-toggle > div > div{ height: 4px; width: 28px; border-radius: 6px; background: var(--mainColour); transition: ease-in-out all .3s;}
    .menu-toggle > div::before{content: ""; height: 4px; width: 28px; border-radius: 6px; background: var(--mainColour); transition: ease-in-out all .3s;}
    .menu-toggle > div::after{content: ""; height: 4px; width: 28px; border-radius: 6px; background: var(--mainColour); transition: ease-in-out all .3s;}
    
    .menu-toggle.active > div > div{opacity: 0;}
    .menu-toggle.active > div::before{transform: translate(1px, 10px) rotate(45deg); }
    .menu-toggle.active > div::after{transform: translate(1px, -8px) rotate(-45deg);}

    .menu-wrap .search-toggle{border-left: 2px solid var(--secondaryColour); color: #fff; background: var(--mainColour); height: 100%; 
        display: flex; align-items: center; gap:10px; font-weight: bold; font-size: 15px; padding: 0 30px; text-transform: uppercase;}
    .menu-wrap .search-toggle::after{content: ""; height: 20px; width: 20px; background: url(../images/icon-search-white.svg) center no-repeat;
        background-size: contain;}

    .responsive-site-search{background: var(--mainColour); padding: 0 10px; display: flex; align-items: center; width: 100%;
        opacity: 0; visibility: hidden; height: 0; transition: ease-in-out all .3s;}
    .responsive-site-search.open{opacity: 1; visibility: visible; height: 80px;}
    .responsive-site-search .site-search{width: 100%; height: 50px; background: #fff; border-radius: 25px; }
    .responsive-site-search .site-search input{ border:0; width:calc(100% - 60px);}
    .responsive-site-search .site-search a{padding: 0; width: 60px; background: none; justify-content: center;}

    .responsive-main-menu{padding: 0; margin: 0; list-style: none; position: absolute; top:100%; left: 0; background: #fff; width: 100%;
        font-family: var(--secondaryFont); opacity: 0; transition: ease-in-out all .3s; z-index: -1; transform: translateY(-10px); visibility: hidden;
        border-top: 2px solid var(--secondaryColour);}
    .responsive-main-menu.open{opacity: 1; visibility: visible; z-index: 1000; transform: translateY(0);}
    .responsive-main-menu li{padding: 0; list-style: none; margin: 0; display: flex; flex-direction: column; position: relative;}
    .responsive-main-menu li a{font-size: 14px; font-weight: bold; color: var(--mainColour); text-transform: uppercase; 
        padding: 15px 10px; border-bottom: 1px solid #707070;}
    .responsive-main-menu ul{list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; background: #F0F0F0; display: none;}

    .responsive-main-menu li .toggle-sub{height: 50px; width: 50px; position: absolute; right: 0; top: 0;}
    .responsive-main-menu li .toggle-sub::after{content: ""; height:8px; width: 8px; border: solid var(--mainColour); position: absolute; top: 17px; right: 16px;
        border-width: 0 2px 2px 0; transform: rotate(45deg); transition: ease-in-out all .3s;}
       .responsive-main-menu li.open > .toggle-sub::after{transform: rotate(225deg); top: 21px;}

    /*Footer*/
    .footer-wrap{padding: 25px 0 40px;}
    .footer-wrap > div{flex-direction: column; padding: 0 10px; align-items: center; gap:0;}
    .footer-wrap .footer-col{width: 100%;}
    .footer-logo{display: flex; justify-content: center; align-items: center; margin-bottom: 30px;}
    .footer-col-title, .footer-col > .opening-times > span{font-size: 14px; margin-bottom: 10px;}
    .footer-menu-toggle .footer-col-title{font-weight:600; margin: 0; padding: 10px 0; position: relative; border-top:1px solid var(--mainColour);}
    .footer-menu-toggle.footer-site-doc .footer-col-title{border-bottom:1px solid var(--mainColour);}
    .footer-menu-toggle .footer-col-title::after{content: ""; height: 12px; width: 2px; background: var(--mainColour); position: absolute; right: 14px; top: 19px;
        transition: ease-in-out all .3s;}
    .footer-menu-toggle .footer-col-title::before{content: ""; height: 2px; width: 12px; background: var(--mainColour); position: absolute; right: 9px;
        top: 24px;}
    .footer-menu{display: none; padding:0 0 10px 0;}
    .footer-menu>li{padding: 10px 0;}
    .footer-menu>li>a{font-size: 14px;}

    .footer-col > .opening-times{text-align: center; align-items: center;}
    .footer-contact .location{margin-top: 10px;}

    .footer-container .footer-col:last-child{margin-top: 30px; text-align: center; justify-content: center;}

    .footer-menu-toggle.footer-site-doc.open .footer-col-title{border-bottom: 0;}
    .footer-menu-toggle.footer-site-doc.open .footer-menu{border-bottom:1px solid var(--mainColour);}
    .footer-menu-toggle.open .footer-col-title::after{opacity: 0;}

    .footer-contact{gap:10px; font-size: 14px;}
    .footer-social{justify-content: center; gap:10px; margin-top: 15px;}
    .footer-social a{background-color: var(--mainColour) !important; border-radius: 100%; height: 40px; width: 40px;}
    .footer-social > a.ig{background-size: 20px;}
    .footer-social > a.fb{background-size: 10px;}
    .footer-social > a.yt{background-size: 20px;}
    .footer-social > a.tt{background-size: 20px;}
    .byline-container{justify-content: center;}
    .byline-container>a{font-size: 14px;}

    /*Gallery*/
    div.fullscreen-fade .pagination, div.fullscreen-fade .arrows-container {width: 100%;}

    /*Search Page*/
    .search-header{height: 60px;}
    .back-button{font-size: 16px;}
    .search-title{justify-content: flex-start; margin-bottom: 20px;}
    .search-title h1, .search-results-found{color: var(--mainColour); font-weight: bold; font-size: 23px;}

    /*Product Block*/
    .product-block{flex-direction: column; gap:15px; align-items: flex-start; border-radius: 13px; padding: 20px 30px;}
    .product-block .product-image{width: 390px; height: 290px;}
    .product-block .product-title{font-size: 23px;}

    /*Category Block*/
    .category-block {width: 100%;}
    .category-block .cat-image{height: 370px;}
    .category-block .cat-title{font-size: 29px;}
    
    /*Checkout*/
    .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: 15px; 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; }

    /*Product Module*/
    .product-featured-block{padding: 0 !important; }
    .product-featured-block .product-image{height: 278px; width: 100%;}

    /*Category Module*/
    .category-module.list .category-block{width: 100%;}

    /*Content Layout*/
    .content-layout-block { flex-direction: column !important; }
    .content-layout-module > div{padding: 0;}
    .content-layout-module .layout-left .content-layout-block .layout-texts, .content-layout-module .layout-texts{align-items: flex-start;}
    .content-layout-block{padding: 20px;}
    .content-layout-block .layout-inner{width: 100%;}
    .content-layout-block .layout-image { width: 100%; }
    .content-layout-block .layout-texts{padding: 20px 0; 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_16 { width: 100%; padding: 0 10px; }
}

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

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

    /* ----- GRID STRUCTURE ----- */
    .container_16 { margin-left: auto; margin-right: auto; width: 768px; }
    .container_16 .grid_1 { width: 32px; }
    .container_16 .grid_2 { width: 80px; }
    .container_16 .grid_3, .container_16 .grid_tab_3 { width: 128px; }
    .container_16 .grid_4, .container_16 .grid_tab_4 { width: 176px; }
    .container_16 .grid_5, .container_16 .grid_tab_5 { width: 224px; }
    .container_16 .grid_6, .container_16 .grid_tab_6 { width: 272px; }
    .container_16 .grid_7, .container_16 .grid_tab_7 { width: 320px; }
    .container_16 .grid_8, .container_16 .grid_tab_8 { width: 368px !important; }
    .container_16 .grid_9, .container_16 .grid_tab_9 { width: 416px; }
    .container_16 .grid_10, .container_16 .grid_tab_10 { width: 464px; }
    .container_16 .grid_11, .container_16 .grid_tab_11 { width: 512px; }
    .container_16 .grid_12, .container_16 .grid_tab_12 { width: 560px; }
    .container_16 .grid_13, .container_16 .grid_tab_13 { width: 608px; }
    .container_16 .grid_14, .container_16 .grid_tab_14 { width: 656px; }
    .container_16 .grid_15, .container_16 .grid_tab_15 { width: 704px; }
    .container_16 .grid_16, .container_16 .grid_tab_16 { width: 752px; }
    .grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9, .grid_10, .grid_11, .grid_12, .grid_13, .grid_14, .grid_15, .grid_16 { margin-left: 8px; margin-right: 8px; }
    .grid_1 img, .grid_2 img, .grid_3 img, .grid_4 img, .grid_5 img, .grid_6 img, .grid_7 img, .grid_8 img, .grid_9 img, .grid_10 img, .grid_11 img, .grid_12 img, .grid_13 img, .grid_14 img, .grid_15 img, .grid_16 img { max-width: 100% !important; height: auto !important; }

    /*Header*/
    .responsive-main-menu{width: 630px; left: 50%; transform: translate(-50%, -10px);}
    .responsive-main-menu.open{ transform: translate(-50%, 0)}

    /*Details Page*/
    .details-page-container{gap:10px;}
    .product-images {height: 330px;}
    .product-thumbnails .swiper-wrapper{gap:15px;}
    .product-thumbnails .pt-item.swiper-slide {height: 80px;}
    .product-description *{font-size: 14px;}

    /*Product Module*/
    .product-module.list .pm-gal-inner .product-featured-block{width: calc((100% - 20px) / 2); border-radius: 0;}

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

    /* ----- Dashboard ------ */
    .signup-header { height: 110px; font-size: 30px; }
}

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

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

    /* ----- GRID STRUCTURE ----- */
    .container_16 { margin-left: auto; margin-right: auto; width: 320px; }
    .grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9, .grid_10, .grid_11, .grid_12, .grid_13, .grid_14, .grid_15, .grid_16 { margin-left: 5px; margin-right: 5px; width: 310px !important; }
    .grid_1 img, .grid_2 img, .grid_3 img, .grid_4 img, .grid_5 img, .grid_6 img, .grid_7 img, .grid_8 img, .grid_9 img, .grid_10 img, .grid_11 img, .grid_12 img, .grid_13 img, .grid_14 img, .grid_15 img, .grid_16 img { max-width: 100% !important; height: auto !important; }
    .prefix_1, .prefix_2, .prefix_3 { padding: 0 !important; }

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

    /* ----- TYPOGRAPHY ----- */
    h1 { font-size: 42px; line-height: 50px; }
    h2 { font-size: 38px; line-height: 46px; }
    h3 { font-size: 34px; line-height: 42px; }
    h4 { font-size: 28px; line-height: 36px; }
    p { font-size: 14px; line-height: 24px; padding: 5px 0 15px 0; }
    img { max-width: 100%; vertical-align: middle; }

    .button-primary, .button-secondary{font-size: 14px; padding: 0 30px; height: 50px;}

    /*Top Wrap*/
    .top-wrap{height: 54px;}
    .top-wrap > div{padding: 0;}

    /*Header Wrap*/
    .header-wrap{height: 190px;}
    .header-wrap > div{justify-content: center;}
    .header-wrap .logo{padding: 0;}
    .header-wrap .logo img{width: 177px;}


    /* ----- 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%; }

    /*Contact Form*/
    form.contact-form{padding: 10px;}
    .cf-title span{font-size: 26px; line-height: 32px;}

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

    /*Search Header*/
    .search-header {height: 50px;}
    .back-button{font-size: 15px;}
    .search-title h1, .search-results-found{font-size: 18px;}
    .pager-link:not(.pager-prev-button):not(.pager-next-button):not(.pager-current-page) { display: none; }

    /*Product Block*/
    .product-block{padding: 15px; border-radius: 0;}
    .product-block .product-image{width: 100%; height: 207px;}
    .product-block .product-title{font-size: 20px;}
    .product-block .product-info span{font-size: 11px;}
    .product-block .product-buttons a, .product-block .product-buttons{width: 100%;}
    .product-block .product-description > div{height:initial; overflow: initial; display: flex;}
   
    /*Category Block*/
    .category-block .cat-image{height: 190px;}
    .category-block .cat-title{font-size: 22px;}
    .category-block .cat-info{padding: 25px 15px;}
    .category-block .cat-button{width: 100%;}

    /*Details Page*/
    .details-page-container { flex-direction: column; }
    .details-page { padding: 0 5px; }
    .details-page-left, .details-page-right {width: 100%;}
    .details-header{height: 50px;}
    .product-images{height: 300px;}
    .product-thumbnails .swiper-wrapper{gap:10px;}
    .product-thumbnails .pt-item.swiper-slide{height: 85px;}
    .product-title{font-size: 22px;}
    .product-description *{font-size: 14px;}
    .product-form > span {font-size: 15px;}
    .product-video > span{font-size: 16px;}
    .product-video > div > a {height: 210px;}
    .product-video iframe.show {height: 170px;}

    .associations_wrap{padding: 40px 0;}
    .associations_wrap::after{content: none;}
    .associations_wrap h2{font-size: 24px;}

    .dash-order-row>div { width: 30%; }
    .dash-order-row .view { width: 20px; }
    .dashboard-header .container_16 { 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_16>span:first-child { width: 100%; }
    .dashboard-header .container_16>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: 12px; }
    .payment-header>div>div { width: 100% !important; }
    .payment-content { flex-direction: column; gap: 10px; }
    .payment-content>div { width: 100% !important; }
    .signup-page { padding: 20px 5px; }
    .signup-header { height: 90px; font-size: 20px; }
    .signup-bottom { padding: 0 5px; }
    .member-address { width: 100%; }

    /*Content Layout Module*/
    .content-layout-module > div::before{height: 120px; width: 96px; background-size: 120px;}
    .content-layout-module .layout-left::before{left: 24px;}
    .content-layout-module .layout-right::before{right: 24px;}
    .content-layout-block .layout-texts .layout-title h2{font-size: 31px; line-height: 38px; }

    /*Product Module*/
    .pm-title span{font-size: 27px; line-height: 36px;}
    .pm-gal-pagination {justify-content: center;}
    .product-module.list .pm-gal-inner .product-featured-block{width: 100%; padding: 0;}

    /*Category Module*/
    .cm-container::before{height: 120px; width: 96px; background-size: 120px; right: 0; top: 60px;}
    .cm-title span{font-size: 27px; line-height: 36px;}
    .cm-gal-pagination {justify-content: center;}

}

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