body, html {
	color: #545454;
	background: #ffffff;
	font-size: 12px;
	font-family: sans-serif;
}
.langselect {
	background-color: var(--lang-footer-bg, #000);
	color: var(--lang-footer-text, #fff);
	padding: 10px 0;
	text-align:right;
}
.langselect a {
	color: var(--lang-footer-text, #fff);
}
.langselect a:hover {
	color: var(--lang-footer-text-hover, #bbb);
}

.header-wrapper {
	background-color: var(--headerimage-bg, #e2e2e2);
}

img {
	max-width: 100%;
	height: auto;
}

pre {
	color:#ffffff;
	background-color:#000000;
	padding:.5rem;
	margin-bottom:1rem;
}
.pageheader {
	margin-bottom:1rem;
}
.pageheader h1, .pageheader h2, 
.chapterheader h2, .chapterheader .h1, .chapterheader h3 {
	margin-top: 0;
	margin-bottom: 0;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: sans-serif;
	color: var(--header-text, #E30613);
	text-align: center !important;
}
h1, .h1 {
	font-family: sans-serif;
	font-size: 1.5rem;
	line-height: 2.2rem;
	margin-top: 2.5rem;
	margin-bottom: 1.2rem;
	font-weight: bold;
}
h2, .h2 {
	font-size: 1.2rem;
	line-height: 1.6rem;
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	font-weight: bold;
}
.whitebg {
	padding:1rem 0;
}
.whitebg .grid-container > div:first-of-type > h2:first-of-type {
	margin-top: 0;
}
.whitebg .grid-container > div > p + h2:first-of-type {
	margin-top: 2.5rem;
}
.whitebg .grid-x:first-of-type h2 {
	margin-top: 0;
}
h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-size: 1rem;
	line-height: 1.4rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-weight: bold;
}
p, ol, ul {
	line-height: 1.4rem;
}
a {
	color: #E30613;
	text-decoration: none;
}
a:focus, a:hover {
	color: #B1050F;
	text-decoration: none;
}

p.priceinfo {
	font-size: .875rem;
	margin-left: 1.2rem;
}

table.checkout input, table.checkout td {
	margin:0;
	padding:0;
}

a.button.tablelink {
	padding-top:2px;
	padding-bottom:2px;
	margin-bottom:0;
}


td, th {
	vertical-align: top;
}

ol, ul {
	margin-left: 2rem;
}

.button, .button.disabled, .button.disabled:focus, .button.disabled:hover, .button[disabled], .button[disabled]:focus, .button[disabled]:hover {
	color: var(--button-text, #fff);
	background-color: var(--button-bg, #E30613);
}
.button:hover, .button:active, .button:focus {
	color: var(--button-text, #fff);
	background-color: var(--button-bg-hover, #B1050F);
}
.button.inline-button {
	margin-right:1rem;
}

.toppaddingonly {
	padding-bottom: 0 !important;
}

[type="checkbox"], [type="file"], [type="radio"] {
	margin: .5rem 0;
}

.mtop20 {
	margin-top: 20px;
}
.mtop50 {
	margin-top: 50px;
}

.back-to-top {
	font-size: 1.2rem;
	cursor: pointer;
	position: fixed;
	bottom: 20px;
	right: 20px;
	display: none;
	padding: 1rem;
}

.align-end {
	align-items: flex-end;
}

footer {
	color: var(--lang-footer-text, #fff);
	background-color: var(--lang-footer-bg, #E30613);
}
footer a {
	color: var(--lang-footer-text, #fff);
}
footer a:hover {
	color: var(--lang-footer-text-hover, #bbb);
}

#puzzle {
	width:389px;
	height:389px;
	position:relative;
	overflow:hidden;
	margin:2rem 0;
}
.puzzletext {
	margin:2rem 0;
}
#p1, #p2, #p3, #p4, #p5, #p6, #p7, #p8, #p9 {
	position:absolute;
}
#p1 { top:0; left:0; }
#p2 { top:0; left:82px; }
#p3 { top:0; left:214px; }
#p4 { top:84px; left:0; }
#p5 { top:80px; left:82px; }
#p6 { top:125px; left:214px; }
#p7 { top:247px; left:0; }
#p8 { top:247px; left:128px; }
#p9 { top:208px; left:256px; }

/* ///////////////////////////////////COOKIEPOPUP//////////////////////////////////// */
#cookiepopup { 
	z-index: 1000;
	width: 100%; 
	position: fixed; 
	bottom: 0; 
	color: #ffffff; 
	background-color: rgba(0,0,0,.85); 
}
#cookiepopup h1, #cookiepopup .h1, #cookiepopup h2, #cookiepopup .h2, #cookiepopup h3, #cookiepopup .h3, #cookiepopup h4, #cookiepopup .h4, #cookiepopup h5, #cookiepopup .h5, #cookiepopup h6, #cookiepopup .h6 {
	color: #ffffff;
}
#cookiepopup p {
	margin: 5px 0;
}
#cookiepopup .button {
	margin-right: 10px;
	margin-top: 10px;
}
#cookiepopup label {
	color: #ffffff;
}
#cookiepopup form {
	max-width: inherit;
}
/*////////////////////////////////////////////////////////////////////////////////////*/

/* Small only */
@media screen and (max-width: 39.9375em) {
	* {
		/* auto break for long words */
		overflow-wrap: break-word;
		word-wrap: break-word;
		-ms-word-break: break-all;
		word-break: break-word;
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	#cookiepopup {
		padding-top: 1rem;
	}
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
	
}

/* Medium and up */
@media screen and (min-width: 40em) {
	html, body {
		font-size: 14px;
	}
	h1, .h1 {
		font-size: 1.5rem;
		line-height: 2.2rem;
		margin-top: 2.5rem;
		margin-bottom: 1.2rem;
	}
	h2, .h2 {
		font-size: 1.2rem;
		line-height: 1.6rem;
		margin-top: 2.5rem;
		margin-bottom: 1rem;
	}
	h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
		font-size: 1rem;
		line-height: 1.4rem;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	.pageheader {
		margin-bottom:2rem;
	}
	.whitebg {
		padding: 2rem 0;
	}
	.chapterheader {
		margin-bottom: 2rem;
	}
	#cookiepopup {
		font-size: .8rem;
	}
	footer {
		padding: 1rem 0;
	}
}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 84.9375em) {
	
}

/* Large and up */
@media screen and (min-width: 64em) {
	html, body {
		font-size: 18px;
	}
	h1, .h1 {
		font-size: 1.5rem;
		line-height: 2.2rem;
		margin-top: 2.5rem;
		margin-bottom: 1.2rem;
    }
    h2, .h2 {
		font-size: 1.2rem;
		line-height: 1.6rem;
		margin-top: 2.5rem;
		margin-bottom: 1rem;
    }
    h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
		font-size: 1rem;
		line-height: 1.4rem;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	.whitebg {
		padding: 3.5rem 0;
	}
}

/* Larger than large */
@media screen and (min-width: 85em) {
	
}