/*!/wp-content/themes/regroup20/style.css*//*!
Theme Name: Regroup 2.0
Author: Where Beagles Dare (Pete Harrington, Relja Damnjanovic)
Author URI: https://wewbd.com/
Description: Description
Version: 1.0.0
Tested up to: 8.1
Requires PHP: 8.1
*/

@font-face {
	font-family: 'Graphik Condensed Web';
	src: url('/wp-content/themes/regroup20/fonts/GraphikCondensed-Bold-Web.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/GraphikCondensed-Bold-Web.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/GraphikCondensed-Bold-Web.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
 font-display:block;}


@font-face {
	font-family: 'MatterMonoBold';
	src: url('/wp-content/themes/regroup20/fonts/MatterMonoBold.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoBold.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoBold.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
 font-display:block;}

@font-face {
	font-family: 'MatterMonoMedium';
	src: url('/wp-content/themes/regroup20/fonts/MatterMonoMedium.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoMedium.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoMedium.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
 font-display:block;}

@font-face {
	font-family: 'MatterMonoRegular';
	src: url('/wp-content/themes/regroup20/fonts/MatterMonoRegular.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoRegular.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterMonoRegular.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
 font-display:block;}

@font-face {
	font-family: 'MatterRegular';
	src: url('/wp-content/themes/regroup20/fonts/MatterRegular.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterRegular.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterRegular.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
 font-display:block;}

@font-face {
	font-family: 'MatterRegularItalic';
	src: url('/wp-content/themes/regroup20/fonts/MatterRegularItalic.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterRegularItalic.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterRegularItalic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
 font-display:block;}

@font-face {
	font-family: 'MatterSemiBold';
	src: url('/wp-content/themes/regroup20/fonts/MatterSemiBold.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterSemiBold.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterSemiBold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
 font-display:block;}

@font-face {
	font-family: 'MatterSemiBoldItalic';
	src: url('/wp-content/themes/regroup20/fonts/MatterSemiBoldItalic.woff2') format('woff2'),
	url('/wp-content/themes/regroup20/fonts/MatterSemiBoldItalic.woff') format('woff'),
	url('/wp-content/themes/regroup20/fonts/MatterSemiBoldItalic.ttf') format('truetype');
	font-weight: 900;
	font-style: italic;
 font-display:block;}

.black {
	color: #1c1c1c;
}

.white {
	color: #fff;
}

.sand {
	color: #F8F5F0;
}

.cactus {
	color: #7F8236;
}

.sky {
	color: #CCE2EC;
}

.rock {
	color: #AA8765;
}

.greydark {
	color: #262626;
}

.greymedium {
	color: #3B3B3A;
}

.greylight {
	color: #7A7977;
}

.error {
	color: #AA3619;
}

body h1 {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 152px;
	line-height: 0.9;
}

body h2 {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 96px;
	line-height: 0.9;
}

body h3 {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 80px;
	line-height: 0.9;
}

body h4 {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 56px;
	line-height: 1;
}

body h5 {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 40px;
	line-height: 1;
}

body h6 {
	font-family: 'MatterSemiBold', sans-serif !important;
	font-size: 32px;
	line-height: 1.1;
}

p.subtitle1,
.subtitle1 p {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 32px;
	line-height: 1.3;
	margin-bottom: 32px;
}

p.subtitle2,
.subtitle2 p {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 22px;
	line-height: 1.3;
	margin-bottom: 32px;
}

p.body,
.body p,
.body .elementor-widget-container {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 20px;
	line-height: 1.4;
	margin-bottom: 32px;
	font-weight: 400;
}

p.bodylarge,
.bodylarge p,
.bodylarge .elementor-widget-container,
.bodylarge .elementor-tab-content {
	font-family: 'MatterSemiBold', sans-serif !important;
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 20px;
}

p.caption,
.caption p,
.caption div {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 15px;
	margin-bottom: 32px;
	letter-spacing: 0.14em;;
}

p.overline,
.overline p,
span.overline {
	font-family: 'MatterMonoRegular', sans-serif !important;
	font-size: 15px;
	margin-bottom: 32px;
	letter-spacing: 0.14em;
	font-weight: 400;
}

.buttonsmall,
.buttonsmall a {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 16px;
	letter-spacing: 0.8px;
}

.buttonmedium,
.buttonmedium a,
button.buttonmedium,
a.buttonmedium {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 18px;
	letter-spacing: 0.9px;
}

.buttonlarge,
.buttonlarge a {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 24px;
	letter-spacing: 1.2px;
}

.buttonxl {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 32px;
	letter-spacing: 1.6px;
}

.buttonnav {
	font-family: "MatterMonoBold", sans-serif !important;
	font-size: 96px;
}

.breadcrumb {
	font-family: "MatterMonoBold", sans-serif !important;
	font-size: 16px;
}

.msbuttonlarge {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 24px;
	font-weight: 400;
}

.msbuttonsmall {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 16px;
	font-weight: 400;
}

.msymbol {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 19px;
	background: none;
	border: none;
	cursor: pointer;
	position: absolute;
	right: 30px;
	top: 0;
	font-weight: 400;
}

body input[type='text'], body textarea, body select, body input[type='number'], span.select2,
body input[type='email'],body input[type='tel'],body input[type='password'],body input[type='date'] {
	border: 1px solid  #1c1c1c;
	padding: 16px;
	background: transparent;
	font-family: 'MatterRegular';
	font-size: 14px;
	line-height: 16px;
	border-radius: 4px;
}

span.select2 {
	padding: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	top: 80%;
}

body .select2-container--default .select2-selection--single {
	background: none;
	border: none;
}

input[type="checkbox"],
input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	align-content: center;
	justify-content: center;
	font-size: 22px;
	padding: 0.1rem;
	border: 2px solid #1c1c1c;
	border-radius: 50px;
	width: 18px !important;
	height: 18px;
	display: inline-block;
	cursor: pointer;
	position: relative;
	top: 3px;
}

input[type="checkbox"]::before {

}

input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
	content: "";
	width: 4px;
	height: 9px;
	transform: rotate(45deg);
	border-bottom: 2px solid #1c1c1c;
	border-right: 2px solid #1c1c1c;
	display: block;
	left: 3px;
	position: relative;
	top: -1px;
}

input[type="checkbox"]:hover {
	color: #1c1c1c;
	background: #1c1c1c;
}

body.menuactive {
	overflow: hidden;
}

.maxwidth2200 {
	max-width: 2200px;
	margin: auto;
}

div.section_content, div.category_grid {
	max-width: 2200px;
	margin: auto;
}

body .contact-form input[type='text'], body .contact-form textarea {
	background: #F8F5F0;
	border-radius: 4px;
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 14px;
}

body .contact-form input[type='text']:focus-visible, body .contact-form textarea:focus-visible {
	outline: none;
}

.contact-form input[type="radio"] {
	border: 2px solid #F8F5F0;
}

.contact-form input[type="radio"]:checked::before {
	border-color: #F8F5F0;
}

.wpcf7-not-valid-tip {
	color: #AA3619;
	font-family: 'MatterRegular', sans-serif;
	font-size: 14px;
}

.productcardregular {
	font-family: 'MatterMonoRegular', sans-serif !important;
	font-size: 18px;
	letter-spacing: 1.8px;
}

.productcardbold {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 18px;
	letter-spacing: 1.8px;
}

a.elementor-button,
button.elementor-button,
input.black_button[type='submit'] {
	background: #F8F5F0;
	color: #1c1c1c !important;
	text-transform: uppercase;
	padding: 16px 64px;
	border-radius: 100px;
	cursor: pointer;
}

.elementor-button:hover {
	background: #AA8765;
	color: #1c1c1c !important;;
}

.dark_button a.elementor-button,
a.dark_button {
	background: transparent;
	border: 1px solid #F8F5F0;
	color: #F8F5F0 !important;;
	text-transform: uppercase;
	margin: auto;
}

.dark_button a.elementor-button:hover,
a.dark_button:hover {
	background: #F8F5F0;
	color: #1c1c1c !important;;
}

.black_button a.elementor-button,
a.black_button,
button.black_button,
input.black_button[type='submit'] {
	background: #1c1c1c;
	border: 1px solid #F8F5F0;
	color: #F8F5F0 !important;;
	text-transform: uppercase;
}

.black_button a.elementor-button:hover,
a.black_button:hover,
button.black_button:hover,
input.black_button[type='submit']:hover {
	background: #7F8236;
	color: #F8F5F0 !important;;
	border-color: #7F8236;
}

.clear_button a.elementor-button,
a.clear_button,
button.clear_button,
input.clear_button[type='submit'] {
	background: transparent;
	border: 1px solid #1c1c1c;
	color: #1c1c1c !important;;
	text-transform: uppercase;
}

.clear_button a.elementor-button:hover,
a.clear_button:hover,
button.clear_button:hover,
input.clear_button[type='submit']:hover {
	background: #1c1c1c;
	color: #F8F5F0 !important;;
	border-color: #1c1c1c;
}

.cactus_button a.elementor-button,
a.cactus_button,
button.cactus_button,
input.cactus_button[type='submit'] {
	background: transparent;
	border: 1px solid #1c1c1c;
	color: #1c1c1c !important;;
	text-transform: uppercase;
}

.cactus_button a.elementor-button:hover,
a.cactus_button:hover,
button.cactus_button:hover,
input.cactus_button[type='submit']:hover {
	background: #7F8236;
	color: #F8F5F0 !important;;
	border-color: #7F8236;
}

a.elementor-button i {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-style: normal;
	font-size: 20px;
	vertical-align: bottom;
	font-weight: 400;
}

.buttonlarge i {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-style: normal;
	font-size: 24px;
	vertical-align: bottom;
	font-weight: 400;
}

@media screen and (max-width: 1200px) {
	body h1 {
		font-size: 104px;
	}

	body h2 {
		font-size: 72px;
	}

	body h3 {
		font-size: 56px;
	}

	body h4 {
		font-size: 44px;
	}

	body h5 {
		font-size: 32px;
	}

	body h6 {
		font-size: 28px;
	}

	p.subtitle1,
	.subtitle1 p {
		font-size: 28px;
	}

	p.subtitle2,
	.subtitle2 p {
		font-size: 20px;
	}

	p.body,
	.body p,
	.body .elementor-widget-container {
		font-size: 18px;
		line-height: 1.5;
	}

	p.bodylarge,
	.bodylarge p,
	.bodylarge div {
		font-size: 22px;
	}

	p.caption, p.overline,
	.caption p, .overline p,
	span.overline,
	.caption div {
		font-size: 16px;
		margin-bottom: 24px;
	}

	.buttonsmall,
	.buttonsmall a {
		font-size: 14px;
	}

	.buttonmedium,
	.buttonmedium a,
	button.buttonmedium,
	a.buttonmedium {
		font-size: 16px;
	}

	.buttonlarge,
	.buttonlarge a {
		font-size: 20px;
	}

	.buttonxl {
		font-size: 24px;
	}

	.buttonnav {
		font-size: 80px;
	}

	.breadcrumb {
		font-size: 14px;
	}

	.msbuttonlarge {
		font-size: 20px;
	}

	.msbuttonsmall {
		font-size: 14px;
	}

	.msymbol {
		font-size: 17px;
	}

	.productcardregular  {
		font-size: 16px;
	}

	.productcardbold {
		font-size: 16px;
	}
}

@media screen and (max-width: 800px) {
	body h1 {
		font-size: 56px;
	}

	body h2 {
		font-size: 48px;
	}

	body h3 {
		font-size: 36px;
	}

	body h4 {
		font-size: 32px;
	}

	body h5 {
		font-size: 24px;
	}

	body h6 {
		font-size: 24px;
	}

	p.subtitle1,
	.subtitle1 p {
		font-size: 22px;
	}

	p.subtitle2,
	.subtitle2 p {
		font-size: 18px;
	}

	p.body,
	.body p,
	.body .elementor-widget-container {
		font-size: 16px;
		line-height: 1.5;
	}

	p.bodylarge,
	.bodylarge p,
	.bodylarge .elementor-widget-container,
	.bodylarge .elementor-tab-content {
		font-size: 20px;
	}

	p.caption, p.overline,
	.caption p, .overline p,
	span.overline,
	.caption div {
		font-size: 14px;
		margin-bottom: 16px;
	}

	.buttonsmall,
	.buttonsmall a {
		font-size: 12px;
	}

	.buttonmedium,
	.buttonmedium a,
	button.buttonmedium,
	a.buttonmedium {
		font-size: 14px;
	}

	.buttonlarge,
	.buttonlarge a {
		font-size: 16px;
	}

	.buttonxl {
		font-size: 18px;
	}

	.buttonnav {
		font-size: 48px;
	}

	.breadcrumb {
		font-size: 12px;
	}

	.msbuttonlarge {
		font-size: 16px;
	}

	.msbuttonsmall {
		font-size: 12px;
	}

	.productcardregular {
		font-size: 14px;
	}

	.productcardbold {
		font-size: 14px;
	}
}

.sand_section {
	background: #F8F5F0;
}

/* END OF TYPESCRIPT */

/* THEME CORE */

* {
	box-sizing: border-box;
	-webkit-font-smoothing: inherit;
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea,
a {
	color: #1c1c1c;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
	flex: 1 0 auto;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
    gap: 32px;
    justify-content: center;
}

.posts-navigation .nav-links .nav-previous {
	order: 2;
}

.posts-navigation .nav-links .nav-next {
	order: 1;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* END OF THEME CORE */

/* REGROUP */

body {
	background-color: #1c1c1c;
}

a {
	text-decoration: none;
}

.responsive {
	display: none;
}

.margin_64_48_32 {
	margin-bottom: 64px !important;
}

.margin_48_32_24 {
	margin-bottom: 48px !important;
}

.margin_32_24_16 {
	margin-bottom: 32px !important;
}

.margin_16_14_12 {
	margin-bottom: 16px !important;
}

.margin_top_32_24_16 {
	margin-top: 32px !important;
}

.margin_top_124_96_64 {
	margin-top: 124px;
}

.margin_top_144_98_38 {
	margin-top: 144px;
}

.padding_bottom_16_14_12 {
	padding-bottom: 16px;
}

.padding_top_16_14_12 {
	padding-top: 16px;
}

.padding_top_0 {
	padding-top: 0 !important;
}

.padding_bottom_0 {
	padding-bottom: 0 !important;
}

.gap_48_32_24 {
	gap: 48px;
}

.padding_248_192_128 {
	padding: 248px 48px 248px 48px;
}

.padding_horizontal {
	padding: 0 48px 0 48px;
}

header#masthead {
	position: sticky;
	width: 100%;
	top: 0px;
	z-index: 100;
}

div.mainmenu {
	flex: none;
	height: auto;
	position: relative;
	width: 100%;
	z-index: 20;
	background: rgba(28, 28, 28, .5);
}

body.scroll div.mainmenu,
body.scroll div.breadcrumbs {
	background: rgba(28, 28, 28, .75);
}

div.menu-container {
	align-content: center;
	align-items: center;
	display: flex;
	flex: 1 0 0px;
	flex-direction: row;
	flex-wrap: nowrap;
	height: min-content;
	justify-content: space-between;
	overflow: auto;
	padding: 16px 48px;
	position: relative;
}

div.menu-container div.logo {
	width: 238px;
	background-image: url("data:image/svg+xml,%3Csvg width='652' height='78' viewBox='0 0 652 78' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(/wp-content/themes/regroup20/%23clip0_1215_472)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.95222 76.0677H0V37.116H43.6666C47.7026 37.116 51.0902 35.8278 53.8457 33.2515C56.585 30.6751 57.9628 27.5351 57.9628 23.8316C57.9628 20.5789 56.7795 17.6965 54.413 15.2007C51.3658 12.1734 46.9408 10.6598 41.1542 10.6598H0V1.9162H41.1542C50.296 1.9162 57.2658 4.41207 62.0798 9.40381C65.8889 13.4133 67.8015 18.2601 67.8015 23.9443C67.8015 28.8716 66.2455 33.187 63.1172 36.8906C59.9889 40.5942 55.7584 43.1705 50.4257 44.6197L68.8227 76.0838H57.5089L40.36 45.8757H9.95222V76.0838V76.0677Z' fill='%23F8F5F0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M258.806 12.4955L251.95 18.6305C248.676 15.6032 244.624 13.204 239.777 11.4166C234.931 9.64533 230.149 8.7436 225.432 8.7436C216.663 8.7436 209.369 11.6742 203.55 17.5355C197.715 23.3968 194.814 30.5784 194.814 39.0483C194.814 47.5182 197.715 54.4905 203.502 60.4001C209.288 66.3097 216.906 69.2564 226.356 69.2564C230.846 69.2564 235.287 68.6123 239.664 67.3241C244.04 66.0359 247.638 64.2647 250.459 61.9942V44.3943H226.227V35.6507H259.487V66.7605C254.997 70.2386 249.729 72.9922 243.716 74.9889C237.702 77.0017 231.721 78 225.773 78C214.119 78 204.296 74.1998 196.337 66.5834C188.379 58.9831 184.392 49.7564 184.392 38.9356C184.392 28.1148 188.347 18.9203 196.273 11.3522C204.199 3.78406 213.875 0 225.303 0C237.719 0 248.887 4.17052 258.79 12.4955H258.806Z' fill='%23F8F5F0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M301.954 76.0677H292.018V1.93228H333.172C342.314 1.93228 349.284 4.42815 354.082 9.41989C357.891 13.4294 359.803 18.2762 359.803 23.9604C359.803 28.8877 358.247 33.2031 355.119 36.9067C351.991 40.6102 347.76 43.1866 342.427 44.6197L360.825 76.0677H349.511L332.362 45.8596H301.954V76.0677ZM333.156 10.6759H301.954V37.1321H335.668C339.704 37.1321 343.092 35.8439 345.848 33.2675C348.587 30.6912 349.965 27.5512 349.965 23.8476C349.965 20.595 348.781 17.7126 346.415 15.2168C343.368 12.1895 338.943 10.6759 333.156 10.6759Z' fill='%23F8F5F0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M383.63 38.839C383.63 28.0826 387.634 18.9364 395.625 11.3683C403.632 3.80018 413.422 0.0161133 424.995 0.0161133C436.568 0.0161133 446.31 3.80018 454.431 11.3683C462.551 18.9364 466.603 28.0987 466.603 38.839C466.603 49.5793 462.567 58.9992 454.495 66.5995C446.423 74.1999 436.585 78.0161 425.012 78.0161C413.438 78.0161 403.632 74.216 395.641 66.5995C387.634 58.9992 383.647 49.7403 383.647 38.839H383.63ZM394.036 38.839C394.036 47.325 397.019 54.5066 403.016 60.4162C408.997 66.3258 416.324 69.2725 425.012 69.2725C433.699 69.2725 441.074 66.2936 447.12 60.3518C453.182 54.41 456.213 47.2444 456.213 38.839C456.213 30.4335 453.182 23.4129 447.12 17.5516C441.058 11.6903 433.683 8.75971 425.012 8.75971C416.34 8.75971 408.997 11.6903 403.016 17.5516C397.035 23.4129 394.036 30.5141 394.036 38.839Z' fill='%23F8F5F0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M545.605 1.93228H555.558V49.7403C555.558 58.5161 552.494 65.424 546.351 70.4641C540.224 75.5041 532.314 78.0161 522.638 78.0161C512.961 78.0161 505.197 75.5041 499.086 70.4641C492.992 65.424 489.944 58.5161 489.944 49.7403V1.93228H499.767V49.7403C499.767 55.8753 501.923 60.6577 506.218 64.1036C510.53 67.5495 515.992 69.2725 522.621 69.2725C529.251 69.2725 534.827 67.5495 539.138 64.1036C543.45 60.6577 545.589 55.8753 545.589 49.7403V1.93228H545.605Z' fill='%23F8F5F0'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M594.978 76.0677H585.042V1.93228H625.385C634.527 1.93228 641.497 4.42815 646.295 9.41989C650.104 13.5904 652.016 18.3567 652.016 23.7188C652.016 29.7733 649.812 34.8778 645.387 39.0483C640.67 43.5892 633.992 45.8596 625.385 45.8596H594.978V76.0677ZM625.369 10.6759H594.961V37.1321H625.369C630.929 37.1321 635.192 35.7312 638.174 32.9294C640.848 30.4335 642.178 27.4063 642.178 23.8476C642.178 20.6755 640.994 17.7931 638.628 15.2168C635.726 12.1895 631.318 10.6759 625.369 10.6759Z' fill='%23F8F5F0'/%3E%3Cpath d='M160.516 1.9162H91.7095V10.6598H160.516V1.9162Z' fill='%23F8F5F0'/%3E%3Cpath d='M160.516 67.3241H91.7095V76.0677H160.516V67.3241Z' fill='%23F8F5F0'/%3E%3Cpath d='M160.516 34.6201H108.664V43.3637H160.516V34.6201Z' fill='%23F8F5F0'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1215_472'%3E%3Crect width='652' height='78' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position-y: 3px;
}

div.menu-container div.logo:hover {
	background-image: url("data:image/svg+xml,%3Csvg width='652' height='78' viewBox='0 0 652 78' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(/wp-content/themes/regroup20/%23clip0_1215_472)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.95222 76.0677H0V37.116H43.6666C47.7026 37.116 51.0902 35.8278 53.8457 33.2515C56.585 30.6751 57.9628 27.5351 57.9628 23.8316C57.9628 20.5789 56.7795 17.6965 54.413 15.2007C51.3658 12.1734 46.9408 10.6598 41.1542 10.6598H0V1.9162H41.1542C50.296 1.9162 57.2658 4.41207 62.0798 9.40381C65.8889 13.4133 67.8015 18.2601 67.8015 23.9443C67.8015 28.8716 66.2455 33.187 63.1172 36.8906C59.9889 40.5942 55.7584 43.1705 50.4257 44.6197L68.8227 76.0838H57.5089L40.36 45.8757H9.95222V76.0838V76.0677Z' fill='%23AA8765'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M258.806 12.4955L251.95 18.6305C248.676 15.6032 244.624 13.204 239.777 11.4166C234.931 9.64533 230.149 8.7436 225.432 8.7436C216.663 8.7436 209.369 11.6742 203.55 17.5355C197.715 23.3968 194.814 30.5784 194.814 39.0483C194.814 47.5182 197.715 54.4905 203.502 60.4001C209.288 66.3097 216.906 69.2564 226.356 69.2564C230.846 69.2564 235.287 68.6123 239.664 67.3241C244.04 66.0359 247.638 64.2647 250.459 61.9942V44.3943H226.227V35.6507H259.487V66.7605C254.997 70.2386 249.729 72.9922 243.716 74.9889C237.702 77.0017 231.721 78 225.773 78C214.119 78 204.296 74.1998 196.337 66.5834C188.379 58.9831 184.392 49.7564 184.392 38.9356C184.392 28.1148 188.347 18.9203 196.273 11.3522C204.199 3.78406 213.875 0 225.303 0C237.719 0 248.887 4.17052 258.79 12.4955H258.806Z' fill='%23AA8765'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M301.954 76.0677H292.018V1.93228H333.172C342.314 1.93228 349.284 4.42815 354.082 9.41989C357.891 13.4294 359.803 18.2762 359.803 23.9604C359.803 28.8877 358.247 33.2031 355.119 36.9067C351.991 40.6102 347.76 43.1866 342.427 44.6197L360.825 76.0677H349.511L332.362 45.8596H301.954V76.0677ZM333.156 10.6759H301.954V37.1321H335.668C339.704 37.1321 343.092 35.8439 345.848 33.2675C348.587 30.6912 349.965 27.5512 349.965 23.8476C349.965 20.595 348.781 17.7126 346.415 15.2168C343.368 12.1895 338.943 10.6759 333.156 10.6759Z' fill='%23AA8765'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M383.63 38.839C383.63 28.0826 387.634 18.9364 395.625 11.3683C403.632 3.80018 413.422 0.0161133 424.995 0.0161133C436.568 0.0161133 446.31 3.80018 454.431 11.3683C462.551 18.9364 466.603 28.0987 466.603 38.839C466.603 49.5793 462.567 58.9992 454.495 66.5995C446.423 74.1999 436.585 78.0161 425.012 78.0161C413.438 78.0161 403.632 74.216 395.641 66.5995C387.634 58.9992 383.647 49.7403 383.647 38.839H383.63ZM394.036 38.839C394.036 47.325 397.019 54.5066 403.016 60.4162C408.997 66.3258 416.324 69.2725 425.012 69.2725C433.699 69.2725 441.074 66.2936 447.12 60.3518C453.182 54.41 456.213 47.2444 456.213 38.839C456.213 30.4335 453.182 23.4129 447.12 17.5516C441.058 11.6903 433.683 8.75971 425.012 8.75971C416.34 8.75971 408.997 11.6903 403.016 17.5516C397.035 23.4129 394.036 30.5141 394.036 38.839Z' fill='%23AA8765'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M545.605 1.93228H555.558V49.7403C555.558 58.5161 552.494 65.424 546.351 70.4641C540.224 75.5041 532.314 78.0161 522.638 78.0161C512.961 78.0161 505.197 75.5041 499.086 70.4641C492.992 65.424 489.944 58.5161 489.944 49.7403V1.93228H499.767V49.7403C499.767 55.8753 501.923 60.6577 506.218 64.1036C510.53 67.5495 515.992 69.2725 522.621 69.2725C529.251 69.2725 534.827 67.5495 539.138 64.1036C543.45 60.6577 545.589 55.8753 545.589 49.7403V1.93228H545.605Z' fill='%23AA8765'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M594.978 76.0677H585.042V1.93228H625.385C634.527 1.93228 641.497 4.42815 646.295 9.41989C650.104 13.5904 652.016 18.3567 652.016 23.7188C652.016 29.7733 649.812 34.8778 645.387 39.0483C640.67 43.5892 633.992 45.8596 625.385 45.8596H594.978V76.0677ZM625.369 10.6759H594.961V37.1321H625.369C630.929 37.1321 635.192 35.7312 638.174 32.9294C640.848 30.4335 642.178 27.4063 642.178 23.8476C642.178 20.6755 640.994 17.7931 638.628 15.2168C635.726 12.1895 631.318 10.6759 625.369 10.6759Z' fill='%23AA8765'/%3E%3Cpath d='M160.516 1.9162H91.7095V10.6598H160.516V1.9162Z' fill='%23AA8765'/%3E%3Cpath d='M160.516 67.3241H91.7095V76.0677H160.516V67.3241Z' fill='%23AA8765'/%3E%3Cpath d='M160.516 34.6201H108.664V43.3637H160.516V34.6201Z' fill='%23AA8765'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1215_472'%3E%3Crect width='652' height='78' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

div.menu-container div.logo a {
	width: 100%;
	height: 100%;
}

div.menu-container div.logo img {
	max-width: 138px;
	max-height: 24px;
}

div.menu-container div.logo img {
	visibility: hidden;
	width: 100%;
}

div.iconmenu {
	font-size: 24px;
	display: flex;
}

div.iconmenu div.icons {
	flex-direction: row;
	display: flex;
	gap: 32px;
	position: relative;
}

/*
 * The basket. A tapered body with one centre upright — the taper is what
 * separates it from the account icon beside it, since an arc handle over a
 * rounded box repeats the head-and-shoulders gesture at the same radius.
 *
 * Search and account are pure currentColor and need no rules here. The basket
 * needs them because a full one fills tan, and the count is knocked out of
 * that fill rather than drawn on top of it.
 */
div.iconmenu a.cart_icon .basket-qty {
	font-family: 'MatterMonoMedium', monospace;
	font-size: 9.5px;
	letter-spacing: 0;
	fill: currentColor;
	stroke: none;
}

div.iconmenu a.cart_icon.has-items .basket-body {
	fill: #a88a6d;
	stroke: #a88a6d;
}

div.iconmenu a.cart_icon.has-items .basket-handle { stroke: #a88a6d; }
div.iconmenu a.cart_icon.has-items .basket-qty { fill: #1c1c1b; }

/* Hovering a full basket lifts it to cream; the count stays knocked out. */
div.iconmenu a.cart_icon.has-items:hover .basket-body {
	fill: #F8F5F0;
	stroke: #F8F5F0;
}

div.iconmenu a.cart_icon.has-items:hover .basket-handle { stroke: #F8F5F0; }
div.iconmenu a.cart_icon.has-items:hover .basket-qty { fill: #1c1c1b; }

div.iconmenu button,
div.iconmenu a,
div.icons.responsive a,
div.icons.responsive button {
	font-size: 24px;
	color: #F8F5F0;
	transition: 0.3s ease all;
	align-content: center;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 32px;
	height: 24px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: min-content;
	background: none;
	border: none;
	cursor: pointer;
}

div.icons.responsive a,
div.icons.responsive button {
	right: auto;
	top: auto;
	font-size: 16px;
}

div.iconmenu button:not(.menu-toggle):hover,
div.iconmenu a:hover,
div.icons.responsive a:hover,
div.icons.responsive button:hover,
footer a:hover {
	color: #AA8765;
}

div.iconmenu div.menu {
	flex-direction: row;
	display: flex;
	gap: 15px;
	margin-left: 48px;
}

div.iconmenu div.menu button {
	text-transform: uppercase;
	font-size: 18px;
}

div.iconmenu div.menu div.menuicon {
	justify-content: center;
	display: flex;
	flex-direction: column;
	padding-top: 3px;
	position: relative;
	width: 20px;
	cursor: pointer;
}

div.iconmenu div.menu div.menuline {
	width: 18px;
	height: 2px;
	background-color: #F8F5F0;
	display: block;
	margin-bottom: 4px;
	transition: 0.3s ease all;
}

div.iconmenu div.menu.opened div.menuline:nth-child(1) {
	display: none;
}

div.iconmenu div.menu.opened div.menuline:nth-child(2) {
	background-color: #AA8765;
	transform: rotate(45deg);
	transform-origin: 50% 50% 0px;
	top: 11px;
	position: absolute;
}

div.iconmenu div.menu.opened div.menuline:nth-child(3) {
	background-color: #AA8765;
	transform: rotate(-45deg);
	transform-origin: 50% 50% 0px;
	position: absolute;
	top: 11px;
}

div.iconmenu div.menu.opened button#menu {
	color: #AA8765;
}

div.iconmenu div.menu:hover button {
	color: #AA8765;
}
div.iconmenu div.menu:hover div.menuline {
	background-color: #AA8765;
}

div.iconmenu div.menu.opened:hover button#menu {
	color: #F8F5F0;
}
div.iconmenu div.menu.opened:hover div.menuline {
	background-color: #F8F5F0;
}

div.breadcrumbs {
	color: #F8F5F0;
	padding: 0 48px;
	padding-bottom: 16px;
	background: rgba(28, 28, 28, .5);
}

div.breadcrumbs a {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 16px;
	text-transform: uppercase;
	color: #F8F5F0;
	letter-spacing: 0.8px;
}

div.breadcrumbs a:hover {
	text-decoration: underline;
}

div.breadcrumbs nav {
	font-family: "MatterMonoBold", sans-serif !important;
	font-size: 16px;
	text-transform: uppercase;
	border-top: 1px solid #F8F5F0;
	padding-top: 16px;
	letter-spacing: 0.8px;
}

div.searchform {
	background: #1c1c1c;
	padding-top: 24px;
	padding-bottom: 24px;
	display: none;
}

/*
 * On a phone the field drops out of the header when the magnifier is tapped,
 * and 24px above it left the box floating clear of the bar it came from.
 * Tightened so the two read as one movement.
 */
@media screen and (max-width: 800px) {
	div.searchform {
		padding-top: 10px;
		padding-bottom: 16px;
	}
}

div.searchform form.search-form {
	display: flex;
	flex-direction: row;
	gap: 32px;
}

div.searchform form.search-form > label {
	flex-basis: calc(100% - 128px);
}

div.searchform form.search-form > button {
	border: 1px solid #1c1c1c;
}

div.searchform form.search-form > button:hover {
	border-color: #AA8765;
}

div.searchform input[type='search'] {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid #1c1c1c;
	font-family: 'Graphik Condensed Web', sans-serif;
	font-size: 32px;
	padding-left: 32px;
	border-radius: 0;
}

div.searchform input[type='search']:focus-visible {
	outline: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance:none;
}

div.searchform label {
	position: relative;
}

div.searchform label span {
	position: absolute;
}

div.searchform label span.zoom {
	left: 0;
	top: 6px;
	font-size: 24px;
}

div.searchform label span.reset {
	right: 0;
	font-size: 24px;
	top: 6px;
	cursor: pointer;
}

div.searchform input[type='submit'] {
	display: none;
}

div.announcementbar {
	background-color: #AA8765;
	text-align: center;
	text-transform: uppercase;
	padding: 8px 48px;
	position: relative;
	display: none;
	z-index: 20;
}

div.announcementbar.active {
	display: block;
}

div.announcementbar a {
	text-decoration: underline;
}

div.announcementbar p {
	margin: 0;
}

div.announcementbar span.close {
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s ease all;
}

div.announcementbar span.close:hover {
	color: #F8F5F0;
}

#site-navigation {
	display: none;
}

#site-navigation .background-overlay {
	height: 100%;
	left: 0;
	overflow: hidden;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
	background: #1c1c1c;
}

#site-navigation .background-overlay img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

#site-navigation .grand-menu {
	align-content: center;
	align-items: center;
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: 100%;
	justify-content: space-between;
	left: 0;
	overflow: auto;
	padding: 72px 32px 32px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 15;
	min-height: 100vh;
}

#site-navigation .grand-menu .menu {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	align-items: center;
}

#site-navigation .grand-menu .menu-primary-menu-container {
	display: flex;
	flex-basis: 100%;
	width: 100%;
	align-items: center;
	justify-content: center;
}

#site-navigation .grand-menu .menu > li.menu-item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: start;
	flex-direction: column;
	transition: 0.5s ease all;
	height: 128px;
}

#site-navigation .grand-menu .menu-primary-menu-container .menu > li.menu-item.menu-item-has-children:hover {
	height: 192px;
}

#site-navigation .grand-menu .menu li.menu-item > a {
	font-family: "MatterMonoBold" !important;
	font-size: 96px;
	color: #F8F5F0;
	text-transform: uppercase;
	line-height: 96px;
	padding: 16px 0;
	text-align: center;
	transition: 0.3s ease all;
}

#site-navigation .grand-menu .menu li.menu-item > a:hover,
#site-navigation .secondary-menu .menu li.menu-item > a:hover,
#site-navigation .secondary-menu .social-menu a:hover {
	color: #AA8765;
}

#site-navigation .grand-menu .menu li.menu-item ul.sub-menu {
	flex-direction: row;
	gap: 48px;
	position: relative;
	box-shadow: none;
	top: auto;
	z-index: 15;
	display: none;
	left: auto;
}

#site-navigation .grand-menu .menu li.menu-item ul.sub-menu a {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 32px;
	line-height: 32px;
	padding: 0;
	width: auto;
	letter-spacing: 1.2px;
}

#site-navigation .secondary-menu {display: flex;align-items: flex-end;flex-direction: column;}

#site-navigation .secondary-menu .social-menu {
	display: flex;
	flex-direction: row;
	gap: 32px;
	margin-bottom: 32px;
	justify-content: center;
	width: 100%;
}

#site-navigation .secondary-menu .social-menu a {
	color: #F8F5F0;
	text-transform: uppercase;
}

#site-navigation .secondary-menu .menu {
	flex-direction: row;
	gap: 0;
	position: relative;
	box-shadow: none;
	top: auto;
	z-index: 15;
	left: auto;
	align-items: center;
	flex-wrap: wrap;
}

#site-navigation .secondary-menu .menu li.menu-item {
	flex-basis: 33%;
	padding: 12px 0;
	height: auto;
}

#site-navigation .secondary-menu .menu li.menu-item:nth-child(1),
#site-navigation .secondary-menu .menu li.menu-item:nth-child(2) {
	flex-basis: 50%;
}

#site-navigation .secondary-menu .menu li.menu-item > a {
	color: #F8F5F0;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 24px;
	text-transform: uppercase;
	line-height: 24px;
	text-align: center;
	transition: 0.3s ease all;
	padding: 0;
	letter-spacing: 1.2px;
}

footer {
	padding: 48px;
}

footer a {
	color: #F8F5F0;
}

.contact-form .contact-data span {
	color: #7A7977;
	padding-right: 10px;
}

/* Footer columns
---------------------------------------------
 * One grid, six tracks: the mark, Visit, and the four top-level items of
 * menu-3. The menu's own wrappers are display:contents so those four items
 * become columns of THIS grid rather than a grid of their own — one set of
 * gutters, and every column head on the same line as the mark.
 */
footer .footer-container {
	display: grid;
	grid-template-columns: 76px repeat(5, 1fr);
	gap: 24px;
	padding-top: 48px;
	color: #F8F5F0;
}

footer .footer-container #primary-menu {
	display: contents;
}

/* display:contents takes the ul out of the box tree but leaves its children as
   list-items, so the discs from the base `ul` rule still draw. list-style-type
   inherits, so this has to be said on the items themselves. */
footer .footer-container #primary-menu,
footer .footer-container #primary-menu > li {
	list-style: none;
}

footer .footer-container #primary-menu > li {
	min-width: 0;
}

/* The mark's own track. The nudge lines its top edge up with the cap height of
   the heads beside it, which sit on a 29px line box. */
footer .footer-markcol {
	margin-top: 5px;
}

footer .footer-markcol .footer-mark {
	display: block;
	width: 30px;
	height: auto;
	color: #F8F5F0;
	opacity: .9;
	transition: opacity .2s;
}

footer .footer-markcol a:hover .footer-mark {
	opacity: 1;
}

/* Column heads. `.footer-colhead` is Visit's; the menu supplies the other four
   as its top-level anchors, and both are named here so they cannot drift. */
footer .footer-container .footer-colhead,
footer .footer-container #primary-menu > li > a {
	display: block;
	margin-bottom: 32px;
	font-family: 'MatterMonoMedium', sans-serif;
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

footer .footer-container .footer-collist,
footer .footer-container #primary-menu ul.sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer-container .footer-collist li,
footer .footer-container #primary-menu ul.sub-menu li {
	margin-bottom: 12px;
}

footer .footer-container .footer-collist a,
footer .footer-container #primary-menu ul.sub-menu a {
	font-family: 'MatterMonoMedium', sans-serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	line-height: 1;
}

/* The address carries its own line-height because it is the one item here that
   wraps to two lines on purpose. */
footer .footer-container .footer-address {
	font-family: 'MatterMonoMedium', sans-serif;
	font-size: 16px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	line-height: 1.45;
	margin-bottom: 20px;
}

/* Footer bottom
--------------------------------------------- */
footer .footer-bottom-container {
	border-top: 1px solid rgb(59, 59, 58);
	margin-top: 56px;
	padding-top: 40px;
}

footer .footer-bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

footer .footer-bottom-container .social-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	text-transform: uppercase;
}

/* The cactus is a plain image now. It used to be a background-image on an
   anchor, inlined twice as a data URI (cream, and green on hover) — roughly
   half a megabyte of style.css for a mark that never linked anywhere. */
footer .footer-cactus {
	display: block;
	width: 62px;
	height: auto;
}

/*
 * The colophon: copyright, the legal links and the site credit on one line.
 *
 * Deliberately the body face at 12px rather than the mono the columns above
 * use — matching the house label voice here would make this small print read
 * as another row of navigation, which is exactly what it should not be. The
 * separators are generated, so the markup stays a plain list.
 */
footer .footer-legal {
	margin-top: 36px;
	font-family: 'MatterRegular', sans-serif;
	font-size: 12px;
	letter-spacing: 0.2px;
	line-height: 1.7;
	text-transform: none;
	color: #8F8C86;
}

footer .footer-legal #secondary-menu {
	display: inline;
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer-legal #secondary-menu li {
	display: inline;
}

footer .footer-legal #secondary-menu li::before,
footer .footer-legal .site-credit::before {
	content: "\00B7";
	color: #3B3B3A;
	padding: 0 7px;
}

footer .footer-legal a {
	color: #8F8C86;
}

footer .footer-legal a:hover,
footer .footer-legal a:focus-visible {
	color: #AA8765;
}

footer .footer-legal .site-credit {
	display: inline;
	font-family: 'MatterRegular', sans-serif;
	font-size: 12px;
	letter-spacing: 0.2px;
	text-transform: none;
}

/* The arrow says the credit goes somewhere; it leans out on the way. */
footer .footer-legal .site-credit-arrow {
	display: inline-block;
	font-size: 11px;
	line-height: 1;
	transition: transform .2s;
}

footer .footer-legal .site-credit:hover .site-credit-arrow,
footer .footer-legal .site-credit:focus-visible .site-credit-arrow {
	transform: translate(2px, -2px);
}

/* Footer sign-up
--------------------------------------------- */
footer .rg-sub {
	padding: 40px 0;
	border-top: 1px solid rgb(59, 59, 58);
	border-bottom: 1px solid rgb(59, 59, 58);
	color: #F8F5F0;
}
footer .rg-sub-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}
footer .rg-sub-copy { flex: 1 1 340px; max-width: 46ch; }
footer .rg-sub-h {
	font-size: 44px;
	line-height: .92;
	text-transform: uppercase;
	color: #F8F5F0;
	margin: 0;
}
footer .rg-sub-line {
	margin: 10px 0 0;
	font-family: 'MatterRegular', sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #d9d5cd;
}

footer .rg-sub-form { flex: 1 1 520px; }
footer .rg-sub-fields { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
footer .rg-sub-field { flex: 1 1 200px; margin: 0; }
footer .rg-sub-fields input[type='text'],
footer .rg-sub-fields input[type='email'] {
	width: 100%;
	height: 52px;
	padding: 0 18px;
	background: none;
	border: 1px solid rgb(89, 87, 83);
	border-radius: 99px;
	color: #F8F5F0;
	font-family: 'MatterRegular', sans-serif;
	font-size: 15px;
	transition: border-color .2s;
}
footer .rg-sub-fields input[type='text']::placeholder,
footer .rg-sub-fields input[type='email']::placeholder { color: #8f8b84; }
footer .rg-sub-fields input[type='text']:hover,
footer .rg-sub-fields input[type='email']:hover { border-color: #a19c93; }
footer .rg-sub-fields input[type='text']:focus,
footer .rg-sub-fields input[type='email']:focus {
	outline: none;
	border-color: #F8F5F0;
}

/* Elementor's kit sets `font-family: "Exo 2"` on every bare <button> through
   `.elementor-kit-43 button`, which matches this one at the same specificity
   and loads after the theme — hence the tag in the selector. */
footer .rg-sub-form button.rg-sub-go {
	flex: 0 0 auto;
	height: 52px;
	padding: 0 30px;
	border: 0;
	border-radius: 99px;
	background: #F8F5F0;
	color: #1c1c1b;
	font-family: 'MatterMonoMedium', monospace;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, color .2s;
}
footer .rg-sub-form button.rg-sub-go:hover { background: #a88a6d; color: #1c1c1b; border: 0; }

footer .rg-sub-responses { flex: 1 1 100%; }

/* The footer's mark — stacked, small, and coloured by what's around it.
   The wordmark is a background-image on div.logo with a hidden <img> holding
   the space, so the footer's copy has to switch that off as well. */
footer .rg-sub-responses div.response {
	font-family: 'MatterMonoRegular', monospace;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-top: 10px;
	color: #a88a6d;
}

@media (max-width: 900px) {
	footer .rg-sub { padding: 32px 0; }
	footer .rg-sub-in { gap: 20px; }
	footer .rg-sub-h { font-size: 34px; }
	footer .rg-sub-field { flex: 1 1 100%; }
	footer .rg-sub-go { flex: 1 1 100%; }
}

/* HOMEPAGE */
.section_homepage_video {
	color: #F8F5F0;
	text-transform: uppercase;
	position: relative;
	min-height: 800px;
	overflow: hidden;
}

.section_homepage_video .elementor-widget.subtitle1 p {
	text-transform: none;
}

.homepage_video_static_image {
	height: 95vh;
	margin-top: -120px;
}

.page-id-7182 .section_homepage_video,
body.home .section_homepage_video {
	height: 95vh;
	margin-top: -63px;
}

.page-id-17332 .section_homepage_video {
	margin-top: -119px;
}

.page-id-7182 .section_homepage_video div.mainvideo .elementor-widget-container,
body.home .section_homepage_video div.mainvideo .elementor-widget-container,
.page-id-7182 .section_homepage_video div.mainvideo .elementor-widget-container div.e-hosted-video,
body.home .section_homepage_video div.mainvideo .elementor-widget-container div.e-hosted-video {
	height: 100%;
	width: 100%;
}

.page-id-7182 .section_homepage_video div.mainvideo,
body.home .section_homepage_video div.mainvideo {
	height: 100%;
}

div.section_homepage_video.homepage_video_static_image .header-content {
	padding-bottom: 160px;
}

.section_homepage_video .elementor-inner-section p,
.section_homepage_video .elementor-inner-section .elementor-widget:not(:last-child),
.section_homepage_store p,
.section_homepage_store .elementor-widget:not(:last-child),
.homepage_three_imageblocks p,
.homepage_three_imageblocks .elementor-widget:not(:last-child),
.section_homepage_white p,
.section_homepage_white .elementor-widget:not(:last-child),
.section_homepage_rides p,
.section_homepage_rides .elementor-widget:not(:last-child),
.section_homepage_mission p,
.section_homepage_mission .elementor-widget:not(:last-child),
body.single-post .elementor-widget:not(:last-child) {
	margin: 0;
}

.section_homepage_video .elementor-inner-section div.overline.elementor-widget {
	margin-bottom: 38px;
}

.section_homepage_video .elementor-inner-section h1 {
	margin-bottom: 6px;
}

.section_homepage_video .elementor-inner-section div.elementor-widget.subtitle1 {
	margin-bottom: 48px;
}

.page-id-7182 .breadcrumbs,
body.home .breadcrumbs {
	display: none !important;
}

body .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0;
}

.section_homepage_video .mainvideo {
	position: absolute;
	z-index: 1;
	height: auto;
	overflow: hidden;
}

.section_homepage_video .mainvideo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

section.header-content {
	position: absolute;
	bottom: 0;
	z-index: 10;
	transform: none;
	padding: 138px 48px 64px 48px;
	background: linear-gradient(180deg, rgba(28, 28, 28, 0) 0%, rgb(28, 28, 28) 100%);
	opacity: 1;
	width: 100%;
}

.section_homepage_video > div.elementor-container,
.section_homepage_video > .elementor-container > .elementor-column,
.section_homepage_video > .elementor-container > .elementor-column > .elementor-widget-wrap {
	position: unset;
}

.section_homepage_store {
	margin-top: 248px;
	padding: 0 48px;
	color: #F8F5F0;
	padding-bottom: 64px;
	border-bottom: 1px solid #3B3B3A;
}

.section_homepage_store .title_column .overline {
	text-transform: uppercase;
	margin-bottom: 48px;
}

.section_homepage_store .title_column h2 {
	text-transform: uppercase;
	margin-bottom: 16px;
}

.section_homepage_store .title_column .subtitle2 {
	margin-bottom: 64px;
}

.section_homepage_store.elementor-section > .elementor-container {
	gap: 48px;
}

.section_homepage_store .info_column {
	align-items: end;
}

.section_homepage_store .info_column div.body {
	margin-bottom: 48px;
}

.section_homepage_store .info_column h6 {
	margin-bottom: 32px;
}

.section_homepage_store .info_column .timetable div.day,
.section_homepage_store .info_column .timetable div.time,
.page-coffee div.time,
.page-coffee div.day {
	float: left;
	width: 50%;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #3B3B3A;
}

.section_homepage_store .info_column .timetable div div.day:nth-last-child(2),
.section_homepage_store .info_column .timetable div div.time:last-child,
.page-coffee div.time:last-child,
.page-coffee div.day:nth-last-child(2) {
	border: none;
}

.section_homepage_store .info_column .timetable a.elementor-button,
.section_homepage_store .info_column a.elementor-button {
	margin-top: 48px;
}

.section_homepage_store .info_column section.brands {
	margin-top: 64px;
	border-top: 1px solid #3B3B3A;
	padding-top: 64px;
}

.section_homepage_store .brand_logos div {
	margin-bottom: 0;
}

.section_homepage_store .brand_logos .elementor-column {
	flex-shrink: 1;
	width: auto;
}

.section_homepage_store .brand_logos > .elementor-container {
	align-items: center;
	column-gap: 48px;
	row-gap: 48px;
	flex-wrap: wrap;
}

.section_homepage_store .brand_logos img {
	opacity: 0.65;
}

.section_homepage_store .brand_logos a:hover img {
	opacity: 1;
}

.section_homepage_store .timetable.caption .dark_button {
	padding-bottom: 64px;
	border-bottom: 1px solid #3B3B3A;
	margin-bottom:64px;
}

.homepage_three_imageblocks {
	color: #F8F5F0;
	margin-top: 64px;
	padding: 0 48px 124px 48px;
	border-bottom: 1px solid #F8F5F0;
}

.homepage_three_imageblocks .title_block {
	margin-bottom: 48px;
}

.homepage_three_imageblocks .title_block .right_column,
.homepage_three_imageblocks .title_block .left_column {
	align-content: center;
}

.homepage_three_imageblocks .title_block .right_column {
	text-transform: uppercase;
	text-align: right;
}

.homepage_three_imageblocks .title_block a:hover {
	color: #AA8765 !important;
}

.homepage_three_imageblocks h5 {
	text-transform: uppercase;
}

.homepage_three_imageblocks .post_blocks > .elementor-container {
	gap: 48px;
	text-align: center;
}

.homepage_three_imageblocks .post_blocks img {
	width: 100%;
}

.homepage_three_imageblocks .post_blocks .elementor-widget-image {
	margin-bottom: 48px;
}

.homepage_three_imageblocks .post_blocks h4 {
	text-transform: uppercase;
	margin-bottom: 16px;
}

.homepage_three_imageblocks .post_blocks .elementor-widget-button {
	margin-top: 48px;
}
.section_store_cofeeshop .title_column > .elementor-element-populated {
	text-align: right;
}

.section_homepage_white {
	padding: 248px 48px 0 48px;
	color: #1c1c1c;
}

.section_homepage_white .overline p {
	text-transform: uppercase;
	margin-bottom: 48px;
}

.section_homepage_white h2 {
	text-transform: uppercase;
	color: #7F8236;
	margin-bottom: 48px;
}

.section_homepage_white .threecolumnblock .elementor-column-gap-default {
	gap: 48px;
}

.section_homepage_white .threecolumnblock h6 {
	line-height: 1.1;
	margin-bottom: 16px;
}

.section_homepage_white .threecolumnblock .caption p {
	margin-bottom: 67px;
}

.section_homepage_white .threecolumnblock .elementor-widget-image {
	position: absolute;
	z-index: 20;
}

.section_homepage_white .innerimage {
	width: calc(100% + 96px) !important;
	position: relative;
	left: -48px;
	top: auto;
	margin: 64px -96px 0 0;
}

.section_homepage_rides {
	padding: 248px 48px 0 48px;
	color: #F8F5F0;
}

.section_homepage_ridesimage {
	padding-bottom: 248px;
}

.section_homepage_rides .overline p {
	text-transform: uppercase;
}

.section_homepage_rides h3 {
	color: #CCE2EC;
	text-transform: uppercase;
}

.section_homepage_rides .elementor-column-gap-default {
	gap: 48px;
}

.section_homepage_rides .subtitle2,
.section_homepage_rides .body {
	max-width: 51%;
	clear: both;
}

.section_homepage_rides  .timetable div.location,
.section_homepage_rides  .timetable div.time {
	width: calc(50% - 24px);
	border-top: 1px solid #3b3b3a;
	padding-top: 8px;
	float: left;
}

.section_homepage_rides  .timetable div.location {
	margin-right: 24px;
}

.section_homepage_rides  .timetable div.time {
	margin-left: 24px;
}

.section_homepage_rides  .timetable div span.label {
	width: 100%;
	float: left;
	color: #7A7977;
	text-transform: uppercase;
	margin-bottom: 8px;
	font-family: 'MatterRegular';
}

.section_homepage_rides .timetable div span.value {
	width: 100%;
	float: left;
}

.section_homepage_rides  a.elementor-button:hover {
	background: #CCE2EC;
	border-color: #CCE2EC;
}

.section_homepage_rides .dark_button a.elementor-button:hover {
	background: #CCE2EC;
	border-color: #CCE2EC;
}

.section_homepage_ridesimage {
	padding-top: 0 !important;
}

.section_homepage_ridesimage .elementor-widget-image {
	text-align: right;
}

.section_homepage_ridesimage .elementor-widget-image img {
	width: 83%;
}

.section_homepage_featuredposts:not(.brands-related-posts) {
	padding: 0 48px 248px 48px;
	color: #F8F5F0;
}

.section_homepage_mission {
	padding: 248px 48px 248px 48px;
	color: #F8F5F0;
}

.section_homepage_featuredposts .title_block {
	margin-bottom: 64px;
	padding-top: 48px;
	border-top: 1px solid #3b3b3a;
}

.section_homepage_featuredproducts .title_block {
	margin-bottom: 64px;
}

.section_homepage_featuredposts .title_block .right_column,
.section_homepage_featuredposts .title_block .left_column,
.section_homepage_featuredproducts .title_block .left_column,
.section_homepage_featuredproducts .title_block .right_column {
	align-content: center;
}

.section_homepage_featuredposts .title_block .right_column,
.section_homepage_featuredproducts .title_block .right_column {
	text-transform: uppercase;
	text-align: right;
}

.section_homepage_featuredposts .title_block a:hover,
.section_homepage_featuredproducts .title_block a:hover {
	color: #AA8765 !important;
}

.section_homepage_featuredposts h5 {
	text-transform: uppercase;
}

.section_homepage_featuredposts .featured-posts,
.posts-grid {
	display: flex;
	gap: 48px;
	flex-direction: row;
}

.postcard {
	flex-basis: 33%;
	position: relative;
	align-self: start;
	aspect-ratio: .75 / 1;
	display: flex;
	align-items: end;
	border-radius: 4px;
	overflow: hidden;
}

.postcard a {
	width: 100%;
}

.postcard .content p,
.postcard .content h6,
.postcard .content span {
	color: #F8F5F0;
	margin: 0;
}

.postcard .content p.tag,
.postcard .content h6 {
	text-transform: uppercase;
}

.postcard .content h6.posttitle {
	text-transform: none;
}

.postcard .content p.excerpt {
	display: none;
}

.postcard .content {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
	background: linear-gradient(180deg, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, .95) 90.10834565033784%);
}

.postcard div.background {
	position: absolute;
	border-radius: inherit;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.postcard div.background img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center;
	object-fit: cover;
	image-rendering: auto;
}

.postcard span.icon {
	position: absolute;
	bottom: 16px;
	right: 16px;
	height: 34px;
	width: 34px;
	border-radius: 20px;
	background: rgb(59, 59, 58);
	top: auto;
	text-align: center;
	padding-top: 4px;
}

.postcard:hover div.background {
	filter: grayscale(1);
}

.postcard:hover p.excerpt {
	display: block;
}

.postcard:hover div.background img {
	opacity: 0.5;
}

.postcard:hover div.content {
	background: linear-gradient(180deg, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, .95) 53.108346%);
	padding-top: 70%;
}

.section_homepage_featuredproducts {
	padding: 248px 48px;
	background: #F8F5F0;
	color: #1c1c1c;
}

.section_homepage_featuredproducts .title_block h4 {
	text-transform: uppercase;
}

.section_homepage_featuredproducts .title_block .buttonlarge p {
	letter-spacing: 1.2px;
}

.section_homepage_featuredproducts .featured-products,
.products-grid {
	display: flex;
	gap: 48px;
	flex-direction: row;
}

.productcard {
	flex-basis: 33%;
	position: relative;
	align-self: start;
	display: flex;
	align-items: start;
	box-sizing: border-box;
}

.productcard a {
	width: 100%;
}

.productcard p {
	margin: 0;
}

.productcard .background {
	margin-bottom: 16px;
	border-radius: 4px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.productcard .background img {
	float: left;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

.productcard img.secondary {
	display: none;
}

.productcard .content {
	min-height: 183px;
}

.productcard p.tag,
.productcard p.category {
	text-transform: uppercase;
	color: #7A7977;
	font-weight: normal;
}

.productcard p.category span {
	position: relative;
	top: 5px;
	margin-left: 4px;
}

.productcard p.posttitle,
.productcard p.category,
.productcard p.price {
	text-transform: uppercase;
	margin-bottom: 16px;
}

.productcard p.price span,
.productcard p.price span bdi {
	font-weight: normal;
}

.productcard p.price del,
.productcard p.price ins {
	letter-spacing: 1.8px;
}

.productcard p.price ins {
	background: none;
}

.productcard p.price del {
	color: #7A7977;
	font-family: 'MatterMonoRegular', sans-serif !important;
	letter-spacing: 1.8px;
}

.productcard p.color-no {
	color: #7A7977;
	text-transform: uppercase;
}

.productcard p.swatches {
	display: none;
}

.productcard p.swatches span {
	width: 24px;
	height: 24px;
	border: 1px solid #262626;
	border-radius: 24px;
	margin-right: 6px;
	display: inline-block;
}

@media screen and (min-width: 801px) {
	.productcard.hastwoimage:hover div.background img.main {
		display: none;
	}

	.productcard.hastwoimage:hover div.background img.secondary {
		display: block;
	}

	.productcard:hover p.category,
	.productcard:hover p.color-no {
		display: none;
	}

	.productcard:hover p.swatches {
		display: inline-block;
	}
}

.section_homepage_mission .elementor-widget-wrap {
	aspect-ratio: 1.3333333333333333 / 1;
	align-content: center;
	display: flex;
	max-width: none;
	justify-content: center;
	padding: 0 16px !important;
}

.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading {
	max-width: 2200px;
}

.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading:before {
	content: '';
	/*
	 * Halved 2026-08-18 (Pete: "the stacked logo is too big"). This is the
	 * ONLY change to this section — the treatment that went with it was
	 * reverted the same evening, see bin/homepage-mission-revert.php. `top`
	 * is re-derived so the gap between the mark and the first line of type is
	 * exactly what it was.
	 */
	width: 26px;
	height: 64px;
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg width='70' height='172' viewBox='0 0 70 172' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M63.7843 35.4188C66.9465 31.6682 68.5194 27.2979 68.5194 22.308C68.5194 16.5516 66.586 11.6595 62.7357 7.58275C57.8859 2.52758 50.8406 0 41.5835 0H0V8.8547H41.5999C47.4491 8.8547 51.922 10.3876 55.0023 13.4533C57.3944 15.9809 58.5904 18.8998 58.5904 22.1938C58.5904 25.9444 57.1978 29.1243 54.4288 31.7334C51.6599 34.3425 48.2191 35.6471 44.1394 35.6471H0V75.0937H10.06V44.5018H40.797L58.1317 75.0937H69.568L50.9717 43.2298C56.3622 41.7785 60.6385 39.1694 63.8007 35.4025L63.7843 35.4188Z' fill='%23F8F5F0'/%3E%3Cpath d='M69.5516 96.0387H0V104.893H69.5516V96.0387Z' fill='%23F8F5F0'/%3E%3Cpath d='M69.5516 162.278H0V171.132H69.5516V162.278Z' fill='%23F8F5F0'/%3E%3Cpath d='M69.5512 129.158H17.1377V138.013H69.5512V129.158Z' fill='%23F8F5F0'/%3E%3C/svg%3E%0A");
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: -102px;
	background-size: 26px;
}

.section_homepage_mission .elementor-widget-heading div.elementor-widget-container {
	width: 66%;
}

/* SHOP PAGE */

.site-shop div.mainvideo {
	width: 100%;
	inset: 0px;
}

.site-shop .header-content h1 {
	margin: 0;
}

.site-shop .section_content {
	display: flex;
	justify-content: end;
}

.site-shop .section_content .text.body {
	width: 66%;
}

.site-shop .section_content p {
	margin-top: 0;
	margin-bottom: 48px;
}

.site-shop .section_content p a {
    color: #fff;
}

.site-shop .section_content p a:hover {
    color: #F8F5F0;
}

.site-shop .section_content p b {
	font-size: 24px;
	font-weight: 400;
	font-family: 'MatterSemiBold', sans-serif;
	line-height: 1.4;
}

.site-shop .category_grid {
	padding-top: 0 !important;
}

.site-shop .gridcontent {
	display: flex;
	gap: 48px;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	justify-content: space-between;
}

.site-shop .gridcontent .defaultcard {
	flex-basis: calc(50% - 24px);
	box-sizing: border-box;
	border: 16px solid #262626;
	border-radius: 4px;
}

.site-shop .gridcontent .defaultcard.twofold {
	flex-basis: 100%;
}

.defaultcard {
	position: relative;
	aspect-ratio: 1 / 1;
	background-color: rgba(28, 28, 28, 0.5);
	opacity: 1;
}

.defaultcard.twofold {
	aspect-ratio: 2.090909090909091 / 1;
}

.defaultcard > a {
	background: linear-gradient(180deg, rgba(28, 28, 28, 0) 0%, rgb(38, 38, 38) 100%);
	opacity: 1;
	display: flex;
	padding: 16px;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0;
	flex-wrap: nowrap;
	height: 100%;
}

.defaultcard .background {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.defaultcard .background img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

.defaultcard .topper {
	width: 100%;
	text-align: center;
	padding-bottom: 16px;
	border-bottom: 1px solid #F8F5F0;
	text-transform: uppercase;
}

.defaultcard p,
.defaultcard h4,
.defaultcard h5,
.defaultcard a {
	margin: 0;
	color: #F8F5F0;
}

.defaultcard h4,
.defaultcard h5,
.defaultcard a {
	text-transform: uppercase;
	text-align: center;
}

.defaultcard a p.body {
	text-transform: none;
}

.defaultcard p {
	text-align: center;
}

.defaultcard .content {
	flex: 1 0 0px;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	display: flex;
	justify-content: center;
	gap: 16px;
}

.defaultcard .buttoncont {
	display: flex;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 16px;
	height: min-content;
	justify-content: center;
	align-items: center;
	position: relative;
	padding-top: 16px;
	border-top: 1px solid #F8F5F0;
}

.defaultcard .buttoncont p {
	position: relative;
}

.defaultcard .buttoncont span.msbuttonsmall {
	font-size: 18px;
	display: inline-block;
	margin-left: 5px;
	top: 2px;
	position: relative;
}

.defaultcard:hover .background img {
	filter: saturate(0%);
}

/* CATEGORY PAGE */

div.productsgrid {
	background: #F8F5F0;
	padding: 48px;
}

.grid33 {
	--cols: 3;
	--gap: 48px;
	gap: var(--gap);
}

.grid33 > div {
	flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
}

.grid22 {
	--cols: 2;
	--gap: 48px;
	gap: var(--gap);
}

.grid22 > div {
	flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
}

div.productsgrid .products {
	display: flex;
	--cols: 3;
	--gap: 48px;
	gap: var(--gap);
	flex-direction: row;
	flex-wrap: wrap;
}

div.productsgrid .products .productcard {
	flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
	/* width: 100%; */
}

.woocommerce-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
}

.woocommerce-pagination ul.page-numbers {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
	flex-direction: row;
}

.woocommerce-pagination ul.page-numbers li {
	list-style: none;
	width: 35px;
	height: 35px;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 18px;
	text-align: center;
	line-height: 35px;
	letter-spacing: 1.8px;
}

.woocommerce-pagination ul.page-numbers li span.current {
	background: #1c1c1c;
	width: 100%;
	height: 100%;
	color: #F8F5F0;
	display: block;
	border-radius: 20px;
}

.woocommerce-pagination ul.page-numbers li a:hover {
	color: #AA8765;
}

div.toolbar {
	display: flex;
	flex-direction: column;
	gap: 32px;
	border-bottom: 1px solid #1c1c1c;
	padding-bottom: 16px;
	margin-bottom: 48px;
	padding-top: 48px;
}

div.toolbar div.filters {
	display: flex;
	flex-direction: row;
	gap: 32px;
	text-transform: uppercase;
}

div.toolbar div.filters span.buttonsmall {
	cursor: pointer;
}

div.toolbar div.filters div {
	display: flex;
	justify-content: center;
	align-items: end;
}

div.toolbar div.filters span.buttonsmall:hover,
div.toolbar div.values .buttonsmall:hover,
div.toolbar div.filters div.filter_clearall a:hover {
	color: #AA8765;
}

div.toolbar div.filters div.filter_clearall a {
	color: #7A7977;
}

div.toolbar div.filters span.filteractive {
	position: relative;
	top: 0;
	margin-right: 5px;
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 16px;
}

div.toolbar div.filters span.buttonsmall span {
	font-size: 18px;
	position: relative;
	top: 4px;
}

div.toolbar form.woocommerce-ordering {
	display: none;
}

div.totalitems p {
	margin: 0;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

div.toolbar div.values .buttonsmall {
	cursor: pointer;
	text-transform: uppercase;
}

div.toolbar div.values .buttonsmall span {
	margin-left: 8px;
	font-size: 18px;
	position: relative;
	top: 4px;
}

div.toolbar div.values > div {
	display: flex;
	gap: 32px;
	flex-direction: row;
}

div.toolbar div.values > div,
div.toolbar div.values {
	display: none;
}

div.toolbar div.values.brand > div.values_brand,
div.toolbar div.values.category > div.values_category,
div.toolbar div.values.sort > div.values_sort {
	display: flex;
}

.productsgrid_brandspage div.toolbar {
	padding-top: 0;
}

.related-categories div.title {
	color: #F8F5F0;
	text-transform: uppercase;
	display: flex;
	justify-content: space-between;
}

.related-categories div.title h4 {
	margin: 0;
}

.related-categories div.title a {
	color: #F8F5F0;
	align-items: center;
	justify-content: center;
	line-height: 56px;
}

.related-categories div.title a:hover {
	color: #AA8765;
}

/* Smush's lazy-loader leaves these card images on .lazyload (opacity: 0) even
   once the file has decoded, so the section rendered as flat dark boxes. The
   images sit behind the card at z-index -1 and are decorative, so there is
   nothing to gain from fading them in. */
.related-categories div.defaultcard div.background img {
	opacity: 1;
}

.related-categories div.gridcontent > div.defaultcard {
	flex-basis: calc(33% - 33px);
}

.related-categories div.title {
	flex-basis: 100%;
}

/* PRODUCT PAGE */

.bicycle-inqury-buttons {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}

.bicycle-inqury-buttons .full {
	flex-basis: 100%;
	text-align: center;
}

.bicycle-inqury-buttons .half {
	flex-basis: calc(50% - 16px);
	border: 1px solid #1c1c1c;
	text-align: center;
}

.bicycle-inqury-buttons .half:hover {
	color: #F8F5F0 !important;
	border: none;
}

.sticky-add-to-cart-button {
	position: fixed;
	bottom: 0;
	border: none !important;
	border-radius: 0 !important;
	width: 100%;
	text-align: center;
	z-index: 10;
}

.sticky-add-to-cart-button:hover,
.bicycle-inqury-buttons .full:hover {
	background: #AA8765 !important;
}

.product-page {

}

.product-page .heading-title {
	padding: 144px 48px 124px 48px;
	display: flex;
	gap: 16px;
	color: #F8F5F0;
	flex-direction: column;
	max-width: 2200px;
	margin: auto;
}

.product-page .heading-title h1,
.product-page .heading-title p {
	margin: 0;
}

.product-page .heading-title h1 {
	text-transform: uppercase;
}

.product-page .titlebanner {
	overflow: hidden;
	aspect-ratio: 1.3333333333333333 / 1;
	min-height: 900px;
}

.product-page .titlebanner img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: top;
	object-fit: cover;
	image-rendering: auto;
}

.mainproductinfo {
	background: #F8F5F0;
}

.mainproductinfo .productcontent {
	max-width: 2200px;
	margin: auto;
	position: relative;
}

.mainproductinfo .productcontent span.onsale {
	display: none;
}

.mainproductinfo div.product {
	display: flex;
	flex-direction: row;
	gap: 48px;
	flex-wrap: wrap;
}

.mainproductinfo div.product div.woocommerce-product-gallery {
	flex-basis: calc(60% - 48px);
	float: none;
}

/*
 * The buy panel sticks, but it is often taller than the viewport — at which
 * point pinning its top at 128px parks Add to Cart permanently below the
 * fold, reachable only by outscrolling the entire gallery. js/product-gallery-sync.js
 * measures the panel and sets --rg-summary-top so that a panel which does not
 * fit pins by its bottom edge instead. The 128px default is what a panel that
 * does fit still uses.
 */
.mainproductinfo div.product div.summary {
	flex-basis: calc(40% - 48px);
	height: min-content;
	position: sticky;
	top: var(--rg-summary-top, 128px);
}

.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails {
	display: flex;
	flex-direction: row;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 16px;
}

/*
 * Desktop gallery: one column of full-size images that scrolls against the
 * sticky product panel, rather than a strip of thumbnails under a single
 * hero. The summary column has been position:sticky all along — there was
 * simply never anything tall enough beside it to scroll past.
 *
 * Below 800px the row of thumbnails stays: the two columns become one, so
 * there is nothing to stay still while the images move.
 */
@media screen and (min-width: 801px) {
	.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 16px;
	}

	.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails > div {
		flex: 0 0 auto;
		width: 100%;
	}

	/* A 5% zoom on a 700px-wide image is a lurch rather than a hint. */
	.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails > div img:hover {
		transform: none;
	}
}

.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails.leftalignthumbs {
	justify-content: start;
}

.mainproductinfo .woocommerce-product-gallery__wrapper .thumbnails > div {
	border-radius: 4px;
	overflow: hidden;
	flex-basis: calc(33% - 12px);
	flex: 1 0;
}

.mainproductinfo .woocommerce-product-gallery__wrapper > div {
	border-radius: 4px;
	overflow: hidden;
}

.mainproductinfo .woocommerce-product-gallery__wrapper img {
	transition: 0.2s ease all;
	width: 100%;
	float: left;
}

.mainproductinfo .woocommerce-product-gallery__wrapper > div img:hover {
	transform: scale(1.05);
}

.mainproductinfo .woocommerce-product-gallery__wrapper div.mainimage,
.mainproductinfo .woocommerce-product-gallery__wrapper div.thumb {
	position: relative;
}

.mainproductinfo .woocommerce-product-gallery__wrapper span.msbuttonsmall {
	position: absolute;
	right: 10px;
	top: 10px;
	color: #F8F5F0;
	font-size: 19px;
	width: 26px;
	height: 26px;
	text-align: center;
	z-index: 10;
}

.mainproductinfo .woocommerce-product-gallery__wrapper span.msbuttonsmall:hover {
	background: #F8F5F0;
	border-radius: 20px;
	color: #1c1c1c;
	cursor: pointer;
}

.pswp__caption__center {
	display: none;
}

.mainproductinfo .summary.entry-summary {
	margin-top: 0;
}

.mainproductinfo .summary.entry-summary a.buttonlarge {
	display: block;
	text-transform: uppercase;
}

.mainproductinfo .summary.entry-summary a.buttonlarge:hover {
	color: #AA8765;
}

.mainproductinfo .summary.entry-summary h5 {
	margin-top: 0;
	text-transform: uppercase;
}

.mainproductinfo .summary.entry-summary p.price {
	margin: 0;
	padding: 20px 0 32px 0;
	border-top: 1px solid #7A7977;
	border-bottom: 1px solid #7A7977;
}

.mainproductinfo .summary.entry-summary p.price del {
	color: #7A7977;
}

.mainproductinfo .summary.entry-summary p.price ins {
	background: none;
}

.mainproductinfo .summary.entry-summary form {
}

table.variations {
	font-family: 'MatterMonoRegular', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 1.8px;
	font-weight: 400 !important;
}

table.variations label {
	font-weight: 400 !important;
}

table.variations tr th,
table.variations tr td {
	text-align: left;
	display: block;
	width: 100%;
}

table.variations tr th {
	margin-bottom: 16px;
}

table.variations tr th:after {
	content: ' :';
	width: 5px;
	display: inline-block;
	top: -1px;
	position: relative;
}

table.variations tr {
	border-bottom: 1px solid #7A7977;
	display: block;
	padding: 16px 0;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item.selected:not(.no-stock) .variable-item-contents:before,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).image-variable-item.selected:not(.no-stock) .variable-item-contents:before {
	display: none;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled .variable-item-contents:before,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).disabled:hover .variable-item-contents:before {
	display: none;
}

ul[data-attribute_name="attribute_pa_size"] .variable-item-span,
ul[data-attribute_name="attribute_pa_freehub"] .variable-item-span {
	font-family: 'MatterMonoRegular', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	display: block;
	letter-spacing: 1.8px;
	font-weight: 400;
	width: 100%;
    padding: 0 10px;
}

ul[data-attribute_name="attribute_pa_size"],
ul[data-attribute_name="attribute_pa_freehub"] {
	--wvs-single-product-item-width: 62px;
	gap: 16px;
}

.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper[data-attribute_name="attribute_pa_size"] .variable-item:not(.radio-variable-item),
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper[data-attribute_name="attribute_pa_freehub"] .variable-item:not(.radio-variable-item) {
	border-radius: 100px;
	margin: 0;
	background: transparent;
	width: auto;
}

.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper[data-attribute_name="attribute_pa_freehub"] .variable-item:not(.radio-variable-item) .variable-item-span {
	border-radius: 0;
}

body.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
	background: transparent;
}

.woo-variation-swatches a.reset_variations {
	display: none !important;
}

.sizeguide, .techspecs {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 16px;
}

div.techspecs {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.sizeguide .sizerow,
.techspecs .sizerow {
	flex-basis: 100%;
	display: flex;
}

.sizeguide .sizecell,
.techspecs .sizecell {
	flex-basis: var(--sizeguide_column_count, 25%);
	font-weight: 400;
}

div.sizelink {
	cursor: pointer;
}

div.sizelink:hover {
	color: #AA8765;
}

div.sizelink span {
	font-size: 18px;
	top: 3px;
	position: relative;
}

div.sizeguide,
div.techspecs {
	display: none;
	margin-top: 10px;
}

div.sizeguide-container,
div.techspecs-container {
	margin-bottom: 16px;
}

div.techspecs-container .sizecell {
	text-transform: uppercase;
}

.mainproductinfo div.product_meta,
.mainproductinfo p.stock {
	display: none;
}

.mainproductinfo div.quantity {
	display: none !important;
}

.mainproductinfo .woocommerce-variation-add-to-cart button,
.mainproductinfo .simple-add-to-cart button {
	width: 100%;
}

.mainproductinfo .woocommerce-variation-add-to-cart button span,
.mainproductinfo .simple-add-to-cart button span {
	font-size: 18px;
	position: relative;
	top: 2px;
}

.mainproductinfo .woocommerce-variation-add-to-cart button:hover,
.mainproductinfo .simple-add-to-cart button:hover {
	background: #AA8765;
}

.mainproductinfo .simple-add-to-cart {
	padding-top: 32px;
}

div.popupform input,
div.popupform select {
	width: 100%;
}

div.popupform h5 {
	margin-bottom: 32px;
	text-transform: uppercase;
	text-align: center;
	margin-top: 20px;
}

div.popupform {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 200;
}

div.popupform div.background {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 200%;
	position: absolute;
	z-index: 250;
}

div.popupform p {
	margin: 0;
	font-family: 'MatterRegular', serif;
	text-align: center;
	letter-spacing: 1px;
}

div.popupform #product_id_contact,
div.popupform br {
	/* display: none; */
}

div.popupform .popupcontent {
	max-width: 600px;
	padding: 40px;
	background: #F8F5F0;
	z-index: 300;
	position: absolute;
	transform: translate(-50%, 0);
	top: 130px;
	left: 50%;
}

.product-template-default div.popupform .popupcontent {
    top: 250px;
}

div.popupform .wpcf7-form-control-wrap {
	margin-bottom: 12px;
	display: block;
}

div.popupform .popupcontent span.close {
	cursor: pointer;
	position: absolute;
	right: 10px;
	top: 10px;
}

div.popupform .popupcontent span.close:hover {
	color: #AA8765;
}

div.popupform .wpcf7-not-valid-tip {
	text-align: left;
}

.popupform [data-name='product_id_contact'] {
	display: none !important;
}

.popupform form .wpcf7-response-output {
	background: #1c1c1c;
	color: #F8F5F0;
	border: none;
	font-family: 'MatterRegular', sans-serif !important;
	text-align: center;
}

.popupform input.black_button {
	max-width: 290px;
	margin: auto;
	display: block;
}

body.popupmodal #masthead {
	z-index: 0;
}

.product-additional-content {
	padding-top: 0 !important;
	background: #F8F5F0;
	display: flex;
	justify-content: center;
}

.product-additional-content-wrap {
	display: flex;
	justify-content: end;
	max-width: 2200px;
	width: 100%;
	flex-wrap: wrap;
	margin: auto;
}

.product-additional-content p,
.product-additional-content h6,
.product-additional-content h5 {
	margin-top: 0;
}

.woocommerce-product-details__short-description a {
	text-decoration: underline;
}

.product-additional-content p a {
	text-decoration: underline;
}

.full-description .text,
.accordion .text,
.quote .text {
	flex-basis: 66%;
}

.accordion .text {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.accordion .accordion-item {
	border-bottom: 1px solid #1c1c1c;
}

.accordion .accordion-item h6 {
	text-transform: none;
	width: 100%;
	position: relative;
	cursor: pointer;
}

.accordion .accordion-item h6:hover {
	color: #AA8765;
}

.accordion .accordion-item h6 span {
	position: absolute;
	right: 0;
}

.accordion .accordion-item div {
	display: none;
}

.quote h5 {
	text-transform: uppercase;
	color: #AA8765;
}

.quote p {
	text-transform: uppercase;
}

.product-additional-content.imageblock {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.product-additional-content.imageblock .product-additional-content-wrap {
	gap: 64px;
}

.product-additional-content.imageblock .box {
	display: flex;
	flex-direction: row;
	flex-basis: 100%;
	gap: 48px;
}

.product-additional-content.imageblock h3 {
	margin: 0;
	width: 100%;
	text-transform: uppercase;
}

.product-additional-content.imageblock .box .image {
	flex-basis: 66%;
	border-radius: 4px;
	overflow: hidden;
}

.product-additional-content.imageblock .box .image img {
	width: 100%;
}

.product-additional-content.imageblock .box .imagecontent {
	flex-basis: 33%;
}

.product-additional-content.imageblock .box .imagecontent h5 {
	text-transform: uppercase;
}

.product-additional-content.imageblock .box2 .image {
	order: 2;
}

.product-additional-content.imageblock .box2 .imagecontent {
	box: 1;
}

.product-additional-content.video {
	aspect-ratio: 1.7777777777777777 / 1;
}

.product-additional-content.video .product-additional-content-wrap {
	height: 100%;
}

.product-additional-content-wrap .text p:not(.subtitle1),
.product-additional-content-wrap .text div.bodylarge {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 20px;
	line-height: 1.4;
	margin-bottom: 32px;
	font-weight: 400;
}

.product-additional-content.video .product-additional-content-wrap iframe {
	flex-basis: 100%;
}

.woocommerce-notices-wrapper .woocommerce-error {
	margin: 20px 0;
	padding: 10px;
	list-style: none;
	background: #AA3619;
	color: #F8F5F0;
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 400;
}

/* Brand-aligned WooCommerce notices — cream card with a mustard accent
   stripe (success / info) or a deeper warning stripe (error). Replaces
   the old slab-black box that read as a system error rather than a
   confirmation. Inherits the Matter type stack and the brand palette
   used throughout the chat / nav. */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
body .woocommerce-info {
	margin: 20px 0;
	padding: 18px 22px;
	list-style: none;
	background: #F8F5F0;             /* --rg-cream */
	color: #1c1c1c;                   /* --rg-ink */
	border: 0;
	border-left: 4px solid #AA8765;   /* --rg-mustard */
	border-radius: 4px;
	box-shadow: 0 1px 0 rgba(17, 17, 17, 0.06),
	            0 8px 24px rgba(17, 17, 17, 0.06);
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 400;
	outline: 0;
}

.woocommerce-notices-wrapper .woocommerce-error {
	margin: 20px 0;
	padding: 18px 22px;
	list-style: none;
	background: #F8F5F0;
	color: #1c1c1c;
	border: 0;
	border-left: 4px solid #b8412a;   /* terracotta for warnings */
	border-radius: 4px;
	box-shadow: 0 1px 0 rgba(17, 17, 17, 0.06),
	            0 8px 24px rgba(17, 17, 17, 0.06);
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 400;
	outline: 0;
}

.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-error a,
body .woocommerce-info a {
	color: #1c1c1c;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font-weight: 500;
}

/* "Continue shopping" / "View cart" buttons that WC injects into the
   message — style as a small mustard pill so they read as the next
   action, not as another link. */
.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-message a.wc-forward {
	display: inline-block;
	background: #AA8765;
	color: #1c1c1c !important;
	padding: 8px 16px;
	margin-left: 12px;
	border-radius: 2px;
	border: 0;
	text-decoration: none !important;
	font-family: 'MatterMonoMedium', monospace !important;
	font-size: 10.5px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	line-height: 1;
	vertical-align: middle;
	transition: background 160ms ease;
}
.woocommerce-notices-wrapper .woocommerce-message .button:hover,
.woocommerce-notices-wrapper .woocommerce-message a.wc-forward:hover {
	background: #95745A;             /* --rg-mustard-deep */
	color: #1c1c1c !important;
}

/* Cart success toast — slides down from the top, dismisses after 5s.
   Replaces the static in-page .woocommerce-message for cart-added flows
   (js/cart-toast.js hides the original once the toast takes over). Info
   and error notices keep the in-page treatment above so customers can
   take action against them. */
.rg-cart-toast {
	position: fixed;
	top: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(-200%);
	z-index: 2147483000;             /* same band as the chat root */
	max-width: min(560px, calc(100vw - 32px));
	background: #1c1c1c;
	color: #F8F5F0;
	border: 1px solid #3B3B3A;
	border-radius: 999px;
	padding: 10px 12px 10px 24px;
	box-shadow: 0 14px 44px rgba(0, 0, 0, .38);
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: 'MatterRegular', sans-serif;
	font-size: 14px;
	line-height: 1.3;
	opacity: 0;
	transition: transform 380ms cubic-bezier(0.2, 0.8, 0.2, 1),
	            opacity 300ms ease;
}

.rg-cart-toast.is-visible {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
}

.rg-cart-toast-inner {
	flex: 1 1 auto;
	min-width: 0;
}

.rg-cart-toast-text {
	font-family: 'MatterRegular', sans-serif;
	font-size: 14px;
	line-height: 1.3;
	color: #F8F5F0;
	overflow-wrap: anywhere;
}

/* The CTA is the one solid thing in the pill, cut to the same shape. */
.rg-cart-toast-cta {
	flex: 0 0 auto;
	background: #F8F5F0;
	color: #1c1c1c !important;
	padding: 10px 18px;
	border-radius: 999px;
	text-decoration: none !important;
	font-family: 'MatterMonoMedium', monospace;
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	transition: background 160ms ease, color 160ms ease;
}

.rg-cart-toast-cta:hover {
	background: #a88a6d;
	color: #1c1c1b !important;
}

.rg-cart-toast-close {
	flex: 0 0 auto;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: #7A7977;
	padding: 6px 10px;
	font-size: 18px;
	line-height: 1;
	transition: color 160ms ease;
}

.rg-cart-toast-close:hover { color: #F8F5F0; }

@media (max-width: 540px) {
	.rg-cart-toast {
		top: 12px;
		max-width: calc(100vw - 24px);
		padding: 10px 10px 10px 18px;
		gap: 12px;
		border-radius: 26px;
	}

	.rg-cart-toast-text { font-size: 13.5px; }
	.rg-cart-toast-cta { font-size: 9.5px; padding: 9px 14px; }
}

/* ============================================================
   Mobile sticky compact gallery — variable products only.
   JS (js/product-sticky-gallery.js) injects the markup and
   handles show/hide on scroll + image swap on swatch change.
   Hidden at >540px (display:none) so desktop never sees it.
   ============================================================ */
.rg-sticky-gallery {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	background: #F8F5F0;
	box-shadow: 0 6px 18px rgba(17, 17, 17, 0.10),
	            0 0 0 1px rgba(17, 17, 17, 0.04);
	padding: 10px 16px;
	padding-top: max(10px, env(safe-area-inset-top));
	display: flex;
	align-items: center;
	gap: 14px;
	transform: translateY(-110%);
	transition: transform 320ms cubic-bezier(0.2, 0.8, 0.2, 1);
	pointer-events: none;
}
.rg-sticky-gallery.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.rg-sticky-gallery__image-link {
	flex-shrink: 0;
	line-height: 0;
	display: block;
}
.rg-sticky-gallery__image {
	width: 56px;
	height: 56px;
	border-radius: 4px;
	object-fit: cover;
	border: 1px solid rgba(17, 17, 17, 0.10);
	cursor: pointer;
	background: #f4f1ec;
}
.rg-sticky-gallery__meta {
	flex: 1;
	min-width: 0;
}
.rg-sticky-gallery__title {
	font-size: 14px;
	font-weight: 500;
	color: #1c1c1c;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.2;
}
.rg-sticky-gallery__variant {
	font-family: 'MatterMonoMedium', monospace;
	font-size: 9.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #AA8765;
	margin-top: 3px;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rg-sticky-gallery__price {
	flex-shrink: 0;
	font-family: 'MatterMonoMedium', monospace;
	font-size: 11px;
	letter-spacing: 0.05em;
	color: #1c1c1c;
	white-space: nowrap;
}
/* Desktop: gallery + form sit side by side, so the offscreen-image
   problem doesn't apply. Hide outright. */
@media (min-width: 541px) {
	.rg-sticky-gallery { display: none !important; }
}

div.product-additional-content.upsells {
	padding-bottom: 248px;
}

div.product-additional-content.upsells div.title {
	color: #1c1c1c;
	padding: 64px 0 0 0;
	border-top: 1px solid #1c1c1c;
}

div.product-additional-content.upsells div.title a {
	color: #1c1c1c;
}

div.product-additional-content.upsells div.title a:hover {
	color: #AA8765;
}

div.product-additional-content.upsells div.productsgrid {
	padding: 0;
	width: 100%;
}

div.product-additional-content.upsells div.productsgrid .products {
	width: 100%;
}

div.productbrand div.title {
	color: #F8F5F0;
	flex-basis: 100%;
}

div.productbrand div.title p,
div.productbrand div.title h2 {
	margin: 0;
	text-transform: uppercase;
}

div.productbrand div.brandcontent {
	display: flex;
}

div.productbrand div.brandcontent .imageleft {
	flex-basis: 33%;
}

div.productbrand div.brandcontent .contentright {
	flex-basis: 66%;
}

div.productbrand div.brandcontent .contentright p {
	margin-top: 0;
	max-width: 50%;
}

div.productbrand div.brandcontent .contentright a {
	display: inline-block;
	width: auto;
}

.startyourbuild {
	padding-bottom: 0 !important;
	display: block;
	position: relative;
}

.startyourbuild .backgroundcont {
	position: relative;
	z-index: 1;
	border-radius: 4px;
}

.startyourbuild .backgroundcont img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

.startyourbuild .textcont {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 2200px;
}

.startyourbuild .textcont p {
	max-width: 66%;
	color: #F8F5F0;
}

/* SEARCH RESULTS PAGE */

body.search-results div.searchform {
	display: none;
}

body.search-results div.searchform form.search-form > button {
	display: none;
}

body.search-results div.searchform form.search-form > label {
	flex-basis: 100%;
}

div.searchresults {
	background: #F8F5F0;
}

div.searchresults h2,
div.searchresults h1,
div.searchresults h3 {
	margin: 0;
}

.search-no-results div.searchresults {
	text-align: center;
	padding-bottom: 128px;
}

.search-no-results .page-content form {
	display: none;
}

div.searchresults.search-toolbar {
	padding-top: 32px;
}

div.searchresults.search-toolbar div {
	padding-bottom: 16px;
	border-bottom: 1px solid #1c1c1c;
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 16px;
}

div.searchresults.search-toolbar.builds-toolbar div {
	flex-wrap: wrap;
}

div.searchresults.search-toolbar a {
	display: inline-block;
	border: 1px solid #1c1c1c;
	padding: 5px 32px;
	background: transparent;
	margin: 0;
}

div.searchresults.search-toolbar a:not(.active):hover {
	color: #7A7977;
	border-color: #7A7977;
}

div.searchresults.search-toolbar a.active {
	background: #1c1c1c;
	color: #F8F5F0 !important;
}

div.searchresults.searchdata {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding-top: 48px;
	padding-bottom: 124px;
}

div.result {
	border-bottom: 1px solid #1c1c1c;
	width: 100%;
	display: flex;
	flex-direction: row;
	padding-bottom: 32px;
	gap: 32px;
}

div.result div.title {
	flex-basis: 50%;
	display: flex;
	flex-direction: column;
}

div.result div.title a:hover {
	color: #AA8765;
}

div.result div.title h3 {
	text-transform: uppercase;
}

div.result div.excerpt {
	flex-basis: 50%;
	display: flex;
	flex-direction: column;
	justify-content: start;
}

div.result div.excerpt p {
	margin: 0;
}

div.result div.searchbreadcrumbs {
	text-transform: uppercase;
	margin-left: -5px;
}

div.result div.searchbreadcrumbs a {
	margin: 0 5px;
}

/* CART PAGE */
body.woocommerce-cart #page section.elementor-top-section {
	background: #F8F5F0;
	padding: 128px 48px;
}

body.woocommerce-cart #page tr.woocommerce-shipping-totals .woocommerce-shipping-destination {
	display: none !important;
}

body.woocommerce-cart section > .elementor-container {
	max-width: 2200px !important;
}

body.woocommerce-cart section > .elementor-container div.woocommerce {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .elementor-button:hover {
	background: #AA8765;
}

body.woocommerce-cart section > .elementor-container div.woocommerce #coupon_code {
	border-radius: 100px;
	width: calc(75% - 16px);
}

body.woocommerce-cart section > .elementor-container div.woocommerce p.coupon-error-notice {
	flex-basis: 100%;
	margin: 0;
	text-align: right;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .cartheader {
	flex-basis: 100%;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .woocommerce-notices-wrapper {
	flex-basis: 100%;
}

body.woocommerce-cart section > .elementor-container div.woocommerce h5 {
	margin: 0;
	text-transform: uppercase;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .woocommerce-cart-form {
	width: calc(66% - 24px);
	flex-basis: 66%;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .woocommerce-cart-form > p {
	display: none;
}

body.woocommerce-cart section > .elementor-container div.woocommerce .cart-collaterals {
	width: calc(33% - 24px);
	margin-top: 4px;
	padding-left: 48px;
	box-sizing: border-box;
	flex-basis: 33%;
}

table.shop_table tbody:before {
	display: block;
	height: 5px;
	content: '';
}

table.shop_table tbody {}

table.shop_table th {
	font-family: 'MatterRegular', sans-serif;
	text-transform: uppercase;
	border-bottom: 1px solid #1c1c1c;
	padding-bottom: 3px;
}

table.shop_table tr.cart_item td {
	padding: 5px 0;
	vertical-align: top;
}

table.shop_table tr.cart_item td.product-thumbnail {
	max-width: 160px;
	width: 160px;
}

table.shop_table tr.cart_item td.product-name p {
	display: none;
}

table.shop_table tr.cart_item td.product-name .variation {
	margin: 0;
}

table.shop_table tr.cart_item td.product-name .variation dt {
	display: none;
}

table.shop_table tr.cart_item td.product-name .variation dd p {
	display: block;
}

table.shop_table tr.cart_item td.product-name .variation dd p:after {
	content: '/';
}

table.shop_table tr.cart_item td.product-name .variation dd {
	margin: 0;
	float: left;
	text-transform: uppercase;
}

table.shop_table tr.cart_item td.product-name .variation dd:last-child p:after {
	display: none;
}

table.shop_table tr.cart_item div.quantity {
	padding-right: 20px;
}

table.shop_table tr.cart_item div.quantity br {
	display: none;
}

table.shop_table tr.cart_item input.qty {
	padding: 8px 16px;
}

table.shop_table tr.cart_item td.product-thumbnail img {
	width: 90%;
}

body.woocommerce-cart div.elementor input {
	width: 90%;
}

table.shop_table td.actions {
	padding-top: 32px;
}

table.shop_table td.actions div.actions-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
}

.woocommerce-cart-form table.shop_table td.product-remove {
	position: relative;
	top: -4px;
}

/* Cart page — fewer buttons
--------------------------------------------- */

/*
 * Update cart is hidden only once js/cart-page.js has marked the form, so with
 * JS off it stays put and remains the only way to commit a quantity change.
 */
.woocommerce-cart-form.rg-cart-auto table.shop_table td.actions div.update-cart,
.woocommerce-cart-form.rg-cart-auto table.shop_table td.actions [name='update_cart'] {
	display: none;
}

/* One quiet line instead of a field and a button the size of the checkout CTA. */
.woocommerce-cart-form .rg-coupon-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(28, 28, 28, .25);
	border-radius: 0;
	padding: 0 0 3px;
	margin: 0;
	font-family: 'MatterMonoMedium', sans-serif;
	font-size: 12px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #6d6b66;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}

.woocommerce-cart-form .rg-coupon-toggle:hover,
.woocommerce-cart-form .rg-coupon-toggle[aria-expanded='true'] {
	color: #1c1c1c;
	border-bottom-color: #1c1c1c;
}

/*
 * The theme sets display:flex on div.coupon, which beats the hidden attribute —
 * without this the folded coupon stays on screen.
 */
.woocommerce-cart-form table.shop_table td.actions div.actions-content div.coupon[hidden] {
	display: none !important;
}

.woocommerce-cart-form table.shop_table td.actions div.actions-content div.coupon {
	margin-top: 16px;
}

/*
 * Remove is a cross drawn to the same 1.5 stroke as the header icons, not a
 * filled Material bin. A bin glyph is the heaviest mark in the row and it
 * carries a warning tone this action does not deserve — nothing is destroyed,
 * an item leaves a cart.
 */
.woocommerce-cart-form table.shop_table td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #7A7977;
	background: none;
	font-size: 0;
	transition: color .15s;
}

.woocommerce-cart-form table.shop_table td.product-remove a.remove:hover,
.woocommerce-cart-form table.shop_table td.product-remove a.remove:focus-visible {
	color: #1c1c1c;
	background: none;
}

.woocommerce-cart-form table.shop_table td.product-remove a.remove svg {
	display: block;
}

table.shop_table td.actions div.actions-content div.update-cart {
	text-align: center;
}

table.shop_table td.actions div.actions-content div.coupon {
	display: flex;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid #1c1c1c;
	gap: 16px;
	flex-wrap: wrap;
}

table.shop_table td.actions div.actions-content div.coupon .coupon-notice-error {
	flex-basis: 100%;
	margin: 0;
	text-align: right;
}

div.cart-collaterals {
	display: flex;
	justify-content: start;
	align-items: start;
}

div.cart-collaterals .cart_totals {
	padding-top: 32px;
	border-top: 1px solid #1c1c1c;
	width: 100%;
}

div.cart-collaterals .cart_totals h5 {
	margin-top: 0;
	text-transform: uppercase;
}

div.cart-collaterals .shop_table td {
	text-align: right;
}

div.cart-collaterals .shop_table td,
div.cart-collaterals .shop_table th {
	padding: 15px 0;
	border: none;
}

div.cart-collaterals .shop_table th.overline {
	color: #7A7977;
}

div.cart-collaterals .shop_table #shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}

div.cart-collaterals .shop_table #shipping_method li,
div.cart-collaterals .shop_table .shipping p,
.woocommerce-shipping-totals.shipping #shipping_method li,
.woocommerce-shipping-totals.shipping p {
	font-family: 'MatterMonoRegular', sans-serif;
	letter-spacing: 1.8px;
	font-weight: 400;
}

div.cart-collaterals .shop_table #shipping_method input {
	margin-right: 4px;
}

div.cart-collaterals .shop_table .shipping p {
	margin-top: 0;
}

div.cart-collaterals tr.shipping a.shipping-calculator-button {
	border: none;
	color: #1c1c1c;
	padding: 0;
	text-transform: uppercase;
	font-weight: 400;
}

div.cart-collaterals tr.shipping a.shipping-calculator-button span {
	position: relative;
	top: 2px;
	margin-left: 3px;
}

div.cart-collaterals tr.shipping a.shipping-calculator-button:hover {
	color: #AA8765;
}

div.cart-collaterals .shop_table tr.order-total th,
div.cart-collaterals .shop_table tr.order-total td {
	padding: 32px 0;
	border-top: 1px solid #1c1c1c;
	border-bottom: 1px solid #1c1c1c;
}

div.cart-collaterals .shop_table tr.order-total h5 {
	color: #1c1c1c;
}

div.cart-collaterals tr.shipping  section.shipping-calculator-form {
	padding: 24px 0 0 0;
}

div.cart-collaterals tr.shipping  section.shipping-calculator-form p {
	margin-bottom: 12px;
}

div.cart-collaterals tr.shipping  section.shipping-calculator-form input {
	width: 100%;
}

body.woocommerce-cart a.checkout-button {
	width: 100%;
}

body.woocommerce-cart a.checkout-button br {
	display: none;
}

body.woocommerce-cart button[name='apply_coupon'] {
	text-wrap: nowrap;
	width: 25%;
}

body.woocommerce-cart h1 {
	text-transform: uppercase;
}

/* CHECKOUT PAGE */
body.woocommerce-checkout #page section.elementor-top-section {
	background: #F8F5F0;
	padding: 128px 48px;
}

body.woocommerce-checkout div.woocommerce-info,
body.woocommerce-checkout div.woocommerce-info a {
	font-family: 'MatterRegular', sans-serif;
	font-size: 18px;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form {
	display: flex;
	flex-direction: row;
	gap: 16px;
	margin-bottom: 32px;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form > p {
	display: flex;
	margin: 0;
	flex-direction: column;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form > p br {
	display: none;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form .coupon-error-notice {
	font-family: 'MatterRegular', sans-serif;
	text-transform: uppercase;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form > p.form-row-first {
	width: 80%;
}

body.woocommerce-checkout form.woocommerce-form-coupon div.form > p  button {
	text-wrap: nowrap;
	max-height: 52px;
}

body.woocommerce-checkout input,
body.woocommerce-checkout select {
	width: 100%;
}

body.woocommerce-checkout .woocommerce-checkout-payment {
	font-family: 'MatterMonoRegular', sans-serif !important;
	text-transform: uppercase;
}

body.woocommerce-checkout .woocommerce-checkout-payment .payment_box {
	margin-bottom: 20px;
	margin-top: 10px;
}

body.woocommerce-checkout .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .form-row {
	margin-bottom: 15px;
	margin-top: 56px;
	text-transform: none;
	font-size: 14px;
	font-family: 'MatterRegular', sans-serif !important;
	margin-left: auto;
    margin-right: auto;
    max-width: 400px;
}

body.woocommerce-checkout .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .form-row a {
	font-size: 14px;
	font-family: 'MatterRegular', sans-serif !important;
	text-decoration: underline;
}

fieldset#wc-stripe-upe-form {
	padding-top: 11px;
}

body.woocommerce-checkout input[type='checkbox'] {
	position: relative;
	top: 3px;
}

body.woocommerce-checkout .elementor-37 .elementor-element.elementor-element-6466994 > .elementor-container {
	max-width: 1440px;
}

body.woocommerce-checkout  form.woocommerce-checkout {
	display: flex;
	flex-direction: row;
	gap: 48px;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details {
	flex-basis: 60%;
}

body.woocommerce-checkout  form.woocommerce-checkout #order_review {
	flex-basis: 40%;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout  form.woocommerce-checkout #order_review h3 {
	margin: 0 0 24px 0;
	font-size: 64px;
	text-transform: uppercase;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details p {
	margin-top: 0;
	margin-bottom: 12px;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details label,
body.woocommerce-checkout  .woocommerce-form-login label {
	font-family: 'MatterMonoRegular', sans-serif;
	text-transform: uppercase;
}

body.woocommerce-checkout  .woocommerce-form-login button.woocommerce-form-login__submit:hover {
	background: #AA8765;
}

body.woocommerce-checkout  .woocommerce-form-login a.lostpassword {
	border: 1px solid #1c1c1c;
}

body.woocommerce-checkout  .woocommerce-form-login a.lostpassword:hover {
	border-color: #AA8765;
}

body.woocommerce-checkout  .woocommerce-form-login > p {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 20px;
	line-height: 1.4;
}

body.woocommerce-checkout  .woocommerce-form-login .form-row .woocommerce-form-login__rememberme br {
	display: none;
}

body.woocommerce-checkout  .woocommerce-form-login .form-row {
	margin-top: 0;
}

body.woocommerce-checkout form.woocommerce-checkout #customer_details .woocommerce-billing-fields > h3, body.woocommerce-checkout form.woocommerce-checkout #order_review h3 {
	color: #AA8765;
}

body.woocommerce-checkout form.woocommerce-checkout #place_order:hover {
	background: #AA8765;
}

body.woocommerce-checkout  form.woocommerce-checkout #order_review td.product-name {
	text-transform: uppercase;
}

body.woocommerce-checkout  form.woocommerce-checkout #order_review tfoot th {
	color: #7A7977;
}

body.woocommerce-checkout  form.woocommerce-checkout #order_review tfoot tr.order-total th,
body.woocommerce-checkout  form.woocommerce-checkout #order_review tfoot tr.order-total td {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 40px;
	line-height: 1;
	color: #1c1c1c;
}

body.woocommerce-checkout abbr[title] {
	text-decoration: none;
	color: #AA3619;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details div.col-2 {
	margin-top: 48px;
}

body.woocommerce-checkout  form.woocommerce-checkout #customer_details div.col-2 h3 {
	font-size: 22px;
}

body.woocommerce-checkout div.woocommerce-additional-fields {
	padding-top: 32px;
	margin-top: 12px;
	border-top: 1px solid #1c1c1c;
}

table.woocommerce-checkout-review-order-table th {
	text-align: left;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
	padding: 15px 0;
	border-bottom: 1px solid #1c1c1c;
}

table.woocommerce-checkout-review-order-table th.product-total,
table.woocommerce-checkout-review-order-table td.product-total {
	text-align: right;
}

table.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
}

table.woocommerce-checkout-review-order-table ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

div.woocommerce-checkout-payment ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#payment #place_order {
	width: 100%;
}

/* MY ACCOUNT */

button.show-password-input {
	display: none;
}

.woocommerce-ResetPassword label[for='user_login']{
	text-transform: uppercase;
}

.woocommerce-ResetPassword .form-row-first label {
	width: 100%;
	display: block;
	margin-bottom: 10px;
}

.woocommerce-ResetPassword .form-row-first input {
	min-width: 300px;
}

.woocommerce-ResetPassword button.woocommerce-Button:hover {
	background: #AA8765;
	border-color: #AA8765;
}

body.woocommerce-account #page > div.elementor {
	background: #F8F5F0;
}

body.woocommerce-account #page > div.elementor br {
	display: none;
}

body.woocommerce-account .elementor-38 .elementor-element.elementor-element-1abb6f44 > .elementor-container {
	max-width: 2200px;
	padding: 248px 48px;
}

body.woocommerce-account .elementor-element-3a2e8be {
	display: none;
}

body.woocommerce-account div.woocommerce #customer_login {
	display: flex;
	flex-direction: row;
	gap: 48px;
}

body.woocommerce-account div.woocommerce #customer_login .u-column1 {
	flex-basis: 66%;
}

body.woocommerce-account div.woocommerce #customer_login .u-column2 {
	flex-basis: 33%;
}

body.woocommerce-account div.woocommerce #customer_login h5,
.woocommerce-ResetPassword h5 {
	color: #AA8765;
	text-transform: uppercase;
	width: 100%;
	border-bottom: 1px solid #1c1c1c;
	padding-bottom: 16px;
	margin: 0;
}

body.woocommerce-account div.woocommerce #customer_login label {
	width: 100%;
	display: block;
	text-transform: uppercase;
	margin-bottom: 8px;
}

body.woocommerce-account div.woocommerce #customer_login input {
	width: 100%;
}

body.woocommerce-account .woocommerce form .form-row .required {
	color: #1c1c1c;
}

body.woocommerce-account .woocommerce form .form-row button.woocommerce-form-login__submit {
	width: 100%;
	max-width: 50%;
	margin-top: 32px;
}

body.woocommerce-account .woocommerce form .form-row button.woocommerce-form-login__submit:hover,
body.woocommerce-account .woocommerce .woocommerce-form-register__submit:hover {
	background: #AA8765;
	border-color: #AA8765;
}

body.woocommerce-account .woocommerce .lostpassword {
	border: 1px solid #1c1c1c;
	width: 100%;
	max-width: 50%;
	color: #1c1c1c;
}

body.woocommerce-account .woocommerce .lostpassword:hover {
	background: #1c1c1c;
	color: #F8F5F0 !important;
}

body.woocommerce-account .woocommerce .woocommerce-form-register__submit {
	width: 100%;
}

body.woocommerce-account .woocommerce-privacy-policy-text p {
	font-family: 'MatterRegular', sans-serif;
}

body.woocommerce-account .elementor-38 .elementor-element.elementor-element-0309306 .elementor-heading-title,
body.woocommerce-account .elementor-38 .elementor-element.elementor-element-1abb6f44 a,
body.woocommerce-account .elementor-38 .elementor-element.elementor-element-569ac3b.elementor-view-framed .elementor-icon,
body.woocommerce-account .elementor-38 .elementor-element.elementor-element-569ac3b.elementor-view-default .elementor-icon,
body.woocommerce-account.logged-in .elementor-38 .elementor-element.elementor-element-3a2e8be .elementor-heading-title {
	color: #1c1c1c;
	text-shadow: none;
}

body.woocommerce-account .elementor-38 .elementor-element.elementor-element-1abb6f44 {
	padding: 0;
}

body.woocommerce-account.logged-in div.woocommerce {
	display: flex;
	flex-direction: row;
}

body.woocommerce-account.logged-in .elementor-element-3a2e8be {
	display: block;
}

body.woocommerce-account.logged-in .elementor-element-3a2e8be .elementor-widget-container {
	border-top: none;
	border-bottom: 1px solid #1c1c1c;
	padding: 0;
}

body.woocommerce-account.logged-in .elementor-38 .elementor-element.elementor-element-3a2e8be .elementor-heading-title {
	color: #AA8765;
	text-align: left;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-navigation {
	flex-basis: 33%;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-content {
	flex-basis: 66%;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding:0;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-navigation ul li a {
	font-family: 'MatterRegular', sans-serif;
	text-transform: uppercase;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-navigation ul li a:hover {
	color: #AA8765;
}

body.woocommerce-account .woocommerce-form__label {
	font-family: 'MatterMonoRegular', sans-serif !important;
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 32px;
	letter-spacing: 1.8px;
	font-weight: 400;
}

body.woocommerce-account  .woocommerce-privacy-policy-text {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 400;
}

body.woocommerce-account.logged-in div.woocommerce p,
body.woocommerce-account.logged-in div.woocommerce address {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 18px;
	line-height: 1.2;
	font-style: normal;
}

body.woocommerce-account.logged-in div.woocommerce a:hover {
	color: #AA8765 !important;
}

body.woocommerce-account.logged-in div.woocommerce table.shop_table_responsive tbody th {
	border: none;
}

body.woocommerce-account.logged-in div.woocommerce .col2-set.addresses h2,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-content h2 {
	margin: 0;
	font-size: 32px;
	color: #AA8765;
	text-transform: uppercase;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields label,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm label,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields input,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm input,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields select {
	width: 100%;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields label,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm label {
	margin-bottom: 5px;
	display: inline-block;
	text-transform: uppercase;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm input.input-radio {
	width: auto;
	margin-right: 5px;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields button[name='save_address'],
body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm button[name='save_account_details'] {
	padding: 16px 64px;
	border-radius: 100px;
	cursor: pointer;
	background: #1c1c1c;
	border: 1px solid #F8F5F0;
	color: #F8F5F0;
	text-transform: uppercase;
}

body.woocommerce-account.logged-in div.woocommerce .woocommerce-address-fields button[name='save_address']:hover,
body.woocommerce-account.logged-in div.woocommerce .woocommerce-EditAccountForm button[name='save_account_details']:hover {
	background: #AA8765;
	color: #1c1c1c;
}

/* BRANDS PAGE */

div.searchresults.search-toolbar.brands-toolbar,
div.searchresults.search-toolbar.builds-toolbar,
div.searchresults.search-toolbar.blog-toolbar {
	background: transparent;
	border-top: 1px solid #3B3B3A;
	padding-bottom: 48px;
}

div.brands-toolbar p,
div.builds-toolbar p,
div.blog-toolbar  p {
	color: #7A7977;
	text-transform: uppercase;
}

/* The Review's toolbar sits over the hero photograph, where the grey label
   disappears into the picture. The brand and build toolbars keep it — they are
   on a flat ground. */
div.blog-toolbar p {
	color: #F8F5F0;
}

div.searchresults.brands-toolbar div a,
div.searchresults.builds-toolbar div a,
div.searchresults.blog-toolbar div a {
	border: 1px solid #F8F5F0;
	line-height: 1;
}

div.searchresults.brands-toolbar div a.active,
div.searchresults.builds-toolbar div a.active,
div.searchresults.blog-toolbar  div a.active {
	background: #F8F5F0;
	color: #1c1c1c !important;
}

div.searchresults.brands-toolbar div a span,
div.searchresults.builds-toolbar div a span,
div.searchresults.blog-toolbar  div a span {
	position: relative;
	margin-left: 5px;
	top: 2px;
}

div.brands_grid:not(.brandspage) {
	padding-top: 0 !important;
}

div.brands_grid div.gridcontent .defaultcard a {
	position: relative;
	background: none;
	border-radius: 4px;
	overflow: hidden;
	padding: 0;
	max-height: calc(100% - 80px);
}

div.brands_grid div.gridcontent .defaultcard a div.content h2 {
	text-transform: uppercase;
}

div.brands_grid div.gridcontent .defaultcard a div.content p {
	text-transform: none;
}

div.brands_grid div.gridcontent .defaultcard div.info div.tags {
	color: #7A7977;
	text-transform: uppercase;
}

div.brands_grid div.gridcontent .defaultcard div.info div.tags span.overline {
	border-right: 1px solid #3B3B3A;
	padding-right: 16px;
	padding-left: 16px;
}

div.brands_grid div.gridcontent .defaultcard div.info div.tags span.overline:first-child {
	padding-left: 0;
}

div.brands_grid div.gridcontent .defaultcard div.info div.tags span.overline:last-child {
	border: none;
}

div.brands_grid div.gridcontent .defaultcard div.info div.tags span.msbuttonsmall {
	position: relative;
	margin-left: 8px;
	top: 2px;
}

div.brands_grid div.gridcontent .defaultcard div.info h5 {
	margin: 0;
	color: #F8F5F0;
	text-transform: uppercase;
}

div.brands_grid div.gridcontent .defaultcard a div.content {
	display: none;
	transition: 0.3s ease all;
}

div.brands_grid div.gridcontent .defaultcard:hover a div.content {
	display: flex;
}

div.brands_grid div.gridcontent .defaultcard:hover div.info {
	visibility: hidden;
}

div.brands-featured-categories .defaultcard {
	aspect-ratio: .6666666666666666 / 1;
}

div.brands-featured-categories .related_category_grid {
	padding-top: 0 !important;
}

p.caption.biketype span.msbuttonsmall {
	position: relative;
	top: 2px;
	margin-left: 3px;
}

p.caption.biketype > span {
	text-transform: uppercase;
	clear: both;
	display: inline-block;
	width: 100%;
	margin-bottom: 2px;
}

.bicycledescription .buttonset a,
.branddescription .buttonset a {
	width: 100%;
	display: block;
	text-align: center;
}

.bicycledescription .buttonset a:first-child,
.branddescription .buttonset a:first-child {
	margin-bottom: 32px;
}

div.brandstrip {
	padding-top: 0 !important;
	overflow: scroll;
	width: 100%;
	max-width: 2200px;
	margin: auto;
	min-height: 900px;
}

div.brandstrip .strip {
	align-content: center;
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 16px;
	justify-content: flex-start;
	overflow: visible;
	padding: 0;
	position: relative;
	height: 100%;
	max-width: 100%;
	width: 100%;
	opacity: 1;
	min-height: 1100px;
}

div.brandstrip .strip > div.stage {
	align-content: center;
	align-items: center;
	display: flex;
	flex: 1 0 0px;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 16px;
	height: 1px;
	justify-content: flex-start;
	overflow: auto;
	padding: 0;
	position: relative;
	width: 100%;
}

div.brandstrip .strip > div.stage div {
	flex: none;
	height: 100%;
	position: relative;
	width: auto;
	z-index: 0;
}

h4.brandtitlegrid {
	margin: 0;
	text-transform: uppercase;
}

/* FIX FOR SAFARI */
div.brandstrip .strip > div.stage div {
	height: 1100px;
}
body div.brandstrip .strip > div img {
	width: auto;
}
/* END OF FIX */

div.brandstrip .strip > div.stage div.vertical {
	aspect-ratio: .7498666666666667 / 1;
}

div.brandstrip .strip > div.stage div.horizontal {
	aspect-ratio: 1.3333333333333333 / 1;
}

div.brandstrip .strip > div img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

.big_description {
	padding-top: 0 !important;
}

.productsgrid_bicycles p.category span {
	position: relative;
	top: 2px;
	margin-left: 4px;
}

.productsgrid_bicycles div.toolbar {
	display: none !important;
}

.site-shop .gridcontent  div.brandcard {
	border: none;
	padding-bottom: 48px;
	aspect-ratio: unset;
	height: 100%;
}

.site-shop .relatedbrandspage .gridcontent .defaultcard {
	border: none;
}

.related-categories .relatedbrandspage div.gridcontent > div.defaultcard {
	flex-basis: calc(50% - 24px);
}

div.brands_grid.relatedbrandspage div.gridcontent .defaultcard a div.content h2 {
	margin: 0;
}

div.brands_grid div.gridcontent .brandcard div.info h5,.site-shop .relatedbrandspage .gridcontent .defaultcard h5 {
	text-align: left;
}

div.brands_grid div.gridcontent .brandcard a {
	aspect-ratio: 1.3333333333333333 / 1;
	width: 100%;
	max-height: 765px;
}

/* BICYCLES PAGE */

.page-bicycles .section_homepage_video p.subtitle1 {
	text-transform: none;
	margin: 0;
}

.page-bicycles .category_grid .gridcontent {
	max-width: 2200px;
	margin: auto;
}

.page-bicycles .category_grid .defaultcard,
.page-builds .related_category_grid .defaultcard {
	border: 16px solid #262626;
	border-radius: 4px;
}

.page-bicycles .custom-builds {
	padding-top: 0!important;
}

.page-bicycles  .custom-builds-container {
	padding-top: 48px;
	border-top: 1px solid #3B3B3A;
	color: #fff;
	margin: auto;
	max-width: 2200px;
	width: 100%;
}

.custom-builds .custom-builds-container {
	display: flex;
	flex-direction: row;
	gap: 48px;
}

.custom-builds .left-panel {
	width: 40%;
	flex-basis: 40%;
}

.custom-builds .left-panel p,
.custom-builds .left-panel h3 {
	margin-top: 0;
}

.custom-builds .left-panel h3 {
	text-transform: uppercase;
}

.custom-builds .left-panel div.buttons {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	max-width: 380px;
}

.custom-builds .left-panel div.buttons a {
	display: block;
	text-align: center;
}

.custom-builds .right-panel {
	flex-basis: 60%;
	width: 60%;
	display: block;
}

.custom-builds .right-panel .slider {
	width: 100%;
	height: 100%;
	display: block;
	float: left;
	position: relative;
}

.custom-builds .slidecard {
	background: #F8F5F0;
	padding: 16px;
	border-radius: 4px;
	transition: 0.3s ease all;
	width: 100%;
}

/*
 * The images wrapper had no height of its own, so the img's height:100% never
 * resolved and object-fit had nothing to crop against: a tall photo simply
 * rendered at its natural height and the card showed its top — sky, with the
 * bike below the fold of the 4:3 anchor. Giving the wrapper the anchor's
 * height is what makes cover (and the tallcrop bias below) work at all.
 */
.custom-builds .slidecard div.images {
	height: 100%;
}

.custom-builds .slidecard div.images img {
	width: 100%;
	display: block;
	height: 100%;
	border-radius: inherit;
	object-position: center center;
	object-fit: cover;
	image-rendering: auto;
}

.slick-active {
	opacity:1!important;
	transition:opacity 1s ease-in;
}

/*
 * Portrait photography in a landscape card. Biasing the crop down puts the
 * bike in frame instead of the sky above it; tagged in PHP by
 * regroup_card_crop_class() because CSS can't ask an image how tall it is.
 */
.custom-builds .slidecard div.images img.secondary.tallcrop,
.productcard .background img.secondary.tallcrop {
	object-position: center 68%;
}

.custom-builds .slidecard div.images img.secondary,
.custom-builds .slidecard:hover div.images img.primary {
	display: none;
}

.custom-builds .slidecard:hover div.images img.secondary {
	display: block;
}

.custom-builds .slidecard a {
	aspect-ratio: 1.33333 / 1;
	width: 100%;
	display: block;
	overflow: hidden;
}

.custom-builds .slidecard h5 {
	color: #7F8236;
	text-transform: uppercase;
	margin: 0;
	transition: 0.2s ease all;
}

.custom-builds .slidecard span.overline {
	color: #3B3B3A;
	float: left;
	text-transform: uppercase;
	display: inline-block;
	margin: 0;
}

.custom-builds .slidecard span.type {
	color: #7A7977;
	float: right;
	text-transform: uppercase;
}

.custom-builds .slidecard span.type span {
	position: relative;
	margin-left: 5px;
	top: 2px;
}

.custom-builds .slidecard .info > div {
	display: block;
	width: 100%;
	float: left;
}

.custom-builds .slidecard:hover {
	background: #262626;
}

.custom-builds .slidecard:hover h5 {
	color: #F8F5F0;
}

.custom-builds .slidecard:hover .info > div span {
	color: #7A7977;
}

.custom-builds .controls {
	margin-top: 48px;
	display: flex;
	flex-direction: row;
	gap: 16px;
}

.custom-builds .controls .dots {
	background: #262626;
	padding: 9px;
	border-radius: 50px;
	display: flex;
	flex-direction: row;
	gap: 9px;
}

.custom-builds .controls button {
	display: block;
	width: 35px;
	height: 35px;
	border-radius: 30px;
	cursor: pointer;
	border: none;
	box-sizing: border-box;
}

.custom-builds .controls .dots button {
	width: 16px;
	height: 16px;
	background: #7A7977;
	padding: 0;
	transition: 0.3s ease all;
}

.custom-builds .controls .dots button.active {
	width: 32px;
	background: #F8F5F0;
}

.custom-builds .controls .dots button.active:hover {
	background: #F8F5F0;
	cursor: auto;
}

.custom-builds .controls .dots button:hover {
	background: #AA8765;
}

.custom-builds .controls .arrows {
	display: flex;
	flex-direction: row;
	gap: 5px;
}

.custom-builds .controls .arrows button {
	background: #262626;
	color: #F8F5F0;
	text-align: center;
	padding: 0;
}

.custom-builds .controls .arrows button span {
	font-size: 18px;
}

.custom-builds .controls .arrows button:hover {
	color: #262626;
	background: #F8F5F0;
}

div.related-posts:not(.brands-related-posts) {
	padding-top: 0 !important;
}

.related-posts .related-posts-container {
	padding-top: 48px;
	border-top: 1px solid #3B3B3A;
	color: #fff;
	margin: auto;
	max-width: 2200px;
	width: 100%;
}

.related-posts h4 {
	margin: 0;
}

.related-posts div.featured-posts {
	flex-wrap: wrap;
}

/* Journal archive pagination — mirrors the shop's .woocommerce-pagination. */

.newmainblog .navigation.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 64px;
}

.newmainblog .navigation.pagination .nav-links {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
}

/* Inverted against the shop's pagination: the journal archive sits on the
   dark ground, so the sand tone carries the links and fills the current pill. */

.newmainblog .navigation.pagination .page-numbers {
	width: 35px;
	height: 35px;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 18px;
	text-align: center;
	line-height: 35px;
	letter-spacing: 1.8px;
	text-decoration: none;
	color: #F8F5F0;
}

.newmainblog .navigation.pagination .page-numbers.current {
	background: #F8F5F0;
	color: #1c1c1c;
	border-radius: 20px;
}

.newmainblog .navigation.pagination a.page-numbers:hover {
	color: #AA8765;
}

.newmainblog .navigation.pagination .page-numbers.dots {
	width: auto;
}

/* CUSTOM BUILDS PAGE */

.page-builds div.gridcontent .slidecard {
	width: auto;
	box-sizing: border-box;
}

.page-builds .section_homepage_video p.subtitle1 {
	text-transform: none;
}

/* BRAND PAGE */

.branddescription {
	flex-direction: row;
	gap: 48px;
	display: flex;
    width: 100%;
}

.branddescription p {
	margin: 0;
}

.branddescription .info {
	flex-basis: 30%;
}

.branddescription .description {
	flex-basis: 70%;
}

.big_description a, .branddescription .description a {
	color: #F8F5F0;
	text-decoration: underline;
}

.branddescription .info > div {
	border-top: 1px solid #7A7977;
	padding-top: 16px;
}

.branddescription .info > div p.overline {
	color: #7A7977;
	margin-bottom: 8px;
}

.branddescription .info > div p.caption {
	margin-bottom: 16px;
}

.branddescription .info > div.buttonset {
	padding-top: 48px;
}

div.productsgrid.productsgrid_brandspage {
	padding-top: 248px;
	padding-bottom: 248px;
}

.productsgrid_brandspage div.filter_brand,
.productsgrid_brandspage div.values.brand {
	display: none !important;
}

h4.ready-to-ride {
	margin: 0;
	text-transform: uppercase;
}

.brandpage-custom-builds h3 {
	text-transform: uppercase;
}

div.productsgrid_brandspage.productsgrid_bicycles {
	padding-bottom: 248px;
}

.site-shop-brand .section_content,
.productsgrid_bicycles div.title,
.productsgrid_bicycles ul.products,
.brandpage-custom-builds,
.brands-related-posts,
div.relatedbrandspage {
	margin-left: auto;
	margin-right: auto;
	max-width: 2200px;
}

div.relatedbrandspage div.gridcontent {
	padding-top: 0;
	border: 0;
}

div.brandpagestartyourbuild,
div.relatedbicyclebrandspage {
	padding-top: 0 !important;
}

div.relatedbrandspage .gridcontent {
	padding-top: 48px;
	border-top: 1px solid #3B3B3A;
}

.big_description h2 {
	text-transform: uppercase;
}

.site-shop-brand .section_homepage_video p.subtitle1,
.section_homepage_video p.subtitle1 {
	text-transform: none;
}

/* PAGE SERVICE */

.service-block {
	padding-top: 0 !important;
	color: #F8F5F0;

}

.service-block .blockcontent {
	border-top: 1px solid #7A7977;
	padding-top: 48px;
}

.service-block .blockcontent > div {
	display: flex;
	flex-wrap: wrap;
}

.service-block h2 {
	text-transform: uppercase;
	text-align: center;
	flex-basis: 100%;
	margin: 0;
}

.service-block p,
.service-block h5 {
	margin: 0;
}

.service-block div.block {
	background: #262626;
	padding: 16px;
}

.service-block div.block p.overtitle {
	padding-bottom: 16px;
	text-transform: uppercase;
	border-bottom: 1px solid #F8F5F0;
}

.service-block div.block .pricetitle {
	padding-top: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #F8F5F0;
}

.service-block div.block div.items {
	padding-top: 48px;
}

.service-block div.block a.elementor-button {
	display: inline-block;
	width: 100%;
	margin-top: 48px;
	text-align: center;
}

.service-block div.block div.items p.overline span {
	position: relative;
	top: 0px;
	float: right;
}

.service-block div.block div.items p.disabled {
	color: #3B3B3A;
}

.service-block div.contactblock {
	flex-basis: 100%;
	flex-direction: column;
	justify-content: center;
	display: flex;
	gap: 32px;
}

.service-block div.contactblock h6 {
	margin: 0;
	text-align: center;
}

.site-service .brands-featured-categories .defaultcard {
	border: 16px solid #262626;
	border-radius: 4px;
}

/* PAGE MAIN BLOG */

.site-mainblog div.searchresults.search-toolbar > div {
	flex-wrap: wrap;
	align-items: center;
}

.site-mainblog div.searchresults.search-toolbar > div a {
	width: fit-content;
}

/* ELEMENTOR BLOG POST */

.section_blog_header p,
.section_blog_header h1,
.section_blog_specifications p {
	margin: 0;
}

.section_blog_header .elementor-widget-image img {
	width: 100%;
}

.section_blog_specifications .first_column .elementor-widget-heading,
.section_blog_specifications .first_column .specification_entry {
	border-bottom: 1px solid #1c1c1c;
}

.section_blog_specifications .first_column  p.overline {
	margin-bottom: 8px;
}

.section_blog_specifications .first_column div.clear_button {
	margin: 32px 0;
}

.section_blog_specifications .first_column div.buttonmedium a {
	display: block;
}

.section_blog_specifications > .elementor-container {
	gap: 48px;
}

.section_blog_specifications .first_column  p .msbuttonlarge {
	top: 5px;
	position: relative;
	left: -5px;
}

.section_blog_specifications div.body p b {
	font-size: 24px;
	font-weight: 400;
	font-family: 'MatterSemiBold', sans-serif;
	line-height: 1.4;
}

.section_blog_quote h5 {
	text-transform: uppercase;
}

.section_blog_quote .elementor-container .elementor-element.elementor-top-column {
	width: 66%;
}

.section_blog_quote.right_quote .elementor-container {
	justify-content: end;
}

.section_blog_steps .flexsection > .elementor-container {
	gap: 48px;
}

.section_blog_steps .flexsection .bigcolumn {
	flex-basis: 66%;
}

.section_blog_steps .flexsection .smallcolumn {
	flex-basis: 33%;
}

.section_blog_steps .flexsection .smallcolumn p {
	margin: 0;
}

.section_blog_grey.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading:before {
	content: '';
	display: none;
}

.section_blog_grey.section_homepage_mission .elementor-widget-wrap {
	justify-content: left;
}

.section_blog_grey.section_homepage_mission .subtitle1 {
	width: 66%;
}

.blog_accordion .elementor-accordion .elementor-accordion-item {
	border: none;
}

.blog_accordion .elementor-accordion .elementor-tab-content {
	border: none;
}

.blog_accordion .elementor-accordion .elementor-accordion-item {
	border-bottom: 1px solid #1c1c1c;
}

.blog_accordion .elementor-accordion .elementor-accordion-item h6:hover {
	color: #AA8765;
}

.section_blog_featured_product > div.elementor-container {
	padding-top: 48px;
	border-top: 1px solid #1c1c1c;
	gap: 48px;
}

.section_blog_featured_product p,
.section_blog_featured_product h3,
.section_blog_featured_product .elementor-widget-container {
	margin: 0;
}

.section_blog_featured_product .leftcolumn {
	flex-basis: 40%;
}

.section_blog_featured_product .rightcolumn {
	flex-basis: 60%;
}

.section_blog_featuredposts section.title_block {
	padding-top: 0 !important;
	border: none;
}

section.section_blog_featuredposts.section_homepage_featuredposts {
	padding-top: 248px;
}

/* CONTACT PAGE */
.contact-form {
	display: flex;
	flex-direction: row;
	max-width: 2200px;
	margin: auto;
	gap: 48px;
}

.page-contact .title {
	max-width: 2200px;
	margin: auto;
}

.contact-form .contact-data {
	flex-basis: 40%;
}

.contact-form .contact-data a,
.contact-form .contact-data span.address {
	color: #F8F5F0;
	text-transform: uppercase;
}

.contact-form .contact-data a:hover {
	color: #AA8765;
}

.contact-form .form {
	flex-basis: 60%;
}

.contact-form .form form {
	display: flex;
	gap: 32px;
	flex-direction: column;
}

.contact-form .form div.field {
	width: 100%;
}

.contact-form .form p {
	margin: 0;
}

.contact-form .form div.field label {
	width: 100%;
	display: inline-block;
	text-transform: uppercase;
	margin-bottom: 8px;
	font-family: 'MatterMonoRegular', sans-serif !important;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 1.8px;
	font-weight: 400;
}

.contact-form .form div.field input {
	width: 100%;
}

.contact-form .form div.field input[type='radio'] + span {
	cursor: pointer;
}

.contact-form .form div.field input[type='radio'] + span:hover {
	color: #AA8765;
}

.contact-form .form div.field .nature_radio_box label {
	margin-bottom: 0;
}

.contact-form .form div.field.buttonfield input {
	width: auto;
	min-width: 200px;
	float: right;
}

.contact-form .form div.field.buttonfield input:hover {
	background: #F8F5F0;
	color: #1c1c1c !important;
}

.contact-form form .wpcf7-response-output {
	border: none;
	background: #AA8765;
	padding: 10px 14px;
	margin: 0;
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 18px;
}

body:not(.page-id-17332) .contact-form #naturefield .first {
	margin: 0;
}

/* PAGE COFFEE */
.page-coffee.site-shop .section_content {
	display: flex;
	width: 100%;
	flex-direction: row;
	gap: 48px;
}

.page-coffee.site-shop .section_content div.timetable {
	width: 33%;
}

.page-coffee.site-shop .section_content div.timetable h6 {
	margin: 0;
}

.page-coffee.site-shop div.timeschedule,
.openinghours div.timeschedule {
	float: left;
}

.page-coffee.site-shop .section_content div.timetable a i {
	position: relative;
	margin-left: 5px;
	top: 3px;
}

.page-coffee.site-shop .section_content a.elementor-button {
	display: inline-block;
	line-height: 1;
}

div.specialsblock {
	display: flex;
	flex-direction: row;
}

div.specials {
	max-width: 2200px;
	margin: auto;
}

div.specials h5,
div.specials h6,
div.specials p,
div.specials h3,
div.serving h3,
div.serving h4,
div.serving p {
	margin: 0;
}

div.specials h5 {
	padding: 18px 0;
	text-transform: uppercase;
	border-top: 1px solid #3B3B3A;
	border-bottom: 1px solid #3B3B3A;
}

div.specials div.location,
div.specials div.description {
	text-transform: uppercase;
	float: left;
	width: 100%;
}

div.specials div.location span.msbuttonlarge,
div.specials div.description span.msbuttonlarge {
	position: relative;
	top: -6px;
	float: left;
}

div.specials div.location p.text,
div.specials div.description p.text {
	display: inline-block;
	width: calc(100% - 25px);
	float: left;
	padding-left: 5px;
}

div.serving {
	margin: auto;
	max-width: 2200px;
}

div.dish {
	display: flex;
	flex-direction: row;
	gap: 48px;
}

div.dish div.contents h4 {
	text-transform: uppercase;
}

div.dish div.contents p {
	padding: 16px 0;
	border-bottom: 1px solid #3B3B3A;
}

div.dish div.contents p > span:not(.txt) {
	float: left;
	width: 100%;
	text-transform: uppercase;
	margin-bottom: 8px;
	font-family: 'MatterMonoRegular', sans-serif !important;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 1.8px;
}

div.dish div.contents p span.msbuttonlarge {
	position: relative;
	top: 3px;
	font-size: 19px;
	margin-right: 10px;
}

div.dish div.contents p > span.txt {
	padding-left: 29px;
	display: inline-block;
}

div.dish div.image,
div.dish div.contents {
	flex-basis: 50%;
}

div.dish div.image img {
	width: 100%;
}

div.dish.reverse div.image {
	order: 2;
}

div.dish.reverse div.contents {
	order: 1;
}

div.eventpostarea {
	padding-top: 0 !important;
	color: #CCE2EC;
}

div.eventpostarea h2 {
	margin: 0;
	text-transform: uppercase;
}

div.monthname {
	border-top: 1px solid #7A7977;
	border-bottom: 1px solid #7A7977;
}

div.monthentry p,
div.relatedevents p {
	margin: 0;
}

div.eventsgrid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

div.eventcard {
	border: 1px solid #3B3B3A;
	color: #F8F5F0;
	aspect-ratio: 1/1;
	min-height: 350px;
	transition: 0.5s ease all;
}

div.eventcard h5 {
	margin: 0;
}

div.eventcard a {
	display: flex;
	flex-direction: column;
	gap: 0;
	color: #F8F5F0;
	height: 100%;
}

div.eventcard a > div {
	display: flex;
	flex-direction: row;
	border-bottom: 1px solid #3B3B3A;
	/* flex: 1 0 0; */
}

div.eventcard a > div div.firstcol {
	padding: 8px;
	width: 35px;
	border-right: 1px solid #3B3B3A;
	box-sizing: border-box;
	text-align: center;
}

div.eventcard a > div div.secondcol {
	padding: 8px;
	width: 100%;
	justify-content: center;
	display: flex;
	flex-direction: column;
}

div.eventcard a > div div.secondcol.nopadding {
	padding: 0;
}

div.eventcard a > div div.secondcol.overline p {
	text-transform: uppercase;
	line-height: 1;
}

div.eventcard a > div div.typedata.overline p {
	text-transform: uppercase;
	line-height: 1;
}

div.eventcard a > div.type p i {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	position: relative;
	top: 2px;
	left: -3px;
}

div.eventcard a > div div.typedata {
	border-bottom: 1px solid #3B3B3A;
	padding: 8px;
}

div.eventcard a > div div.excerpt {
	padding: 8px;
	flex: 1 0 0;
}

div.eventcard a > div.type {
	flex: 1 0 0;
}

div.eventcard a > div div.link {
	padding: 8px;
	text-transform: uppercase;
	border-top: 1px solid #3B3B3A;
	display: flex;
	justify-content: start;
}

div.eventcard a > div div.link p {
	text-align: right;
	width: 0;
	transition: 0.5s ease all;
	min-width: 160px;
}

div.eventcard a > div div.link i {
	position: relative;
	top: 2px;
}

div.eventcard .msbuttonsmall {
	color: #7A7977;
	font-size: 19px;
}

div.eventcard:hover {
	background: #CCE2EC;
	border-color: #1c1c1c;
	color: #1c1c1c;
}

div.eventcard:hover a,
div.eventcard:hover .msbuttonsmall,
div.eventcard:hover h5 {
	color: #1c1c1c;
}

div.eventcard:hover a > div div.link p {
	width: 100%;
}

/* PAGE RIDE AND EVENT */

.ride-n-event div.section_content {
	max-width: 2200px;
	margin: auto;
}

.ride-n-event div.section_content .branddescription {
	width: 100%;
	margin: auto;
}

.ride-n-event div.section_content .branddescription h5 {
	margin: 0;
}

.branddescription .info > div {
	border-color: #3B3B3A;
}

.ride-n-event .branddescription .info .event_type {
	border: none;
}

.ride-n-event .branddescription .info p i {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-size: 18px;
	font-style: normal;
	position: relative;
	top: 3px;
	left: -4px;
}

.ride-n-event .branddescription .info .buttonset a {
	width: 100%;
	display: inline-block;
	box-sizing: border-box;
	line-height: 1;
	text-align: center;
}

.ride-n-event .branddescription .info .buttonset a:hover {
	background: #CCE2EC;
}

.ride-n-event .branddescription .info .buttonset a span {
	position: relative;
	top: 2px;
	margin-left: 4px;
	font-size: 16px;
}

.ride-n-event .branddescription .description p {
	color: #F8F5F0;
}

.ride-n-event .relatedevents {
	max-width: 2200px;
	margin: auto;
}

.ride-n-event .relatedevents h4 {
	margin: 0;
}

.ride-n-event .relatedevents div.title {
	border-top: 1px solid #3B3B3A;
	padding-top: 48px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.ride-n-event div.section_content  .description p {
	margin-bottom: 32px;
}

.ride-n-event div.section_content  .description h5 {
	margin-bottom: 12px;
}

/* PAGE VISIT US */
.openinghours {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 48px;
	max-width: 2200px;
	margin: auto;
}

.openinghours > h3 {
	flex-basis: 100%;
	margin: 0;
}

.openinghours h6 {
	margin: 0;
}

.openinghours > div {
	flex-basis: calc(50% - 24px);
}

.openinghours .day, .openinghours .time {
	color: #F8F5F0;
}

.openinghours .buttonrow {
	float: left;
	width: 100%;
}

.openinghours .buttonrow a {
	display: inline-block;
}

.googlemap {
	aspect-ratio: 2 / 1;
	min-height: 600px;
}

div.brandlogos div.logos {
	display: flex;
	flex-direction: row;
	gap: 48px;
	flex-wrap: wrap;
}

div.brandlogos div.logos div {
	height: 64px;
	opacity: 0.5;
	transition: 0.5s ease all;
}

div.brandlogos div.logos div:hover {
	opacity: 1;
}

div.brandlogos div.logos div img {
	height: 100%;
}

div.coffeeshop .buttonrow a span {
	position: relative;
	top: 2px;
}

/* EMPTY CART */
div.cart-empty.woocommerce-info {
	font-family: 'Graphik Condensed Web', sans-serif !important;
	font-size: 40px;
	line-height: 1;
	color: #AA8765;
	width: 100%;
	border-bottom: 1px solid #1c1c1c;
	text-transform: uppercase;
	background: none;
	margin: 0 0 16px 0;
}

.wc-empty-cart-message {
	flex-basis: 100%;
}

.wc-empty-cart-message + p.return-to-shop a {
	background: #F8F5F0;
	color: #1c1c1c !important;
	text-transform: uppercase;
	padding: 16px 64px;
	border-radius: 100px;
	cursor: pointer;
	border: 1px solid #1c1c1c;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 16px;
	display: block;
	line-height: 1;
}

.wc-empty-cart-message + p.return-to-shop {
	margin: 0;
	display: block;
}

.wc-empty-cart-message + p.return-to-shop a br {
	display: none;
}

.wc-empty-cart-message + p.return-to-shop a:hover {
	background: #1c1c1c;
	color: #F8F5F0 !important;
}

.contact-form .contact-data span:not(.address) {
	vertical-align: top;
}

.contact-form .contact-data span.address {
	display: inline-block;
	width: calc(100% - 39px);
}

.contact-form .contact-data span.address {
	width: calc(100% - 43px);
}

.stockdisplay {
	text-transform: uppercase;
}

.nostock {
	color: #7A7977;
	text-decoration: line-through;
}

#wc_bis_product_form .wc_bis_form_title {
	display: none;
}

#wc_bis_product_form #wc_bis_email {
	border: 1px solid  #1c1c1c;
	padding: 16px;
	background: transparent;
	font-family: 'MatterRegular';
	font-size: 14px;
	line-height: 16px;
	border-radius: 4px;
	margin-bottom: 32px;
	width: 100%;
}

#wc_bis_product_form #wc_bis_send_form {
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 18px;
	letter-spacing: 0.9px;
	background: #1c1c1c;
	color: #F8F5F0 !important;
	text-transform: uppercase;
	padding: 16px 64px;
	border-radius: 100px;
	cursor: pointer;
	margin: 0;
	width: 100%;
	border: none;
}

#wc_bis_product_form #wc_bis_send_form:hover {
	background: #AA8765;
	color: #1c1c1c !important;;
}

body.archive .navigation.posts-navigation {
	flex-basis: 100%;
	justify-content: center;
	display: flex;
	margin-bottom: 0;
	margin-top: 48px;
}

body.archive .navigation.posts-navigation a {
	color: #F8F5F0;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 22px;
	letter-spacing: 1.3px;
	text-transform: uppercase;
}

body.archive .navigation.posts-navigation a:hover {
	color: #AA8765;
}

#wc_bis_product_form #wc_bis_email.error {
	border-color: #AA3619;
	background: rgba(170, 54, 25, 0.1);
}

.error-404 h1 {
	margin-top: 0;
}

.error-404 .header-content a {
	display: inline-block;
}

.return_specs {
	border-bottom: 1px solid #1c1c1c;
	/* The last row's margin used to hold this rule off the text; now that the
	   rows are tight, the clearance belongs to the bordered container. */
	padding-bottom: 16px;
}

/*
 * Returns and shipping are two rows of one thing, not two blocks.
 *
 * Each carried margin_32_24_16, so 32px sat between two single lines and they
 * read as unrelated. Tightened to a row rhythm. They stay stacked rather than
 * going side by side because both expand on click onto a full paragraph —
 * in two columns, opening one would leave the other's column empty and jump
 * the row height.
 */
.return_specs > .margin_32_24_16 {
	margin-bottom: 14px !important;
}

.return_specs > .margin_32_24_16:last-child {
	margin-bottom: 0 !important;
}

/* An open row needs its own breathing room back, or the paragraph runs
   straight into the label beneath it. */
.return_specs > .margin_32_24_16:has(span.overline.open) {
	margin-bottom: 26px !important;
}

.return_specs span.overline {
	text-transform: uppercase;
	cursor: pointer;
}

.return_specs span.overline:hover {
	color: #AA8765;
}

.return_specs span.msbuttonlarge {
	font-size: 19px;
	position: relative;
	top: 2px;
	margin-right: 3px;
}

.return_specs span.msbuttonlarge.close {
	display: none;
	top: 3px;
	margin-left: 2px;
}

.return_specs .returncontent {
	margin-top: 8px;
	max-width: 90%;
	padding-left: 26px;
	display: none;
}

.return_specs span.overline.open + .returncontent {
	display: block;
}

.return_specs span.overline.open span.msbuttonlarge.close {
	display: inline;
}

.woocommerce-thankyou-order-received.subtitle1 {
	font-size: 16px;
}

ul.woocommerce-thankyou-order-details {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.woocommerce-thankyou-order-details li br {
	display: none;
}

ul.woocommerce-thankyou-order-details li span.label {
	font-weight: bold;
	width: 180px;
	display: inline-block;
	text-transform: uppercase;
}

ul.woocommerce-thankyou-order-details li span.value {
	display: inline-block;
	text-transform: uppercase;
}

.bordertop_orderdetail {
	border-top: 1px solid #7A7977;
	padding-top: 32px;
	margin-top: 32px;
}

div.orderitems {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

div.orderitems p {
	display: none;
}

div.orderitems div.item {
	display: flex;
	flex-direction: row;
	gap: 24px;
	align-items: center;
}

div.orderitems div.item a {
	flex-basis: 200px;
}

div.orderitems div.item span.title {
	text-transform: uppercase;
}

span.popuplabel {
	float: left;
	margin-bottom: 5px;
}

div.top-header-search {
	width: 100%;
	text-align: right;
	height: 30px;
}

div.top-header-search .asp_w_container {
	float: right;
	transition: 0.5s ease all;
	margin-top: -4px;
	display: block;
}

div.top-header-search .asp_w_container div.asp_m.asp_m_2 .probox {
	height: 22px;
}

div.top-header-search .asp_w_container div.asp_m.asp_m_2 .probox input.orig {
	height: 22px;
}

div.productpage_relatedposts {
	padding-bottom: 0;
	max-width: none;
}

div.productpage_relatedposts .related-posts-container {
	padding-top: 0;
	border: none;
}

.section_content.section_teslacontactform .form {
	width: 100% !important;
	max-width: 60%;
	margin: auto;
}

.section_content.section_teslacontactform .form .wpcf7-radio {
	gap: 16px;
	flex-wrap: wrap;
}

.section_content.section_teslacontactform .form div.field.buttonfield  .black_button {
	float: left;
	transform: translateX(-50%);
	left: 50%;
	position: relative;
}

/* RESPONSIVE */

@media screen and (max-width: 2350px) {
	.startyourbuild .textcont {
		padding-left: 48px;
	}
}

@media screen and (max-width: 1500px) {
	table.shop_table tr.cart_item input.qty {
		padding: 8px;
		min-width: 60px;
	}

	body.woocommerce-cart section > .elementor-container div.woocommerce #coupon_code {
		width: calc(65% - 16px);
	}

	body.woocommerce-cart button[name='apply_coupon'] {
		width: 35%;
	}
}


@media screen and (max-width: 1200px) {

	.margin_64_48_32 {
		margin-bottom: 48px !important;
	}

	.margin_48_32_24 {
		margin-bottom: 32px !important;
	}

	.margin_32_24_16 {
		margin-bottom: 24px !important;
	}

	.margin_top_32_24_16 {
		margin-top: 24px !important;
	}

	.margin_16_14_12 {
		margin-bottom: 14px !important;
	}

	.margin_top_124_96_64 {
		margin-top: 96px;
	}

	.margin_top_144_98_38 {
		margin-top: 98px;
	}

	.padding_248_192_128 {
		padding: 192px 32px 192px 32px;
	}

	.padding_bottom_16_14_12 {
		padding-bottom: 14px;
	}

	.padding_top_16_14_12 {
		padding-top: 14px;
	}

	.gap_48_32_24 {
		gap: 32px;
	}

	.grid33,
	div.productsgrid .products {
		--cols: 2;
		--gap: 32px;
	}

	.padding_horizontal {
		padding: 0 32px 0 32px;
	}

	div.menu-container {
		padding: 14px 32px;
	}

	div.iconmenu div.menu {
		margin-left: 10px;
	}

	#site-navigation .grand-menu .menu > li.menu-item,
	#site-navigation .grand-menu .menu-primary-menu-container .menu > li.menu-item.menu-item-has-children:hover {
		height: auto;
	}

	#site-navigation .grand-menu .menu-primary-menu-container .menu li.menu-item > a {
		font-size: 80px;
		line-height: 80px;
		padding: 14px 0;
	}

	#site-navigation .secondary-menu {
		align-items: center;
	}

	#site-navigation .secondary-menu .menu li.menu-item > a {
		font-size: 20px;
	}

	#site-navigation .grand-menu .menu li.menu-item ul.sub-menu {
		flex-wrap: wrap;
		row-gap: 24px;
	}

	#site-navigation .grand-menu .menu li.menu-item ul.sub-menu li {
		flex: 1 0 auto;
	}

	#site-navigation .grand-menu .menu li.menu-item ul.sub-menu a {
		font-size: 24px;
		line-height: 24px;
	}

	#site-navigation .grand-menu {
		padding: 72px 32px 32px 32px;
	}

	footer {
		padding: 32px;
	}

	footer .footer-container {
		gap: 20px;
	}

	footer .footer-container .footer-colhead,
	footer .footer-container #primary-menu > li > a {
		font-size: 20px;
		margin-bottom: 24px;
	}

	footer .footer-container .footer-collist a,
	footer .footer-container #primary-menu ul.sub-menu a,
	footer .footer-container .footer-address {
		font-size: 14px;
	}

	footer .footer-bottom-container .social-menu {
		gap: 32px;
	}

	footer .footer-cactus {
		width: 52px;
	}

	.section_homepage_video .elementor-inner-section div.overline.elementor-widget {
		margin-bottom: 22px;
	}

	.section_homepage_video .elementor-inner-section div.elementor-widget.subtitle1 {
		margin-bottom: 48px;
	}

	.homepage_video_static_image {
		height: 90vh;
		margin-top: -104px;
	}

	section.header-content {
		padding: 96px 32px;
	}

	.section_homepage_video .mainvideo,
	.section_homepage_video .mainvideo div {
		height: 100%;
	}

	.section_homepage_store {
		margin-top: 192px;
		padding: 0 32px;
	}

	.section_homepage_white,
	.section_homepage_rides {
		padding: 192px 32px 0 32px;
	}

	.section_homepage_mission {
		padding: 192px 32px 192px 32px;
	}

	.section_homepage_featuredposts,
	.section_homepage_featuredposts:not(.brands-related-posts) {
		padding-left: 32px;
		padding-right: 32px;
	}

	.section_homepage_ridesimage,
	.section_homepage_featuredposts {
		padding-bottom: 192px;
	}

	.section_homepage_store .title_column .overline {
		margin-bottom: 32px;
	}

	.section_homepage_store .title_column h2 {
		margin-bottom: 8px;
	}

	.section_homepage_store .title_column .subtitle2 {
		margin-bottom: 48px;
	}

	.section_homepage_store .info_column h6 {
		margin-bottom: 24px;
	}

	.timetable.caption div {
		margin-bottom: 0;
	}

	.section_homepage_store .timetable.caption .dark_button .elementor-button-link {
		width: 100%;
	}

	.section_homepage_store .timetable.caption .dark_button {
		padding-bottom: 48px;
		margin-bottom: 48px;
	}

	a.elementor-button i {
        font-size: 18px;
    }

	.section_homepage_store {
		padding-bottom: 48px;
	}

	.section_homepage_store .brand_logos > .elementor-container {
		column-gap: 32px;
	}

	.homepage_three_imageblocks {
		margin-top: 48px;
		padding-left: 32px;
		padding-right: 32px;
		padding-bottom: 96px;
	}

	.homepage_three_imageblocks .title_block {
		margin-bottom: 32px;
	}

	.homepage_three_imageblocks .post_blocks > .elementor-container {
		gap: 24px;
		flex-wrap: nowrap;
	}

	.homepage_three_imageblocks .post_blocks .elementor-widget-image {
		margin-bottom: 32px;
	}

	.homepage_three_imageblocks .post_blocks h4 {
		margin-bottom: 14px;
	}

	.homepage_three_imageblocks .post_blocks .elementor-widget-button {
		margin-top: 32px;
	}

	.section_homepage_white .overline p,
	.section_homepage_white h2 {
		margin-bottom: 32px;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default {
		gap: 32px;
		width: 100%;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(1) {
		display: none;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(2) {
		flex-basis: 50%;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(3) {
		flex-basis: 50%;
	}

	.section_homepage_white .threecolumnblock .elementor-widget-image {
		position: relative;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(2) .buttonmedium {
		display: none;
	}

	.section_homepage_white .threecolumnblock .responsive {
		display: block;
	}

	.section_homepage_white .threecolumnblock .responsive.body {
		margin-bottom: 32px;
	}

	.section_homepage_white .threecolumnblock .responsive.buttonmedium {
		margin-top: 48px;
	}

	.section_homepage_white .innerimage {
		width: calc(100% + 64px) !important;
		left: -32px;
		top: auto;
		margin: 48px -64px 0 0;
	}

	.section_homepage_rides .elementor-column-gap-default {
		gap: 32px;
	}

	.section_homepage_rides .elementor-column.elementor-col-33,
	.section_homepage_rides .elementor-column.elementor-col-66{
		width: 50%;
	}

	.section_homepage_rides .subtitle2 {
		max-width: 100%;
	}

	.section_homepage_rides .timetable div.location,
	.section_homepage_rides .timetable div.time {
		width: calc(50% - 16px);
	}

	.section_homepage_rides .timetable div.location {
		margin-right: 16px;
	}

	.section_homepage_rides .timetable div.time {
		margin-left: 16px;
	}

	.section_homepage_rides .elementor-widget-button .elementor-button {
		width: 100%;
	}

	.section_homepage_featuredposts .title_block {
		margin-bottom: 32px;
		padding-top: 32px;
	}

	.section_homepage_featuredproducts .title_block {
		margin-bottom: 32px;
	}

	.section_homepage_featuredposts .featured-posts,
	.section_homepage_featuredproducts .featured-products {
		gap: 32px;
	}

	.section_homepage_featuredproducts {
		padding: 192px 32px;
	}

	.productcard p.posttitle,
	.productcard p.category,
	.productcard p.price {
		margin-bottom: 14px;
	}

	.section_homepage_mission .elementor-widget-wrap {
		padding: 0 14px !important;
	}

	.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading:before {
		width: 18px;
		height: 44px;
		background-size: 18px;
		top: -66px;
	}

	.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading {
		max-width: 66%;
	}

	.section_homepage_mission .elementor-widget-wrap {
		justify-content: flex-start;
	}

	.section_homepage_mission .elementor-widget-wrap {
		background-size: 100%;
	}

	div.breadcrumbs {
		padding: 0 32px;
		padding-bottom: 14px;
	}

	div.breadcrumbs a {
		font-size: 14px;
	}

	div.breadcrumbs nav {
		font-size: 14px;
		padding-top: 14px;
	}

	.site-shop .section_content p {
		margin-bottom: 32px;
	}

	.site-shop .section_content p b,
	.section_blog_specifications div.body p b {
		font-size: 22px;
	}

	.defaultcard .buttoncont span.msbuttonsmall {
		font-size: 16px;
	}

	.productcard  .content {
		min-height: 138px;
	}

	div.toolbar {
		gap: 24px;
		padding-bottom: 14px;
		margin-top: 0;
		padding-top: 0;
	}

	div.totalitems p {
		font-size: 14px;
	}

	div.productsgrid {
		padding: 32px;
	}

	.related-categories div.gridcontent {
		flex-wrap: wrap;
	}

	.related-categories div.gridcontent > div.defaultcard,
	.related-categories div.gridcontent > div.title {
		flex-basis: calc(50% - 24px) !important;
	}

	.related-categories div.title {
		flex-direction: column;
		align-content: flex-start;
		justify-content: start;
	}

	.product-page .heading-title {
		padding: 98px 32px;
	}

	.product-page .titlebanner {
		min-height: 608px;
	}

	.mainproductinfo div.product {
		flex-direction: column;
		gap: 32px;
	}

	div.popupform {
		overflow: scroll;
	}

	.product-additional-content.imageblock .box {
		gap: 32px;
	}

	.product-additional-content.imageblock .product-additional-content-wrap {
		gap: 48px;
	}

	div.product-additional-content.upsells {
		padding-bottom: 192px;
	}

	div.productbrand div.brandcontent .imageleft,
	div.productbrand div.brandcontent .contentright {
		flex-basis: 50%;
	}

	div.productbrand div.brandcontent .contentright p {
		max-width: 100%;
	}

	div.product-additional-content.upsells div.title {
		flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols)*(var(--cols) - 1));
		border: none;
		padding-top: 0;
	}

	div.product-additional-content.upsells .products {
		padding-top: 48px;
		border-top: 1px solid #1c1c1c;
	}

	body.woocommerce-cart #page section.elementor-top-section,
	body.woocommerce-checkout #page section.elementor-top-section {
		padding: 128px 32px;
	}

	body.woocommerce-checkout form.woocommerce-checkout {
		gap: 32px;
	}

	.startyourbuild .textcont {
		padding-left: 32px;
		padding-right: 32px;
	}

	body.woocommerce-account .elementor-38 .elementor-element.elementor-element-1abb6f44 > .elementor-container {
		padding: 192px 32px;
	}

	body.woocommerce-account div.woocommerce #customer_login {
		flex-direction: column;
		gap: 32px;
	}

	.site-shop .brands_grid .gridcontent {
		flex-direction: column;
		gap: 32px;
	}

	.site-shop .brands_grid .gridcontent .defaultcard {
		flex-basis: 100%;
		height: 100%;
		width: 100%;
		aspect-ratio: auto;
	}

	div.searchresults.search-toolbar.brands-toolbar,
	div.searchresults.search-toolbar.builds-toolbar,
	div.searchresults.search-toolbar.blog-toolbar  {
		padding-bottom: 32px;
	}

	.site-shop .brands_grid .gridcontent .defaultcard div.background {
		position: relative;
	}

	.site-shop .brands_grid .gridcontent .defaultcard div.info h5 {
		padding-bottom: 32px;
	}

	.site-shop .brands_grid .gridcontent .defaultcard.brandcard div.info h5 {
		padding-bottom: 0;
	}

	.custom-builds .custom-builds-container {
		flex-direction: column;
	}

	.custom-builds .left-panel,
	.custom-builds .right-panel {
		width: 100%;
		flex-basis: 100%;
	}

	.custom-builds .left-panel div.buttons {
		flex-direction: row;
		gap: 32px;
		width: 100%;
		max-width: none;
	}

	.custom-builds .left-panel div.buttons > div {
		flex-basis: 50%;
	}

	.custom-builds .left-panel div.buttons a {
		padding: 14px 48px;
	}

	.related-posts div.featured-posts div.title {
		flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols)*(var(--cols) - 1));
	}

	.related-posts .related-posts-container {
		padding-top: 32px;
	}

	.service-block h2 {
		flex-basis: calc(100% / var(--cols) - var(--gap) / var(--cols)*(var(--cols) - 1));
	}

	.service-block div.contactblock {
		text-align: center;
	}

	a.elementor-button, button.elementor-button, input.black_button[type='submit'] {
		padding: 14px 48px;
	}

	div.productsgrid_brandspage.productsgrid_bicycles {
		padding-bottom: 192px;
	}

	.section_blog_specifications .first_column div.clear_button {
		margin: 24px 0;
	}

	.section_blog_specifications > .elementor-container,
	.section_blog_steps .flexsection > .elementor-container {
		gap: 32px;
	}

	.section_blog_steps .flexsection .bigcolumn,
	.section_blog_steps .flexsection .smallcolumn {
		flex-basis: 50%;
	}

	.section_blog_featuredbuilds .site-shop .gridcontent.grid22 {
		--gap: 32px;
		gap: var(--gap);
	}

	.section_blog_featured_product .elementor-container .leftcolumn,
	.section_blog_featured_product .elementor-container .rightcolumn {
		flex-basis: 100%;
		width: 100%;
	}

	.section_blog_featured_product > div.elementor-container {
		gap: 32px;
		flex-direction: column;
		padding-top: 32px;
	}

	section.section_blog_featuredposts.section_homepage_featuredposts {
		padding-top: 192px;
	}

	.page-coffee.site-shop .section_content {
		gap: 32px;
	}

	.page-coffee.site-shop .section_content div.timetable,
	.site-shop .section_content .text.body {
		flex-basis: 50%;
		width: 50%;
	}

	.page-coffee.site-shop .section_content div.timetable a {
		width: 100%;
		display: inline-block;
		text-align: center;
		line-height: 1;
	}

	.section_homepage_store.elementor-section .elementor-container,
	.section_homepage_white.elementor-section .elementor-container,
	.section_homepage_rides.elementor-section .elementor-container {
		flex-wrap: nowrap;
	}

	.section_homepage_mission .elementor-widget-heading div.elementor-widget-container {
		width: 100%;
	}

	.elementor-button {
		padding: 14px 48px;
	}

	.site-shop .gridcontent div.brandcard {
		padding-bottom: 32px;
	}

	div.productsgrid.productsgrid_brandspage {
		padding-top: 192px;
		padding-bottom: 192px;
	}

	div.brandstrip .strip {
		min-height: 850px;
	}

	div.brandstrip .strip > div.stage div {
		height: 850px;
	}

	body div.brands_grid div.gridcontent .defaultcard:hover a div.content {
		display: none;
	}

	div.specials div.location span.msbuttonlarge, div.specials div.description span.msbuttonlarge {
		top: -4px;
	}

	.page-coffee.site-shop .section_content div.timetable a i {
		top: 1px;
	}

	body.woocommerce-cart section > .elementor-container div.woocommerce .woocommerce-cart-form {
		flex-basis: 100%;
	}

	body.woocommerce-cart section > .elementor-container div.woocommerce .cart-collaterals {
		flex-basis: 100%;
		padding: 0;
		width: 100%;
	}

	body.woocommerce-checkout form.woocommerce-checkout #customer_details h3, body.woocommerce-checkout form.woocommerce-checkout #order_review h3 {
		font-size: 52px;
	}

	body .page-visitus.site-shop .section_content .text.body {
		width: 66%;
		flex-basis: 66%;
	}

	.openinghours .buttonrow a {
		width: 100%;
		text-align: center;
	}

	div.brandlogos div.logos div {
		height: 48px;
	}

	div.brandlogos div.logos {
		gap: 32px;
	}

	div.googlemap {
		aspect-ratio: 1.5 / 1;
		min-height: 500px;
	}

	body.woocommerce-account .woocommerce-form__label {
		font-size: 16px;
	}

	body.woocommerce-account  .woocommerce-privacy-policy-text {
		font-size: 18px;
	}

	div.dish div.contents p > span:not(.txt) {
		font-size: 16px;
	}

	div.cart-empty.woocommerce-info {
		font-size: 32px;
	}

	.wc-empty-cart-message + p.return-to-shop a {
		padding: 14px 48px;
		font-size: 14px;
	}

	#wc_bis_product_form #wc_bis_email {
		margin-bottom: 24px;
	}

	#wc_bis_product_form #wc_bis_send_form {
		font-size: 16px;
		padding: 14px 48px;
	}

	body.archive .navigation.posts-navigation {
		margin-top: 32px;
	}

	body.archive .navigation.posts-navigation a {
		font-size: 18px;
	}

	.return_specs .returncontent {
		max-width: 100%;
		width: 100%;
	}

	div.orderitems {
		gap: 24px;
	}

	div.orderitems div.item {
		gap: 16px;
	}

	.woocommerce-thankyou-order-received.subtitle1 {
		font-size: 14px;
	}

	.product-additional-content-wrap .text p:not(.subtitle1),
	.product-additional-content-wrap .text div.bodylarge {
		font-size: 18px;
		line-height: 1.5;
	}

}

@media screen and (max-width: 800px) {

	.margin_64_48_32 {
		margin-bottom: 32px !important;
	}

	.margin_48_32_24  {
		margin-bottom: 24px !important;
	}

	.margin_32_24_16 {
		margin-bottom: 16px !important;
	}

	.margin_top_32_24_16 {
		margin-top: 16px !important;
	}

	.margin_16_14_12 {
		margin-bottom: 12px !important;
	}

	.margin_top_124_96_64 {
		margin-top: 64px;
	}

	.margin_top_144_98_38 {
		margin-top: 38px;
	}

	.padding_248_192_128 {
		padding: 128px 24px 128px 24px;
	}

	.padding_bottom_16_14_12 {
		padding-bottom: 12px;
	}

	.padding_top_16_14_12 {
		padding-top: 12px;
	}

	.gap_48_32_24 {
		gap: 24px;
	}

	.grid33,
	div.productsgrid .products {
		--cols: 1;
		--gap: 24px;
	}

	.padding_horizontal {
		padding: 0 24px 0 24px;
	}

	div.menu-container {
		padding: 12px 24px;
	}

	div.iconmenu div.menu {
		margin-left: 0;
	}

	div.menu-container div.logo {
		width: 103px;
		background-size: 100%;
	}

	div.iconmenu div.menu button {
		display: none;
	}

	div.iconmenu div.icons {
		gap: 24px;
	}

	#site-navigation .grand-menu .menu-primary-menu-container .menu li.menu-item > a {
		font-size: 48px;
		line-height: 48px;
		padding: 0;
		margin-bottom: 10px;
	}

	#site-navigation .grand-menu .menu li.menu-item ul.sub-menu {
		display: flex;
		gap: 16px;
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 16px;
	}

	#site-navigation .grand-menu .menu li.menu-item ul.sub-menu a {
		font-size: 16px;
		line-height: 16px;
	}

	#site-navigation .secondary-menu .menu li.menu-item > a {
		font-size: 16px;
	}

	#site-navigation .secondary-menu .menu li.menu-item {
		padding: 8px 0;
	}

	#site-navigation .grand-menu .menu-primary-menu-container .menu ul.sub-menu li.menu-item > a {
		margin: 0;
	}

	div.icons.responsive {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 24px;
		margin-bottom: 16px;
	}

	#site-navigation .grand-menu {
		padding: 84px 16px 32px 16px;
	}

	footer {
		padding: 24px;
	}

	footer .footer-container {
		grid-template-columns: 1fr 1fr;
		gap: 28px 20px;
		padding-top: 24px;
	}

	/* The mark takes its own row, then Visit spans the width, then the four
	   menu columns pair off two by two. */
	footer .footer-markcol {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	footer .footer-markcol .footer-mark {
		width: 24px;
	}

	footer .footer-visit {
		grid-column: 1 / -1;
		padding-bottom: 24px;
		border-bottom: 1px solid rgb(59, 59, 58);
	}

	footer .footer-container .footer-colhead,
	footer .footer-container #primary-menu > li > a {
		font-size: 16px;
		margin-bottom: 16px;
	}

	footer .footer-container .footer-collist a,
	footer .footer-container #primary-menu ul.sub-menu a,
	footer .footer-container .footer-address {
		font-size: 12px;
	}

	footer .footer-container .footer-collist li,
	footer .footer-container #primary-menu ul.sub-menu li {
		margin-bottom: 10px;
	}

	footer .footer-container .footer-address {
		margin-bottom: 16px;
	}

	footer .footer-bottom-container {
		margin-top: 32px;
		padding-top: 24px;
	}

	footer .footer-bottom-row {
		align-items: flex-end;
	}

	footer .footer-bottom-container .social-menu {
		gap: 8px 24px;
	}

	footer .footer-cactus {
		width: 52px;
	}

	/*
	 * On a phone the colophon wraps, and inline middots put a separator at the
	 * start of the second line — which hung Privacy in from the left edge
	 * instead of squaring it up under the copyright. Laid out as a wrapping
	 * flex row instead: the gap does the separating, so every line starts hard
	 * left. display:contents lifts the menu's items into that row (the ul
	 * already carries role="list", which display:contents otherwise drops).
	 */
	footer .footer-legal {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 7px 14px;
		margin-top: 24px;
		font-size: 11.5px;
	}

	footer .footer-legal #secondary-menu { display: contents; }
	footer .footer-legal #secondary-menu li { display: block; }

	footer .footer-legal #secondary-menu li::before {
		content: none;
	}

	/* The site credit takes the whole last row, on its own. */
	footer .footer-legal .site-credit {
		display: block;
		flex: 0 0 100%;
		margin-top: 14px;
	}

	footer .footer-legal .site-credit::before {
		content: none;
	}

	.section_homepage_video {
		min-height: unset;
		height: 90vh;
	}

	.section_homepage_video .elementor-inner-section div.overline.elementor-widget {
		margin-bottom: 14px;
	}

	.homepage_video_static_image {
		margin-top: -108px;
	}

	.section_homepage_video .elementor-inner-section div.elementor-widget.subtitle1 {
		margin-bottom: 32px;
	}

	div.section_homepage_video.homepage_video_static_image .header-content {
		padding-bottom: 100px;
	}

	.section_homepage_store {
		margin-top: 128px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.section_homepage_white,
	.section_homepage_rides {
		padding: 128px 24px 0 24px;
	}

	.section_homepage_mission {
		padding: 128px 24px 128px 24px;
	}
	
	body.search-results div.searchform {
		display: block;
	}

	.section_homepage_ridesimage,
	.section_homepage_featuredposts {
		padding-bottom: 128px;
	}

	.section_homepage_featuredposts,
	.section_homepage_featuredposts:not(.brands-related-posts) {
		padding-left: 24px;
		padding-right: 24px;
	}

	.section_homepage_store > div.elementor-container > .elementor-column {
		width: 100%;
	}

	.section_homepage_store > div.elementor-container {
		gap: 24px;
	}

	.section_homepage_store .title_column .overline {
		margin-bottom: 24px;
	}

	.section_homepage_store .title_column .subtitle2,
	.section_homepage_store .info_column div.body {
		margin-bottom: 32px;
	}

	.section_homepage_store .info_column .timetable a.elementor-button,
	.section_homepage_store .info_column a.elementor-button {
		margin-top: 32px;
	}

	a.elementor-button i {
		font-size: 14px;
	}

	.section_homepage_store .timetable.caption .dark_button {
		padding-bottom: 32px;
		margin-bottom: 32px;
	}

	.section_homepage_store {
		padding-bottom: 32px;
	}

	.section_homepage_store .brand_logos img {
		max-width: 100px;
		height: auto;
	}

	.section_homepage_store .brand_logos > .elementor-container {
		column-gap: 24px;
	}

	.homepage_three_imageblocks {
		margin-top: 32px;
		padding-left: 24px;
		padding-right: 24px;
		padding-bottom: 64px;
	}

	.homepage_three_imageblocks .post_blocks .elementor-widget-image {
		margin-bottom: 24px;
	}

	.homepage_three_imageblocks .post_blocks h4 {
		margin-bottom: 12px;
	}

	.homepage_three_imageblocks .post_blocks .elementor-widget-button {
		margin-top: 24px;
	}

	.homepage_three_imageblocks .post_blocks > .elementor-container {
		gap: 32px;
		flex-direction: column;
	}

	.homepage_three_imageblocks .post_blocks .body .elementor-widget-container {
		margin-bottom: 0;
	}

	.homepage_three_imageblocks .post_blocks > .elementor-container > .elementor-column {
		width: 100%;
	}

	.section_homepage_white .overline p,
	.section_homepage_white h2 {
		margin-bottom: 24px;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(2),
	.section_homepage_white .threecolumnblock .elementor-column-gap-default > div:nth-child(3) {
		flex-basis: 100%;
	}

	.section_homepage_white .threecolumnblock .elementor-column-gap-default {
		gap: 24px;
	}

	.section_homepage_white .threecolumnblock .caption p {
		margin-bottom: 0;
	}

	.section_homepage_white .threecolumnblock .responsive.buttonmedium {
		margin-top: 32px;
	}

	.section_homepage_white .threecolumnblock .responsive.buttonmedium a.elementor-button-link {
		width: 100%;
	}

	.section_homepage_white .innerimage {
		width: 100%;
		left: auto;
		top: auto;
		margin: 32px 0 0 0;
	}

	.section_homepage_rides .elementor-column.elementor-col-33,
	.section_homepage_rides .elementor-column.elementor-col-66 {
		width: 100%;
	}

	.section_homepage_rides .elementor-column.elementor-col-66 {
		order: 1;
	}

	.section_homepage_rides .elementor-column.elementor-col-33 {
		order: 2;
	}

	.section_homepage_rides .subtitle2,
	.section_homepage_rides .body {
		max-width: 100%;
	}

	.section_homepage_rides .timetable div.location,
	.section_homepage_rides .timetable div.time {
		width: 100%;
		margin: 0;
	}

	.section_homepage_rides .timetable div.location {
		margin-bottom: 24px;
	}

	.section_homepage_ridesimage {
		margin-top: 24px;
	}

	.section_homepage_ridesimage .elementor-widget-image img {
		width: 100%;
	}

	.section_homepage_featuredposts .title_block {
		margin-bottom: 24px;
		padding-top: 32px;
	}

	.section_homepage_featuredproducts .title_block {
		margin-bottom: 24px;
	}

	.postcard {
		flex-basis: 100%;
		width: 100%;
	}

	.postcard .content {
		width: 100%;
		gap: 12px;
		background: linear-gradient(180deg, rgba(28, 28, 28, 0) 0%, rgba(28, 28, 28, .95) 53.108346%);
		padding-top: 60%;
	}

	.postcard .content p.excerpt {
		display: block;
	}

	.postcard .content p.date {
		padding-top: 10px;
	}

	.postcard div.background img {
		opacity: 0.7;
	}

	.section_homepage_featuredproducts {
		padding: 128px 24px;
	}

	.section_homepage_featuredposts .featured-posts,
	.section_homepage_featuredproducts .featured-products {
		flex-direction: column;
	}

	.productcard p.posttitle,
	.productcard p.category,
	.productcard p.price {
		margin-bottom: 12px;
	}

	.productcard p.swatches {
		display: inline-block;
	}

	.productcard img.secondary {
		display: block;
		width: 64px;
		height: 64px;
		margin-top: 12px;
		cursor: pointer;
	}

	.section_homepage_mission .elementor-widget-wrap {
		padding: 0 12px !important;
	}

	.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading:before {
		width: 14px;
        height: 34px;
        background-size: 14px;
        top: -46px;
	}

	.section_homepage_mission .elementor-widget-wrap .elementor-widget-heading {
		max-width: 100%;
	}

	.section_homepage_mission .elementor-widget-wrap {
		justify-content: flex-start;
	}

	.section_homepage_mission .elementor-widget-wrap {
		aspect-ratio: 1 /1;
		background-size: cover;
	}

	.section_homepage_mission .elementor-widget-wrap {
		padding-top: 96px !important;
		padding-bottom: 48px !important;
	}



	div.breadcrumbs {
		padding: 0 24px;
		padding-bottom: 12px;
	}

	div.breadcrumbs a {
		font-size: 12px;
	}

	div.breadcrumbs nav {
		font-size: 12px;
		padding-top: 12px;
	}

	.site-shop .section_content p {
		margin-top: 0;
		margin-bottom: 24px;
	}

	.site-shop .section_content p b,
	.section_blog_specifications div.body p b {
		font-size: 20px;
	}

	.defaultcard .buttoncont span.msbuttonsmall {
		font-size: 14px;
	}

	.site-shop .section_content .text.body {
		width: 100%;
	}

	.site-shop .gridcontent .defaultcard {
		flex-basis: 100%;
		aspect-ratio: 1 / 1;
	}

	.related-categories div.gridcontent > div.defaultcard,
	.related-categories div.gridcontent > div.title {
		flex-basis: 100% !important;
		height: 500px;
        aspect-ratio: auto;
	}

	.productcard  .content {
		min-height: 0;
	}

	div.toolbar {
		gap: 16px;
		padding-bottom: 12px;
	}

	div.totalitems p {
		font-size: 12px;
	}

	div.productsgrid {
		padding: 24px;
	}

	.product-page .heading-title {
		padding: 38px 24px 64px 24px;
	}

	.product-page .titlebanner {
		min-height: 293px;
	}

	.product-additional-content.imageblock .box {
		gap: 24px;
		flex-direction: column;
	}

	.product-additional-content.imageblock .product-additional-content-wrap {
		gap: 32px;
		flex-direction: column;
	}

	.full-description .text, .accordion .text, .quote .text,
	.product-additional-content.imageblock .box .image,
	.product-additional-content.imageblock .box .imagecontent {
		flex-basis: 100%;
	}

	.product-additional-content.imageblock .box2 .image {
		order: 0;
	}

	.product-additional-content.imageblock .box .imagecontent p {
		margin-bottom: 0;
	}

	.product-additional-content.video {
		box-sizing: content-box;
	}

	div.product-additional-content.upsells {
		padding-bottom: 128px;
	}

	div.product-additional-content.upsells .products {
		padding-top: 32px;
	}

	.productcard .background {
		aspect-ratio: unset;
	}

	div.productbrand div.brandcontent {
		flex-direction: column;
	}

	div.productbrand div.brandcontent .imageleft {
		order: 2;
		flex-basis: 100%;
	}

	div.productbrand div.brandcontent .contentright {
		order: 1;
		flex-basis: 100%;
	}

	div.productbrand div.brandcontent .contentright a {
		display: none;
	}

	div.productbrand div.brandcontent .imageleft a {
		display: block;
		width: 100%;
		text-align: center;
		margin: 24px 0 0 0 !important;
	}

	div.searchresults div.result {
		flex-direction: column;
		gap: 16px;
	}

	div.result div.title {
		flex-basis: 100%;
	}

	div.result div.excerpt {
		flex-basis: 100%;
	}

	body.woocommerce-cart #page section.elementor-top-section,
	body.woocommerce-checkout #page section.elementor-top-section {
		padding: 32px 24px;
	}

	div.cart-collaterals .cart_totals {
		width: 100%;
		box-sizing: border-box;
		min-width: 0;
	}

	.woocommerce-cart-form table.shop_table td.product-thumbnail:before {
		display: none;
	}

	.woocommerce-cart-form table.shop_table td.product-thumbnail {
		text-align: center;
	}

	.woocommerce-cart-form table.shop_table td.product-price {
		display: none;
	}

	body.woocommerce-cart .woocommerce-cart-form input {
		width: auto;
	}

	.woocommerce-cart-form table.shop_table td.product-remove {
		padding-bottom: 12px;
		border-bottom: 1px solid #1c1c1c;
	}

	table.shop_table td.actions div.actions-content div.coupon {
		flex-direction: column;
	}

	body.woocommerce-checkout form.woocommerce-checkout #customer_details h3, body.woocommerce-checkout form.woocommerce-checkout #order_review h3 {
		font-size: 36px;
	}

	body.woocommerce-checkout form.woocommerce-checkout {
		flex-direction: column;
		gap: 24px;
	}

	body.woocommerce-checkout form.woocommerce-form-coupon div.form {
		flex-direction: column;
	}

	body.woocommerce-checkout form.woocommerce-form-coupon div.form > p.form-row-first,
	body.woocommerce-checkout form.woocommerce-form-coupon div.form > p {
		flex-basis: 100%;
	}

	body.woocommerce-checkout form.woocommerce-form-coupon div.form > p button,
	body.woocommerce-checkout form.woocommerce-form-coupon div.form > p.form-row-first {
		width: 100%;
	}

	.startyourbuild .textcont p {
		max-width: 100%;
	}

	.startyourbuild .backgroundcont {
		aspect-ratio: .75 / 1;
	}

	body.woocommerce-account .elementor-38 .elementor-element.elementor-element-1abb6f44 > .elementor-container {
		padding: 128px 24px;
	}

	body.woocommerce-account .woocommerce form .form-row button.woocommerce-form-login__submit {
		max-width: 100%;
	}

	body.woocommerce-account.logged-in div.woocommerce {
		flex-direction: column;
	}

	body.woocommerce-account.logged-in div.woocommerce .woocommerce-MyAccount-navigation {
		order: 2;
		margin-top: 16px;
		padding-top: 16px;
		border-top: 1px solid #1c1c1c;
		text-align: center;
	}

	body.woocommerce-account.logged-in div.woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions {
		margin-bottom: 24px;
	}

	div.searchresults.search-toolbar.brands-toolbar,
	div.searchresults.search-toolbar.builds-toolbar,
	div.searchresults.search-toolbar.blog-toolbar  {
		padding-bottom: 24px;
	}

	.brands-featured-categories.related-categories div.gridcontent {
		gap: 32px;
		flex-direction: column;
	}

	.brands-featured-categories.related-categories div.title a {
		line-height: 1.2;
		padding-top: 12px;
	}

	.site-shop .brands_grid .gridcontent .defaultcard div.info h5 {
		padding-bottom: 12px;
	}

	.site-shop .brands_grid .gridcontent .defaultcard div.info p.responsive {
		display: block;
		margin-bottom: 24px;
		text-align: left;
		color: #7A7977;
	}

	div.searchresults.search-toolbar div {
		flex-wrap: wrap;
	}

	.custom-builds .left-panel div.buttons {
		flex-direction: column;
		gap: 24px;
	}

	.custom-builds .left-panel div.buttons a {
		padding: 12px 32px;
	}

	.related-posts .related-posts-container {
		padding-top: 24px;
	}

	.custom-builds .left-panel div.buttons > div {
		flex-basis: 100%;
	}

	.related-categories div.title a {
		line-height: 2;
	}

	.site-shop.page-builds .gridcontent .defaultcard,
	.site-service .gridcontent .defaultcard {
		aspect-ratio: .2 / 1;
	}

	.branddescription {
		flex-direction: column;
	}

	.branddescription .info > div.buttonset a {
		display: inline-block;
		width: 100%;
		text-align: center;
	}

	.service-block .blockcontent {
		padding-top: 24px;
	}

	a.elementor-button, button.elementor-button, input.black_button[type='submit'] {
		padding: 12px 32px;
	}

	.service-block h2 {
		margin-bottom: 24px;
	}

	.service-block .blockcontent .grid33 {
		gap: 0;
	}

	.service-block div.contactblock a {
		width: 100%;
		display: inline-block;
	}

	div.productsgrid_brandspage.productsgrid_bicycles {
		padding-bottom: 128px;
	}

	.section_blog_specifications > .elementor-container .first_column,
	.section_blog_specifications > .elementor-container .second_column {
		flex-basis: 100%;
	}

	.section_blog_quote .elementor-container .elementor-element.elementor-top-column {
		width: 100%;
	}

	.section_blog_steps .flexsection .bigcolumn,
	.section_blog_steps .flexsection .smallcolumn {
		flex-basis: 100%;
	}

	.section_blog_steps .flexsection .bigcolumn {
		order: 1;
	}

	.section_blog_steps .flexsection .smallcolumn {
		order: 2;
	}

	.section_blog_steps .flexsection > .elementor-container {
		gap: 24px;
	}

	.section_blog_steps .elementor-element .elementor-widget-container {
		margin: 0;
	}

	.section_blog_featuredbuilds .site-shop .gridcontent.grid22 {
		--cols: 1;
	}

	.section_blog_featured_product > div.elementor-container {
		gap: 24px;
		padding-top: 24px;
	}

	section.section_blog_featuredposts.section_homepage_featuredposts {
		padding-top: 128px;
	}

	.contact-form,
	.page-coffee.site-shop .section_content {
		flex-direction: column;
		gap: 24px;
	}

	.contact-form .contact-data {
		flex-basis: 100%;
	}

	.contact-form .form {
		flex-basis: 100%;
	}

	.page-coffee.site-shop .section_content div.timetable,
	.site-shop .section_content .text.body {
		flex-basis: 100%;
		width: 100%;
	}

	.page-coffee.site-shop .section_content div.timetable a i {
		font-size: 18px;
	}

	div.specialsblock {
		--cols: 1;
		flex-direction: column;
		--gap: 24px;
	}

	div.dish {
		gap: 24px;
		flex-direction: column;
	}

	div.dish div.image,
	div.dish.reverse div.image {
		order: 1;
	}

	div.dish div.contents,
	div.dish.reverse div.contents {
		order: 2;
	}

	.section_homepage_store.elementor-section .elementor-container, .section_homepage_white.elementor-section .elementor-container, .section_homepage_rides.elementor-section .elementor-container {
		flex-wrap: wrap;
	}

	.section_store_cofeeshop .title_column {
		order: 1;
	}

	.section_store_cofeeshop .info_column {
		order: 2;
	}

	.section_store_cofeeshop .title_column .elementor-widget-wrap {
		text-align: left;
	}

	.elementor-button {
		padding: 12px 32px;
	}

	.site-shop .gridcontent div.brandcard {
		padding-bottom: 24px;
	}

	.site-shop .brands_grid .gridcontent {
		gap: 24px;
	}

	div.productsgrid.productsgrid_brandspage {
		padding-top: 128px;
		padding-bottom: 128px;
	}

	div.brandstrip .strip {
		min-height: 700px;
	}

	div.brandstrip .strip > div.stage div {
		height: 700px;
	}

	.service-block div.contactblock {
		gap: 16px;
	}

	div.eventcard {
		aspect-ratio: auto;
		min-height: 0;
	}

	div.eventcard a > div div.excerpt {
		flex-grow: 0;
	}

	div.eventcard a > div.type {
		flex-grow: 0;
	}

	.sticky-add-to-cart-button {
		display: block;
	}

	.bicycle-inqury-buttons {
		gap: 16px;
	}

	.bicycle-inqury-buttons .half {
		flex-basis: calc(50% - 8px);
	}

	div.eventcard a > div div.link p {
		text-align: left;
	}

	div.specials div.location span.msbuttonlarge, div.specials div.description span.msbuttonlarge {
		top: -2px;
	}

	.page-coffee.site-shop .section_content div.timetable a i {
		top: 1px;
	}

	table.shop_table tr.cart_item td.product-thumbnail {
		width: auto;
	}

	body.woocommerce-cart div.elementor input#coupon_code,
	body.woocommerce-cart button[name='apply_coupon'] {
		width: 100% !important;
	}

	body .page-visitus.site-shop .section_content .text.body,
	.openinghours > div {
		width: 100%;
		flex-basis: 100%;
	}

	div.brandlogos div.logos div {
		height: 32px;
	}

	div.brandlogos div.logos {
		gap: 24px;
	}

	div.googlemap {
		aspect-ratio: 1 / 1;
		min-height: 528px;
		width: 100%;
	}

	div.toolbar div.values > div {
		row-gap: 12px;
		flex-wrap: wrap;
	}

	body.woocommerce-account .woocommerce-form__label {
		font-size: 14px;
	}

	body.woocommerce-account  .woocommerce-privacy-policy-text {
		font-size: 16px;
	}

	body.woocommerce-account .woocommerce .lostpassword {
		max-width: 100%;
	}

	div.dish div.contents p > span:not(.txt) {
		font-size: 14px;
	}

	.productcard p.category span {
		position: relative;
		top: 3px;
		margin-left: 3px;
	}

	div.cart-empty.woocommerce-info {
		font-size: 24px;
	}

	.wc-empty-cart-message + p.return-to-shop a {
		padding: 12px 32px;
		font-size: 12px;
	}

	.startyourbuild .textcont {
		padding-left: 24px;
		padding-right: 24px;
	}

    div.popupform .wpcf7-not-valid-tip {
        text-align: left;
        position: absolute;
        top: 15px;
        left: 120px; 
    }

	div.popupform span[data-name='datedrop'] .wpcf7-not-valid-tip,
	div.popupform span[data-name='datepick'] .wpcf7-not-valid-tip {
		top: 38px;
	}
}

@media screen and (max-width: 768px) {
	body.woocommerce-cart section > .elementor-container div.woocommerce .woocommerce-cart-form {
		border-top: 1px solid #1c1c1c;
	}

	body.woocommerce-cart section table.shop_table tr.cart_item td {
		width: calc(100% - 150px);
		clear: none;
		float: left;
		text-align: left;
	}

	body.woocommerce-cart section table.shop_table_responsive tr td::before {
		display: none;
	}

	body.woocommerce-cart section table.shop_table tr.cart_item td.product-thumbnail {
		width: 150px;
	}

	body.woocommerce-cart section table.shop_table tr.cart_item td.product-remove {
		width: 100%;
		text-align: right;
	}

	body.woocommerce-cart table.shop_table tr.cart_item input.qty {
		width: auto;
	}

	body.woocommerce-cart table.shop_table_responsive tbody th,
	body.woocommerce-cart table.shop_table_responsive tbody td {
		display: table-cell;
	}

	body.woocommerce-cart table.shop_table_responsive tbody th {
		text-align: left;
	}

	table.shop_table td.actions div.actions-content > p {
		display: none;
	}

	#wc_bis_product_form #wc_bis_email {
		margin-bottom: 16px;
	}

	#wc_bis_product_form #wc_bis_send_form {
		font-size: 14px;
		padding: 12px 32px;
	}

	body.archive .navigation.posts-navigation a {
		font-size: 12px;
	}

	body.archive .navigation.posts-navigation {
		margin-top: 24px;
	}

	.product-additional-content-wrap .text p:not(.subtitle1),
	.product-additional-content-wrap .text div.bodylarge {
		font-size: 16px;
		line-height: 1.5;
	}
}

@media screen and (max-width: 750px) {
	section.title_block .right_column p.elementor-heading-title {
		text-align: left;
	}

	div.popupform .popupcontent {
		width: 90%;        
        transform: translate(-50%, 0);
        overflow: scroll;
	}
}

@media screen and (max-width: 500px) {
	div.searchform form.search-form {
		flex-direction: column;
		gap: 14px;
	}

	.site-shop.page-builds .gridcontent .defaultcard, .site-service .gridcontent .defaultcard {
		aspect-ratio: .5 / 1;
	}
}

@media screen and (max-width: 420px) {
	div.popupform .wpcf7-not-valid-tip {
		left: 80px;
		font-size: 12px;
		background: #F8F5F0;
	}

    div.popupform span[data-name='datedrop'] .wpcf7-not-valid-tip,
	div.popupform span[data-name='datepick'] .wpcf7-not-valid-tip {
		top: 25px;
	}
}

@media screen and (max-width: 400px) {
	.startyourbuild .backgroundcont {
		aspect-ratio: .5 / 1;
	}

	.product-page .titlebanner {
		aspect-ratio: auto;
	}

	div.googlemap {
		aspect-ratio: 1/1;
		min-height: 528px;
		width: 100%;
	}

	#site-navigation .secondary-menu {
		margin-bottom: 40px;
	}

	div.brands_grid div.gridcontent .defaultcard div.info div.tags span.overline {
		padding-left: 8px;
		padding-right: 8px;
	}

	div.brands_grid div.gridcontent .defaultcard div.info div.tags span.overline:first-child {
		padding-left: 0;
	}
	
	div.popupform .popupcontent {
		padding: 10px;
		top: 100px !important;
	}
	
	body.woocommerce-checkout .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper .form-row {
		max-width: 280px;
		text-align: center;
	}
}

/** BLOG HOMEPAGE **/
.margin_top_192_98_64 {
	margin-top: 192px;
}

.titlepadding {
	padding: 0 48px;
}

.blogtitle {
	z-index: 11;
	position: relative;
	padding: 128px 48px 64px 48px;
	text-align: center;
	display: none;
}

.blogtitlelogo {
	z-index: 11;
	position: relative;
	padding: 148px 0 64px 0;
	text-align: center;
	max-width: 1680px;
	margin: auto;
}

.blogtitle h1 {
	margin: 0;
	width: auto;
	display: inline-block;
}

.blogtitle span {
	font-size: 132px;
}

.blogtitle span.overline {
	margin-bottom: 0;
}

.blogtitle span.blogsubtitle {
	font-family: "MatterMonoBold" !important;
	font-size: 16px;
	color: #F8F5F0;
	display: block;
	clear: both;
	text-align: right;
}

.newmainblog .header-content p {
	margin-bottom: 22px;
}

.newmainblog .header-content h6 {
	margin: 0;
	text-transform: none;
	font-size: 40px;
	margin-bottom: 42px;
}

.newmainblog div.section_homepage_video.homepage_video_static_image .header-content {
	padding-bottom: 0;
	background: none;
}

.newmainblog .lineargradient {
	position: absolute;
	bottom: 0;
	z-index: 9;
	transform: none;
	padding: 0;
	background: linear-gradient(180deg, rgba(28, 28, 28, 0.3) 0%, rgba(28, 28, 28, 0) 74%, rgb(28, 28, 28) 100%);
	opacity: 1;
	width: 100%;
	height: 100%;
}

.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .header-content-maxwidth {
	max-width: 1680px;
	margin: auto;
	padding-left: 0;
	padding-right: 0;
}

.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .postinfo {
	max-width: 50%;
}

.newmainblog .header-content div.categories .searchresults,
.newmainblog .header-content div.categories .searchresults div {
	border: none;
}

.newmainblog .header-content div.categories .searchresults div {
	padding-bottom: 0;
}

.newmainblog .header-content div.categories .searchresults {
	padding-bottom: 30px;
	padding-top: 0;
}

.newmainblog .header-content div.categories {
	margin-top: 50px;
}

.newmainblog .section_content.sand {
	justify-content: start;
}

.newmainblog .related-posts .related-posts-container {
	border: none;
	overflow: hidden;
}

.newmainblogpadding {
	padding: 192px 48px 0 48px;
}

.related-categories.newmainblogpadding {
	padding: 64px 48px 0 48px;
}

.newmainblog .button_section {
	margin: 40px auto;
	text-align: center;
	display: none;
}

.newmainblog.site-shop .section_content p {
	margin-top: 30px;
}

.newmainblog .button_section button.black_button:hover {
	background: #AA8765;
}

div.copytitle {
	background: #F8F5F0;
	padding: 10px 20px;
	text-transform: uppercase;
	color: #1c1c1c;
	height: 40px;
}

div.copytitle .ri {
	float: right;
}

div.copytitle .le {
	float: left;
}

.newfeattitle {
	font-family: "MatterMonoBold", serif;
	font-size: 20px;
	color: #F8F5F0;
}

.archive.category .breadcrumbs {
	display: none !important;
}

@media screen and (max-width: 1680px) {
	.blogtitlelogo,
	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .header-content-maxwidth {
		max-width: 1515px;
	}
}

@media screen and (max-width: 1440px) {
	.blogtitlelogo,
	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .header-content-maxwidth {
		max-width: 1360px;
	}
}


@media screen and (max-width: 1200px) {
	.newmainblogpadding {
		padding: 124px 32px 0 32px;
	}

	.related-categories.newmainblogpadding {
		padding: 62px 32px 0 32px;
	}

	.margin_top_192_98_64 {
		margin-top: 98px;
	}

	.blogtitle span {
		font-size: 92px;
	}

	.newmainblog .grid33 {
		--cols: 3;
	}

	.newmainblog.site-shop .section_content .text.body {
		width: 66%;
		flex-basis: 66%;
	}

	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .postinfo {
		max-width: 75%;
	}

	.titlepadding {
		padding: 0 32px;
	}
}

@media screen and (max-width: 800px) {
	.newmainblogpadding {
		padding: 62px 24px 0 24px;
	}

	.related-categories.newmainblogpadding {
		padding: 62px 24px 0 24px;
	}

	.blogtitlelogo {
		display: none;
	}

	.blogtitle {
		padding: 134px 0 64px 0;
		display: block;
		width: 100%;
	}

	.blogtitle svg {
		width: 100%;
		height: auto;
	}

	.titlepadding {
		padding: 0 24px;
	}

	.margin_top_192_98_64 {
		margin-top: 64px;
	}

	.blogtitle span {
		font-size: 87px;
	}

	.blogtitle h1 {
		width: 320px;
		margin: auto;
	}

	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content {
		padding-bottom: 110px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.newmainblog div.categories {
		padding: 0 24px;
		margin-top: -75px;
		z-index: 15;
		position: relative;
	}

	.newmainblog div.categories div.searchresults {
		border: none;
	}

	.newmainblog .related-posts.bloghomepage-featured-posts div.featured-posts {
		display: block;
	}

	.newmainblog .related-posts.bloghomepage-featured-posts div.featured-posts div.postcard {
		float: left;
		width: 100%;
		margin: 0 10px;
	}

	.newmainblog.site-shop .section_content .text.body {
		width: 100%;
		flex-basis: 100%;
	}

	.newmainblog .related-posts.bloghomepage-featured-posts div.featured-posts div.postcard .content {
		padding-top: 0;
		position: absolute;
		bottom: 0;
	}

	.newmainblog .button_section {
		display: block;
	}

	.newmainblog .postcard .excerpt.body {
		display: none;
	}

	.newmainblog .section_content.sand a.buttonmedium {
		margin-top: 30px;
		display: block;
		text-align: center;
	}

	.newmainblog div.searchresults.search-toolbar div {
		gap: 8px;
	}

	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content .postinfo {
		max-width: 100%;
	}
}

@media screen and (max-width: 450px) {
	.blogtitle {
		padding-left: 0;
		padding-right: 0;
        padding-top: 134px;
	}
}

@media screen and (max-width: 400px) {
	.newmainblog .homepage_video_static_image {
		overflow: visible;
	}
	.newmainblog div.section_homepage_video.homepage_video_static_image .header-content {
		padding-bottom: 0;
		bottom: -260px;
	}

	.newmainblog div.categories {
		margin-top: 320px;
	}

	.blogtitle span {
		font-size: 70px;
	}

	.blogtitle h1 {
		width: 265px;
	}
}

@media screen and (max-height: 1000px) {
	.margin_top_192_98_64 {
		margin-top: 124px;
	}
}

@media screen and (max-height: 890px) {
	.margin_top_192_98_64 {
		margin-top: 64px;
	}
}

/* NEW MAIN MENU */
.newmenu {
	margin-left: 30px;
	margin-bottom:3px;
}

.newmenu ul {
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: row;
	list-style: none;
	gap: 24px;
}

.newmenu ul li a {
	text-transform: uppercase;
}

div.menu-container {
	min-height: 62px;
}

#site-navigation {
	z-index: 100;
	position: relative;
	display: block !important;
}

#site-navigation .grand-menu {
	background: #1C1C1C;
	width: 700px;
	padding-top: 24px;
	transform: translateX(-100%);
	transition: 0.5s ease all;
	justify-content: start;
}

#site-navigation .grand-menu.active {
	transform: translateX(0);
}

.grand-menu-background {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.4);
	height: 100%;
	display: none;
}

#site-navigation .grand-menu .menuheader {
	display: flex;
	flex-direction: row;
	gap: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(248, 245, 240, 0.3);
	padding-left: 8px;
	padding-right: 8px;
	width: 100%;
	margin-bottom: 24px;
}

#site-navigation .grand-menu .menuheader .menulogo {
	width: 138px;
}

#site-navigation .grand-menu .menuheader .menulogo img {
	width: 100%;
}

/* Desktop default: wordmark visible, favicon hidden. Mobile media query overrides. */
#site-navigation .grand-menu .menuheader .menulogo .menulogo-icon {
	display: none;
}

#site-navigation .grand-menu .menuheader {
	gap: 24px;
}

#site-navigation .grand-menu .menuheader .topmenu ul {
	display: flex;
	gap: 12px;
}

#site-navigation .grand-menu .menuheader .topmenu ul li a {
	font-size: 14px;
	text-transform: uppercase;
}

#site-navigation .grand-menu .menuheader .topmenu ul li a:not(.activeitem) {
	opacity: 0.5;
}

#site-navigation .grand-menu .menucontent {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding-left: 8px;
	padding-right: 8px;
	flex: 1;
}

#site-navigation .grand-menu .menucontent .topcontainer {
	width: 100%;
	display: none;
}

#site-navigation .grand-menu .menucontent .topcontainer.active {
	display: block;
}

#site-navigation .grand-menu .menucontent .topcontainer ul {
	flex-direction: column;
}

#site-navigation .grand-menu .menucontent .topcontainer > ul a,
#site-navigation .grand-menu .menucontent .topcontainer > ul a span {
	font-size: 36px;
	font-weight: 600;
	text-transform: uppercase;
	font-family: 'MatterMonoBold', sans-serif !important;
	letter-spacing: 0.07em;
}



#site-navigation .grand-menu .menucontent .topcontainer > ul > li > a:hover span,
#site-navigation .grand-menu .menucontent .topcontainer > ul > li > a.active span {
	color: rgba(248, 245, 240, 1);
}


#site-navigation .grand-menu .menucontent .topcontainer > ul a span.indicator {
	margin-left: 5px;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-weight: 400;
}

.thirdLevelItems {
	display: flex;
	flex-direction: row;
	row-gap: 12px;
	column-gap: 24px;
	flex-wrap: wrap;
}

.thirdLeveLContent {
	display: none;
}

.thirdLeveLContent.active {
	display: block;
}

.thirdLeveLContent .promo-images {
	display: none;
}

#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelItems a,
#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelItems a span {
	font-size: 16px;
	font-family: 'MatterRegular', sans-serif !important;
	text-transform: none;
	letter-spacing: 0.04em;
	font-weight:400 !important;
}

#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelItems .blog-toolbar a,
#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelItems .blog-toolbar a span {
	font-family: 'MatterMonoMedium', sans-serif !important;
}

.thirdLevelButton {
	margin-top: 24px;
	margin-bottom: 24px;
}

#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelButton a {
	font-size: 14px;
	font-weight: 400;
	display: inline-block;
	max-width: 150px;
	padding: 12px 32px;
	margin-right: 24px;
}

#site-navigation .grand-menu .menucontent.menuopened .topcontainer > ul > li > a:not(.active) span {
	color: rgba(248, 245, 240, 0.25);
}

.promo-images-container {
	display: flex;
	flex-direction: row;
	gap: 16px;
	padding: 32px 8px 0 8px;
}

.promo-images-container .pimage .overline {
	font-size: 12px;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.promo-images-container .pimage a {
	position: relative;
	border-radius: 4px;
	overflow: hidden;
}

.promo-images-container .pimage a .shadebck {
	background: linear-gradient(180deg, rgba(28, 28, 28, 0.3) 0%, rgba(28, 28, 28, 0) 74%, rgb(28, 28, 28) 100%);
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.promo-images-container .pimage {
	max-width: 50%;
}

.promo-images-container .pimage p {
	position: absolute;
	bottom: 16px;
	font-size: 16px;
	width: 100%;
	text-align: center;
	margin: 0;
}

.thirdLeveLContent div.thirdLevelItem.searchresults.blog-toolbar {
	background: none;
	padding: 0;
	border: none;
}

.thirdLevelBlog .thirdLevelItem.searchresults a {
	border: 1px solid #F8F5F0;
	text-transform: uppercase !important;
}

.thirdLevelBlog .thirdLevelItem.searchresults a.active {
	background: #F8F5F0;
	color: #1c1c1c !important;
}

.thirdLevelBlog .thirdLevelItems {
	margin-top: 24px;
	margin-bottom: 32px;
}

.thirdLevelCoffee span.overline {
	margin-top: 20px;
	margin-bottom: 20px;
	display: block;
	font-size: 16px;
	font-weight: bold;
}

.thirdLevelCoffee div.day,
.thirdLevelCoffee div.time {
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 16px;
	border: none;
	float: none;
	width: auto;
	margin-bottom: 6px;
	padding-bottom: 6px;
	letter-spacing: normal;
}

.thirdLevelCoffee div.time {
	letter-spacing: 0.02em;
}

.thirdLevelCoffee div.day {
	padding-right: 8px;
}

.thirdLevelCoffee div.time {
	padding-left: 8px;
}

.thirdLevelCoffee div.delimiter {
	flex: 1;
	border-top: 1px solid rgba(248, 245, 240, 0.3);
	margin-top: 12px;
	margin-bottom: 0;
}

.thirdLevelCoffee div.timerow {
	display: flex;
	flex-direction: row;
	margin: 0;
}

#site-navigation .grand-menu .menucontent .topcontainer > ul .thirdLevelCoffee .thirdLevelButton a {
	max-width: 200px;
}

#site-navigation .grand-menu .menucontent div.timeschedule {
	max-width: 66%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}

div.thirdLevelConnect {
	display: flex;
	flex-direction: column;
	justify-content: start;
	flex-wrap: nowrap;
	height: 100%;
}

div.thirdLevelConnect div.address {
	margin-top: 20px;
	flex:1;
}

div.thirdLevelConnect div.icon i {
	font-family: "Material Symbols Outlined", sans-serif !important;
	font-style: normal;
	font-size: 20px;
	vertical-align: bottom;
	font-weight: 400;
}

div.thirdLevelConnect div.address p {
	float: left;
	width: 100%;
	margin-bottom: 0;
	margin-top: 0;
	text-transform: uppercase;
	font-weight: 400;
}

#site-navigation .grand-menu div.thirdLevelConnect div.address p a {
	font-weight: 400;
	font-family: 'MatterMonoMedium', sans-serif !important;
	font-size: 16px;
	color: #F8F5F0;
}

div.thirdLevelConnect div.newsletter .title span {
	font-size: 12px;
	text-transform: uppercase;
}

div.thirdLevelConnect div.newsletter .title {
	margin-bottom: 15px;
}

div.thirdLevelConnect div.newsletter input[type='text'],
div.thirdLevelConnect div.newsletter input[type='email']{
	background: #F8F5F0;
	border-radius: 4px;
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 14px;
	width: 100%;
	max-width: 450px;

}

div.thirdLevelConnect div.newsletter .mc-field-group {
	margin-bottom: 10px;
}

div.thirdLevelConnect div.newsletter #mc-embedded-subscribe {
	margin-top: 10px;
	background: #F8F5F0;
	color: #1c1c1c !important;
}

div.thirdLevelConnect div.newsletter #mc-embedded-subscribe:hover {
	background: transparent;
	color: #F8F5F0 !important;
	border-color: #F8F5F0;
}

#site-navigation .grand-menu .menucontent .topcontainer.topconnect,
#site-navigation .grand-menu .menucontent .topcontainer.topconnect ul {
	height: 100%;
}

div.thirdLevelConnect div.newsletter #mc_embed_signup_scroll div.mce_inline_error, div.thirdLevelConnect div.newsletter #mc_embed_signup_scroll div.response {
	font-family: 'MatterRegular', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	color: #F8F5F0;
}

div.menu-container div.logo {
	flex-basis: 138px;
	flex-shrink: 0;
	height: 24px;
}

div.iconmenu.responsive {
	display: none;
}

div.iconmenu #search {
	width: 1px;
}

@media screen and (max-width: 800px) {
	div.newmenu {
		display: none;
	}

	div.mobiconmenu.responsive {
		display: flex;
		flex-direction: row;
		gap: 24px;
	}

	div.responsiveheader {
		display: flex;
	}

	#site-navigation .grand-menu {
		width: 100%;
		padding: 16px;
	}

	div.responsiveheader.iconmenu {
		justify-content: space-between;
		width: 100%;
		display: flex;
		align-items: center;
	}

	div.responsiveheader.firstlevelactive button.arrow {
		display: none
	}

	div.responsiveheader.firstlevelactive span.activemenu {
		display: none;
	}

	div.responsiveheader.firstlevelactive a.homelink {
		text-transform: uppercase;
		text-decoration: underline;
		font-size: 14px;
	}

	#site-navigation div.responsiveheader.secondlevelactive a.homelink {
		display: none;
	}

	#site-navigation div.responsiveheader.secondlevelactive a.activemenu {
		display: block;
	}

	#site-navigation div.responsiveheader.secondlevelactive + .menuheader {
		display: none;
	}

	#site-navigation .grand-menu .menuheader {
		border: none;
		padding: 0;
		margin: 0;
	}

	#site-navigation .grand-menu .menuheader .menulogo {
		display: none;
	}

	#site-navigation .grand-menu .menuheader .nav-menu {
		flex-direction: column;
	}

	#site-navigation .grand-menu .menuheader .topmenu ul {
		gap: 8px;
		margin-top: 48px;
	}

	#site-navigation .grand-menu .menuheader .topmenu li a span {
		font-size: 36px;
		font-weight: 600;
		text-transform: uppercase;
		font-family: 'MatterMonoBold', sans-serif !important;
		letter-spacing: 0.07em;
		line-height: 1.2;
		margin-bottom: 32px;
	}

	#site-navigation .grand-menu .menuheader a span:after {
		content: '+';
		font-family: 'MatterMonoMedium', sans-serif !important;
		font-weight: 400;
	}

	#site-navigation .grand-menu .responsiveheader .activemenu {
		text-transform: uppercase;
		margin: 0;
	}

	#site-navigation .grand-menu .menucontent {
		padding: 0;
		margin-top: 48px;
	}

	#site-navigation .grand-menu ul {
		display: flex;
	}

	.promo-images-container {
		flex-direction: row;
		padding-bottom: 64px;
	}

	.promo-images-container {
		height: 600px;
		width: 100%;
	}

	.promo-images-container .pimage {
		padding: 0 10px;
	}

	div.iconmenu #search,
	div.iconmenu #searchdummy {
		width: 24px;
	}

	div.iconmenu #search {
		display: none;
	}


	div.top-header-search {
		display: none;
	}

	#site-navigation .grand-menu .menucontent .topcontainer>ul>li>a span {
		color: rgb(248, 245, 240);
	}
	
	#site-navigation .grand-menu .menuheader .topmenu ul li a:not(.activeitem) {
		opacity: 1;
	}
}

@media screen and (max-width: 700px) {
	.promo-images-container {
		height: 500px;
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	.promo-images-container {
		height: 400px;
		width: 100%;
	}
	
	.page-id-17332 .section_homepage_store .info_column .timetable div.day,
	.page-id-17332 .section_homepage_store .info_column .timetable div.time {
		min-height: 52px;
	}
}

@media screen and (max-width: 500px) {
	.promo-images-container {
		height: 370px;
		width: 100%;
	}
}

@media screen and (max-width: 450px) {
	#site-navigation .grand-menu .menucontent div.timeschedule {
		width: 100%;
		max-width: none;
	}

	#site-navigation .grand-menu .menucontent .topcontainer>ul .thirdLevelCoffee .thirdLevelButton a {
		max-width: 100%;
		width: 100%;
		margin-bottom: 16px;
		margin-right: 0;
		text-align: center;
	}
}

@media screen and (max-width: 430px) {
	.promo-images-container {
		height: 360px;
		width: 100%;
		padding-bottom: 84px;
	}
}

@media screen and (max-width: 420px) {
	.promo-images-container {
		height: auto;
		width: 100%;
	}
}

@media screen and (max-width: 390px) {
	.promo-images-container {
		height: auto;
		width: 100%;
	}

	#site-navigation .grand-menu .menucontent .topcontainer>ul a,
	#site-navigation .grand-menu .menucontent .topcontainer>ul a span,
	#site-navigation .grand-menu .menuheader .topmenu li a span {
		font-size: 28px;
	}
}

@media screen and (max-width: 340px) {
	.page-id-17332 .section_homepage_store .info_column .timetable div.day,
	.page-id-17332 .section_homepage_store .info_column .timetable div.time {
		min-height: 72px;
	}
}

/* ───────────────────────────────────────────────────────────────────
 * Design QA fixes — 2026-05-21
 * - Journal hero/content width alignment
 * - Mobile menu width + logo + visual polish
 * ─────────────────────────────────────────────────────────────────── */

/* JOURNAL / CATEGORY ARCHIVE: cap content at the same 1680px the hero PNG uses.
   The hero's .blogtitlelogo + .header-content-maxwidth are both capped at
   1680px and centered. Content sections below had no cap, so on viewports
   wider than ~1776px the cards/text appeared wider than the hero. Cap the
   INNER wrappers (not the section_content / section_homepage_featuredposts
   outers) so background colors still extend full-width. */
.newmainblog .section_content.newmainblogpadding .text.body,
.newmainblog .section_homepage_featuredposts.newmainblogpadding .title,
.newmainblog .section_homepage_featuredposts.newmainblogpadding .related-posts-container,
.newmainblog .section_homepage_featuredposts.newmainblogpadding .button_section {
	max-width: 1680px;
	margin-left: auto;
	margin-right: auto;
}

/* MOBILE MENU FIX — three things in one block:
   1. Was 'width: 700px' hardcoded with no override, so on phones < 700px wide
      content overflowed horizontally and expanded submenus got cut off.
   2. No overflow-y, so tall menus had no scroll affordance inside the panel.
   3. Logo was display:none on mobile (no brand presence on open). */
@media screen and (max-width: 768px) {
	#site-navigation .grand-menu {
		width: 100vw;
		max-width: 100vw;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	/* Mobile menu top bar:
	   - First level:  [×] in the corner (wordmark shows below in .menuheader)
	   - Second level: [← back] [category name] [×]
	   The .homelink text is always hidden on mobile (wordmark replaces it). */
	#site-navigation .grand-menu .iconmenu.responsive {
		position: relative;
		text-align: center;
		min-height: 32px;
	}
	#site-navigation .grand-menu .iconmenu.responsive .homelink {
		display: none;
	}
	#site-navigation .grand-menu .iconmenu.responsive .arrow {
		position: absolute;
		top: 0;
		left: 8px;
	}
	#site-navigation .grand-menu .iconmenu.responsive .close {
		position: absolute;
		top: 0;
		right: 8px;
	}
	/* Always hide the active-category label — the items below already tell you
	   what section you're in, and the label was colliding with the back arrow. */
	#site-navigation .grand-menu .iconmenu.responsive .activemenu {
		display: none;
	}
	/* First level: hide the back arrow (only × shows) */
	#site-navigation .grand-menu .iconmenu.responsive.firstlevelactive .arrow {
		display: none;
	}

	/* Wordmark top-LEFT, menu items also left-aligned, so the visual
	   anchor stays put when drilling into second-level views (which are
	   also left-aligned). No center→left jump on tap. */
	#site-navigation .grand-menu .menuheader {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		gap: 32px;
	}
	#site-navigation .grand-menu .menuheader .menulogo {
		display: block;
		width: 180px;
		flex: 0 0 auto;
		align-self: flex-start;
		margin: 8px 0 16px;
	}
	#site-navigation .grand-menu .menuheader .menulogo .menulogo-full {
		display: block;
		width: 100%;
		height: auto;
	}
	#site-navigation .grand-menu .menuheader .menulogo .menulogo-icon {
		display: none;
	}
	#site-navigation .grand-menu .menuheader .topmenu,
	#site-navigation .grand-menu .menuheader .topmenu ul {
		width: 100%;
		text-align: left;
	}

	/* Subtle brand-accent on tap/active state for the top-level menu items */
	#site-navigation .grand-menu .menuheader .topmenu ul li a:active span,
	#site-navigation .grand-menu .menuheader .topmenu ul li a.activeitem span,
	#site-navigation .grand-menu .menuheader .topmenu ul li a:hover span {
		color: #AA8765; /* Regroup brown */
	}
}
/* ---------------------------------------------------------------------------
   WooCommerce notices — outside .woocommerce-notices-wrapper too.

   The brand styling above is scoped to .woocommerce-notices-wrapper, but that
   wrapper only exists on some templates. Checkout and the my-account register
   form both render notices through woocommerce_output_all_notices() outside it,
   so they fell through to stock WooCommerce: an orange slab with a bullet list
   and a tick/cross pseudo-element. That is the box a customer was shown when
   registration failed.

   Selectors are prefixed with body so they beat WooCommerce's own stylesheet
   whichever order the two end up enqueued in. Appearance is deliberately
   identical to the wrapper rules — this is coverage, not a redesign.
   --------------------------------------------------------------------------- */
body .woocommerce-error,
body .woocommerce-message,
body .woocommerce-info {
	margin: 20px 0;
	padding: 18px 22px;
	list-style: none;
	background: #F8F5F0;
	color: #1c1c1c;
	border: 0;
	border-left: 4px solid #AA8765;
	border-radius: 4px;
	box-shadow: 0 1px 0 rgba(17, 17, 17, 0.06),
	            0 8px 24px rgba(17, 17, 17, 0.06);
	font-family: 'MatterRegular', sans-serif !important;
	font-size: 15px;
	line-height: 1.55;
	font-weight: 400;
	outline: 0;
}

body .woocommerce-error {
	border-left-color: #b8412a;
}

/* WooCommerce sets these as <ul>, so each notice arrives as a list item with a
   marker and an inherited indent. */
body .woocommerce-error li,
body .woocommerce-message li,
body .woocommerce-info li {
	list-style: none;
	margin: 0;
	padding: 0;
}

body .woocommerce-error li + li,
body .woocommerce-message li + li,
body .woocommerce-info li + li {
	margin-top: 8px;
}

/* Stock WooCommerce injects a tick/cross glyph and reserves 3.5em of padding
   for it. Both go. */
body .woocommerce-error::before,
body .woocommerce-message::before,
body .woocommerce-info::before {
	content: none;
	display: none;
}

/* The register form's notice sits directly above the form, where the default
   20px top margin reads as detached from it. */
body .woocommerce-form-register .woocommerce-error,
body .woocommerce-form-login .woocommerce-error {
	margin-top: 0;
}

/* ---------------------------------------------------------------------------
   Checkout — shipping method list.

   The order table gave the "SHIPMENT" label column 302px and left the methods
   175px, right-aligned, so each option wrapped mid-phrase ("Standard: $6.00"
   rendering two lines tall) and the radio ended up adrift from its text. Worse
   on a phone, where the same 175px carries "Express: $50.00" one word per line.

   Left-aligns the options and makes each one a flex row so the control and its
   label stay together, then stacks label above options on narrow screens where
   a two-column split cannot pay for itself.
   --------------------------------------------------------------------------- */
.woocommerce-checkout .woocommerce-shipping-totals td,
.woocommerce-checkout ul#shipping_method,
.woocommerce-checkout ul#shipping_method li {
	text-align: left;
}

.woocommerce-checkout ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-checkout ul#shipping_method li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 8px;
	padding: 0;
}

.woocommerce-checkout ul#shipping_method li:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout ul#shipping_method li input[type="radio"] {
	flex: 0 0 auto;
	margin: 0;
	position: static;
}

.woocommerce-checkout ul#shipping_method li label {
	display: inline;
	margin: 0;
	line-height: 1.4;
}

/* The label column was claiming well over half the table. Let it size to its
   own text so the options get the room they actually need. */
.woocommerce-checkout .woocommerce-shipping-totals th {
	width: 1%;
	white-space: nowrap;
	vertical-align: top;
	padding-right: 16px;
}

@media (max-width: 782px) {
	.woocommerce-checkout .woocommerce-shipping-totals th,
	.woocommerce-checkout .woocommerce-shipping-totals td {
		display: block;
		width: auto;
		white-space: normal;
		text-align: left;
		padding-right: 0;
	}

	.woocommerce-checkout .woocommerce-shipping-totals th {
		padding-bottom: 6px;
		border-bottom: 0;
	}
}

/* Terms notice above Place Order — replaces the required checkbox. Quiet by
   design: it is disclosure, not a call to action. */
.woocommerce-checkout .regroup-terms-notice {
	margin: 0 0 14px;
	font-family: 'MatterRegular', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: #7a7977;
}

.woocommerce-checkout .regroup-terms-notice a {
	color: #1c1c1c;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------------------------------------------------------------------------
   Mobile account + checkout — measured fixes, 31 July 2026.

   Numbers below were taken from the live site at 606px: header 139px, first
   field at 369px (48% of screen one), 12 of 20 checkout fields at 14px, radios
   18px, payment 3.3 screens down.
   --------------------------------------------------------------------------- */

/* 1. iOS Safari zooms the page whenever a focused field is under 16px and does
      not reliably zoom back out — which is what makes the sticky header appear
      to cut across content. Sized up only on small screens; desktop keeps 14px. */
@media (max-width: 782px) {
	body.woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
	body.woocommerce-checkout select,
	body.woocommerce-checkout textarea,
	body.woocommerce-account input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
	body.woocommerce-account select,
	body.woocommerce-account textarea {
		font-size: 16px;
	}

	/* 2. The breadcrumb is 43px of a 139px header and repeats the page title
	      directly beneath it. Dropped on small screens for these two flows. */
	body.woocommerce-checkout .breadcrumbs,
	body.woocommerce-account .breadcrumbs {
		display: none;
	}

	/* 3. 128px of Elementor container padding sat between the header and the
	      first field, putting the form on screen two. */
	body.woocommerce-checkout .elementor-container,
	body.woocommerce-account .elementor-container {
		padding-top: 28px;
	}
}

/* 4. Shipping and payment were 18px targets deciding delivery and money. Apple
      asks for 44px, WCAG 2.2 sets 24px as the floor. The whole row is now the
      target, not the dot. Every width — a larger hit area costs desktop nothing. */
.woocommerce-checkout ul#shipping_method li {
	min-height: 44px;
}

.woocommerce-checkout ul#shipping_method li label {
	flex: 1;
	padding: 11px 0;
	cursor: pointer;
}

.woocommerce-checkout .wc_payment_methods > li {
	min-height: 44px;
}

.woocommerce-checkout .wc_payment_methods > li > label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 0;
	cursor: pointer;
}

/* 5. Order notes, relocated below payment (see inc/checkout-order-notes.php).
      Collapsed by default: an optional aside that previously sat between the
      address and the payment fields, so everyone scrolled through it. */
.woocommerce-checkout .regroup-order-notes {
	margin: 0 0 16px;
	border-top: 1px solid #DDD6CB;
	padding-top: 14px;
}

.woocommerce-checkout .regroup-order-notes > summary {
	cursor: pointer;
	list-style: none;
	font-family: 'MatterRegular', sans-serif;
	font-size: 13px;
	color: #7a7977;
	padding: 6px 0;
	min-height: 32px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.woocommerce-checkout .regroup-order-notes > summary::-webkit-details-marker {
	display: none;
}

.woocommerce-checkout .regroup-order-notes > summary::before {
	content: "+";
	font-size: 15px;
	line-height: 1;
	color: #1c1c1c;
}

.woocommerce-checkout .regroup-order-notes[open] > summary::before {
	content: "\2013";
}

.woocommerce-checkout .regroup-order-notes p {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------------
   Sticky header vs focused fields.

   The header is position:sticky at 96px, so content scrolls underneath it by
   design. Nothing told the browser about it: scroll-padding-top was auto and
   scroll-margin-top was 0, so when a field is focused — or the browser scrolls
   one into view after a validation error — it lands behind the header. Seen on
   an iPhone with the STATE label sitting under the nav.

   Both properties are set: scroll-padding on the scroller for anchor and
   sequential focus movement, scroll-margin on the targets themselves because
   iOS Safari honours that more reliably when a field receives focus.
   --------------------------------------------------------------------------- */
html:has(body.woocommerce-checkout),
html:has(body.woocommerce-account) {
	scroll-padding-top: 112px;
}

body.woocommerce-checkout .form-row,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-account .form-row,
body.woocommerce-account input,
body.woocommerce-account select,
body.woocommerce-account textarea {
	scroll-margin-top: 112px;
}

/* Section headings get the same treatment — a validation error scrolling to
   "Billing details" should not hide the heading it is pointing at. */
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-error {
	scroll-margin-top: 112px;
}

/* 162px of empty column between the address fields and Your Order once the
   two-column layout stacks. Half a phone screen of nothing at the point
   someone is looking for the total. */
@media (max-width: 782px) {
	body.woocommerce-checkout #customer_details {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	body.woocommerce-checkout #order_review_heading {
		margin-top: 24px;
	}

	body.woocommerce-checkout .col2-set .col-1,
	body.woocommerce-checkout .col2-set .col-2 {
		margin-bottom: 0;
	}

	/* form.checkout is a flex column with a 24px gap, and .col-2 carries a 48px
	   top margin that separated two columns side by side. Stacked, they compound
	   into ~162px of empty screen between the address fields and Your Order. */
	body.woocommerce-checkout form.checkout {
		gap: 16px;
	}

	/* Specificity matches the existing desktop rule
	   (body.woocommerce-checkout form.woocommerce-checkout #customer_details
	   div.col-2), which otherwise wins and keeps the 48px. */
	body.woocommerce-checkout form.woocommerce-checkout #customer_details div.col-2 {
		margin-top: 20px;
	}
}

/* ---------------------------------------------------------------------------
   Checkout is a focused flow — nothing should float over it.

   The earlier scroll-margin fix only governs where the browser lands when it
   scrolls TO a field. It does nothing during ordinary scrolling, where a
   sticky header covers whatever passes beneath it — which is what kept putting
   the TOWN and STATE fields behind the nav on an iPhone.

   The header is 96px and z-index 100. On a checkout it earns none of that: the
   customer is completing one task and does not need navigation to follow them
   down the page. It scrolls away here, and only here — every other page keeps
   the sticky behaviour.
   --------------------------------------------------------------------------- */
@media (max-width: 782px) {
	/* The sticky comes from header#masthead — an ID selector, so a class-based
	   override silently loses. Matched here rather than reached for !important. */
	body.woocommerce-checkout header#masthead {
		position: static;
	}

	/* The chat launcher sits at z-index 2147483000 over the order summary —
	   it was covering SUBTOTAL. Hidden on checkout: someone entering card
	   details is not looking for live chat, and help is a tap away everywhere
	   else on the site. */
	body.woocommerce-checkout #regroup-chat-root {
		display: none;
	}
}

/*
 * CONTAINMENT, NOT A FIX (2026-08-18). Firefox — and only Firefox — shows a
 * horizontal scrollbar on the homepage. Ruled out so far: the header row
 * (identical on every page), the closing section (the scrollbar survived a
 * full revert of it), WP Smush's dropped lazy-load width declaration and the
 * icon font blocked by Enhanced Tracking Protection (both appear on every
 * page, and only the homepage is affected). Chrome measures 0 overflow at
 * 390, 768, 1000, 1280, 1440 and 1512.
 *
 * `clip` rather than `hidden` on purpose: it doesn't create a scroll
 * container, so position: sticky and scroll anchoring keep working. And on
 * the #page wrapper rather than on body: a body-level overflow propagates to
 * the viewport instead of clipping, so it does nothing — measured.
 *
 * Remove this the moment the cause is found — see docs/handovers/
 * 2026-08-18-mosaic-launch-fit-line-homepage.md.
 */
body.home #page {
	overflow-x: clip;
}