/* Base */

body {
    min-height: 100vh;
	font-family: 'DM Sans', sans-serif;
	font-size:16px;
	color:#000;
	letter-spacing:1%;
}

.site-main {

    min-height: 60vh;
}
:root { 
	--font-color:#333333;
	--blue:#161A4C;
	--gold:#E1B95B;
	--light-gold:#F5CF78;
	--beige:#f6e8ce;
	--light-beige:#faf7f1;
}

.gold-text{
	color:var(--gold);
}
.gold-border{
	border-bottom:1px solid var(--gold);
}

/*Global Styles*/
img {
    max-width: 100%;
    height: auto;
}

a {
	color:var(--gold);
	text-decoration:none;
}
a:hover; {
	color:var(--light-gold)
}
a,
.navbar-nav .nav-link {
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
	padding-left:15px;
	padding-right:15px;	
}
.container-max-width{
	max-width:1520px;
}
@media only screen and (min-width: 768px){
	.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
		padding-left:30px;
		padding-right:30px;
	}
}

@media only screen and (min-width: 1540px){
	.container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
		padding-left:50px;
		padding-right:50px;
	}
}
.h1, .h2, .h3, .h4, .h5, .h6, 
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
	font-family: 'STIX Two Text', serif;
    margin-bottom: .5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--gold);
}

.button {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-right: 15px;
    padding: 0 20px 0 22px;
    height: 44px;
    background: var(--blue);
    color: var(--gold);
	letter-spacing:0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    border-radius: 50px;
    transition:
        background-color 0.2s ease,
        filter 0.2s ease,
        color 0.2s ease;
}
.gold-button{
	background: var(--gold);
    color: var(--blue);
}
.button:hover {
    filter: brightness(1.2);
}
.button i,
.button svg {
    font-size: 1rem;
    transition: transform 0.2s ease;
	padding-left:5px;
}

.button:hover i,
.button:hover svg {
    transform: translateX(4px);
}


.narrow-container{
	max-width:900px;
	padding:100px 0;
}

.margin-bottom{
 margin-bottom:30px;	
}
@media only screen and (min-width: 1200px){
	.margin-bottom{
	 margin-bottom:0px;	
	}
}
/*Lightbox and Pop Up Images*/
.pop-up-image {
	overflow: hidden;
	margin: 0;
}
.pop-up-image-normal {
	aspect-ratio: 5 / 4;
}
.pop-up-image-wide {
	aspect-ratio: 2 / 1;
}
.pop-up-image-tall {
	aspect-ratio: 5 / 8;
}
.pop-up-image-square{
	aspect-ratio: 1 / 1;
}
.pop-up-image-3-2{
	aspect-ratio: 3 / 2;
}
.top-right-radius{
	border-radius: 0 30px 0 0;
}
.bottom-left-radius{
	border-radius: 0 0 0 30px;
}
.two-radius{
	border-radius: 0 30px 0 30px;
}
.pop-up-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.pop-up-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s ease-in-out;
}

.pop-up-image:hover img {
	transform: scale(1.05);
}

.simple-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px;
	background: rgba(0, 0, 0, 0.9);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.2s ease,
		visibility 0.2s ease;
}

.simple-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.simple-lightbox img {
	display: block;
	max-width: 100%;
	max-height: 90vh;
	width: auto;
	height: auto;

	opacity: 0;
	transform: scale(0.98);
	box-shadow: 0 4px 35px 0 rgba(0, 0, 0, 0.45);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

.simple-lightbox.is-open img {
	opacity: 1;
	transform: scale(1);

}

.simple-lightbox-close {
	position: absolute;
	top: 20px;
	right: 25px;
	border: 0;
	background: none;
	color: #fff;
	font-size: 50px;
	line-height: 1;
	cursor: pointer;
}

@media only screen and (min-width: 768px){
	.simple-lightbox {
		padding: 40px;
	}
}


/*HEADER*/

.site-header {
    width: 100%;
}

.site-header .navbar {
    width: 100%;
    padding: 0;
	font-weight:500;
	height:70px;
	background: #FFF;
	box-shadow: 0 4px 35px 0 rgba(0, 0, 0, 0.10);
}

.site-header .container-fluid {
    width: 100%;
}

.header-inner {
    display: flex;
	justify-content: space-between;
    align-items: center;
    width: 100%;
	font-size:.9rem;
}

.primary-navigation-menu,
.header-contact {
    flex: 1;
}



.navbar-brand {
    flex: 0 0 auto;
    margin: -7px 0 0 0;
    padding: 0;
}

.header-logo-image {
    display: block;
    width: auto;
    height: 50px;
}
.primary-navigation-menu {
	display:none;
}
.header-contact {
    display: none;
}

.header-contact a {
    text-decoration: none;
	color:var(--font-color);
}
.header-contact a:hover {
    text-decoration: none;
	color:var(--gold);
}
/* Main menu */

@media only screen and (min-width: 1100px){
	.site-header .navbar {

		height:100px;
	}
	.navbar-brand {
		flex: 0 0 auto;
		margin: -15px 0 0 0;
		padding: 0;
	}
	.header-inner {
		justify-content: normal;
	}
	.header-contact {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		text-align: right;
		font-weight:500;
	}
	.primary-navigation-menu {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.primary-navigation-menu .navbar-nav {
		display: flex;
		flex-direction: row;
		align-items: center;
		margin: 0;
		padding: 0;
		gap: 1rem;
	}

	.primary-navigation-menu .menu-item {
		list-style: none;
	}

	.primary-navigation-menu .menu-item a {
		display: block;
		text-decoration: none;
		color:var(--font-color);
	}
	.primary-navigation-menu .menu-item a:hover {
		display: block;
		text-decoration: none;
		color:var(--gold);
	}	
	.header-logo-image {
		display: block;
		width: auto;
		height: 68px;
	}
}
@media only screen and (min-width: 1300px){
	.header-inner {
		font-size:1rem;
	}
	.primary-navigation-menu .navbar-nav {
		gap: 1.5rem;
	}	
}


/* ----------------------------------------
   Menu Button
---------------------------------------- */



}
.menu-button-container{
	display:flex;
	height:50px;
	width:50px;
}
@media only screen and (min-width: 1100px){
	.menu-button-container{
		display:none;
		height:50px;
		width:50px;
	}
}
.menu-toggle {
    position: relative;
    z-index: 1056;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	
    gap: 6px;

    width: 50px;
    height: 50px;

    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
}

.menu-toggle span {
    display: block;
    width: 28px;
    height: 2px;

    background-color: currentColor;

    transform-origin: center;

    transition:
        transform 0.3s ease,
        opacity 0.2s ease;
}

.menu-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}


/* ----------------------------------------
   OffCanvas
---------------------------------------- */
.offcanvas{
	min-width:100%;
}

.offcanvas-top {
    
	padding: 25px 0 0 30px;
    font-size: 1rem;
    font-weight: 500;
	color:var(--gold);
}
.offcanvas-body{
	padding:30px 30px 50px 30px;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.btn-close{
	font-size:1.3rem;
	opacity:.7;
}
.offcanvas{
	background:#fff;
}
@media only screen and (min-width: 768px){
	.offcanvas{
		min-width:60%;
	}
	.offcanvas-top {
		
		padding: 30px 0 0 50px;
		font-size:1.5rem;
		font-weight:500;
	}
	.offcanvas-body{
		align-content:end;
		padding:50px 50px 50px 50px;
	}	
}
@media only screen and (min-width: 1200px){
	.offcanvas{
		min-width:50%;
	}
}
@media only screen and (min-width: 1540px){
	.offcanvas{
		min-width:40%;
	}
	.offcanvas-body{
		align-content:end;
		padding:50px 50px 100px 50px;
	}	
}
/* ----------------------------------------
   Primary menu
---------------------------------------- */

.primary-menu {
    width: 100%;
}

.primary-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.primary-menu > div > ul {
    display: flex;
    flex-direction: column;
}
.primary-menu a {
    color:var(--blue);
	text-decoration:none;
	font-size:2rem;
	font-weight:600;
}
.primary-menu a:hover {
    color:var(--gold);
	text-decoration:none;
}
.mobile-contact a{
	color:var(--font-color);
	text-decoration:none;
}
.mobile-contact .email{
	margin-bottom:10px;
}
/*HOME PAGE*/

.stays-put {
	position: sticky;
	top: 0;
	min-height: calc(100dvh - 100px);
	z-index: 0;
	overflow: hidden;
	background:var(--blue);
}



.home-banner{
	min-height: calc(100vh - 70px);
    min-height: calc(100svh - 70px);
	background:var(--blue);
	background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
	display: flex;
    align-content: center;
    flex-direction: column;
    justify-content: center;
	position:relative;
}
.banner-logo-image{
	height:180px;
}
.banner-tagline{
	margin-top:50px;
	font-family: 'STIX Two Text', serif;
	text-align:center;
	text-transform:uppercase;
	max-width:200px;
	font-weight:700;
	font-size:1rem;
	color:var(--gold);
}


@media only screen and (min-width: 768px){
	.home-banner{
		min-height: calc(100dvh - 100px);
	}
	.banner-logo-image{
		height:270px;
	}
	.banner-tagline{
		margin-top:70px;
		font-family: 'STIX Two Text', serif;
		text-align:center;
		text-transform:uppercase;
		
		max-width:700px;	
		font-weight:700;
		font-size:1.5rem;
		color:var(--gold);
	}
}


.banner-scroll {
    position: absolute;
    left: 50%;
    bottom: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;

    transform: translateX(-50%);

    color: #fff;
    text-decoration: none;

    animation: banner-scroll-pulse 2s ease-in-out infinite;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.banner-scroll svg {
    display: block;
    width: 56px;
    height: 56px;
}

.banner-scroll path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
}

.banner-scroll:hover {
    transform: translateX(-50%) scale(1.05);
}

@keyframes banner-scroll-pulse {

    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(6px);
    }
}
.scrolls-over {
  position: relative;
  z-index: 1;           /* sits above the pinned section */
  background: #fff;     /* MUST be opaque, or you'll see through it */
   height:100dvh;
}


/*Content Sections*/

.page-title{
	padding:60px 0 0 0;
	text-align:center;
}
.page-title h1{
	font-size:4rem;
}
.standard-page-title{
	
}
.standard-page-title h1{
	font-size:4rem;
}
.content-section{
	padding-top:60px;
	padding-bottom:60px;
}
.our-story .content-section{
	padding-top:40px;
	padding-bottom:40px;
}
.blue-section{
	background:var(--blue);
	color:#fff;
 }
.content-text{
	max-width: 590px;
	
}
.content-text h2{
	font-size:50px;
	margin-bottom:20px;
    line-height: 1.1;
}
.content-text p{
	font-size:1.1rem;
	 margin-bottom: 1.4rem;
}
.right-text{
	padding-left:0px;
}
.certifications-image{
	margin-top:30px;
}
.certifications-image img{	
height:60px;
}
@media only screen and (min-width: 768px){
	.page-title{
		padding:100px 0 0 0;
		text-align:center;
	}
	.content-section{
		padding-top:100px;
		padding-bottom:100px;
	}
	.our-story .content-section{
		padding-top:60px;
		padding-bottom:60px;
	}
	
	.certifications-image{
		margin-top:70px;
	}
}

@media only screen and (min-width: 1200px){
	.right-text{
		padding-left:30px;
	}	
}
@media only screen and (min-width: 1400px){
	.content-text h2{
		font-size:60px;
		margin-bottom:20px;
		line-height: 1.2;
	}	
}


.bespoke-section{
	background:var(--blue);
	color: #fff;
	
}
.products .bespoke-section,
.single-product .bespoke-section{
	background:var(--light-beige);
	color: var(--font-color);
	
}


.bespoke-section a{
	color:var(--gold);
	
}
.bespoke-section h2{
	color:var(--gold);
    text-wrap: balance;
}
.bespoke-section p:last-of-type{
margin-bottom:0;
}
.enquiry-panel{
	background:#fff;
	padding:30px;
	border-radius:0px 30px 0px 30px;
	color:var(--blue);
	font-family: 'STIX Two Text', serif;
	font-weight:bold;
}
.enquiry-panel h3{
		color:var(--blue);
	
}

.products  .enquiry-panel,
.single-product .enquiry-panel{
	background:var(--blue);
	padding:30px;
	border-radius:0px 30px 0px 30px;
	color:#fff;
	font-family: 'STIX Two Text', serif;
	font-weight:bold;
}

.products  .enquiry-panel h3,
.single-product .enquiry-panel h3{
		color:var(--gold);
	
}



.panel-line{
	border-top: 1px solid var(--gold);
	padding-top:10px;
	margin-top:10px;
}
.panel-line-no-border{
	font-family: 'DM Sans', sans serif;
}
.clients-section{
	background:var(--beige);
	
}
.clients-section h2{
	text-align:center;
	font-size:2.7rem;
	color:var(--blue);
	margin-bottom:50px;
}
.quote-marks{
	text-align:center;
}
.quote-marks img{
	height:30px;
	width:auto;
}
.testimonial-text{
	padding:20px 30px;
	text-align:center;
}
.testimonial-name{
	color:var(--blue);
	font-family: 'STIX Two Text', serif;
	font-weight:bold;
	text-align:center;
}
.clients-divider{
	border-top:1px solid var(--gold);
	margin:80px 0 0;
}

.logo-ticker {
    width: 100%;
    overflow: hidden;
    position: relative;
	padding-bottom:120px
}

.logo-ticker__track {
    display: flex;
    width: max-content;
    animation: logo-scroll 60s linear infinite;
}

.logo-ticker__group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 150px;
    padding-right: 150px;
    min-width: 100vw;
    box-sizing: border-box;
}

.logo-ticker__item {
    flex: 0 0 auto;
}

.logo-ticker__image {
    display: block;
    width: auto;
	max-width:190px;
    height: 50px;
    object-fit: contain;
}

@keyframes logo-scroll {
    to {
        transform: translateX(-50%);
    }
}

/* Pause on hover */
.logo-ticker:hover .logo-ticker__track {
    animation-play-state: paused;
}

/* Mobile */
@media (max-width: 767.98px) {
	.logo-ticker__track {
		animation: logo-scroll 20s linear infinite;
	}	
    .logo-ticker__group {
        gap: 50px;
        padding-right: 50px;
    }
	.logo-ticker__image {

		max-width:150px;
		height: 40px;
	}
	.logo-ticker {
		padding-bottom:80px
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .logo-ticker {
        overflow-x: auto;
    }

    .logo-ticker__track {
        animation: none;
    }

    .logo-ticker__group[aria-hidden="true"] {
        display: none;
    }
}

/*OUR STORY*/

.quote-text{
	max-width:520px;
	font-family: 'STIX Two Text', serif;
	font-size:1.5rem;
    line-height: 1.2;
}
.quote-name{
	font-family: 'DM Sans', sans-serif;
	color:var(--gold);
	font-size:1.1rem;
	text-align:right;
	font-weight:bold;
	padding-top:25px;
}
.quote-marks-aligned{
	 display: inline-block;
  height: 45px;
  width: auto;
  vertical-align: -2px;
}


.our-story .beige-section{
	background:var(--beige);
	padding:40px 0;
	margin:40px 0 0 0;
}
.our-story .beige-section h2{
	color:var(--blue);
	text-wrap:balance;
}


/*Products*/

.products{
	margin-top:50px;
}
.products-page-title{
	padding:100px 0 0 0;
	text-align:left;
}
.products-page-title h1{
	font-size:4rem;
}

.products-page-intro{
	font-size:1.2rem;
}
.products-categories-title{
	
}
.products-categories-title h2{
	margin-top:-10px;
	font-size:2.5rem;
	margin-bottom:20px;
}

/* ========================================
   PRODUCT CATEGORY CARDS
======================================== */

.product-category-card {
    position: relative;
    display: block;

    width: 100%;
    aspect-ratio: 3 / 2;

    overflow: hidden;
    isolation: isolate;

    color: #fff;
    text-decoration: none;
    background: #222;
}

/* ========================================
   BACKGROUND IMAGE
======================================== */

.product-category-card__image {
    position: absolute;
    inset: 0;
    z-index: 1;

    overflow: hidden;
}

.product-category-card__image img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;

    transform: scale(1);

    transition: transform 600ms
        cubic-bezier(0.22, 1, 0.36, 1);
}

/* Image zoom on hover */

.product-category-card:hover
.product-category-card__image img {
    transform: scale(1.05);
}

/* ========================================
   GRADIENT OVERLAY
======================================== */

.product-category-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0) 50%
    );

    pointer-events: none;
}

/* ========================================
   CATEGORY CONTENT
======================================== */

.product-category-card__content {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 3;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

/* Category title */

.product-category-card__title {
    margin: 0;

    color: #e5c57a;
    font-family: 'STIX Two Text', serif;
    font-size: 1.8rem;
	text-wrap:balance;
    font-weight: 600;
    line-height: 1.05;
}

/* Product count */

.product-category-card__count {
    flex-shrink: 0;

    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;

    white-space: nowrap;
}

/* ========================================
   HOVER & FOCUS STATES
======================================== */

.product-category-card:hover {
    color: #fff;
    text-decoration: none;
}

.product-category-card:focus-visible {
    outline: 3px solid #e8bd60;
    outline-offset: 3px;
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .product-category-card__content {
        bottom: 15px;
        left: 15px;
        right: 15px;
        gap: 10px;
    }

    .product-category-card__title {
        font-size: clamp(24px, 6vw, 38px);
    }

    .product-category-card__count {
        font-size: 13px;
    }

}

/* ========================================
   REDUCED MOTION
======================================== */

@media (prefers-reduced-motion: reduce) {

    .product-category-card__image img {
        transition: none;
    }

}
/* Product category switcher */
.category-header{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	padding:15px 0;
	margin-bottom:40px;
}
.category-header h2{
	margin-bottom:0;
	font-size:2.5rem;
}
.product-category-switcher {
    width: 100%;
    max-width: 280px;
}

.product-category-switcher .form-select {
    width: 100%;
    cursor: pointer;
}

/* Mobile */

@media (max-width: 767px) {
    .product-category-switcher {
        max-width: 100%;
        margin-top: 20px;
    }
}

.product-card{
	background:#fff;
	padding:20px;
    box-shadow: 0 4px 35px 0 rgba(0, 0, 0, 0.15);
	height:100%;
    margin-bottom: 30px;
	position:relative;
    display: flex;
    flex-direction: column;
}
.product-card h3{
	text-wrap:balance;
}
.product-card .short-description{
	max-width:300px;
	font-size:.9rem;
}
.product-card .bottom-section{
	margin-top: auto;
   
}
.product-card .pack-size-weight{
	font-size:.9rem;
	cursor: help;
	
}
.product-card .portions-serves{
	font-size:.9rem;
	cursor: help;
}
.full-info {
	text-align:right;
}
.full-info a{
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 0 18px 0 20px;
    height: 32px;
    background: var(--gold);
    color: var(--blue);
	letter-spacing:0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    border-radius: 0px 8px 0px 8px;
    transition:
        background-color 0.2s ease,
        filter 0.2s ease,
        color 0.2s ease;
}

.full-info a:hover {
    filter: brightness(1.2);
}
.full-info a i,
.full-info a svg {
    font-size: 1rem;
    transition: transform 0.2s ease;
	padding-left:5px;
}

.full-info a:hover i,
.full-info a:hover svg {
    transform: translateX(4px);
}
.shrink{
	font-size:.9rem;
}



.product-card-no-image .short-description{
	max-width:600px;
	font-size:.9rem;
}
.product-card-no-image {
	
    margin-bottom: 0px;
}



/*Single Product*/
.product-breadcrumbs{
	margin-top:30px;
	font-size:.75rem;
	margin-bottom:0px;
	color:#666;
}




@media only screen and (min-width: 1200px){
/*Single Product*/
	.product-breadcrumbs{
		margin-top:100px;
		font-size:.85rem;
		margin-bottom:30px;
		color:#666;
	}
}




/* ========================================
   PRODUCT GALLERY
======================================== */

.product-gallery {
    position: relative;
    width: 100%;
    min-width: 0;
}

/* ========================================
   MAIN IMAGE VIEWPORT
======================================== */

.product-gallery__viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

/* ========================================
   SLIDING IMAGE TRACK
======================================== */

.product-gallery__track {
    display: flex;
    width: 100%;
    height: 100%;

    transform: translateX(0);
    transition: transform 450ms cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

/* ========================================
   INDIVIDUAL SLIDES
======================================== */

.product-gallery__slide {
    flex: 0 0 100%;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

/* ========================================
   MAIN IMAGES
======================================== */

.product-gallery__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   THUMBNAIL NAVIGATION — DESKTOP
======================================== */

.product-gallery__thumbnails {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 10;

    display: flex;
    align-items: center;
    gap: 10px;
}

/* ========================================
   THUMBNAIL BUTTONS
======================================== */

.product-gallery__thumb {
    display: block;
    flex: 0 0 auto;

    width: 65px;
    aspect-ratio: 3 / 2;

    padding: 0;
    margin: 0;

    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 0;
    background: transparent;

    overflow: hidden;
    cursor: pointer;
    opacity: 0.7;

    transition:
        opacity 200ms ease,
        border-color 200ms ease;
}

/* Thumbnail hover */

.product-gallery__thumb:hover {
    opacity: 1;
}

/* Active thumbnail */

.product-gallery__thumb.is-active {
    opacity: 1;
    border-color: #fff;
}

/* Keyboard accessibility */

.product-gallery__thumb:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* ========================================
   THUMBNAIL IMAGES
======================================== */

.product-gallery__thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   MOBILE — BELOW 768PX
======================================== */

@media (max-width: 767px) {

    /* Move thumbnails below the image */

    .product-gallery__thumbnails {
        position: static;

        display: flex;
        align-items: center;
        gap: 8px;

        margin-top: 12px;
    }

    /* Smaller mobile thumbnails */

    .product-gallery__thumb {
        width: 60px;
        opacity: 0.6;
        border-color: transparent;
    }

    /* Active mobile thumbnail */

    .product-gallery__thumb.is-active {
        opacity: 1;
        border-color: #222;
    }

}

/* ========================================
   REDUCED MOTION
======================================== */

@media (prefers-reduced-motion: reduce) {

    .product-gallery__track {
        transition: none;
    }

    .product-gallery__thumb {
        transition: none;
    }

}





.single-product .product-info{
	margin-left:0px;
		margin-top:30px;
}

.single-product .title h1{
	font-size:3rem;
	text-wrap:balance;
}
.single-product .info{
	padding:20px 15px 15px;
	background:var(--light-beige);
	font-size:.85rem;
    margin: 25px 0 30px;
    border-radius: 0 10px;
}
.single-product .weight-info{
	border-top:1px solid var(--gold);
	border-bottom:1px solid var(--gold);
	padding:10px 0;
    display: grid;
    grid-auto-flow: column;
}
.single-product .portions-serves-info{
	border-bottom:1px solid var(--gold);
	padding:10px 0;
}
.single-product .packaging-supply-info{
	padding-top:15px;
}
.single-product .specification{
	max-width:500px;
	padding:20px;
	background:#fff;
	font-size:.85rem;
    margin:25px 0 0px;
    border-radius: 0 10px;
	box-shadow: 0 4px 35px rgba(0, 0, 0, 0.15);
}
.single-product .specification h4{
	font-size:1.2rem;
}


.single-product .specification a{
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 0 18px 0 20px;
    height: 48px;
	justify-content:center;
	text-align:center;
    background: var(--blue);
    color: var(--gold);
	letter-spacing:0;
    font-size: 18px;
	width:100%;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    border-radius: 0px 8px 0px 8px;
    transition:
        background-color 0.2s ease,
        filter 0.2s ease,
        color 0.2s ease;
}

.single-product .specification a:hover {
    filter: brightness(1.2);
}
.single-product .specification a i,
.single-product .specification a svg {
    font-size: 1rem;
    transition: transform 0.2s ease;
	padding-left:5px;
}

.single-product .specification a:hover i,
.single-product .specification a:hover svg {
    transform: translateX(4px);
}

@media only screen and (min-width: 1200px){
	.single-product .product-info{
		margin-left:15px;
		margin-top:0;
	}
	
	.single-product .specification{
		max-width:380px;
		padding:30px;
		background:#fff;
		font-size:.85rem;
		margin:25px 0 30px;
		border-radius: 0 10px;
		box-shadow: 0 4px 35px rgba(0, 0, 0, 0.15);
	}
	.single-product .specification h4{
		font-size:1.4rem;
	}
}



.quotation{
	background:#fff;
	box-shadow: 0 4px 35px rgba(0, 0, 0, 0.15);
	border-radius:0px 30px 0px 30px;
	margin-bottom:15px;
	padding:20px;
}

.quotation h4
{
	color:var(--blue);
}
.quotation h5
{
	color:var(--blue);
	margin-bottom:0px;
}
.quotation-box{
	
	font-family: 'STIX Two Text', serif;
	background:var(--light-beige);
	border-radius:0px 30px 0px 30px;
	padding:20px 15px;
	text-align:center;
	color:var(--blue);
	font-size:1.15rem;
	font-weight:bold;
	height:inherit;
	margin-bottom:15px;
}
.quotation-box a{
	line-height:1;
}
.quotation-box .email-link {
    overflow-wrap: normal;
    word-break: normal;

}
.quotation-box i{
	font-size:1.6rem;
}
@media only screen and (min-width: 768px){
	.quotation{
		margin-bottom:30px;
		padding:30px;
	}
	.quotation-box{
		padding:30px;
		font-size:1.15rem;
		height:100%;
		margin-bottom:0px;

	}	
}
@media only screen and (min-width: 968px){
	.quotation-box{
		padding:30px;
		font-size:1.3rem;

	}	
}

.single-product .product-card{
	background:#fff;
	padding:10px;
    box-shadow: 0 4px 35px 0 rgba(0, 0, 0, 0.15);
	height:100%;
    margin-bottom: 0px;
	position:relative;
    display: flex;
    flex-direction: column;
	min-height:100px;
}
.single-product .product-card h5{
	font-size:1.2rem;
	line-height:1.1;	
	margin-bottom:0;
}

.single-product .image{
	background:#fff;
	padding:10px;
    box-shadow: 0 4px 35px 0 rgba(0, 0, 0, 0.15);
	height:100%;
    margin-bottom: 0px;
	position:relative;
    display: flex;
    flex-direction: column;
}

.single-product .product-card .short-description{
	font-size:1rem;
	line-height:1.1;
padding-top:10px;	
	margin-bottom:0;
	color:#444!important;
}
.small-product-card-link{
	
	color:#000!important;
}



/* ========================================
   OTHER PRODUCTS
======================================== */

.other-products {
    width: 100%;
}

/* Keep hidden Bootstrap columns hidden */

.other-products__item[hidden] {
    display: none !important;
}

/* ========================================
   PRODUCT IMAGES
======================================== */

.other-products .pop-up-image-3-2 {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.other-products .pop-up-image-3-2 a {
    display: block;
    width: 100%;
    height: 100%;
}

.other-products .pop-up-image-3-2 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   SHOW MORE BUTTON
======================================== */

.other-products__actions {
    display: flex;
    justify-content: center;
	margin-bottom:50px;
}

.other-products__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 12px 28px;

    border: 1px solid #222;
    border-radius: 0;

    background: transparent;
    color: #222;

    font: inherit;
    font-size: 14px;

    cursor: pointer;

    transition:
        background-color 200ms ease,
        color 200ms ease;
}

.other-products__more:hover {
    background: var(--gold);
    color: var(--blue);
}

.other-products__more:focus-visible {
    outline: 2px solid #222;
    outline-offset: 3px;
}

.other-products__more[hidden] {
    display: none !important;
}


.other-products__item.is-revealing {
    animation: otherProductFadeIn 400ms
        cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes otherProductFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .other-products__item.is-revealing {
        animation: none;
    }
}


/*Standards*/
.standards-banner{
	min-height:80dvh;
	display: flex;
    align-content: center;
    flex-direction: column;
    justify-content: center;
	margin-bottom:50px;
}
.standards-banner-container{
	max-width:1060px;
	padding-bottom:0;
}
.standards-banner h1{
	font-size:3rem;
}
.standards-banner .page-intro{
    background: var(--blue);
	padding:30px;
	border-radius:0 30px 0 30px;
	margin:100px 0;
	color:#fff;
}
.standards-banner p{
	font-size:1.2rem;
	max-width:600px;
}
.standards h2{
	margin-top:40px;
	font-size: 2rem;
}
@media only screen and (min-width: 768px){
	.standards-banner .page-intro{
		padding:80px;
	}
	.standards-banner h1{
		font-size:4rem;
	}
}
.standards-container{
	max-width:900px;
	padding-bottom:100px;
}
.standards p{
	font-size:1.1rem;
}
.standards a{
	color:var(--blue);
	font-weight:600;
}
/*CONTACT PAGE*/

.contact{
	padding-top:40px;
}
.contact-details{
	font-size:1.1rem;
	max-width:480px;
}
.contact-details-text{
	padding-bottom:30px;
}
.contact-details a{
	color:var(--font-color);
	text-decoration:none;
}
.contact-details-item{
	border-top:1px solid var(--gold);
	padding:20px 0;
	    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-details-icon {
    flex-shrink: 0;
	align-self:normal;
	min-width:20px;
}

.contact-details-info {
    flex: 1;
    min-width: 0;
}
.contact-map {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 8px;
}

.contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-form{
	background:var(--beige);
	padding:30px;
	border-radius: 0 30px 0 30px;
}
.contact-form h2{
	color:var(--blue);
	text-wrap:balance;
}
.nf-form-fields-required{
	font-size:.8rem;
	font-style:italic;
    padding-bottom: 10px;
}
.nf-field-label .nf-label-span, .nf-field-label label {
    font-weight: 500!important;
    margin: 0;
    padding: 0;
}
.field-wrap .pikaday__container, .field-wrap .pikaday__display, .field-wrap select, .field-wrap textarea, .field-wrap>div input {
    width: 100%;
    min-height: 50px;
	border-radius:4px;
	border:1px solid;
	background:var(--light-beige);
}



/*FOOTER*/
#site-footer{
	padding:50px 0;
	background:var(--blue);
	color:#fff;
}
#site-footer a{
	color:#fff;
	text-decoration:none;
}
#site-footer a:hover,
#site-footer a:active,
#site-footer a:focus
{
	color:var(--gold);
	text-decoration:none;
}
.footer-left{
	font-size:1.2rem;
	font-weight:bold;
}
.footer-left .email{
	display:block;
	padding-bottom:30px;
}
.footer-left .phone{
	display:block;
	padding-left:0px;
	padding-bottom:30px;
}
.footer-right{
	float:left;
}
.footer-divider{
	border-top:1px solid var(--gold);
	margin:40px 0;
}



.social-icons-link{
	display:inline-block;
	margin-left:0px;
	margin-right:20px;
	border:2px solid var(--gold);
	color: var(--gold)!important;
	border-radius:50%;
	height:35px;
	width:35px;
	line-height:35px;
	text-align:center;
	font-size:1.1rem;
}
.social-icons-link:hover,
.social-icons-link:focus,
.social-icons-link:active{
	color: #fff!important;
	border:2px solid #fff;

}
.footer-address{
	margin-bottom:30px;
	font-size:.9rem;
}
.footer-menu{
	min-width:47%;
	font-size:.9rem;
}
.footer-menu-title{
	font-family: 'DM Sans', sans-serif;
	color:#fff;
	font-size:1.5rem;
	margin-bottom:20px;
}
#site-footer ul{
	list-style-type: none;
	padding-left:0;
}
.footer-logo {
	text-align:center;
	padding-bottom:30px;
}
.footer-logo img{
	height:60px;
}
.small-text{
	text-align:center;
	font-size:.75rem;
	padding-bottom:30px;
}
.accreditation{
	text-align:center;
}
.accreditation img{
	height:45px;
}
@media only screen and (min-width: 992px){
	
	.footer-address{
		margin-bottom:0px;
	}
	.footer-menu{
		min-width:200px;
		font-size:.9rem;
	}
	.footer-left{
		font-size:1.3rem;
	}
	.footer-left .email{
		display:inline;
		padding-bottom:0px;
	}
	.footer-left .phone{
		display:inline;
		padding-left:50px;
		padding-bottom:0px;
	}
	.footer-right{
		float:right;
	}

	.social-icons-link{
		display:inline-block;
		margin-left:20px;
		margin-right:0px;
		height:45px;
		width:45px;
		line-height:45px;
		text-align:center;
		font-size:1.3rem;
	}	
	.footer-logo {
		text-align:left;
		padding-bottom:0px;
	}
	.small-text{
		text-align:center;
		font-size:.75rem;
		padding-bottom:0px;
	}
	.accreditation{
		text-align:right;
	}
}
