:root {
	--font-from-0: 12;
	--font-to-0: 14;
	--vw-from-0: calc(1 / 100);
	--vw-to-0: calc(479 / 100);
	--coefficient-0: calc((var(--font-to-0) - var(--font-from-0)) / (var(--vw-to-0) - var(--vw-from-0)));
	--base-0: calc((var(--font-from-0) - var(--vw-from-0) * var(--coefficient-0)) / 16);
	--font-from-1: 14;
	--font-to-1: 16;
	--vw-from-1: calc(479 / 100);
	--vw-to-1: calc(1440 / 100);
	--coefficient-1: calc((var(--font-to-1) - var(--font-from-1)) / (var(--vw-to-1) - var(--vw-from-1)));
	--base-1: calc((var(--font-from-1) - var(--vw-from-1) * var(--coefficient-1)) / 16);
	--font-from-2: 16;
	--font-to-2: 18;
	--vw-from-2: calc(1440 / 100);
	--vw-to-2: calc(1920 / 100);
	--coefficient-2: calc((var(--font-to-2) - var(--font-from-2)) / (var(--vw-to-2) - var(--vw-from-2)));
	--base-2: calc((var(--font-from-2) - var(--vw-from-2) * var(--coefficient-2)) / 16);
	--font-from-3: 18;
	--font-to-3: 20;
	--vw-from-3: calc(1920 / 100);
	--vw-to-3: calc(2400 / 100);
	--coefficient-3: calc((var(--font-to-3) - var(--font-from-3)) / (var(--vw-to-3) - var(--vw-from-3)));
	--base-3: calc((var(--font-from-3) - var(--vw-from-3) * var(--coefficient-3)) / 16);
}

html {
	font-size: calc(var(--base-3) * 1rem + var(--coefficient-3) * 1vw);
}

@media screen and (max-width:1920px) {
	html {
		font-size: calc(var(--base-2) * 1rem + var(--coefficient-2) * 1vw);
	}
}

@media screen and (max-width:1440px) {
	html {
		font-size: calc(var(--base-1) * 1rem + var(--coefficient-1) * 1vw);
	}
}

@media screen and (max-width:479px) {
	html {
		font-size: calc(var(--base-0) * 1rem + var(--coefficient-0) * 1vw);
	}
}

:root {
	--gap-0: 0;
	--gap-tiny: 0.25rem;
	--gap-xxsmall: 0.5rem;
	--gap-xsmall: 1rem;
	--gap-small: 1.25rem;
	--gap-medium: 1.75rem;
	--gap-xmedium: 2.25rem;
	--gap-large: 3rem;
	--gap-xlarge: 4.25rem;
	--gap-xxlarge: 5.5rem;
	--gap-huge: 7rem;
	--gap-xhuge: 9.5rem;
	--gap-xxhuge: 11.25rem;
	--gap-xxxhuge: 14.5rem;
}

/* Tablet and below */
@media screen and (max-width: 991px) {
	:root {
		--gap-medium: 1.5rem;
		--gap-xmedium: 1.75rem;
		--gap-large: 2.5rem;
		--gap-xlarge: 3.25rem;
		--gap-xxlarge: 4rem;
		--gap-huge: 5.5rem;
		--gap-xhuge: 7rem;
		--gap-xxhuge: 8rem;
		--gap-xxxhuge: 10rem;
	}
}

/* Mobile landscape and below */
@media screen and (max-width: 767px) {
	:root {
		--gap-medium: 1.25rem;
		--gap-xmedium: 1.5rem;
		--gap-large: 2rem;
		--gap-xlarge: 2.5rem;
		--gap-xxlarge: 3rem;
		--gap-huge: 4rem;
		--gap-xhuge: 5rem;
		--gap-xxhuge: 6rem;
		--gap-xxxhuge: 7.5rem;
	}
}

.padding-0 {
	padding: var(--gap-0);
}

.padding-tiny {
	padding: var(--gap-tiny);
}

.padding-xxsmall {
	padding: var(--gap-xxsmall);
}

.padding-xsmall {
	padding: var(--gap-xsmall);
}

.padding-small {
	padding: var(--gap-small);
}

.padding-medium {
	padding: var(--gap-medium);
}

.padding-xmedium {
	padding: var(--gap-xmedium);
}

.padding-large {
	padding: var(--gap-large);
}

.padding-xlarge {
	padding: var(--gap-xlarge);
}

.padding-xxlarge {
	padding: var(--gap-xxlarge);
}

.padding-huge {
	padding: var(--gap-huge);
}

.padding-xhuge {
	padding: var(--gap-xhuge);
}

.padding-xxhuge {
	padding: var(--gap-xxhuge);
}

.padding-xxxhuge {
	padding: var(--gap-xxxhuge);
}

/* Overwrite classes for combo */
.padding-top {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0;
}

.padding-bottom {
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
}

.padding-left {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
}

.padding-right {
	padding-top: 0;
	padding-left: 0;
	padding-bottom: 0;
}

.padding-horizontal {
	padding-top: 0;
	padding-bottom: 0;
}

.padding-vertical {
	padding-left: 0;
	padding-right: 0;
}

.margin-0 {
	margin: var(--gap-0);
}

.margin-tiny {
	margin: var(--gap-tiny);
}

.margin-xxsmall {
	margin: var(--gap-xxsmall);
}

.margin-xsmall {
	margin: var(--gap-xsmall);
}

.margin-small {
	margin: var(--gap-small);
}

.margin-medium {
	margin: var(--gap-medium);
}

.margin-xmedium {
	margin: var(--gap-xmedium);
}

.margin-large {
	margin: var(--gap-large);
}

.margin-xlarge {
	margin: var(--gap-xlarge);
}

.margin-xxlarge {
	margin: var(--gap-xxlarge);
}

.margin-huge {
	margin: var(--gap-huge);
}

.margin-xhuge {
	margin: var(--gap-xhuge);
}

.margin-xxhuge {
	margin: var(--gap-xxhuge);
}

.margin-xxxhuge {
	margin: var(--gap-xxxhuge);
}

.margin-auto {
	margin: auto;
}

/* Overwrite classes for combo */
.margin-top {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0;
}

.margin-bottom {
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}

.margin-left {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
}

.margin-right {
	margin-top: 0;
	margin-left: 0;
	margin-bottom: 0;
}

.margin-horizontal {
	margin-top: 0;
	margin-bottom: 0;
}

.margin-vertical {
	margin-left: 0;
	margin-right: 0;
}

/* Gap classes */
.gap-0 {
	gap: var(--gap-0);
}

.gap-tiny {
	gap: var(--gap-tiny);
}

.gap-xxsmall {
	gap: var(--gap-xxsmall);
}

.gap-xsmall {
	gap: var(--gap-xsmall);
}

.gap-small {
	gap: var(--gap-small);
}

.gap-medium {
	gap: var(--gap-medium);
}

.gap-xmedium {
	gap: var(--gap-xmedium);
}

.gap-large {
	gap: var(--gap-large);
}

.gap-xlarge {
	gap: var(--gap-xlarge);
}

.gap-xxlarge {
	gap: var(--gap-xxlarge);
}

.gap-huge {
	gap: var(--gap-huge);
}

.gap-xhuge {
	gap: var(--gap-xhuge);
}

.gap-xxhuge {
	gap: var(--gap-xxhuge);
}

.gap-xxxhuge {
	gap: var(--gap-xxxhuge);
}

.row-gap-0 {
	row-gap: var(--gap-0);
}

.row-gap-tiny {
	row-gap: var(--gap-tiny);
}

.row-gap-xxsmall {
	row-gap: var(--gap-xxsmall);
}

.row-gap-xsmall {
	row-gap: var(--gap-xsmall);
}

.row-gap-small {
	row-gap: var(--gap-small);
}

.row-gap-medium {
	row-gap: var(--gap-medium);
}

.row-gap-xmedium {
	row-gap: var(--gap-xmedium);
}

.row-gap-large {
	row-gap: var(--gap-large);
}

.row-gap-xlarge {
	row-gap: var(--gap-xlarge);
}

.row-gap-xxlarge {
	row-gap: var(--gap-xxlarge);
}

.row-gap-huge {
	row-gap: var(--gap-huge);
}

.row-gap-xhuge {
	row-gap: var(--gap-xhuge);
}

.row-gap-xxhuge {
	row-gap: var(--gap-xxhuge);
}

.row-gap-xxxhuge {
	row-gap: var(--gap-xxxhuge);
}

.col-gap-0 {
	column-gap: var(--gap-0);
}

.col-gap-tiny {
	column-gap: var(--gap-tiny);
}

.col-gap-xxsmall {
	column-gap: var(--gap-xxsmall);
}

.col-gap-xsmall {
	column-gap: var(--gap-xsmall);
}

.col-gap-small {
	column-gap: var(--gap-small);
}

.col-gap-medium {
	column-gap: var(--gap-medium);
}

.col-gap-xmedium {
	column-gap: var(--gap-xmedium);
}

.col-gap-large {
	column-gap: var(--gap-large);
}

.col-gap-xlarge {
	column-gap: var(--gap-xlarge);
}

.col-gap-xxlarge {
	column-gap: var(--gap-xxlarge);
}

.col-gap-huge {
	column-gap: var(--gap-huge);
}

.col-gap-xhuge {
	column-gap: var(--gap-xhuge);
}

.col-gap-xxhuge {
	column-gap: var(--gap-xxhuge);
}

.col-gap-xxxhuge {
	column-gap: var(--gap-xxxhuge);
}

.col-auto {
	grid-column: auto;
}

.col-span-1 {
	grid-column: span 1 / span 1;
}

.col-span-2 {
	grid-column: span 2 / span 2;
}

.col-span-3 {
	grid-column: span 3 / span 3;
}

.col-span-4 {
	grid-column: span 4 / span 4;
}

.col-span-5 {
	grid-column: span 5 / span 5;
}

.col-span-6 {
	grid-column: span 6 / span 6;
}

.col-span-7 {
	grid-column: span 7 / span 7;
}

.col-span-8 {
	grid-column: span 8 / span 8;
}

.col-span-9 {
	grid-column: span 9 / span 9;
}

.col-span-10 {
	grid-column: span 10 / span 10;
}

.col-span-11 {
	grid-column: span 11 / span 11;
}

.col-span-12 {
	grid-column: span 12 / span 12;
}

.row-auto {
	grid-row: auto;
}

.row-span-1 {
	grid-row: span 1 / span 1;
}

.row-span-2 {
	grid-row: span 2 / span 2;
}

.row-span-3 {
	grid-row: span 3 / span 3;
}

.col-span-full {
	grid-column: 1 / -1;
}

.col-start-1 {
	grid-column-start: 1;
}

.col-start-2 {
	grid-column-start: 2;
}

.col-start-3 {
	grid-column-start: 3;
}

.col-start-4 {
	grid-column-start: 4;
}

.col-start-5 {
	grid-column-start: 5;
}

.col-start-6 {
	grid-column-start: 6;
}

.col-start-7 {
	grid-column-start: 7;
}

.col-start-8 {
	grid-column-start: 8;
}

.col-start-9 {
	grid-column-start: 9;
}

.col-start-10 {
	grid-column-start: 10;
}

.col-start-11 {
	grid-column-start: 11;
}

.col-start-12 {
	grid-column-start: 12;
}

.row-start-auto {
	grid-row-start: auto;
}

.row-start-1 {
	grid-row-start: 1;
}

.row-start-2 {
	grid-row-start: 2;
}

/* Mobile Landscape */
@media screen and (min-width: 480px) {
	.ml-col-auto {
		grid-column: auto;
	}

	.ml-col-span-1 {
		grid-column: span 1 / span 1;
	}

	.ml-col-span-2 {
		grid-column: span 2 / span 2;
	}

	.ml-col-span-3 {
		grid-column: span 3 / span 3;
	}

	.ml-col-span-4 {
		grid-column: span 4 / span 4;
	}

	.ml-col-span-5 {
		grid-column: span 5 / span 5;
	}

	.ml-col-span-6 {
		grid-column: span 6 / span 6;
	}

	.ml-col-span-7 {
		grid-column: span 7 / span 7;
	}

	.ml-col-span-8 {
		grid-column: span 8 / span 8;
	}

	.ml-col-span-9 {
		grid-column: span 9 / span 9;
	}

	.ml-col-span-10 {
		grid-column: span 10 / span 10;
	}

	.ml-col-span-11 {
		grid-column: span 11 / span 11;
	}

	.ml-col-span-12 {
		grid-column: span 12 / span 12;
	}

	.ml-row-auto {
		grid-row: auto;
	}

	.ml-row-span-1 {
		grid-row: span 1 / span 1;
	}

	.ml-row-span-2 {
		grid-row: span 2 / span 2;
	}

	.ml-row-span-3 {
		grid-row: span 3 / span 3;
	}

	.ml-col-span-full {
		grid-column: 1 / -1;
	}

	.ml-col-start-1 {
		grid-column-start: 1;
	}

	.ml-col-start-2 {
		grid-column-start: 2;
	}

	.ml-col-start-3 {
		grid-column-start: 3;
	}

	.ml-col-start-4 {
		grid-column-start: 4;
	}

	.ml-col-start-5 {
		grid-column-start: 5;
	}

	.ml-col-start-6 {
		grid-column-start: 6;
	}

	.ml-col-start-7 {
		grid-column-start: 7;
	}

	.ml-col-start-8 {
		grid-column-start: 8;
	}

	.ml-col-start-9 {
		grid-column-start: 9;
	}

	.ml-col-start-10 {
		grid-column-start: 10;
	}

	.ml-col-start-11 {
		grid-column-start: 11;
	}

	.ml-col-start-12 {
		grid-column-start: 12;
	}

	.ml-row-start-auto {
		grid-row-start: auto;
	}

	.ml-row-start-1 {
		grid-row-start: 1;
	}

	.ml-row-start-2 {
		grid-row-start: 2;
	}
}

/* Tablet CSS */
@media screen and (min-width: 768px) {
	.tb-col-auto {
		grid-column: auto;
	}

	.tb-col-span-1 {
		grid-column: span 1 / span 1;
	}

	.tb-col-span-2 {
		grid-column: span 2 / span 2;
	}

	.tb-col-span-3 {
		grid-column: span 3 / span 3;
	}

	.tb-col-span-4 {
		grid-column: span 4 / span 4;
	}

	.tb-col-span-5 {
		grid-column: span 5 / span 5;
	}

	.tb-col-span-6 {
		grid-column: span 6 / span 6;
	}

	.tb-col-span-7 {
		grid-column: span 7 / span 7;
	}

	.tb-col-span-8 {
		grid-column: span 8 / span 8;
	}

	.tb-col-span-9 {
		grid-column: span 9 / span 9;
	}

	.tb-col-span-10 {
		grid-column: span 10 / span 10;
	}

	.tb-col-span-11 {
		grid-column: span 11 / span 11;
	}

	.tb-col-span-12 {
		grid-column: span 12 / span 12;
	}

	.tb-row-auto {
		grid-row: auto;
	}

	.tb-row-span-1 {
		grid-row: span 1 / span 1;
	}

	.tb-row-span-2 {
		grid-row: span 2 / span 2;
	}

	.tb-row-span-3 {
		grid-row: span 3 / span 3;
	}

	.tb-col-span-full {
		grid-column: 1 / -1;
	}

	.tb-col-start-1 {
		grid-column-start: 1;
	}

	.tb-col-start-2 {
		grid-column-start: 2;
	}

	.tb-col-start-3 {
		grid-column-start: 3;
	}

	.tb-col-start-4 {
		grid-column-start: 4;
	}

	.tb-col-start-5 {
		grid-column-start: 5;
	}

	.tb-col-start-6 {
		grid-column-start: 6;
	}

	.tb-col-start-7 {
		grid-column-start: 7;
	}

	.tb-col-start-8 {
		grid-column-start: 8;
	}

	.tb-col-start-9 {
		grid-column-start: 9;
	}

	.tb-col-start-10 {
		grid-column-start: 10;
	}

	.tb-col-start-11 {
		grid-column-start: 11;
	}

	.tb-col-start-12 {
		grid-column-start: 12;
	}

	.tb-row-start-auto {
		grid-row-start: auto;
	}

	.tb-row-start-1 {
		grid-row-start: 1;
	}

	.tb-row-start-2 {
		grid-row-start: 2;
	}
}

/* Base Breakpoint */
@media screen and (min-width: 992px) {
	.b-col-auto {
		grid-column: auto;
	}

	.b-col-span-1 {
		grid-column: span 1 / span 1;
	}

	.b-col-span-2 {
		grid-column: span 2 / span 2;
	}

	.b-col-span-3 {
		grid-column: span 3 / span 3;
	}

	.b-col-span-4 {
		grid-column: span 4 / span 4;
	}

	.b-col-span-5 {
		grid-column: span 5 / span 5;
	}

	.b-col-span-6 {
		grid-column: span 6 / span 6;
	}

	.b-col-span-7 {
		grid-column: span 7 / span 7;
	}

	.b-col-span-8 {
		grid-column: span 8 / span 8;
	}

	.b-col-span-9 {
		grid-column: span 9 / span 9;
	}

	.b-col-span-10 {
		grid-column: span 10 / span 10;
	}

	.b-col-span-11 {
		grid-column: span 11 / span 11;
	}

	.b-col-span-12 {
		grid-column: span 12 / span 12;
	}

	.b-row-auto {
		grid-row: auto;
	}

	.b-row-span-1 {
		grid-row: span 1 / span 1;
	}

	.b-row-span-2 {
		grid-row: span 2 / span 2;
	}

	.b-row-span-3 {
		grid-row: span 3 / span 3;
	}

	.b-col-span-full {
		grid-column: 1 / -1;
	}

	.b-col-start-1 {
		grid-column-start: 1;
	}

	.b-col-start-2 {
		grid-column-start: 2;
	}

	.b-col-start-3 {
		grid-column-start: 3;
	}

	.b-col-start-4 {
		grid-column-start: 4;
	}

	.b-col-start-5 {
		grid-column-start: 5;
	}

	.b-col-start-6 {
		grid-column-start: 6;
	}

	.b-col-start-7 {
		grid-column-start: 7;
	}

	.b-col-start-8 {
		grid-column-start: 8;
	}

	.b-col-start-9 {
		grid-column-start: 9;
	}

	.b-col-start-10 {
		grid-column-start: 10;
	}

	.b-col-start-11 {
		grid-column-start: 11;
	}

	.b-col-start-12 {
		grid-column-start: 12;
	}

	.b-row-start-auto {
		grid-row-start: auto;
	}

	.b-row-start-1 {
		grid-row-start: 1;
	}

	.b-row-start-2 {
		grid-row-start: 2;
	}
}

.flex {
	display: flex;
}

.flex-row {
	flex-direction: row;
}

.flex-col {
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-nowrap {
	flex-wrap: nowrap;
}

.flex-1 {
	flex: 1;
}

.justify-start {
	justify-content: flex-start;
}

.justify-end {
	justify-content: flex-end;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.justify-around {
	justify-content: space-around;
}

.justify-evenly {
	justify-content: space-evenly;
}

.items-start {
	align-items: flex-start;
}

.items-center {
	align-items: center;
}

.items-end {
	align-items: flex-end;
}

.items-baseline {
	align-items: baseline;
}

.items-stretch {
	align-items: stretch;
}

.justify-self-auto {
	justify-self: auto;
}

.justify-self-start {
	justify-self: start;
}

.justify-self-end {
	justify-self: end;
}

.justify-self-center {
	justify-self: center;
}

.justify-self-stretch {
	justify-self: stretch;
}

.align-self-auto {
	align-self: auto;
}

.align-self-start {
	align-self: flex-start;
}

.align-self-end {
	align-self: flex-end;
}

.align-self-center {
	align-self: center;
}

.align-self-stretch {
	align-self: stretch;
}

.align-self-baseline {
	align-self: baseline;
}

:root {
	--color-black: #000;
	--color-white: #fff;
	--color-red: #DC0032;
	--color-grey: #3C3C3C;
}

/* All underlines below the descender */
* {
	text-underline-position: under;
}

/* Snippet gets rid of top margin on first element in any rich text*/
.w-richtext>:first-child {
	margin-top: 0;
}

/* Snippet gets rid of bottom margin on last element in any rich text*/
.w-richtext>:last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
	margin-bottom: 0;
}

/* Snippet prevents all click and hover interaction with an element */
.clickable-off {
	pointer-events: none;
}

/* Snippet enables all click and hover interaction with an element */
.clickable-on {
	pointer-events: auto;
}

/* Snippet enables you to add class of div-square which creates and maintains a 1:1 dimension of a div.*/
.div-square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

/*Hide focus outline for main content element*/
main:focus-visible {
	outline: -webkit-focus-ring-color auto 0px;
}

/* Make sure containers never lose their center alignment*/
.container-medium,
.container-small,
.container-large {
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Reset buttons, and links styles */
a {
	color: inherit;
	text-decoration: inherit;
	font-size: inherit;
}

/* Specific text links that have underline on hover */
.nav-menu_component a,
.cart-popout_component a,
footer a {
	text-decoration: underline solid transparent;
	transition: text-decoration 300ms ease;
}

.nav-menu_component a:hover,
footer a:hover {
	text-decoration: underline solid currentColor;
}

/*Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/*Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.divider {
	background-color: currentColor;
}

/* Media */
.media-wrapper>img {
	width: 100%;
	height: 100%;
}

/* Button */
.button-text {
	color: inherit;
}

a.button-text {
	padding-top: 0.5rem;
	/* larger clickable area */
	padding-bottom: 0.5rem;
}

a.button-text:hover {
	color: var(--color-red);
}

/* Custom underline */
.button-text.has-underline::before,
.button-text.has-underline::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: currentColor;
}

.button-text.has-underline::before {
	width: 100%;
	opacity: 20%;
}

.button-text.has-underline::after {
	width: 0;
	transition: width 500ms;
}

.button-text.has-underline:hover::after {
	width: 100%;
}

/* Slider */
.splide.is-testimonial-content-slider .splide__pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 10%;
	bottom: 5rem;
}

@media screen and (max-width: 991px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		left: 3rem;
		bottom: 1rem;
	}
}

@media screen and (max-width: 767px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		left: auto;
		bottom: 2.5rem;
	}
}

@media screen and (max-width: 479px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		right: auto;
		bottom: 1rem;
		width: 100%;
	}
}

.splide__pagination {
	padding: 0;
}

.splide__pagination__page {
	width: 1.75rem;
	height: 1.75rem;
	background-color: currentColor;
	background-clip: content-box;
	/* background-color inside padding */
	opacity: 40%;
	transition: opacity 200ms;
	padding: 0.75rem;
}

.splide__pagination__page.is-active {
	opacity: 100%;
}

.splide.is-centered-full-width .splide__slide {
	transition: opacity 200ms;
}

.splide.is-centered-full-width .splide__slide:not(.is-active) {
	opacity: 40%;
}

/* Form */
.form-input {
	color: inherit;
}

.form-input::placeholder {
	color: currentColor;
	opacity: 75%;
}

/* Nav / Dropdowns / Popout */
.nav-menu_component {
	width: calc(100vw - 2rem);
	max-height: calc(100vh - 5rem);
}

@media screen and (max-width: 767px) {
	.nav-menu_component {
		width: calc(100vw - 1rem);
		max-height: calc(100vh - 4rem);
	}
}

@media screen and (max-width: 479px) {
	.nav-menu_component {
		width: calc(100vw - 0.5rem);
	}
}

.nav_component.is-nav-open {
	background-color: transparent;
}

.nav_component.is-nav-open .nav_bar {
	background-color: var(--color-white);
}

.nav_logo-wrapper {
	color: inherit;
}

.nav_component .button.is-shop-all .icon {
	color: var(--color-red);
}

.nav_component .button.is-shop-all:hover .icon,
.is-nav-light .nav_component .button.is-shop-all:hover .icon {
	color: var(--color-black);
}

.is-nav-light .nav_component .button.is-shop-all {
	background-color: var(--color-white);
	color: var(--color-black);
}

.is-nav-light .nav_component .button.is-shop-all .icon {
	color: var(--color-red);
}

.nav_component .button.is-shop-all:hover {
	background-color: var(--color-red);
	color: var(--color-white);
}

.is-nav-light .nav_component .nav_menu-button-line {
	background-color: var(--color-white);
}

.is-nav-light .nav_component .nav_logo-wrapper {
	color: var(--color-white);
}

.cart-popout_component {
	min-height: calc(100vh - 5rem);
	max-width: calc(100vw - 2rem);
}

@media screen and (max-width: 767px) {
	.cart-popout_component {
		min-height: calc(100vh - 1rem);
		max-width: calc(100vw - 1rem);
	}
}

@media screen and (max-width: 479px) {
	.cart-popout_component {
		min-height: calc(100vh - 0.5rem);
		max-width: calc(100vw - 0.5rem);
	}
}

.cart-popout_heading-wrapper {
	padding: var(--gap-large);
	padding-bottom: var(--gap-xmedium);
}

.cart-popout_content-wrapper {
	padding: var(--gap-medium) var(--gap-large);
}

.cart-popout_list {
	max-height: calc(100vh - 32rem);
}

@media screen and (max-width: 479px) {
	.cart-popout_list {
		max-height: calc(60vh);
	}
}

@media screen and (max-width: 767px) and (orientation: landscape) {
	.cart-popout_list {
		max-height: none;
	}

	.cart-popout_list-scroll-overlay {
		display: none;
		/* hide the sticky overlay divs */
	}
}

.language-switcher-modal_component {
	pointer-events: none;
}

.language-switcher-modal_wrapper {
	pointer-events: all;
}

/* Transitioning color */
.is-nav-light .nav_component .button,
.is-nav-light .nav_component .button .icon,
.is-nav-light .nav_component .nav_menu-button-line,
.is-nav-light .nav_component .nav_logo-wrapper {
	transition:
		background-color 300ms,
		color 300ms,
		border-color 300ms;
}

/* Components */
.product-block_link {
	width: fit-content;
}

.product-block_link:hover .button-text {
	color: var(--color-red);
}

/* Homepage CSS */
/* Convert from grey outline image to white on hover */
.product-showcase_component.has-hover-effect.image-hover-invert:hover img {
	filter: opacity(0.5) drop-shadow(0 0 0 white) drop-shadow(0 0 0 white)drop-shadow(0 0 0 white);
}

.is-1x1 {
	aspect-ratio: 1/1;
}

.is-2x1 {
	aspect-ratio: 2/1;
}

.is-3x2 {
	aspect-ratio: 3/2;
}

.is-5x6 {
	aspect-ratio: 5/6;
}

.is-6x5 {
	aspect-ratio: 6/5;
}

.is-16x9 {
	aspect-ratio: 16/9;
}

.is-16x10 {
	aspect-ratio: 16/10;
}

/* Tablet and below */
@media screen and (max-width: 991px) {
	.is-tb-1x1 {
		aspect-ratio: 1/1;
	}

	.is-tb-2x1 {
		aspect-ratio: 2/1;
	}

	.is-tb-3x2 {
		aspect-ratio: 3/2;
	}

	.is-tb-5x6 {
		aspect-ratio: 5/6;
	}

	.is-tb-6x5 {
		aspect-ratio: 6/5;
	}

	.is-tb-16x9 {
		aspect-ratio: 16/9;
	}

	.is-tb-16x10 {
		aspect-ratio: 16/10;
	}
}

/* Mobile landscape and below */
@media screen and (max-width: 767px) {
	.is-ml-1x1 {
		aspect-ratio: 1/1;
	}

	.is-ml-2x1 {
		aspect-ratio: 2/1;
	}

	.is-ml-3x2 {
		aspect-ratio: 3/2;
	}

	.is-ml-5x6 {
		aspect-ratio: 5/6;
	}

	.is-ml-6x5 {
		aspect-ratio: 6/5;
	}

	.is-ml-16x9 {
		aspect-ratio: 16/9;
	}

	.is-ml-16x10 {
		aspect-ratio: 16/10;
	}
}

/* Mobile portrait */
@media screen and (max-width: 479px) {
	.is-mp-1x1 {
		aspect-ratio: 1/1;
	}

	.is-mp-2x1 {
		aspect-ratio: 2/1;
	}

	.is-mp-3x2 {
		aspect-ratio: 3/2;
	}

	.is-mp-5x6 {
		aspect-ratio: 5/6;
	}

	.is-mp-6x5 {
		aspect-ratio: 6/5;
	}

	.is-mp-16x9 {
		aspect-ratio: 16/9;
	}

	.is-mp-16x10 {
		aspect-ratio: 16/10;
	}
}

/* Sliders */
.splide__track--fade>.splide__list {
	display: flex;
	/* Overwriting the default Splide CSS to flexbox to ensure content height is stretched */
}

.splide.is-testimonial-content-slider .splide__pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 10%;
	bottom: 5rem;
}

@media screen and (max-width: 991px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		left: 3rem;
		bottom: 1rem;
	}
}

@media screen and (max-width: 767px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		left: auto;
		bottom: 2.5rem;
	}
}

@media screen and (max-width: 479px) {
	.splide.is-testimonial-content-slider .splide__pagination {
		right: auto;
		bottom: 1rem;
		width: 100%;
	}
}

.splide.is-testimonial-image-slider .media-wrapper {
	aspect-ratio: 1/1;
}

@media screen and (max-width: 767px) {
	.splide.is-testimonial-image-slider .media-wrapper {
		aspect-ratio: 2/1;
	}
}

.splide__pagination {
	padding: 0;
}

.splide__pagination__page {
	width: 1.75rem;
	height: 1.75rem;
	background-color: currentColor;
	background-clip: content-box;
	/* background-color inside padding */
	opacity: 40%;
	transition: opacity 200ms;
	padding: 0.75rem;
}

.splide__pagination__page.is-active {
	opacity: 100%;
}

.splide.is-centered-full-width .splide__slide {
	transition: opacity 200ms;
}

.splide.is-centered-full-width .splide__slide:not(.is-active) {
	opacity: 40%;
}

.splide.is-centered-full-width .media-wrapper img {
	aspect-ratio: 3/2;
}

/* Product Image Grid Slider – Slider from mobile landscape and below */
@media screen and (min-width: 768px) {
	.splide__list.is-product-image-grid {
		display: grid !important;
	}
}

.splide__list.is-product-image-grid .splide__slide:first-child {
	grid-column: 1/-1;
}

.splide.is-product-image-slider .splide__slide .media-wrapper {
	background-color: rgba(0, 0, 0, 0.05);
}

.splide.is-product-image-slider.is-dark .splide__slide .media-wrapper {
	background-color: rgba(255, 255, 255, 0.05);
}

.splide.is-product-image-slider .splide__slide .media-wrapper {
	aspect-ratio: 5/6;
	/* Vertical images */
}

.splide.is-product-image-slider .splide__slide:first-child .media-wrapper {
	aspect-ratio: 6/5;
	/* First one is landscape */
}

@media screen and (max-width: 767px) {
	.splide.is-product-image-slider .splide__slide .media-wrapper {
		aspect-ratio: 6/5;
		/* All images are landscape */
	}
}

.splide.is-product-image-slider .splide__pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 1rem;
	bottom: 1rem;
}

/* Below Container Large */
@media screen and (max-width: 76rem) {
	.splide.is-featured-creators-slider {
		/* Width + Page Padding */
		width: calc(100% + 5vw);
	}
}

/* Container Large and above */
@media screen and (min-width: 76rem) {
	.splide.is-featured-creators-slider {
		/* stretching the div to page end */
		width: calc(100% + calc(calc(100vw - 76rem) / 2));
	}
}

/* Mobile Portrait and below */
@media screen and (max-width: 767px) {
	.splide.is-featured-creators-slider {
		width: 100%;
	}

	.splide.is-featured-creators-slider .splide__track {
		overflow: visible;
	}
}

.splide.is-featured-creators-slider .splide__slide {
	width: clamp(10rem, 25vw, 22rem);
}

.splide.is-featured-creators-slider .media-wrapper {
	aspect-ratio: 1/1;
	margin-bottom: var(--gap-xxsmall);
}

/* Homepage CSS */
/* Convert from grey outline image to white on hover */
.product-showcase_component.has-hover-effect.image-hover-invert:hover img {
	filter: opacity(0.5) drop-shadow(0 0 0 white) drop-shadow(0 0 0 white)drop-shadow(0 0 0 white);
}

/* Components */
.product-block-inline_link {
	width: fit-content;
}

.product-block-inline_link:hover .button-text {
	color: var(--color-red);
}

/* Media – Images, Videos */
.video_controls-wrapper {
	--video-progress-deg: 0deg;
	bottom: var(--gap-xxlarge);
	right: var(--gap-xxlarge);
}

/* Mobile landscape and below */
@media screen and (max-width: 767px) {
	.video_controls-wrapper {
		bottom: var(--gap-large);
		right: var(--gap-large);
	}
}

.video_controls-wrapper:before {
	--progress-size: 0.125rem;
	content: '';
	pointer-events: none;
	position: absolute;
	width: calc(100% + var(--progress-size));
	height: calc(100% + var(--progress-size));
	padding: var(--progress-size);
	border-radius: 50%;
	box-sizing: border-box;
	/* Conical gradient mask - https://stackoverflow.com/a/70967314/4827398 – 
		browser support 98%+ with the prefix - https://caniuse.com/css-masks
	*/
	-webkit-mask: conic-gradient(#000 var(--video-progress-deg), transparent 0deg), linear-gradient(#000, #000) content-box;
	-webkit-mask-composite: source-out;
	mask-composite: subtract;
	background: currentColor;
}

.media-wrapper video {
	transform: scale(1.1);
}

.sticky-nav_component>.sticky-nav_link:last-child {
	padding-right: 5%;
	/* page padding gap at the end for overflow scrolling */
}

/* Compare table */
.compare-table_component .product-showcase_component {
	aspect-ratio: 1 / 1;
}

.compare-table_component .divider {
	grid-column: 1 / -1;
	/* span all columns */
}

.compare-table_component .compare-table_cell.cell-align-center {
	align-self: center;
	justify-self: center;
}

.product-feature_title.is-front {
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: var(--color-white);
}

@media screen and (max-width: 991px) {
	.feature-popup_component {
		max-height: calc(100vh - 4rem);
	}
}

.feature-popup_component>.media-wrapper {
	height: clamp(10rem, 50vh, 25rem);
}

.video-scrub_component .video_component.is-xdm-100 video {
	object-fit: contain;
	background-image: none !important;
}

/* Styling for site-level elements, including nav, footer, popups */
:root {
	--color-black: #000;
	--color-white: #fff;
	--color-red: #DC0032;
	--color-grey: #3C3C3C;
	--color-grey-light: #FAFAFA;
}

/* All underlines below the descender */
* {
	text-underline-position: under;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Snippet gets rid of top margin on first element in any rich text*/
.w-richtext>:first-child {
	margin-top: 0;
}

/* Snippet gets rid of bottom margin on last element in any rich text*/
.w-richtext>:last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
	margin-bottom: 0;
}

/* Overwrite color definition for dropdowns and toggles */
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
	color: inherit;
}

/* Snippet prevents all click and hover interaction with an element */
.clickable-off {
	pointer-events: none;
}

/* Snippet enables all click and hover interaction with an element */
.clickable-on {
	pointer-events: auto;
}

/* Snippet enables you to add class of div-square which creates and maintains a 1:1 dimension of a div.*/
.div-square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

/*Hide focus outline for main content element*/
main:focus-visible {
	outline: -webkit-focus-ring-color auto 0px;
}

/* Make sure containers never lose their center alignment*/
.container-medium,
.container-small,
.container-large {
	margin-right: auto !important;
	margin-left: auto !important;
}

figcaption {
	font-weight: 500;
	opacity: 60%;
	font-size: 0.8rem;
	text-align: inherit;
}

/* Reset buttons, and links styles */
a {
	color: inherit;
	text-decoration: inherit;
	font-size: inherit;
}

/* Specific text links that have underline on hover */
.nav-menu_component a,
.cart-popout_component a,
footer a {
	text-decoration: underline solid transparent;
	transition: text-decoration 300ms ease;
}

.nav-menu_component a:hover,
footer a:hover {
	text-decoration: underline solid currentColor;
}

/*Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/*Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.divider {
	background-color: currentColor;
}

.width-auto {
	width: auto;
}

.height-auto {
	height: auto;
}

/* Media */
.media-wrapper>img:not(.width-auto) {
	width: 100%;
}

.media-wrapper>img:not(.height-auto) {
	height: 100%;
}

.media-wrapper.is-contain img {
	object-fit: contain;
}

.media-wrapper>.video_component {
	position: absolute;
	inset: 0;
	overflow: visible;
}

/* Button */
.button-text {
	color: inherit;
	width: fit-content;
}

a.button-text {
	padding-top: 0.5rem;
	/* larger clickable area */
	padding-bottom: 0.5rem;
}

a.button-text:hover {
	color: var(--color-red);
}

/* Custom underline */
.button-text.has-underline::before,
.button-text.has-underline::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: currentColor;
}

.button-text.has-underline::before {
	width: 100%;
	opacity: 20%;
}

.button-text.has-underline::after {
	width: 0;
	transition: width 500ms;
}

.button-text.has-underline:hover::after {
	width: 100%;
}

/* Form */
.form-input {
	color: inherit;
}

.form-input::placeholder {
	color: currentColor;
	opacity: 75%;
}

/* Nav / Dropdowns / Popout */
.nav-menu_component {
	width: calc(100vw - 2rem);
	max-height: calc(100vh - 5rem);
}

@media screen and (max-width: 767px) {
	.nav-menu_component {
		width: calc(100vw - 1rem);
		max-height: calc(100vh - 4rem);
	}
}

@media screen and (max-width: 479px) {
	.nav-menu_component {
		width: calc(100vw - 0.5rem);
	}
}

.nav_component.is-nav-open {
	background-color: transparent;
}

.nav_component.is-nav-open .nav_bar {
	background-color: var(--color-white);
}

.nav_logo-wrapper {
	color: inherit;
}

.nav_component .button.is-shop-all .icon {
	color: var(--color-red);
}

.nav_component .button.is-shop-all:hover .icon,
.is-nav-light .nav_component .button.is-shop-all:hover .icon {
	color: var(--color-black);
}

.is-nav-light .nav_component .button.is-shop-all {
	background-color: var(--color-white);
	color: var(--color-black);
}

.is-nav-light .nav_component .button.is-shop-all .icon {
	color: var(--color-red);
}

.nav_component .button.is-shop-all:hover {
	background-color: var(--color-red);
	color: var(--color-white);
}

.is-nav-light .nav_component .nav_menu-button-line {
	background-color: var(--color-white);
}

.is-nav-light .nav_component .nav_logo-wrapper {
	color: var(--color-white);
}

.cart-popout_component {
	min-height: calc(100vh - 5rem);
	max-width: calc(100vw - 2rem);
}

@media screen and (max-width: 767px) {
	.cart-popout_component {
		min-height: calc(100vh - 1rem);
		max-width: calc(100vw - 1rem);
	}
}

@media screen and (max-width: 479px) {
	.cart-popout_component {
		min-height: calc(100vh - 0.5rem);
		max-width: calc(100vw - 0.5rem);
	}
}

.cart-popout_heading-wrapper {
	padding: var(--gap-large);
	padding-bottom: var(--gap-xmedium);
}

.cart-popout_content-wrapper {
	padding: var(--gap-medium) var(--gap-large);
}

.cart-popout_list {
	max-height: calc(100vh - 32rem);
}

@media screen and (max-width: 479px) {
	.cart-popout_list {
		max-height: calc(60vh);
	}
}

@media screen and (max-width: 767px) and (orientation: landscape) {
	.cart-popout_list {
		max-height: none;
	}

	.cart-popout_list-scroll-overlay {
		display: none;
		/* hide the sticky overlay divs */
	}
}

.language-switcher-modal_component {
	pointer-events: none;
}

.language-switcher-modal_wrapper {
	pointer-events: all;
}

.is-nav-light .nav_component .button,
.is-nav-light .nav_component .button .icon,
.is-nav-light .nav_component .nav_menu-button-line,
.is-nav-light .nav_component .nav_logo-wrapper {
	/* Transitioning colors */
	transition:
		background-color 300ms,
		color 300ms,
		border-color 300ms;
}

.video_component.is-contained video {
	object-fit: contain;
	background-image: none !important;
}

.splide.is-carousel-pagination-slider {
	bottom: var(--gap-large);
	left: var(--gap-large);
}

.splide.is-carousel-pagination-slider .splide__slide {
	cursor: pointer;
	width: 3.25rem;
	height: 3.25rem;
	border: 1px solid transparent;
	margin: 1px;
	/* to facilitate the border */
}

.splide.is-carousel-pagination-slider .splide__slide.is-active {
	border-color: rgba(255, 255, 255, 0.6);
}

@media screen and (max-width: 767px) {
	.splide.is-carousel-pagination-slider .splide__slide {
		width: 2.5rem;
		height: 2.5rem;
	}
}

.splide.is-carousel-main-slider .media-wrapper {
	aspect-ratio: 5/6;
}

@media screen and (max-width: 767px) {
	.splide.is-carousel-main-slider .media-wrapper {
		aspect-ratio: 2/1;
	}
}

.splide__pagination {
	padding: 0;
}

.splide__pagination__page {
	width: 1.75rem;
	height: 1.75rem;
	background-color: currentColor;
	background-clip: content-box;
	/* background-color inside padding */
	opacity: 40%;
	transition: opacity 200ms;
	padding: 0.75rem;
}

.splide__pagination__page.is-active {
	opacity: 100%;
}

.splide.is-centered-full-width .splide__slide {
	transition: opacity 200ms;
}

.splide.is-centered-full-width .splide__slide:not(.is-active) {
	opacity: 40%;
}

.splide.is-centered-full-width .media-wrapper img {
	aspect-ratio: 3/2;
}

/* Product Image Grid Slider – Slider from mobile landscape and below */
@media screen and (min-width: 768px) {
	.splide__list.is-product-image-grid {
		display: grid !important;
	}
}

.splide__list.is-product-image-grid .splide__slide:first-child {
	grid-column: 1/-1;
}

.splide.is-product-image-slider .splide__slide .media-wrapper {
	background-color: rgba(0, 0, 0, 0.05);
}

.splide.is-product-image-slider.is-dark .splide__slide .media-wrapper {
	background-color: rgba(255, 255, 255, 0.05);
}

.splide.is-product-image-slider .splide__slide .media-wrapper {
	aspect-ratio: 5/6;
	/* Vertical images */
}

.splide.is-product-image-slider .splide__slide:first-child .media-wrapper {
	aspect-ratio: 6/5;
	/* First one is landscape */
}

@media screen and (max-width: 767px) {
	.splide.is-product-image-slider .splide__slide .media-wrapper {
		aspect-ratio: 6/5;
		/* All images are landscape */
	}
}

.splide.is-product-image-slider .splide__pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 1rem;
	bottom: 1rem;
}

/* Below Container Large */
@media screen and (max-width: 76rem) {
	.splide.is-featured-creators-slider {
		/* Width + Page Padding */
		width: calc(100% + 5vw);
	}
}

/* Container Large and above */
@media screen and (min-width: 76rem) {
	.splide.is-featured-creators-slider {
		/* stretching the div to page end */
		width: calc(100% + calc(calc(100vw - 76rem) / 2));
	}
}

/* Mobile Portrait and below */
@media screen and (max-width: 767px) {
	.splide.is-featured-creators-slider {
		width: 100%;
	}

	.splide.is-featured-creators-slider .splide__track {
		overflow: visible;
	}
}

.splide.is-featured-creators-slider .splide__slide {
	width: clamp(10rem, 25vw, 22rem);
}

.splide.is-featured-creators-slider .media-wrapper {
	aspect-ratio: 1/1;
	margin-bottom: var(--gap-xxsmall);
}

.splide.is-blog-related-posts-slider .splide__slide {
	width: clamp(12.5rem, 30vw, 25rem);
}

.splide.is-blog-related-posts-slider .splide__track {
	overflow: visible;
}

.video_component.is-contained video {
	object-fit: contain;
	background-image: none !important;
}

.product-block-large_component .video_component {
	position: relative;
}

.page-link {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}