/* Top-level elements */
* {
	margin: 0;
	padding: 0;
}
html {
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body {
	font-size: 18px;
	color: #231f20;
	background: #fff;
}
body, input, textarea, select {
	font-family: Georgia, Times, "Times New Roman", serif;
}
h1, h2, h3, h4, h5 { 
	font-family: VeneerClean-Soft;
	font-weight: normal; 
	font-style: normal; 
}
a {
	text-decoration: none;
	color: inherit;
	-webkit-transition: color 150ms ease;
	-moz-transition: 	color 150ms ease;
	-o-transition: 		color 150ms ease;
	transition: 		color 150ms ease;
}
a:hover {
	text-decoration: none;
}
svg {
	fill: currentColor;
	-webkit-transition: fill 150ms ease;
	-moz-transition: 	fill 150ms ease;
	-o-transition: 		fill 150ms ease;
	transition: 		fill 150ms ease;
}
fieldset {
	border: none;
	padding: 0;
	margin: 0;
}
input[type="submit"]{
	cursor: pointer;
}
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 30px white inset;
}
button {
	cursor: pointer;
	background: none;
	border: none;
}
.disabled {
	cursor: not-allowed;
}


/* Helper objects */
.cf:before, .cf:after		{ content: ""; display: table; }
.cf:after					{ clear: both; }
.cf							{ zoom: 1; }

.media 						{ overflow: hidden; }
.media__img 				{ margin-right: 10px; float: left; }
.media__img--space 			{ margin-right: 30px; }
.media__img--rev 			{ margin-left: 10px; float: right; }
.media__body 				{ overflow: hidden; }

.flag 						{ display: table; width: 100%; }
.flag__image, 
.flag__body 				{ display: table-cell; vertical-align: middle; }
.flag--top .flag__image, 
.flag--top .flag__body		{ vertical-align: top; }
.flag--bottom .flag__image, 
.flag--bottom .flag__body	{ vertical-align: bottom; }
.flag__image 				{ padding-right: 20px; }
.flag__image > img 			{ display: block; max-width: none; }
.flag--rev .flag__image 	{ padding-right: 0; padding-left: 20px; }
.flag__body 				{ width: 100%; }

/* Helper classes */
.rel 						{ position: relative; }
.image--block, .blog img	{ display: block; width: 100%; height: auto; }
.round 						{ -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
.text-center				{ text-align: center; }
.text-right					{ text-align: right; }
.middle						{ position: relative; top: 50%; transform: translateY(-50%); }
.bg-img-cover				{ background-repeat: no-repeat; background-position: center; background-size: cover; }
.prop--square				{ padding-top: 100%; }

.icon-wrapper 				{ display: inline-block; }
.icon 						{ display: block; width: 16px; height: 16px; }
.icon--middle 				{ vertical-align: middle; float: left; }
.icon--xxxs 				{ width: 9px; height: 9px; }
.icon--xxs 					{ width: 12px; height: 12px; }
.icon--xs 					{ width: 16px; height: 16px; }
.icon--s 					{ width: 20px; height: 20px; }
.icon--m 					{ width: 24px; height: 24px; }
.icon--l 					{ width: 32px; height: 32px; }
.icon--inline 				{ float: left; margin-right: 20px; }
.icon--inline-block 		{ display: inline-block; }

.red 						{ color: #f15729; }
.grey						{ color: #74848f; }
.black 					{ color: #000; }

/* Header */
.header {
	background: #f15729;
}
.header--blue {
	background: #74848f;
}
.header--white {
	background: #fff;
}
.mark {
	float: left;
	padding: 34px 0 22px 0;
	font-size: 0;
}
.mark__pt2 {
	margin: 0 0 16px 6px;
}
.social {
	float: right;
	padding: 14px 0 12px 0;
	font-size: 0;
}
.social__icon {
	margin-left: 4px;
	border: 1px solid #231f20;
	padding: 3px;
	-webkit-transition: border-color 150ms ease;
	-moz-transition: 	border-color 150ms ease;
	-o-transition: 		border-color 150ms ease;
	transition: 		border-color 150ms ease;
}
.header--white .services__link {
	color: #231f20;
}
.header--white .social__icon {
	opacity: 0.67;
}
.header--white .social__icon:hover {
	border-color: #231f20;
	color: #231f20;
	opacity: 1;
}


/* Nav */
#menu {
	display: none;
}
.mobile-nav-btn {
	display: none;
	font-family: VeneerClean-Soft;
	color: #fff;
	font-size: 30px;
	line-height: 32px;
}
.mobile-nav-btn span {
	display: inline-block;
	position: absolute;
	right: 55px;
	top: 30px;
}
.mobile-nav-btn__icon {
	display: inline-block;
	width: 32px;
	height: 32px;
	position: absolute;
	right: 13px;
	top: 35px;
}
.nav-primary {
	font-size: 0;
	font-family: VeneerClean-Soft;
	float: right;
	clear: right;
	color: #fff;
}
.header--white .nav-primary {
	color: #231f20;
}
.nav-primary a {
	font-size: 22px;
	line-height: 36px;
	margin-left: 18px;
}
.nav-primary a:first-child {
	margin-left: 0;
}
.nav-primary a.selected,
.nav-primary a:hover {
	border-bottom: 1px solid #fff;
}
.header--white .nav-primary a.selected,
.header--white .nav-primary a:hover {
	border-color: #231f20;
}

.nav-lower {
	font-family: VeneerClean-Soft;
	font-size: 0;
}
.nav-lower a {
	font-size: 28px;
	padding: 0 12px;
}

.breadcrumb {
	margin: -20px 0 40px 0;
	font-size: 0;
}
.breadcrumb a {
	font-size: 14px;
}
.breadcrumb a[href]:after {
	content: ">";
	padding: 0 5px;
}


/* Banner */
.banner {
	height: 462px;
	text-align: center;
}
.banner--short {
	height: 310px;
}
.banner__heading {
	max-width: 810px;
	font-size: 66px;
	line-height: 66px;
	margin: 0 auto 77px auto;
	color: #fff;
}
.carousel {
	width: 100%;
	height: 462px;
	background: #f9f9f9;
}
.carousel__slide {
	width: 100%;
}

/* Misc */
.btn {
	display: inline-block;
	font-family: VeneerClean-Soft;
	font-size: 26px;
	border: 1px solid #575757;
	text-align: center;
	padding: 1px 30px 10px 30px;
}
.btn--s {
	font-size: 20px;
	padding: 1px 18px 7px 18px;
}
.btn--block {
	display: block;
	text-align: center;
	width: 100%;
	padding-right: 5px;
	padding-left: 5px;
}
.module {
	margin-bottom: 56px;
}
.heading {
	text-align: center;
	position: relative;
	margin: 30px 0 20px 0;
}
.heading-note {
	text-align: center;
	font-family: VeneerClean-Soft;
	font-size: 20px;
}
.module > .heading:first-child {
	margin-top: 56px;
}
.heading > span {
	font-size: 36px;
	line-height: 36px;
	min-width: 140px;
	padding: 0 10px;
	display: inline-block;
	background: #fff;
	position: relative;
	z-index: 2;
}
.heading--product > span {
	font-size: 30px;
	display: inline-block;
	padding-bottom: 19px;
}
.heading:before {
	content: "";
	display: block;
	height: 1px;
	background: #231f20;
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	z-index: 1;
}
.heading--s {
	margin: 20px 0 15px 0;
}
.heading--s span {
	font-size: 26px;
	line-height: 26px;
	min-width: 0;
	padding: 0 8px;
}
.heading em {
	font-style: normal;
}

.intro {
	line-height: 130%;
	max-width: 945px;
	margin: 0 auto;
}
.intro--narrow {
	max-width: 640px;
}
.intro p + p {
	margin-top: 20px;
}
.small-print {
	font-size: 12px;
	margin-top: 5px;
}

.promo-boxes {
	margin: 45px 0 0 0;
}
.promo-box {
	display: block;
	height: 162px;
	text-align: center;
}
.promo-box__heading {
	color: #fff;
	font-size: 60px;
	line-height: 60px;
	padding-bottom: 15px;
}

.teaser {
	font-size: 15px;
}
.teaser h2 {
	text-align: center;
	font-size: 28px;
	font-family: Georgia, Times, "Times New Roman", serif;
	margin: 35px 0 15px 0;
}
.teaser p {
	margin-bottom: 15px;
}

.product-links {
	font-size: 24px;
	margin: 15px 0 20px 0;
	font-family: VeneerClean-Soft;
}

.product__title {
		font-size: 30px;
		line-height: 30px;
		margin-bottom: 20px;
}
.product__description {
	margin: 0 0 20px 0;
	font-size: 14px;
	line-height: 18px;
}
.product__more,
.product__more:hover {
	display: block;
	text-transform: uppercase;
	text-decoration: underline;
	font-weight: bold;
	font-size: 11px;
}
.suitable-for,
.product__meta {
	font-size: 14px;
	line-height: 18px;
}
.product__meta dt,
.product__meta dd {
	float: left;
}
.product__meta dt {
	clear: left;
	padding-right: 5px;
}
.product__meta dd {
	font-weight: bold;
}
.product__image {
		width: 100%;
		height: auto;
}
.product__variant {
		margin-bottom: 20px;
		margin-top: -10px;
		font-size: 12px;
		font-weight: bold;
}
.buy-product--accessory {
		border-top: 1px solid #74848f;
		margin-top: 10px;
}
.hardware {
		clear: left;
		padding: 20px 0 15px 0;
		border-bottom: 1px solid #666;
		margin-bottom: 5px;
}
.hardware p {
	font-size: 14px;
}
.hardware__opt {
	opacity: 0.43;
}
.hardware__opt--on {
	opacity: 1;
}
.buy-product__price {
	font-weight: bold;
	font-size: 24px;
}
.buy-product__form {
	padding: 18px 0;
}
.buy-product__fieldset {
	border: none;
	padding: 4px 0;
}
.buy-product__select {
	width: 144px;
	float: right;
	border: 1px solid #666;
	padding: 2px 0;
	font-size: 14px;
	text-transform: uppercase;
	color: #231f20;
}
.buy-product__label {
	font-size: 14px;
	text-transform: uppercase;
}
.buy-product__btn {
	display: block;
	margin-top: 10px;
	width: 100%;
	border: 1px solid #666;
	color: #f15729;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding: 0 0 8px 0;
	background: #fff;
	text-transform: uppercase;
	font-family: VeneerClean-Soft;
}
.buy-product__btn--narrow {
	width: auto;
	padding: 1px 30px 10px 30px;
}
.buy-product__btn.thinking,
.js-checkout.thinking {
	background: #f15729 url(img/loading/white-on-orange.gif) no-repeat center;
	color: #fff;
}
.buy-product__name {
	display: none;
}

.product-description {
	font-size: 14px;
	line-height: 17px;
}
.product-description p {
	margin: 0 0 20px 0;
}
.product-description strong {
	font-weight: bold;
	text-transform: uppercase;
}

.category-modal {
	width: 800px;
}

/* Cart */
.cart {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 30px;
}
.cart a {
	color: #f15729;
	text-decoration: underline;
}
.cart td,
.cart th {
		padding: 10px 5px;
		border-bottom: 1px solid #ccc;
	}
.cart__shipping td {
	background: #f9f9f9;
}
.cart__total td {
	background: #efefef;
	border-top: 1px double #000;
	border-bottom: 1px double #000;
	font-weight: bold;
	text-transform: uppercase;
}
.cart__qty-btn svg {
	display: inline-block;
	width: 12px;
	height: 12px;
	pointer-events: none;
}
.cart__qty-btn {
	outline: none;
	color: #666;
	width: 26px;
	height: 16px;
	padding: 2px 5px;
}
.cart__qty-btn.thinking {
	background: url(img/loading/qty.gif) no-repeat center;
}
.cart__qty-btn.thinking svg {
	visibility: hidden;
}
.cart__qty-btn[disabled] {
	color: #ccc;
}
.qty-form {
	display: inline-block;
}
.cart-btn-info {
	color: #f15729;
	padding: 20px 0 0 0;
	clear: both;
}
.cart-btn-info + .cart-btn-info {
	padding-top: 0;
}
.cart__qty-btn--remove {
	color: #f15729;
}


.step--prev {
	float: left;
}
.step--next {
	float: right;
	background: #f15729;
	color: #fff;
}
.step {
	-webkit-transition: all 150ms ease;
	-moz-transition: all 150ms ease;
	-o-transition: all 150ms ease;
	transition: all 150ms ease;
}
.step--prev.disabled,
.step--next.disabled {
	opacity: 0.25;
}

.sub-heading {
	margin: 0 0 20px 0;
	font-size: 26px
}
.form-group {
	clear: both;
	padding-bottom: 5px;
}
.form-group:last-child {
	padding-bottom: 60px;
}
.form-group label {
	line-height: 45px;
}
.form-control {
	padding: 10px;
	float: right;
	width: 400px;
	font-size: 18px;
	border: 1px solid #666;
}
.form-control::-webkit-input-placeholder {
	color: #ccc;
}
.form-control::-moz-placeholder {
	color: #ccc;
}
.form-control:-ms-input-placeholder {
	color: #ccc;
}
.form-control:-moz-placeholder {
	color: #ccc;
}

.address-form .field-validation-error {
	color: #f15729;
	display: block;
	clear: left;
	padding: 0px 0 8px 155px;
	font-size: 16px;
}
.address-form .input-validation-error {
	border: 1px solid #f15729;
}

.clone-address {
	color: #f15729;
	float: right;
	font-family: Georgia, Times, "Times New Roman", serif;
	font-size: 15px;
	padding-top: 10px;
}

.error {
	font-size: 16px;
	list-style-type: none;
	color: #f15729;
	line-height: 140%;
	padding-bottom: 20px;
	font-style: italic;
}
.error a {
	text-decoration: underline;
}
.checkout-as-guest {
	display: block;
	padding-top: 30px;
	float: right;
	color: #f15729;
	display: none;
}
.forgot-password-link {
	padding-top: 20px;
	display: block;
	color: #f15729;
}
.js-checkout {
	width: 150px;
}

.services {
	float: right;
	padding: 10px 20px 0 0;
}
.services__form {
	display: inline-block;
}
.services__link {
	font-size: 14px;
	font-family: VeneerClean-Soft;
	color: #fff;
	padding: 0 3px;
}

.subscription__btn {
	font-size: 22px;
	margin-bottom: 5px;
}
.subscription__preparation img {
	display: block;
	margin: 0 auto 20px auto;
	width: 100%;
}
.subscription__group .heading {
	margin-bottom: 60px;
}
.subscription__group ~ .subscription__group {
	display: none;
}
.subscription__heading {
	margin: 0 0 20px 0;
}
.subscription__btn.selected {
	background: #f15729;
	color: #fff;
}
.subscription-details {
	display: block;
	font-size: 13px;
	color: #666;
	padding: 5px 0 0 0;
	text-transform: lowercase;
}
.subscription__label {
	display: block;
	padding: 20px 0;
}
.subscription__label--quantity {
	padding: 40px 0;
}
.subscription__summary {
	width: 20%;
	padding: 0 15px;
	float: left;
	position: relative;
}
.subscription__summary:not(:last-child):after {
	content: "+";
	position: absolute;
	right: -10px;
	top: 27%;
	font-size: 30px;
}
.subscription__summary-image {
	padding: 0 19px;
}
.subscription__summary-text {
	text-align: center;
	padding: 20px 0;
	font-family: VeneerClean-Soft;
	font-size: 22px;
}
.subscription__summary-text em {
	font-style: normal;
}
.subscription-notice {
	color: #999;
}
.subscription__preparations {
	text-align: center;
}
.subscription__preparation-container {
	width: calc(25% - 30px);
	padding: 15px;
	display: inline-block;
}

/* Alerts (messages) */
.m {
	display: none;
	padding: 16px 20px 23px 20px;
	text-align: center;
	font-family: VeneerClean-Soft;
	font-size: 24px;
	margin-bottom: 30px
}
.m--added {
	background: #f15729;
	color: #fff;
}
.m__link {
	font-weight: normal;
	text-decoration: underline;
	opacity: 0.85;
}
.m__link:hover {
	opacity: 1;
	text-decoration: underline;
}
.m__warning {
	font-size: 20px;
}
.m__close {
	float: right;
	width: 20px;
	height: 20px;
	background: none;
	border: none;
	cursor: pointer;
	margin-top: 11px;
	color: #fff;
}

/* RTE */
.rte p, .rte ul, .rte ol {
	margin-bottom: 20px;
}

/* Blog */
.blog {
	font-size: 14px;
	border-top: 1px solid #666;
	padding-top: 30px;
	margin-top: 30px;
}
.col-md-6:nth-child(1) .blog,
.col-md-6:nth-child(2) .blog {
	border-top: 0;
	padding-top: 0;
	margin-top: 0;
}
.blog h2 {
	margin-top: 30px;
	margin-bottom: 20px;
	font-family: Georgia, Times, "Times New Roman", serif;
	font-size: 28px;
}
.blog h2:first-child {
	margin-top: -6px;
}
.blog p {
	margin-bottom: 20px;
}
.blog img {
	display: block;
	width: 100% !important;
	height: auto !important;
}

/* Footer */
.legals {
	margin-top: 100px;
	border-top: 1px solid #231f20;
	font-size: 12px;
	padding: 8px 0 40px 0;
}

.newsletter {
	padding: 42px 0 0 0;
}
.newsletter__input, .newsletter__submit {
	display: inline-block;
	margin: 0 5px;
	border: 1px solid #575757;
	background: none;
	text-align: center;
	line-height: 46px;
	font-size: 18px;
	vertical-align: middle;
}
.newsletter__input {
	font-style: italic;
	width: 350px;
}
.newsletter__input::-webkit-input-placeholder {
	color: #231f20;
}
.newsletter__input::-moz-placeholder {
	color: #231f20;
}
.newsletter__input:-ms-input-placeholder {
	color: #231f20;
}
.newsletter__input:-moz-placeholder {
	color: #231f20;
}
.newsletter__submit {
	cursor: pointer;
	font-family: VeneerClean-Soft;
	font-size: 30px;
	line-height: 30px;
	width: 162px;
	padding: 4px 0 12px 0;
}

/* Misc */
.temp-placeholder {
	background: #ccc;
	border-radius: 50%;
	margin: 0 auto;
	width: 100%;
	padding-top: 100%;
}
.notes {
	width: 100%;
	height: 100px;
}
#card-element {
	border: 1px solid #666;
	padding: 10px;
}
#card-errors {
	padding-top: 10px;
}
.receipt-meta {
	margin: 20px 0 40px 0;
}
.receipt-heading {
	margin: 20px 0;
}
.receipt-address {
	padding: 0 0 20px 0;
}
.receipt-address address,
.receipt-address p {
	line-height: 1.3;
	font-style: normal;
}
.message {
	font-weight: bold;
	text-align: center;
	padding: 0 0 20px 0;
}
.message-success {
	color: #f15729;
}

.mm-menu {
	--mm-color-background: #f15729;
	--mm-color-text: #fff;
	--mm-color-text-dimmed: rgba(0,0,0,0.75);
}

/* Media queries */
@media (max-width: 1199px) {
	.form-control {
		float: none;
	}
	#menu {
		display: block;
	}
}

@media (max-width: 991px) {
	.mobile-nav-btn {
		display: block;
	}
	.nav-primary {
		display: none;
	}
	.form-control {
		float: right;
	}
	.newsletter__input {
		width: 100%;
		margin-bottom: 5px;
	}
}

@media (max-width: 767px) {
	.subscription__summary {
		float: none;
		display: block;
		margin: 0 auto;
		width: 300px;
	}
	.subscription__summary:not(:last-child):after {
		position: relative;
		display: block;
		text-align: center;
		margin: -20px auto 10px auto;
		right: auto;
	}
	.subscription__preparation-container {
		width: calc(30% - 30px);
	}
}

@media (max-width: 620px) {
	.form-control {
		float: none;
		width: 100%;
	}
	.subscription__preparation-container {
		width: calc(50% - 30px);
	}
}

@media (max-width: 540px) {
}

@media (max-width: 440px) {
}

@media (max-width: 360px) {
}