/** Shopify CDN: Minification failed

Line 1548:19 Expected ":"

**/
/**************************************************
		Content
 **************************************************

	00. Externals
	01. Browser Reset
	02. Basic Styles
	03. Basic wireframe
	04. Header
	05. Footer
	06. Home / Products archive
	07. Single product
	08. Cart
	09. Forms
	10. Checkout





/**************************************************
	00. Externals
 **************************************************/

@font-face {
	font-family: 'ABC Diatype';
	src: url("//copyshop.cc/cdn/shop/files/ABCDiatype-Bold.woff2?v=990") format('woff2'),
		url("//copyshop.cc/cdn/shop/files/ABCDiatype-Bold.woff?v=990") format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'ABC Diatype';
	src: url("//copyshop.cc/cdn/shop/files/ABCDiatype-BoldItalic.woff2?v=990") format('woff2'),
		url("//copyshop.cc/cdn/shop/files/ABCDiatype-BoldItalic.woff?v=990") format('woff');
	font-weight: bold;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'ABC Diatype';
	src: url("//copyshop.cc/cdn/shop/files/ABCDiatype-Light.woff2?v=990") format('woff2'),
		url("//copyshop.cc/cdn/shop/files/ABCDiatype-Light.woff?v=990") format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'ABC Diatype';
	src: url("//copyshop.cc/cdn/shop/files/ABCDiatype-LightItalic.woff2?v=990") format('woff2'),
		url("//copyshop.cc/cdn/shop/files/ABCDiatype-LightItalic.woff?v=990") format('woff');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}




/**************************************************
	01. Browser Reset
 **************************************************/

/**************************************************
	01. Browser Reset
 **************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, ol, ul, li, fieldset, form, label, caption, tr, th, td, canvas, embed, 
figure, figcaption, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

figcaption, figure {
	display: block;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}



/**************************************************
	02. Basic Styles
 **************************************************/

* {
	box-sizing: border-box;
}

html {
	--vw:					1vw;
	--vh:					1vh;
	--wrapperPad: 			1.5rem;
	--headerHeight:			12.6rem;

	--alto:					#D9D9D9;
	--black:				#000000;
	--blue:					#2E7CF6;
	--concrete:				#F3F3F3;
	--gallery:				#EDEDED;
	--gray:					#7E7E7E;
	--red:					#FF0000;
	--screaminggreen:		#94FF5A;
	--silver:				#BABABA;
	--silverchalice:		#A8A8A8;
	--white:				#FFFFFF;

	--bgColor: 				var(--white);
	--fgcolor: 				var(--black);
	--font:					"ABC Diatype", sans-serif;
}


html, body {
	margin: 0;
	padding: 0;
	min-width: 100%;
	min-height: 100%;
	font-size: 10px;
	font-weight: 300;
	
	scroll-behavior: smooth;
	overscroll-behavior: none;
	-webkit-overflow-scrolling: auto;
	-webkit-tap-highlight-color: transparent;
}

body {
	position: relative;

	color: var(--fgColor);
	background: var(--bgColor);
	font-family: var(--font);
	
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	hanging-punctuation: force-end;

	transition: color 1s ease, background-color 1s ease;
}

h1, h2, h3, h4, h5, h6 {
	-webkit-column-break-after: avoid;
	-moz-column-break-after: avoid;
	break-after: avoid;
	font-weight: 300;
}

p {
	margin-bottom: 1.1em;
	hanging-punctuation: force-end;
}

p:last-child, p:empty {
	margin-bottom: 0;
}

ul, ol {
	list-style-type: none;
	list-style-position: outside;
}

img, iframe {
	outline: 0;
	display: block;
	user-select: none;
}

em, i {
	font-style: oblique;
}

a {
	text-decoration: none;
}

a, a:link, a:active, a:visited, a:focus {
	color: currentColor;
}

a:hover {
	outline: none;
}


img.lazy {
	position: static;
	opacity: 0;

	transition: opacity 0.75s ease;
}

img.lazy.loaded,
.no-js noscript img.lazy {
	opacity: 1;
}

.no-js img.lazy[data-src] {
	display: none;
}

.uc {
	text-transform: uppercase;
	letter-spacing: 0.01em;
	word-spacing: 0.01em;
}

.is-200, .is-thin  { font-weight: 300; }
.is-300, .is-light { font-weight: 300; }
.is-300, .is-light { font-weight: 700; }

.alpha              { font-size: 1.0rem; line-height: 1.1; }
.beta               { font-size: 1.2rem; line-height: 1.1; }
.gamma              { font-size: 1.8rem; line-height: 1.1; }
.gammaM             { font-size: 1.6rem; line-height: 1.1; }
.delta              { font-size: 2.0rem; line-height: 1.1; }
.epsilon, .epsilonM { font-size: 2.5rem; line-height: 1.2; }
.zeta               { font-size: 3.5rem; line-height: 1.2; }
.eta                { font-size: 5.0rem; line-height: 1.2; }



@media (min-width: 800px) {
	html {
		--wrapperPad: 			3rem;
		--headerHeight:			12.6rem;
	}

	.alpha, .alphaT     { font-size: 1.0rem; line-height: 1.1; }
	.beta, .betaT       { font-size: 1.2rem; line-height: 1.1; }
	.gamma, .gammaT     { font-size: 1.8rem; line-height: 1.1; }
	.delta, .deltaT     { font-size: 2.0rem; line-height: 1.1; }
	.epsilon, .epsilonT { font-size: 2.5rem; line-height: 1.2; }
	.zeta, .zetaT       { font-size: 3.5rem; line-height: 1.2; }
	.eta, .etaT         { font-size: 5.0rem; line-height: 1.2; }
}



/**************************************************
	03. Basic wireframe
 **************************************************/

.wrapper {
	--grid-row-gap: 2rem;
	--grid-col-gap: 1rem;
	--grid-padding: var(--wrapperPad);
	--grid-col-count: 8;

	--grid-col:   calc(1 / var(--grid-col-count) * (100 * var(--vw) - 2 * var(--grid-padding) - (var(--grid-col-count) - 1) * var(--grid-col-gap)));
	--grid-col2:  calc(2  * var(--grid-col) + var(--grid-col-gap));
	--grid-col3:  calc(3  * var(--grid-col) +  2 * var(--grid-col-gap));
	--grid-col4:  calc(4  * var(--grid-col) +  3 * var(--grid-col-gap));
	--grid-col5:  calc(5  * var(--grid-col) +  4 * var(--grid-col-gap));
	--grid-col6:  calc(6  * var(--grid-col) +  5 * var(--grid-col-gap));
	--grid-col7:  calc(7  * var(--grid-col) +  6 * var(--grid-col-gap));
	--grid-col8:  calc(8  * var(--grid-col) +  7 * var(--grid-col-gap));

	display: flex;
	flex-direction: column;
	min-height: calc(100 * var(--vh));
	padding: var(--wrapperPad);
}

.wrapper.grid-debug:before {
	--wrapperDebugColor: rgba(255, 0, 0, 0.03);
	content: '';
	position: fixed;
	top: 0;
	left: var(--grid-padding);
	width: calc(100 * var(--vw) - 2 * var(--grid-padding));
	height: calc(100 * var(--vh));

	display: block;
	background: repeating-linear-gradient(90deg,
		var(--wrapperDebugColor),
		var(--wrapperDebugColor) var(--grid-col),
		transparent var(--grid-col),
		transparent calc(var(--grid-col) + var(--grid-col-gap))
	);

	pointer-events: none;
}

.main {
	min-height: calc(100 * var(--vh) - var(--headerHeight) - var(--footerHeight) - 12rem);
	margin-top: calc(var(--headerHeight) + 1rem);
}

.grid {
	display: grid;
	width: 100%;
	padding: 0 var(--wrapperPad);
	grid-template-columns: repeat(var(--grid-col-count), 1fr);
	grid-gap: var(--grid-row-gap) var(--grid-col-gap);
}

.module {
	scroll-margin-top: var(--headerHeight);
}


@media (min-width: 800px) {
	.wrapper {
		--grid-col-gap: 2rem;
	}

	.main {
		margin-top: calc(var(--headerHeight) + 2.2rem);
	}
}

@media (min-width: 1440px) {
	.wrapper {
		padding: var(--wrapperPad) calc(50 * var(--vw) - 72rem + var(--wrapperPad));
	}
}





/**************************************************
	04. Header
 **************************************************/

.header {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.header-inner {
	position: fixed;
	top: 2.5rem;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
	padding: 0.8rem;

	border-radius: 0.5rem;
	background: var(--blue);
	color: var(--white);
}

.header-logo {
	position: relative;
	width: 22rem;
	height: 6rem;
	margin-bottom: 0.8rem;
}

.header-logo img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
}

.header-logo img.active {
	opacity: 1;
	pointer-events: all;
}

.header-menu-toggle {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 2.5rem;
	height: 0.8rem;
	cursor: pointer;
}

.header-menu-toggle .header-menu-toggle-open {
	position: absolute;
	top: 0;
	left: 50%;
	width: 2.5rem;
	height: 0.8rem;
	transform: translateX(-50%);
	transition: opacity 0.25s ease;
}

.header-menu-toggle .header-menu-toggle-open span {
	position: absolute;
	display: block;
	width: 100%;
	height: 0.1rem;
	background-color: var(--white);
}

.header-menu-toggle .header-menu-toggle-open span:nth-child(1) { top: 0; }
.header-menu-toggle .header-menu-toggle-open span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.header-menu-toggle .header-menu-toggle-open span:nth-child(3) { bottom: 0; }

.header-menu.show-menu .header-menu-toggle-open {
	opacity: 0;
	pointer-events: none;
}

.header-menu-toggle .header-menu-toggle-close {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.header-menu.show-menu .header-menu-toggle-close {
	opacity: 1;
	pointer-events: all;
}

.header-menu-inner {
	box-sizing: content-box;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease, padding 0.25s ease;
}

.header-menu.show-menu .header-menu-inner {
	max-height: initial;
	padding: 3rem 0.8rem 3.3rem;
}

.header-menu-inner ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3.0rem;
}

.header-menu a {
	color: currentColor;
}

.header-cart {
	display: none;
}



@media (min-width: 450px) {
	.menu-item-cart {
		display: none;
	}

	.header-cart {
		position: fixed;
		top: 2.5rem;
		right: var(--wrapperPad);
		display: block;
	}

	.header-cart a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3.2rem;
		height: 3.2rem;
		border-radius: 0.3rem;
		background-color: var(--blue);
	}

}

@media (min-width: 800px) {
	.header-logo {
		width: 32.5rem;
		height: 9rem;
	}

	.header-menu.show-menu .header-menu-inner {
		padding: 3rem 0.8rem 3.5rem;
	}

	.header-menu-inner ul {
		gap: 3.2rem;
	}
}

@media (min-width: 1440px) {
	.header-cart {
		right: calc(50 * var(--vw) - 72rem + var(--wrapperPad));
	}
}












/**************************************************
	05. Footer
 **************************************************/

.footer-inner {
	width: calc(100 * var(--vw));
	margin-left: calc(-1 * var(--wrapperPad));
	padding: 1.5rem var(--wrapperPad) 2.3rem;
	border-top: 0.1rem solid var(--black);
}

.footer-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: column;
	gap: 16.6rem 0;
}

.footer-top:has(.footer-logo:first-child) {
	justify-content: flex-start;
}


.footer-newsletter {
	width: 100%;
	max-width: 70rem;
}

.footer-newsletter-inner {
	margin-top: -0.8rem;
}

.newsletter-form-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 1rem 1rem;
	width: 100%;
}

.footer-newsletter .newsletter-form-email {
	width: calc(100% - 12.4rem);
}

.footer-newsletter input[type="email"] {
	appearance: none;
	width: 100%;

	padding: 0.1rem 0.5rem 0.1rem 0;
	border: 0;
	border-radius: 0;
	border-bottom: 0.1rem solid var(--black);

	background: transparent;
	font-family: var(--font);
	font-weight: 300;
	transition: border-color 0.25s ease;
}

.footer-newsletter input[type="email"]:focus {
	outline: none;
	border-color: var(--blue);
}

.footer-newsletter input[type="email"]::placeholder {
	color: var(--silver);
}

.footer-newsletter button[type="submit"] {
	appearance: none;
	padding: 1rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: var(--font);
	font-weight: 300;
	text-transform: none;
	color: var(--black);
}

.footer-newsletter input[type="submit"]:focus {
	outline-color: var(--blue);
}


.newsletter-form-privacy {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	width: 36.5rem;
	height: 5.5rem;
	padding: 1.2rem 1.5rem 1.2rem 2.4rem;
	border: 0.1rem solid var(--silverchalice);
	border-radius: 0.3rem;
	background: color-mix(in srgb, var(--gallery), transparent 75%);
}

.newsletter-form-privacy input[type="checkbox"] {
	top: 0;
	width: 1.8rem;
	height: 1.8rem;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	border: 0.1rem solid var(--silverchalice);
	border-radius: 0.3rem;
	background: var(--white);
	outline-offset: 0.1rem;
	cursor: pointer;
	transition: border-color 0.25s ease;
}

.newsletter-form-privacy input[type="checkbox"]:focus {
	border-color: var(--blue);
}

.newsletter-form-privacy label {
	display: block;
	width: 100%;
	padding-right: 0.4rem;
	line-height: 1;
	user-select: none;
}

.newsletter-form-privacy label a {
	text-decoration: underline;
}

.newsletter-form-privacy .privacy-icon {
	width: 3.3rem;
	height: 3.1rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 31'%3E%3Cpath d='M15.3 0c8.5 0 15.3 6.9 15.3 15.4s-6.9 15.4-15.3 15.4S0 23.9 0 15.4 6.9 0 15.3 0m0 7.7c-4.2 0-7.7 3.4-7.7 7.7 0 4.2 3.4 7.7 7.7 7.7 4.2 0 7.7-3.4 7.7-7.7s-3.4-7.7-7.7-7.7' fill='%232978e6'/%3E%3Cpath d='M32.6 7.1c0 .5-.3 1-.8 1.4-.7.6-1.2 1-1.3 1.3l-7.9 12.5c-.6 1-1.2 2.1-1.7 3.2-.9 1.4-1.9 2-2.8 2-.4 0-.9-.1-1.3-.4-.4-.2-.7-.7-.8-1.4-.1-1-.3-1.6-.4-1.8l-2.5-5c-.1-.2-.5-.8-1.3-1.7-.5-.6-.6-1.2-.5-1.9.1-.8.5-1.5 1.1-2.2q1.05-.9 2.1-.9c.3 0 .7.1 1 .2.2.1.4.5.7 1.3.4 1.1.7 1.9.9 2.2l1.8 3.3 7.2-11.6c.2-.6.5-1.4.9-2.1.5-.7 1.2-1.1 1.9-1.1.8 0 1.6.3 2.5.9q1.2.9 1.2 1.8' fill='%23b6b6b6'/%3E%3C/svg%3E");
}

.footer .footer-logo {
	width: 16.4rem;
	height: auto;
}

.footer .footer-logo img {
	width: 100%;
	height: auto;
}



.footer-bottom {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-direction: column;
	gap: 0 4rem;
	margin-top: 2rem;
}

.footer-bottom .footer-menu ul {
	display: flex;
	flex-direction: column;
	gap: 0 2rem;
}


@media (min-width: 800px) {
	.footer-inner {
		padding: 3rem var(--wrapperPad) 2.3rem;
	}

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

	.footer-newsletter-inner {
		margin-top: 2.3rem;
	}

	.newsletter-form-inner {
		gap: 2rem 1rem;
	}

	.footer-newsletter .newsletter-form-email {
		width: calc(100% - 27.7rem);
	}

	.footer-newsletter button[type="submit"] {
		padding: 1rem 2rem;
	}

	.footer-bottom {
		margin-top: 10rem;
		flex-direction: row;
	}

	.footer-bottom .footer-menu ul {
		flex-direction: row;
	}
}


@media (min-width: 1440px) {
	.footer-inner {
		width: 144rem;
	}
}



 /**************************************************
	06. Home / Products archive
 **************************************************/

.products-list + .products-list {
	margin-top: 13.5rem;
}

.products-list.similar-products .products-list-header {
	position: relative;
	padding-top: 1.7rem;
	margin: 5.8rem 0 2.0rem;
}

.products-list.similar-products .products-list-header:before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(-1 * var(--wrapperPad));
	display: block;
	width: calc(100 * var(--vw));
	border-top: 0.1rem solid var(--black);
}

.products-list .collection-link {
	display: block;
	margin: 0.5rem 0 2rem;
}

.products-list-inner {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: 0.5rem;
	width: calc(100 * var(--vw));
	margin-left: calc(-1 * var(--wrapperPad));
}

.products-list .product-card {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 1rem;
	background: var(--concrete);
}

.products-list .product-card-thumb a {
	display: block;
	width: 100%;
	aspect-ratio: 477 / 467;
	padding: 3rem 3rem 0;
}

.products-list .product-card-thumb img,
.products-list .product-card-thumb video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.products-list .product-card-info a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.products-list .product-price {
	display: flex;
	flex-direction: column;
}

.product-list-pagination {
	display: flex;
	justify-content: center;
	gap: 2rem;
	margin: 4rem 0;
	grid-column: 1 / -1;
	text-align: center;
}

.product-list-pagination .page.current {
	font-style: oblique;
}



@media (min-width: 600px) {
	.products-list + .products-list {
		margin-top: 12rem;
	}

	.products-list-title {
		display: block;
	}

	.products-list-inner {
		grid-template-columns: 1fr 1fr;
		margin-top: 0.8rem;
	}
}


@media (min-width: 1024px) {
	.products-list-inner {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media (min-width: 1440px) {
	.products-list-inner {
		width: 144rem;
	}

	.products-list.similar-products .products-list-header:before {
		width: 144rem;
	}
}






/**************************************************
	07. Single product
 **************************************************/

.product-header {
	--width: calc(100 * var(--vw));
	display: flex;
	flex-direction: column-reverse;
	gap: 2rem;
	width: calc(100 * var(--vw));
	margin-left: calc(-1 * var(--wrapperPad));
	padding-right: var(--wrapperPad);
}

.single-product-images {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.2rem 0.4rem;
	width: var(--width);
}

.single-product-images .product-image {
	width: 5rem;
	aspect-ratio: 1 / 1;
	padding: 0.5rem;
	background: var(--concrete);
	cursor: pointer;
}

.single-product-images .product-image.active {
	width: var(--width);
	flex-shrink: 0;
	padding: 2rem;
	aspect-ratio: 720 / 580;
	cursor: default;
	order: -1;
}

.single-product-images .product-image img,
.single-product-images .product-image video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}



.single-product-info {
	width: var(--width);
	padding: 0 var(--wrapperPad);
}

.single-product-info .product-info-section {
	padding: 1.6rem 0;
}

.single-product-info .product-info-section:first-child {
	padding-top: 0;
}

.single-product-info .product-info-section:last-child {
	padding-bottom: 0;
}

.single-product-info .product-info-section + .product-info-section {
	border-top: 0.1rem solid var(--black);
}

.single-product-info .product-info-title {
	color: var(--silverchalice);
}

.single-product-info .product-info-section.product-action {
	display: flex;
	justify-content: space-between;
	gap: 3rem;
	flex-wrap: wrap;
	width: 100%;
}

.single-product-info .product-action-cta {
	margin-top: 1.5rem;
}

.single-product-info .product-action-badge {
	width: 4rem;
	height: 3.5rem;
}

.single-product-info .product-action-badge img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


.single-product-description {
	margin: 7.2rem 0 5.9rem;
}




@media (min-width: 950px) {
	.product-header {
		--width: calc(50 * var(--vw) - 1rem);
		flex-direction: row;
	}

	.single-product-info {
		padding: 0;
	}

	.single-product-info .product-action-badge {
		width: 8.7rem;
		height: 7.8rem;
	}
}

@media (min-width: 1440px) {
	.product-header {
		--width: 71rem;
		width: 144rem;
	}
}





/**************************************************
	08. Cart
 **************************************************/

.page-cart {
	margin: 0 auto 5rem;
}

.page-cart .cart-title {
	margin-bottom: 2rem;
}

.page-cart.cart-is-empty form {
	display: none;
}

.page-cart .cart-header {
	display: none;
}

.page-cart .cart-items {
	display: flex;
	flex-direction: column;
	gap: 6rem 2rem;
}

.cart-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
}

.cart-item-thumb {
	width: 100%;
	height: min-content;
	aspect-ratio: 167 / 134;
	padding: 1rem;
	background: var(--concrete);
}

.cart-item-thumb img,
.cart-item-thumb video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.cart-item-info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	width: calc(100% - 10rem);
	gap: 1.5rem;
}

.cart-item-info .cart-item-name {
	margin-bottom: 1.5rem;
}

.cart-item-quantity label {
	display: block;
	margin-bottom: 0.5rem;
}

.cart-item-price {
	text-align: right;
}

.page-cart .cart-summary {
	display: flex;
	flex-direction: column;
	gap: 0.5rem 2rem;
	margin-top: 4.8rem;
}

.page-cart .cart-summary-row {
	display: flex;
	justify-content: space-between;
}

.page-cart .cart-summary-row:last-child {
	margin-top: 2.8rem;
}

.page-cart .cart-error-message {
	width: calc(100% - 10rem);
	color: var(--red);
}

.page-cart .cart-error-message.hide {
	opacity: 0;
	pointer-events: none;
}

.page-cart .cart-summary-row span:last-child {
	grid-column: 3;
	text-align: right;
}



@media (min-width: 500px) {
	.page-cart {
		display: grid;
		grid-template-columns: 10rem 1fr auto;
		gap: 2rem 2rem;
		width: 100%;
		max-width: 70rem;
		margin: 0 auto 10rem;
	}

	.page-cart .cart-title {
		grid-column: 1 / -1;
		margin-bottom: 0;
	}

	.page-cart form {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;;
	}

	.page-cart .cart-header {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;
		margin: 1.6rem 0 1.4rem;
	}

	.page-cart .cart-header span:last-child {
		grid-column: -1;
		text-align: right;
	}

	.page-cart .cart-items {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;
		gap: 2rem 2rem;
	}

	.cart-item {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;
		align-items: stretch;
	}

	.cart-item-info {
		width: 100%;
	}

	.page-cart .cart-summary {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;
		gap: 0.5rem 8.9rem;
	}

	.page-cart .cart-summary-row {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / -1;
	}

	.page-cart .cart-error-message {
		grid-column: 1 / span 2;
		width: auto;
	}
}

@media (min-width: 600px) {
	.page-cart {
		grid-template-columns: 16.6rem 1fr auto;
	}
}

@media (min-width: 730px) {
	.page-cart,
	.page-cart .cart-header,
	.page-cart .cart-items,
	.cart-item {
		gap: 2rem 8.9rem;
	}
}






/**************************************************
	09. Forms
 **************************************************/

.button,
button,
input[type="button"] {
	appearance: none;

	padding: 0.6rem 1rem;
	border: 0;
	background: var(--concrete);
	color: var(--black);
	text-transform: uppercase;
	font-family: var(--font);
	user-select: none;
	cursor: pointer;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.button:hover,
button:hover,
input[type="button"]:hover {
	font-style: normal;
	background-color: var(--black);
	color: var(--white);
}


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="checkbox"],
select,
textarea {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	padding: 1.0rem 1.5rem;
	border: 0;

	color: var(--black);
	background-color: var(--concrete);
	font-family: var(--font);
	line-height: 1;
	cursor: pointer;
}

.select-container {
	position: relative;
	width: fit-content;
}

select {
	padding-right: 3rem;
}

.select-container:after {
	content: '';

	position: absolute;
	top: 50%;
	right: 1.5rem;

	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 0.1rem solid var(--black);
	border-bottom: 0.1rem solid var(--black);
	transform: translateY(-50%) rotate(45deg);
	pointer-events: none;
}

textarea {
	line-height: 1.1;
}

input[type="checkbox"] {
	position: relative;
	top: 0.1em;
	width: 1em;
	height: 1em;
}

input[type="checkbox"]:checked:before {
	content: '\00D7';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}



/**************************************************
	10. Checkout
 **************************************************/

#contact .header {
	display: none;
}

body:not(.joachimbosse) #wrapper {

}

body:not(.joachimbosse) .header_image {
	position: fixed;
	top: var(--wrapperPad);
	left: var(--wrapperPad);
	width: calc(100 * var(--vw) - 2 * var(--wrapperPad));
}

body:not(.joachimbosse) #outdated_browser {
	display: none;
}

body:not(.joachimbosse) .content {
	width: calc(75 * var(--vw) - 2.75 * var(--wrapperPad));
	margin-top: calc(8.59794 * var(--vw) - var(--wrapperPad));
	font-size: 27px;
	line-height: 31px;
	counter-reset: section;
}

body:not(.joachimbosse) .content header {
	position: fixed;
	top: calc(8.59794 * var(--vw) + var(--wrapperPad) - 2px);
	right: var(--wrapperPad);
	width: calc(25vw - 1.25 * var(--wrapperPad));
	z-index: 2;
}

body:not(.joachimbosse) .content header h1 {
	display: none;
}

body:not(.joachimbosse) .content header .cart_edit {
	text-align: right;
}

body:not(.joachimbosse) .content .section {
	display: none;
}

body:not(.joachimbosse) .section.active {
	display: block;
}

body:not(.joachimbosse) .section.active + .section.active {
	margin-top: 40px;
}

body:not(.joachimbosse) .content .section_summary {
	display: none;
}

body:not(.joachimbosse) .content .section_header {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

body:not(.joachimbosse) .content .section_header:before {
	content: counter(section);
	counter-increment: section;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	margin-right: 0.6em;
	padding: 0.2em;
	border-radius: 50%;
	flex-shrink: 0;

	font-size: 0.6em;
	line-height: 1;
	background-color: #000;
	color: #FFF;
}

body:not(.joachimbosse) .section .input_group {
	display: flex;
	justify-content: space-between;
}

body:not(.joachimbosse) .section .input_group + .input_group,
body:not(.joachimbosse) .section .billing_checkbox {
	margin-top: var(--wrapperPad);
}

body:not(.joachimbosse) .section.payment .input_group:first-child {
	display: none;
}

body:not(.joachimbosse) .section .input_group p {
	position: relative;
	width: 100%;
	margin-bottom: 0;
}

body:not(.joachimbosse) .section .input_group p + p {
	margin-left: 8px;
}

body:not(.joachimbosse) .section .input_group p label {
	position: absolute;
	top: 0.22em;
	left: 0.2em;
}

body:not(.joachimbosse) .section .input_group p:focus-within label,
body:not(.joachimbosse) .section .input_group p.not-empty label {
	display: none;
}

body:not(.joachimbosse) .section .input_group p input,
body:not(.joachimbosse) .section .input_group p select {
	width: 100%;
}

body:not(.joachimbosse) .section .input_group p.select label,
body:not(.joachimbosse) .section .input_group p.select span.value {
	display: none;
}

body:not(.joachimbosse) #buyer_opted_in_to_marketing,
body:not(.joachimbosse) label[for="buyer_opted_in_to_marketing"] {
	display: none;
}

body:not(.joachimbosse) .section .submit {
	position: fixed;
	top: calc(8.59794 * var(--vw) + var(--wrapperPad) + 1.1em + 4px);
	right: var(--wrapperPad);
	width: calc(25vw - 1.25 * var(--wrapperPad));

	display: flex;
	justify-content: flex-end;
	z-index: 2;
	font-style: oblique;
}

body:not(.joachimbosse) .section .submit .button {
	width: auto !important;
}

body:not(.joachimbosse) .section .submit button[disabled] {
	display: none;
}

body:not(.joachimbosse) .section .submit .text,
body:not(.joachimbosse) .section .submit .icon,
body:not(.joachimbosse) .section.summary .pay .text,
body:not(.joachimbosse) .section.summary .pay .icon {
	display: none;
}

body:not(.joachimbosse) .section.summary .items {
	width: 100%;
}

body:not(.joachimbosse) .section.summary .items td {
	width: 50%;
}

body:not(.joachimbosse) .section.summary .items td + td {
	margin-left: var(--wrapperPad);
}

body:not(.joachimbosse) .section.summary .receipt {
	margin-top: 1.1em;
}

body:not(.joachimbosse) .section.summary .receipt .subtotal,
body:not(.joachimbosse) .section.summary .receipt .shipping_total,
body:not(.joachimbosse) .section.summary .receipt .tax_total,
body:not(.joachimbosse) .section.summary .receipt .total {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
}

body:not(.joachimbosse) .section.summary .discounts {
	margin-bottom: 8px;
}

body:not(.joachimbosse) .section.summary .receipt i {
	width: calc(50% - var(--wrapperPad));
	margin-left: var(--wrapperPad);
	font-style: normal;
}

body:not(.joachimbosse) .section.summary .discounts .discount_input {
	display: flex;
	justify-content: space-between;
}

body:not(.joachimbosse) .section.summary .discounts .discount_input .input.text {
	display: flex;
	justify-content: space-between;
	width: calc(100% - 3em);
}

body:not(.joachimbosse) .section.summary .discounts .discount_input .input.text input {
	width: calc(50% - var(--wrapperPad) - 1.5em);
	margin-left: var(--wrapperPad);
}

body:not(.joachimbosse) .submit_discount {
	position: relative;
	width: 2em;
}

body:not(.joachimbosse) svg.icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

body:not(.joachimbosse) svg.icon circle,
body:not(.joachimbosse) svg.icon line {
	fill: transparent;
	stroke: #000;
	stroke-width: 2;
}

body:not(.joachimbosse) .submit_discount:hover svg.icon circle {
	fill: #000;
}

body:not(.joachimbosse) .submit_discount:hover svg.icon line {
	fill: #000;
	stroke: #FFF;
}

body:not(.joachimbosse) .section.summary .discounts .fallback {
	display: none;
}

body:not(.joachimbosse) .section.summary .receipt .note .input {
	width: 100%;
}

body:not(.joachimbosse) .section.summary .receipt .note textarea {
	width: 100%;
	margin-top: 8px;
}

body:not(.joachimbosse) .section.summary .pay {
	margin-top: 30px;a
}


@media (min-width: 800px) {
	body:not(.joachimbosse) .content { font-size: 35px; line-height: 40px; }
}

@media (min-width: 2560px) {
	body:not(.joachimbosse) .content { font-size: 1.3671875vw; line-height: 1.14285714; }
}