/* CSS created by David Oldfield / Form+ Ltd */
/* Make a custom fallback font based on the local Arial */
@font-face {
    font-family: "Raleway-fallback";
    size-adjust: 104.1%;
    ascent-override: 82%;
    src: local("Arial");
}


/* raleway-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/raleway/raleway-v29-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* raleway-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/raleway/raleway-v29-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    /* Main */
    --bg: 255, 255, 255;

    --primary: 155, 181, 130;
    --secondary: 200, 225, 204;
    --accent-colour: 224, 240, 227;


    --logo-green: 155, 181, 130;
    --logo-grey: 88, 89, 91;
	
	--bg-grey: 240, 240, 240;

    --card: 242, 242, 242;

    /* Text */
    --primary-text: 17, 17, 17;
    --secondary-text: 34, 34, 34;

    /* Other */
    --border: 221, 221, 221;
    --white: 255, 255, 255;

    /* Border Radiuses */
    --rounded-sm: 4px;
    --rounded: 10px;
    --rounded-lg: 32px;

    --max-screen-width: 1366px;
}

html,
body {
    height: 100%;
}
body {
    padding: 0px;
    margin: 0px;
    font-family: "Raleway", "Raleway-fallback";
    font-weight: 400;
    overflow-x: hidden;
    overflow-y: scroll;
    color: #36444d;
    height: auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
a {
    color: rgba(var(--primary-text), 1);
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    padding: 0px;
    margin: 0px;
    font-weight: 400;
}

h1 {
    font-size: 3.2rem;
    font-weight: 600;
}
h2 {
    font-size: 2.8rem;
    font-weight: 600;
}
h3 {
    font-size: 2.441rem;
}
h4 {
    font-size: 1.953rem;
}
h5 {
    font-size: 1.563rem;
}
h6 {
    font-size: 1.25rem;
}
p {
    font-size: 1rem;
	line-height: 160%;
}
.bold {
	font-weight: 700;
}
small {
    font-size: 0.833rem;
}
.description {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.description.center h2,
.description.center h3,
.description.center h4,
.description.center h5,
.description.center li,
.description.center p {
    text-align: center;
}
.description h2 {
    font-size: 2.441rem;
    margin: 64px 0px 20px 0px;
}
.description h3 {
    font-size: 1.953rem;
    margin: 56px 0px 20px 0px;
}
.description h4 {
    font-size: 1.563rem;
    margin: 48px 0px 16px 0px;
}
.description h5 {
    font-size: 1.25rem;
    margin: 40px 0px 12px 0px;
}
.description ul {
    text-align: center;
    list-style-position: inside;
}
.description li {
    margin-bottom: 8px;
}


img.Sirv {
    height: auto;
    font-size: 0px !important;
}

/* Colours */
.bg_primary {
    background-color: rgba(var(--primary), 100);
}
.bg_secondary {
    background-color: rgba(var(--secondary), 100);
}
.bg_accent {
    background-color: rgba(var(--accent-colour), 100);
}
.bg_card {
    background-color: rgba(var(--card), 100);
}



/* SPLIDE */
.splide {
	border-top: 5px solid #fff;
}
.splide__slide img {
    width: 100%;
    height: 100%;
    width: auto;
    object-fit: cover;
    overflow: hidden;
}
.splide__slide {
    /* opacity: 0.6; */
    border: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
}
.splide__slide.is-active {
    opacity: 1;
}
.center .splide__list {
    justify-content: center;
    align-items:center;
}



.max {
    max-width: var(--max-screen-width);
    margin: 0 auto;
}
.max_content {
    max-width: 1366px;
    margin: 0px auto;
    width: 100%;
    padding: 50px 0px;
}
.inner_sm {
    padding: 16px;
    box-sizing: border-box;
}
.inner {
    box-sizing: border-box;
    padding: 32px;
}
.inner_lg {
    box-sizing: border-box;
    padding: 50px 35px;
}

/* IMAGES LOADING */
img.lazy {
    opacity: 0;
}
img.lazy:not(.initial) {
    transition: opacity 1s;
}
img.lazy.initial,
img.lazy.loaded,
img.lazy.error {
    opacity: 1;
}

img.lazy:not([src]) {
    visibility: hidden;
}
.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c_75 {
    width: 75%;
}
.c_50 {
    width: 50%;
}
.c_25 {
    width: 25%;
}
.c_20 {
    width: 20%;
}
.c_60 {
    width: 60%;
}
/*.wrapper {
    display: flex;
    flex-direction: column;
    gap: 0px;
}*/
.footer {
	font-size: 0.9231rem;
	background-color: rgb(var(--logo-grey))!important;
	color: #fff;
	border-top: 5px solid rgb(var(--logo-green));
}
.footer a {
	color: #fff;
}
.footer .container {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px;
}
.footer .title {
    font-size: 1.3rem;
    margin: 16px 0px 8px 0px;
    /*color: rgba(var(--secondary-text), 1);*/
}
.footer img {
    grid-column: span 2;
    margin: 12px auto 32px auto;
	width: 70%!important;
}
.footer .logo_wrap {
	grid-column:1;
}
.footer .logo_wrap .mobile_only {
    display: none;
}
.footer .list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer a:hover {
    font-weight: 600;
}
.footer .email {
    grid-column: span 4;
    text-align: center;
}
.footer .email a:hover {
    text-decoration: underline;
}

.searchbar_container {
    height: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;}
/*  */
form.searchbar {
    position: absolute;
    right: 12px;
    transition: all 0.2s;
    width: 40px;
    height: 40px;
    background: rgba(var(--card),1);
    box-sizing: border-box;
    border-radius: var(--rounded-sm);
    border: 1px solid rgba(var(--border),1);
    padding: 4px;
}

form.searchbar input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;;
    height: 38px;
    line-height: 28px;
    outline: 0;
    border: 0;
    display: none;
    font-size: 1em;
    border-radius: var(--rounded-sm);
    padding: 4px 38px 4px 12px;
    background-color: rgba(var(--card),1);
}
form.searchbar input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    height: 1em;
    width: 1em;
    border-radius: 50em;
    background: url(https://pro.fontawesome.com/releases/v5.10.0/svgs/solid/times-circle.svg) no-repeat 50% 50%;
    background-size: contain;
    opacity: 0;
    pointer-events: none;
    padding: 0px 4px;
}

form.searchbar input[type="search"]:focus::-webkit-search-cancel-button {
    opacity: .3;
    pointer-events: all;
}

form.searchbar input[type="search"].dark::-webkit-search-cancel-button {
    filter: invert(1);
}

form.searchbar .searchBtn {
    box-sizing: border-box;
    padding: 8px;
    width: 38px;
    height: 38px;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: var(--rounded-sm);
    color: #07051a;
    text-align: center;
    font-size: 1.2em;
    transition: all 0.2s;
}

form.searchbar:hover,
form.searchbar:valid {
    width: 300px;
    cursor: pointer;
    border-radius: var(--rounded-sm);
}

form.searchbar:hover input,
form.searchbar:valid input {
    display: block;
}

form.searchbar:hover .searchBtn,
form.searchbar:valid .searchBtn {
    background: rgba(var(--primary), 1);
    border-radius: var(--rounded-sm);
}
/*  */

/* Navbar container */
.navbar {
    background-color: rgba(var(--logo-grey),1);
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1000;
	border-bottom: 1px solid #fff;
}

.navbar-content {
    margin: 0 auto;
    width: calc(100% - 48px);
    height: 90px;
    max-width: var(--max-screen-width);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
	padding: 16px 0px;
    box-sizing: border-box;
}
.navbar-content .sidebar_toggler {
    display: none;
}
.navbar-content .hamburger_logo {
    display: none;
}
.navbar-content .hamburger_logo a {
    padding: 0px 16px 0px 0px;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.navbar-content .navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.navbar-content .navigation .logo {
    padding-left: 0px;
}
.navbar-content .navigation .logo img {
    /*width: 48px;
    padding: 8px 0px;
    aspect-ratio: 1 / 1;
    object-fit: contain;*/
	width: 48px!important;
	height: auto!important;
	border-radius: 500px;
	padding: 8px!important;
	background-color: #fff;
	border: 2px solid rgb(var(--logo-green))
}
.navbar a, .dropbtn {
    padding: 16px 24px;
    box-sizing: border-box;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(var(--bg),1);
}
.navbar a {
	font-weight: 600;
	border-right: 1px solid rgb(var(--logo-green));
	padding: 4px 24px;
	-webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
}
.navbar a:first-child {
	border-right: none;
}
.navbar a:nth-child(2){
	border-left: 1px solid rgb(var(--logo-green));
}
.navbar a:hover {
	color: rgb(var(--logo-green));
}
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: fixed;
    top: 64px; /* Adjust this value based on the height of your navbar */
    left: 0;
    right: 0;
    background-color: rgba(var(--bg),1);
    box-shadow: 0px 8px 8px 0px rgba(25,25,25,0.1);
    z-index: 999;
}

.dropdown-content-inner {
    margin: 0 auto;
    width: 1366px;
    box-sizing: border-box;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown:hover .dropdown-content {
    display: block;
}

/*--====== Sidebar ======--*/
#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    max-width: 768px;
    width: 100%;
    height: 100%;
    padding: 64px 32px;
    box-sizing: border-box;
    background-color: rgba(var(--bg),1);
    box-shadow: 0 10px 20px -4px rgba(25,25,25,0.5);
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-100%);
    transition: opacity 0.3s ease, visibility 0.2s ease, transform 0.3s ease;
}
.sidebar_content {
    padding: 2.8rem 0;
    /* so that the Sidebar does not get closed while clicking on sidebar_content */
}
.sidebar_content a {
    pointer-events: all;
    /* so that all the a inside sidebar_content are clickable */
}
.sidebar_body {
    border-top: 1px dashed var(--text-color);
    border-bottom: 1px dashed var(--text-color);
}
.side_navlinks ul {
    display: grid;
    gap: 2rem;
}
.side_navlinks li a {
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}
.side_navlinks a:hover {
    opacity: 1;
}


.content {
    flex: 1;
}

.grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(12, 1fr);
}

.row {
    grid-column: span 12;
}

.flex {
	display: flex;
	justify-content: flex-start;
}
.flex.negative {
	margin-left: -10px;
	margin-right: -10px;
}
.flex.negative .inner {
	margin-left: 10px;
	margin-right: 10px;
	padding: 0px!important;
}
.c_33 {
	width: 33.3333%;
}
.retailers img {
	display: block;
	max-width: 100%!important;
    margin-bottom: 10px;
}
.small_title {
	display: block;
	font-size: 1.231rem!important;
	margin-bottom: 20px;
	font-weight: 700;
}
.retailers img {
	border-radius: 10px;
}
/* CARD */
.card {
    border-radius: var(--rounded);
    background-color: rgba(var(--accent-colour), 100);
    overflow: hidden;
	color: rgb(var(--logo-grey));
}
a.card.vertical:hover h3 {
    text-decoration: underline;
}
.card.vertical {
    grid-column: span 4;
    gap: 0px;
}
.card.vertical .text {
    grid-column: 1/13;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    z-index: 2;
    background-color: rgba(var(--accent-colour),1);
}
.card.vertical img {
    grid-column: 1/13;
    height: auto;
    width: 100%;
    object-fit: cover;
    z-index: 1;
}

.card.horizontal {
    grid-column: span 6;
}
.card.horizontal .text {
    grid-column: 1/7;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
}
.card.horizontal img {
    grid-column: 7/13;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.card.horizontal.reversed .text {
    grid-column: 7/13;
}
.card.horizontal.reversed img {
    grid-column: 1/7;
}
.card h3 {
	font-size: 1.563rem;
	font-weight: 600;
}


/* RANGE PREVIEW */
.range_advert {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
    gap: 16px;
    max-width: var(--max-screen-width);
    margin: 0 auto 32px auto;
    background-color: rgba(var(--accent-colour), 100);
    border-radius: var(--rounded-lg);
    overflow:hidden;
}
.range_advert > div:nth-child(1) {
    grid-column: 1/6;
    background-color: #36444d;
}
.range_advert > div:nth-child(2) {
    grid-column: 7/9;
}
.range_advert > div:nth-child(3) {
    grid-column: 10/12;
}
.range_advert .range_item {
    height: 100%;
    overflow: hidden;
    position: relative;
}
.range_advert .range_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.range_advert .range_item div {
    height: 100%;
    width: 100%;
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    align-items: center;
    top: 0px;
    background-color: rgba(var(--logo-grey),0.5);
    color: rgba(var(--bg),1);
}
.range_advert .range_item div button {
    border: solid 2px rgba(var(--logo-grey),1);
    color: rgba(var(--logo-grey),1);
    background-color: rgba(var(--bg),0.75);
}
.range_advert .product_item {
    box-sizing: border-box;
    padding: 32px 0px;
    height: 100%;
    overflow: hidden;
    position: relative;
    display: grid;
    grid-template-rows: auto 48px 40px;
    gap: 8px;
    text-align: center;
}
.range_advert .product_item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: 1 / 1;
}



/* BUTTONS */
/* REMOVE DEFAULT STYLING */
button, input[type="submit"], input[type="reset"] {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}
.btn.sm {
    padding: 4px 8px;
}
.btn {
    padding: 6px 18px;
    font-weight: 600;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.btn.lg {
    padding: 8px 24px;
}
.btn.icon {
    padding: 8px;
    justify-content: center;
    align-items: center;
}

.btn.primary {
    border-radius: var(--rounded-sm);
    overflow: hidden;
    color: rgba(var(--secondary-text),1);
    background-color: rgba(var(--primary), 1);

    transition: all 0.2s ease-in-out;
}
.btn.primary:hover {
    filter: brightness(0.9);
}

.btn.outline {
    border-radius: var(--rounded-sm);
    border: solid 2px rgba(var(--logo-grey),1);
    overflow: hidden;
    color: rgba(var(--logo-grey),1);

    transition: all 0.2s ease-in-out;
}
.btn.outline:hover {
    background-color: rgba(var(--logo-grey),1);
    color: rgba(var(--bg),1);
}
.btn.outline.inverted {
    border-radius: var(--rounded-sm);
    border: solid 2px rgba(var(--bg),1);
    overflow: hidden;
    color: rgba(var(--bg),1);

    transition: all 0.2s ease-in-out;
}
.btn.outline.inverted:hover {
    background-color: rgba(var(--bg),1);
    color: rgba(var(--logo-grey),1);
}
.btn.ghost {
    border-radius: var(--rounded-sm);
    overflow: hidden;
    color: rgba(var(--secondary-text),1);
    background-color: none;

    transition: all 0.2s ease-in-out;
}
.btn.ghost:hover {
    background-color: rgba(var(--primary), 1);
}



/* breadcrumbs */
.mobile_crumb {
    display: none;
}
#breadcrumbs {
}
#breadcrumbs ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
#breadcrumbs span {
    display: inline-block;
    padding: 0px 6px;
}
.row #breadcrumbs span {
    padding-left: 0px;
}
#breadcrumbs a {
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: 300 !important;
    text-decoration: none;
    color: rgba(var(--primary-text), 1);
    padding: 6px 8px;
    transition: all 0.2s ease-in-out;
}
#breadcrumbs a:hover {
    background-color: rgba(var(--primary), 1);
    border-radius: var(--rounded-sm);
}



/* BANNER */
.banner {
    height: 500px;
    width: 100%;
    max-width: 2560px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 64px;
    background-color: rgba(var(--secondary),1);
}
.banner .container {
    height: 100%;
    margin-top: 0px;
    margin-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    justify-content: center;
}
.banner .container .left {
    height: 100%;
    padding: 32px 0px;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: 20px 1fr 20px;
    align-items: center;
}
.banner .container img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.banner.center .content {
    position: absolute;
}
@media only screen and (max-width: 1180px) {
    .banner {
        height: 500px;
    }
}
@media only screen and (max-width: 700px) {
    .banner {
        height: 400px;
    }
}
.text_banner {
    background-color: rgba(var(--accent-colour), 100);
    height: auto;
	
}
.text_banner h1 {
    text-align: center;
    font-size: 3rem;
}
.text_banner .description {
    padding: 0px 10%;
}
.text_banner .description p {
    text-align: center;
}
.banner_hero {
    height: 600px;
    margin: 0px auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px !important;
	border-bottom: 5px solid #fff;
}
.home_page.banner_hero {
    height: 800px;
}
.home_page.banner_hero .hero_splide li img {
    height: 800px;
    max-height: calc(100% - 91px);
}
.banner_hero .hero_splide {
    width: 100%;
    height: 100%;
}
.banner_hero .hero_splide li {
    width: 100%;
    height: 100%;
}
.banner_hero .hero_splide li img {
    object-fit: cover;
}
.banner_hero li img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    filter: brightness(0.70);
}
.banner_hero .overlay {
    padding: 64px;
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.banner_hero .overlay:before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.25);
}
.banner_hero .overlay .text {
    flex: 1;
    gap: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: rgba(var(--bg),1);
	position: relative;
	z-index: 99;
}
.banner_hero .overlay .text h1 {
    font-size: 3.385rem;
}
.banner_hero p {
	font-size: 1.953rem;
	margin: 0px;
	padding: 0px;
}
img.main_logo {
	width: 250px!important;
}
@keyframes bounce-1 {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}
.banner_hero .scroll_down {
    position: absolute;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    color: rgba(var(--bg),1);
    animation-name: bounce-1;
    animation-timing-function: ease-in-out;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    z-index: 99;
}
.banner_hero .scroll_down:hover {
    cursor: pointer;
}
.banner_hero .scroll_down img {
    height: 32px;
    width: 32px;
    -webkit-filter: invert(100%);
    margin: 0px auto;
}


.container {
    max-width: var(--max-screen-width);
    margin: 64px auto;
    width: calc(100% - 48px);
}
.container.reduce {
	margin: 20px auto;
}
.container .inner {
    padding: 64px;
}
.emphasis p {
	font-weight: 600;
	font-size: 1.231rem;
	line-height: 140%;
}
section.container {
	padding: 96px 0px;
}
.bg_grey {
	/*background-color: rgb(var(--logo-grey));
	color: #fff;*/
	max-width: 100%;
	padding:100px 0px!important;
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
}
section.bg_accent .container.header {
    padding-bottom: 0px !important;
}
section {
    width: 100%;
    max-width: 2560px;
    margin: 0px auto !important;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}
section .header {
    text-align: center;
    padding: 0px 64px 64px 64px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
section > .title {
    text-align: center;
    margin-bottom: 48px;
}
.title.smaller {
	font-size: 2.052rem;
}
.seperate {
    margin-top: 64px !important;
    margin-bottom: 64px !important;
}

.intro {
	text-align: center;
	padding-bottom: 50px;
}
.intro p:first-child {
	font-weight: 600;
	font-size: 2.052rem;
}

/* ANIMATIONS */
.animate_hidden {
    opacity: 0;
    filter: blur(2px);
    transform: translateY(20px);
    transition: opacity 0.4s ease-in-out, filter 0.4s ease-in-out, transform 0.4s ease-in-out;
}   
@media(prefers-reduced-motion) {
    .animate_hidden {
        transition: none;
    }   
}
.animate_show {
    opacity: 1;
    filter: blur(0px);
    transform: translateY(0px);
}

.animate_from_left {
    transform: translateX(-100%);
    transition: transform 0.4s ease-in-out;
}   
@media(prefers-reduced-motion) {
    .animate_from_left {
        transition: none;
    }   
}
.animate_from_left_show {
    transform: translateX(0px);
}


.image_cards {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, 1fr);
}
.image_cards .cell {
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: var(--rounded);
    aspect-ratio: 1 / 1;
    padding: 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition-delay: calc(200ms * var(--order));
	justify-content: center;
	text-align: center;
}
.image_cards .cell:hover {
    cursor: pointer;
}
.image_cards .cell p {
    color: rgba(var(--bg),1);
}
.image_cards .cell h3 {
    color: rgba(var(--accent-colour),1);
    font-weight: 600;
	font-size: 2rem;
	color: #fff;
}
.image_cards .cell img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: -1;
    filter: brightness(0.6);
    transform: scale(100%);
    transform-origin: center;
    transition: all 0.4s ease-in-out;
}
.image_cards .cell:hover img {
    transform: scale(105%);
    filter: brightness(0.4);
}
.image_cards .cell div {
    opacity: 0;
    transition: all 0.4s ease-in-out;
    flex: 1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}
.image_cards .cell:hover div {
    opacity: 1;
}



.info_grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}
.info_grid img:nth-child(2) {
    grid-column: 8 / 13;
}
.info_grid img:nth-child(6) {
    grid-column: 1 / 6;
}
.info_grid div:nth-child(1) {
    grid-column: 1 / 8;
}
.info_grid div:nth-child(3) {
    grid-column: 1 / 5;
}
.info_grid div:nth-child(4) {
    grid-column: 5 / 9;
}
.info_grid div:nth-child(5) {
    grid-column: 9 / 13;
}
.info_grid div:nth-child(7) {
    grid-column: 6 / 13;
}

.info_grid img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: var(--rounded);
}
.info_grid div {
    height: 100%;
    width: 100%;
}
.info_card {
    background-color: rgba(var(--card),1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    border-radius: var(--rounded);
}
.info_card img {
    height: 40px;
    width: 40px;
    border-radius: 0px;
    margin-bottom: 8px;
}
.info_card p {
    margin: 0px;
}
.info_card h4 {
	font-weight: 700;
	font-size: 1.563rem;
	display: block;
	padding:15px 30px;
}
.trio_card .info_card {
	display: block;
}
.trio_card .info_card h4 {
	font-size: 1.077rem;
	margin: 0px;
}
.trio_card .info_card p {
	padding-bottom: 0px;
	line-height: 140%;
	font-size: 0.9231rem;
}

/* CHECKBOXES */
/* <div class="checkbox-wrapper-13">
  <input id="c1-13" type="checkbox">
  <label for="c1-13">Checkbox</label>
</div> */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    .checkbox-wrapper-13 input[type=checkbox] {
        --disabled: #F6F8FF;
        --disabled-inner: #E1E6F9;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 21px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0;
        cursor: pointer;
        border: 1px solid var(--bc, rgba(var(--border),1));
        background: var(--b, rgba(var(--bg),1));
        transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    }
    .checkbox-wrapper-13 input[type=checkbox]:after {
        content: "";
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }
    .checkbox-wrapper-13 input[type=checkbox]:checked {
        --b: rgba(var(--primary),1);
        --bc: rgba(var(--primary),1);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }
    .checkbox-wrapper-13 input[type=checkbox]:disabled {
        --b: rgba(var(--border),0.25);
        cursor: not-allowed;
        opacity: 0.9;
    }
    .checkbox-wrapper-13 input[type=checkbox]:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }
    .checkbox-wrapper-13 input[type=checkbox]:disabled + label {
        cursor: not-allowed;
    }
    .checkbox-wrapper-13 input[type=checkbox]:hover:not(:checked):not(:disabled) {
        --bc: rgba(var(--primary),1);
    }
    .checkbox-wrapper-13:hover input[type=checkbox] {
        --bc: rgba(var(--primary),1);
    }
    .checkbox-wrapper-13 input[type=checkbox]:focus {
        box-shadow: 0 0 0 2px rgba(var(--accent-colour),1);
    }
    .checkbox-wrapper-13 input[type=checkbox]:not(.switch) {
        width: 21px;
    }
    .checkbox-wrapper-13 input[type=checkbox]:not(.switch):after {
        opacity: var(--o, 0);
    }
    .checkbox-wrapper-13 input[type=checkbox]:not(.switch):checked {
        --o: 1;
    }
    .checkbox-wrapper-13 input[type=checkbox] + label {
        display: inline-block;
        vertical-align: middle;
        cursor: pointer;
        margin-left: 4px;
    }

    .checkbox-wrapper-13 input[type=checkbox]:not(.switch) {
        border-radius: 7px;
    }
    .checkbox-wrapper-13 input[type=checkbox]:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid rgba(var(--primary-text), 1);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        transform: rotate(var(--r, 20deg));
    }
    .checkbox-wrapper-13 input[type=checkbox]:not(.switch):checked {
        --r: 43deg;
    }
}

.checkbox-wrapper-13 {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
}
.checkbox-wrapper-13 a {
    flex: 1;
    min-height: 23px;
    display: inline-flex;
    align-items: center;
}
.checkbox-wrapper-13 * {
    box-sizing: inherit;
}
.checkbox-wrapper-13 *:before,
.checkbox-wrapper-13 *:after {
    box-sizing: inherit;
}



/* PRODUCT AND FILTERS */
.mobile_filters_bar {
    display: none;
}
.mobile_filters_bar .mobile_filters {
    display: none;
}
.filters_bar {
    margin: 0px 0px 32px 0px;
    grid-column: 1 / 4;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-radius: var(--rounded);
    background-color: rgba(var(--card),1);
    overflow: hidden;
    height: fit-content;
}
.filters_bar .filter_tab {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    font-weight: 600;
    font-size: 1.5rem;
    background-color: rgba(var(--secondary),1);
    padding: 24px;
    border-bottom: thin solid rgba(var(--border));
}
.filters_bar .selector {
    border-bottom: thin solid rgba(var(--border));
    margin: 24px;
}
.filters_bar .selector .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.filters_bar .selector p {
    font-weight: 600;
}
.filters_bar .selector ul {
    padding: 0px;
    margin: 0px 0px 20px 0px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.filters_bar .btn {
    padding: 6px 18px !important;
    width: calc(100% - 48px);
    margin: 0px 24px 24px 24px;
}
.filters_bar .btn.outline {
    font-weight: 600 !important;
}

.container.grid .products_container {
    grid-column: 4 / 13;
    margin: 0px 0px 32px 0px;
    grid-template-rows: max-content;
    row-gap: 40px;
}
.products_container .empty_result {
    grid-column: span 12;
}
/* PRODUCT ITEM */
.product_item {
    grid-column: span 4;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    box-sizing: border-box;
}
.product_item.in_carousel div.product_item_top .image .lifestyle {
    z-index: 2;
    opacity: 1;
}
.product_item.in_carousel div.product_item_top .image:hover .lifestyle {
    opacity: 0;
}
.full_width .product_item {
    grid-column: span 3;
}
.product_item div.product_item_top {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    width: 100%;
}
.product_item div.product_item_top .image {
    width: 100%;
    margin-bottom: 8px;
    overflow: hidden;
    border-radius: var(--rounded);
    position: relative;
    aspect-ratio: 450 / 326;
    background: rgb(245,245,245);
    background: linear-gradient(90deg, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,1) 65%, rgba(245,245,245,1) 100%);
}
a.image {
	padding:20px 0px;
}
.product_item div.product_item_top .image:hover .lifestyle {
    opacity: 1;
}
.product_item div.product_item_top .image .lifestyle {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 4;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
    width: 100%;
    height: 100%;
}
.product_item div.product_item_top .image .main {
    z-index: 1;
    height: 100%;
    width: 100%;
}
.product_item div.product_item_top .image:hover + h3 {
    text-decoration: underline;
}
.product_item div.product_item_top h3 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    max-width: 100%;
    text-align: center;
}
.product_item div.product_item_medium {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 4px;
    max-width: 100%;
    overflow: hidden;
    flex: 1;
}
.product_item div.product_item_medium h2,
.product_item div.product_item_medium span { 
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    height: 21px;
    max-height: 21px;
}
.product_item div.product_item_medium h2 {
    font-size: 0.95rem !important;
    font-weight: 300 !important;
}
.product_item div.product_item_medium span {
    margin: 0px;
    font-size: 0.95rem !important;
}
.product_item div.product_item_bottom {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}
.product_item_bottom .price {
    margin-bottom: 0px;
    font-size: 1.1rem !important;
}
.product_item_bottom .red {
    margin-bottom: 0px;
    font-size: 1.25rem !important;
}
.product_item_bottom .was {
    margin-bottom: 0px;
    font-size: 1.1rem !important;
}
.product_item div.product_item_bottom .btn {
    padding: 8px 20px;
}
.grey_bg .products_container {
    padding: 10px;
    row-gap: 32px;
    margin: 0px -10px;
}
.grey_bg .products_container .product_item {
    background-color: #fff;
    box-shadow: 0px 0px 12px 1px rgba(0, 0, 0, 0.2);
}
.grey_bg .products_container .product_item .product_item_top .trustpilot-ratings,
.grey_bg .products_container .product_item .product_item_top h3,
.grey_bg .products_container .product_item .product_item_medium {
    padding-left: 16px;
    padding-right: 16px;
}
.grey_bg .products_container .product_item .product_item_bottom {
    box-sizing: border-box;
    padding: 0px 16px 16px 16px;
}

/* PAGINATION */
.pagination {
    float: right;
    text-align: right;
}
.pagination span,
.pagination a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    width: 32px;
    height: 32px;
    border: 2px solid rgba(var(--logo-grey),1);
    text-align: center;
    margin-right: 4px;
    border-radius: var(--rounded-sm);
    transition: all 0.2s ease-in-out;
	overflow: hidden
}
.pagination span {
    background-color: #eee;
}
.pagination a:hover,
.pagination a.active {
    border: 2px solid rgba(var(--primary), 100);
    background-color: rgba(var(--primary), 100);
    text-decoration: none;
    font-weight: bold;
}



.image-thumbnail-carousel {
    grid-column: span 13;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.product-container {
    background: linear-gradient(
        to right,
        rgba(var(--card),1) 0%,
        rgba(var(--card),1) 50%,
        rgba(var(--bg),1) 50%,
        rgba(var(--bg),1) 100%
    );
}
.product-info {
    grid-column: span 13;
    border-radius: var(--rounded);
    margin-top: 0px;
    padding-top: 0px;
    margin-bottom: 0px;
    padding-bottom: 0px;
}
.product-info .image-container {
    grid-column: span 6;
}
.product-info .image-container .splide {
    border-top: none !important;
}
.product-info .image-container #main-carousel {
    margin-bottom: 16px;
}
.product-info .image-container #main-carousel .splide__track {
    border-radius: var(--rounded);
}
.product-info .image-container > img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    width: 100%;
}
.product-info .splide__slide img {
    border-radius: var(--rounded);
}
.product-info .info {
    grid-column: span 6;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background-color: rgba(var(--bg),1);
}
.product-info .info h1 {
    font-size: 2.441rem;
}
.product-info .info .trio_card {
    margin: 16px 0px 32px 0px;
}
.product-info .info .trio_card .info_card {
    padding: 16px 16px;
    background-color: rgba(var(--accent-colour),1);
}
.product-info .info .trio_card .info_card h4 {
    padding: 0px;
}
@media only screen and (min-width: 1000px) {
    .product-info .image-container {
        padding-left: 0px !important;
    }
    .product-info .info {
        padding-right: 0px !important;
    }
}
.product-info .info h3 {
    font-weight: 600;
    margin-bottom: 8px;
    color: rgba(var(--secondary-text),1);
}
.product-info .info a {
    color: rgba(var(--secondary-text),1);
    margin-bottom: 24px;
}
.product-info .info section {
    
}
.product-description {
    padding-top: 32px;
}

.product-tech-spec {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 16px;
    row-gap: 16px;
}
#linked_products_carousel {
    padding-top: 16px;
    border-top: none !important;
}
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
    background-color: rgba(var(--card),1);
    cursor: pointer;
    padding: 16px;
    margin-top: 16px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.2s;
    border-radius: var(--rounded);
}
.accordion:after {
    content: '\02795'; /* Unicode character for "plus" sign (+) */
    font-size: 13px;
    color: #777;
    float: right;
    margin-left: 5px;
}
.accordion.active:after {
    content: "\2796"; /* Unicode character for "minus" sign (-) */
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.accordion.active, .accordion:hover {
    background-color: rgba(var(--accent-colour),1);
}
.accordion.active {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

/* Style the accordion panel. Note: hidden by default */
.panel {
    border-bottom-left-radius: var(--rounded);
    border-bottom-right-radius: var(--rounded);
    box-sizing: border-box;
    padding: 0px 16px;
    background-color: rgba(var(--card),1);
    max-height: 0;
    overflow: hidden;
    transition: all 0.2s ease-out;
    display: flex;
    flex-direction: column;
}
.panel p {
    margin: 0px;
}
.panel table th,
.panel table td {
    padding: 8px 0px;
	text-align: left;
}

#featured_products_carousel {
    margin: 32px 0px;
}
#featured_products_carousel .image_overlay {
    position: relative;
}
#featured_products_carousel .image_overlay a {
    padding: 32px;
    box-sizing: border-box;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    color: rgba(var(--bg),1);
    background-color: rgba(0,0,0,0.3);
}
#featured_products_carousel .image_overlay a h4 {
    font-size: 1.4rem;
}
#featured_products_carousel .image_overlay a h3 {
    font-weight: 600;
    font-size: 1.6rem;
}

.trio_card {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.sizes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.sizes p:nth-child(1) {
    margin-bottom: 8px;
    grid-column: span 2;
}

figure.magnifying_area {
	width: 100%;
	height: 100%;
	overflow:hidden;
	position: relative;
    box-sizing: border-box;
    margin: 0px;
}
figure.magnifying_area img{
	max-width: 100%;
	min-width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
	pointer-events: none;
    box-sizing: border-box;
}


/* 
--------------------------------------------------------------------------------------------------------
-----------------------------------   Big Boy Width    --------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
@media only screen and (min-width: 2560px) {

}

/* 
--------------------------------------------------------------------------------------------------------
-----------------------------------   Medium Width    --------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
@media only screen and (max-width: 1366px) {
    .product-info .info .trio_card {
        gap: 0px;
    }
    .product-info .info .trio_card .info_card {
        border-radius: 0px;
    }
    .product-info .info .trio_card .info_card:nth-child(1) {
        border-top-left-radius: var(--rounded);
        border-bottom-left-radius: var(--rounded);
    }
    .product-info .info .trio_card .info_card:nth-child(3) {
        border-top-right-radius: var(--rounded);
        border-bottom-right-radius: var(--rounded);
    }
    .inner_sm {
        padding: 8px;
    }
    .inner {
        padding: 16px;
    }
    .inner_lg {
        padding: 32px;
    }
    .navbar-content {
        width: calc(100% - 48px);
    }
    .container {
        margin: 32px 24px;
        width: calc(100% - 48px);
    }
    .container .inner {
        padding: 32px;
    }
    section .header {
        padding: 0px 32px 32px 32px;
    }
    .image_cards .cell div {
        display: none;
    }
    .banner_hero {
        height: 500px;
    }
    .home_page.banner_hero {
        height: 700px;
    }
    .home_page.banner_hero .hero_splide li img {
        height: 700px;
    }
    .footer .container {
        grid-template-columns: repeat(3, 1fr);
    }
    .footer .logo_wrap {
        grid-column:span 3;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .footer .logo_wrap .lazy:not(.mobile_only) {
        max-height: 100px !important;
        width: auto !important;
    }
    .footer .email {
        grid-column: span 3;
    }
    .product-info {
        margin-top: 0px;
        padding-top: 0px;
    }
}
.order_table {
    margin-top: 40px;
    border: 1px solid #eee;
    border-radius: 10px;
    max-width: 90%;
    overflow: hidden;
} 
.order_table .header {
    background-color: #eee;
}

.flex.negative.order_table .inner {
    padding: 10px!important;
}
.order_table .inner {
    padding: 15px;
}
h3.subtitle {
    margin-top: 35px;
    font-size: 1.538rem;
    font-weight: 700;
}
.qty {
    width: 30px;
    height: 30px;
    display: flex;
    border-radius: 500px;
    border: 1px solid #eee;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.order_table img {
    display: block;
    width: 100%;
}
.order_table .c_20, .order_table .c_60 {
    display: flex;
    align-content: center;
    align-items: center;
}
.mobile_only {
    display: none;
}
/* 
--------------------------------------------------------------------------------------------------------
-----------------------------------   Hamburger Width    --------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
@media only screen and (max-width: 1000px) {
    h1 {
        font-size: 2.4rem;
        font-weight: 600;
    }
    h2 {
        font-size: 2rem;
        font-weight: 600;
    }
    h3 {
        font-size: 1.8rem;
    }
    h4 {
        font-size: 1.6rem;
    }
    h5 {
        font-size: 1.4rem;
    }
    h6 {
        font-size: 1.2rem;
    }

    .image-container {
        grid-column: 1 / 13 !important;
        border-radius: var(--rounded);
    }
    .product-container {
        background: rgba(var(--bg),1);
    }
    .product-info .info .trio_card {
        gap: 8px;
        grid-template-columns: repeat(3, 1fr);
    }
    .product-info .info .trio_card .info_card {
        border-radius: var(--rounded);
    }
    .trio_card {
        grid-template-columns: repeat(1, 1fr);
    }
    .product-info .image-container {
        grid-column: 2 / 12;
        background-color: rgba(var(--card),1);
    }
    .product-info .info {
        grid-column: span 12;
        background: none;
    }
    .product-info {
        margin-top: 0px;
        padding-top: 0px;
    }
    .desktop_only {
        display: none;
    }
    .product-info,
    .image-thumbnail-carousel { 
        grid-column: span 13;
    }
    .full_width .product_item {
        grid-column: span 6;
    }
    #sidebar {
        padding: 64px 24px;
    }
    .searchbar_container {
        display: none;
    }
    .sidebar_head form.searchbar {
        position: relative;
        flex: 1;
        right: 0px;
        left: 0px;
    }
    .sidebar_head form.searchbar {
        width: 100%;
        max-width: none;
        cursor: pointer;
        border-radius: var(--rounded-sm);
    }
    .sidebar_head form.searchbar input {
        display: block;
    }
    .sidebar_head form.searchbar .searchBtn {
        background: rgba(var(--primary), 1);
        border-radius: var(--rounded-sm);
    }

    .navbar-content {
        flex-direction: row-reverse;
    }
    .navbar-content .hamburger_logo {
        display: block;
    }
    .navbar-content .hamburger_logo a {
        justify-content: flex-start;
        align-items: center;
    }
    .navbar-content .hamburger_logo img {
        width: 70%;
        height: auto;
        padding: 8px 0px;
        object-fit: contain;
    }
    .navbar-content .navigation {
        display: none;
    }
    /*---- Sidebar-Toggler ----*/
    .sidebar_toggler {
        width: 40px;
        height: 30px;
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        overflow: hidden;
    }
    .sidebar_toggler span {
        background-color: rgba(var(--bg),1);
        width: 100%;
        height: 3px;
        border-radius: 3px;
        transition: all 0.3s ease;
        pointer-events: none;
        /* so that it doesn't overlap the sidebar_toggler */
    }
    /* when the sidebar has 'show' class */
    #sidebar.show {
        pointer-events: all;
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
    /* if the sidebar has 'show' class then their adjacent-sibling (i.e., sidebar_toggler) will... */
    #sidebar.show + .sidebar_toggler {
        justify-content: center;
    }
    #sidebar.show + .sidebar_toggler span {
        margin-top: -1.2px;
        margin-bottom: -1.2px;
    }
    #sidebar.show + .sidebar_toggler span:first-child {
        transform: rotate(45deg);
    }
    #sidebar.show + .sidebar_toggler span:nth-child(2) {
        opacity: 0;
        transform: translateX(-100%);
    }
    #sidebar.show + .sidebar_toggler span:last-child {
        transform: rotate(-45deg);
    }
    .sidebar_head {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
    }
    .sidebar_head .searchbar {
        max-width: none;
        flex: 1;
    }
    .sidebar_head .btn.ghost.icon {
        aspect-ratio: 1 / 1;
    }

    .product_item div.product_item_top .image .lifestyle {
        z-index: 2;
        opacity: 1;
    }
    .product_item div.product_item_top .image:hover .lifestyle {
        opacity: 0;
    }

    .container.grid .filters_bar {
        grid-column: 1 / 5;
    }
    .container.grid .products_container {
        grid-column: 5 / 13;
    }
    /* PRODUCT ITEM */
    .product_item {
        grid-column: span 6;
    }
    .image_cards {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }
    .image_cards .cell {
        justify-content: center;
        align-items: center;
    }
    .image_cards .cell h3 {
        text-align: center;
    }
    .info_grid {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 0px;
    }
    .info_grid img,
    .info_grid div {
        grid-column: 1 / 13 !important;
    }
    .info_grid .info_card img {
        margin-bottom: 0px;
    }
    .info_grid img:nth-child(2) {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        margin-bottom: 16px;
    }
    .info_grid img:nth-child(6) {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
    .info_grid div:nth-child(1) {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
    .info_grid div:nth-child(3),
    .info_grid div:nth-child(4) {
        margin-bottom: 8px;
    }
    .info_grid div:nth-child(5) {
        margin-bottom: 16px;
    }
    .info_grid div:nth-child(7) {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }
    .banner_hero {
        height: 400px;
    }
    .home_page.banner_hero {
        height: 600px;
    }
    .home_page.banner_hero .hero_splide li img {
        height: 600px;
    }
}





/* 
--------------------------------------------------------------------------------------------------------
-----------------------------------   Mobile Width    --------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
@media only screen and (max-width: 768px) {
    h1 {
        font-size: 2.2rem;
        font-weight: 600;
    }
    h2 {
        font-size: 1.9rem;
        font-weight: 600;
    }
    h3 {
        font-size: 1.75rem;
    }
    h4 {
        font-size: 1.5rem;
    }
    h5 {
        font-size: 1.35rem;
    }
    h6 {
        font-size: 1.2rem;
    }
    section.container {
        padding: 48px 0px;
    }

    .product-info .image-container,
    .product-info .info {
        padding: 0px !important;
    }
    .product-info .image-container {
        background-color: rgba(var(--bg),1);
        margin-bottom: 16px;
    }
    .product-info .image-container #main-carousel {
        border-radius: var(--rounded);
        background-color: rgba(var(--card),1);
    }
    .product-info .info .trio_card {
        grid-template-columns: repeat(1, 1fr);
    }
    .product-info {
        margin-top: 0px !important;
        padding-top: 0px !important;
    }
    .banner_hero {
        height: 300px;
    }
    .banner_hero .hero_splide li img {
        height: 400px;
    }
    .not_mobile_crumb {
        display: none;
    }
    .mobile_crumb {
        display: inline-block;
    }
    #breadcrumbs {
        padding: 0px !important;
    }
    .content #breadcrumbs {
        padding-left: 0% !important;
        padding-right: 0% !important;
    }
    #breadcrumbs span {
        padding: 0px 10px;
    }
    
    .banner {
        height: auto;
    }
    .banner .container {
        width: 100%;
        height: 100%;
        margin: 0px;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(2. auto);
        align-items: center;
        justify-content: center;
    }
    .banner .container .left {
        order: 2;
        padding: 32px 16px;
    }
    .banner .container img {
        order: 1;
    }

    .mobile_filters_bar {
        grid-column: span 12;
        display: flex;
    }
    .mobile_filters_bar .mobile_filters_btn {
        flex: 1;
    }
    .mobile_filters_bar .mobile_filters {
        overflow-y: scroll;
        transition: right 0.25s ease-in-out;
        position: fixed;
        top: 0px;
        bottom: 0px;
        right: 100vw;
        width: 100%;
        padding: 77px 0px 0px 0px;
        box-sizing: border-box;
        background-color: rgba(var(--card),1);
        display: block;
        z-index: 99;
        opacity: 0;
    }
    .mobile_filters_bar.open .mobile_filters {
        right: 0px !important;
        opacity: 1;
    }
    .mobile_filters_bar .mobile_filters .filters_bar {
        display: flex !important;
        border-radius: 0px !important;
    }
    .mobile_filters_bar .mobile_filters .filter_tab .btn.ghost {
        margin: 0px;
        width: auto;
        padding: 8px !important;
    }
    .container.grid .filters_bar {
        grid-column: 0;
        display: none;
    }
    .container.grid .products_container {
        grid-column: 1 / 13;
    }
    /* PRODUCT ITEM */
    .product_item {
        grid-column: span 6;
    }
    .full_width .product_item {
        grid-column: span 13;
    }
    .card.vertical {
        grid-column: span 13;
        margin-left: 16px;
        margin-right: 16px;
    }
    .default_splide img {
        width: 100vw;
        height: 100%;
        object-fit: cover;
    }
    .home_page.banner_hero {
        height: 450px;
    }
    .home_page.banner_hero .hero_splide li img {
        height: 450px;
    }
    .banner_hero .overlay {
        padding: 32px;
    }
    .banner_hero .overlay .text h1 {
        font-size: 3.8rem;
    }
    .banner_hero.home_page .overlay .text h1 {
        display: none;
    }
    .banner_hero.home_page .overlay .text p {
        text-align: center;
    }
    .banner_hero:not(.home_page) .overlay .text p {
        display: none;
    }
    .footer .container {
        grid-template-columns: repeat(1, 1fr);
    }
    .footer .logo_wrap {
        grid-column: span 1;
    }
    .footer .logo_wrap .mobile_only {
        height: auto;
        width: 80px !important;
        display: block;
    }
    .footer .logo_wrap .lazy:not(.mobile_only) {
        display: none;
    }
    .footer .list {
        justify-content: center;
        text-align: center;
    }
    .footer .email {
        grid-column: span 1;
    }
    .text_banner .description {
        padding: 0px !important;
    }
    .text_banner h1 {
        font-size: 2.4rem;
    }
    .intro p:first-child, .banner_hero p {
        line-height:125%;
    }
    .pagination span, .pagination a {
        padding: 2px;
        width: 28px;
        height: 28px;
    }
    .max_content {
        padding-left: 5%;
        padding-right: 5%;
        width: 90%;
    }
    .order_table {
        max-width: 100%;
    }
    .c_25, .c_75 {
        width: 100%;
    }
    .mobile_only {
        display: block;
        padding-top: 5px;
    }
    .mobile_hide {
        display: none!important;
    }
    .c_20 {
        width: 30%;
    }
    .c_60 {
        width: 70%;
    }
}

/* 
--------------------------------------------------------------------------------------------------------
-----------------------------------   Small Mobile Width    --------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
@media only screen and (max-width: 600px) {
    .banner_hero {
        height: 300px;
    }
    .banner_hero .hero_splide li img {
        height: 400px;
    }
    /* PRODUCT ITEM */
    .product_item {
        grid-column: span 13;
    }
    .image_cards {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(4, 1fr);
    }
    #featured_products_carousel .image_overlay a {
        display: none;
    }
    .sizes {
        grid-template-columns: 1fr;
    }
    .sizes p:nth-child(1) {
        grid-column: span 1;
    }
}